*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:#101111;color:#fff;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid #ffb46c;outline-offset:5px}.container{width:calc(100% - 96px);max-width:1320px;margin-inline:auto}.header{position:relative;z-index:10;background:#101111;border-bottom:1px solid #ffffff18}.header-inner{min-height:88px;display:flex;justify-content:space-between;align-items:center;gap:32px}.logo{font-weight:900;font-size:25px;line-height:1.05;letter-spacing:-.6px;flex-shrink:0}.logo span{display:block;color:#ff7208}.menu{display:flex;align-items:center;gap:25px;font-size:14px}.menu a{padding-block:15px}.menu a:hover{color:#ff8a2f}.menu-toggle{display:none}.hero{position:relative;isolation:isolate;min-height:650px;min-height:min(760px,calc(100svh - 88px));display:flex;align-items:center;padding-block:96px;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% 52%;z-index:-2}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76) 0%,rgba(0,0,0,.49) 42%,rgba(0,0,0,.06) 75%);z-index:-1}.hero-content{position:relative}.eyebrow{font-size:12px;font-weight:700;letter-spacing:2px;margin:0 0 24px;color:#c7c9c8}.hero .eyebrow{color:#fff}h1{font-size:clamp(44px,4.65vw,72px);line-height:1.03;text-transform:uppercase;letter-spacing:-2px;margin:0 0 27px;font-weight:900;max-width:900px}h1 span{color:#ff790d}.intro{font-size:18px;line-height:1.55;max-width:500px;margin:0 0 30px;color:#f2f2f2}.btn{border:0;border-radius:3px;background:#ff7309;color:#101111;font-size:15px;font-weight:800;min-height:54px;padding:17px 24px;display:inline-flex;align-items:center;justify-content:space-between;gap:28px}.btn:hover{background:#ff943b}.btn span{font-size:23px;line-height:1}.section{padding-block:72px}h2{font-size:42px;letter-spacing:-1px;line-height:1.1;margin:0 0 32px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.card{padding:26px;background:#1c1e1e;border-top:2px solid #fa750d;scroll-margin-top:24px}.card>span{font-size:12px;color:#a3a6a4}h3{font-size:21px;line-height:1.3;margin:22px 0 0}dialog{color:#fff;background:#171919;border:1px solid #555;border-radius:8px;padding:36px;width:calc(100% - 40px);max-width:480px}dialog::backdrop{background:#000b}dialog p:not(.eyebrow){line-height:1.6;color:#ddd}dialog h2{font-size:30px;margin-bottom:20px}.close{position:absolute;top:6px;right:6px;border:0;color:#fff;background:transparent;width:44px;height:44px;font-size:28px}dialog .eyebrow{margin-top:15px;font-size:10px}.close-dialog{margin-top:12px}
@media(max-width:1000px){.container{width:calc(100% - 48px)}.menu{gap:16px;font-size:13px}.logo{font-size:23px}h1{font-size:52px}}
@media(max-width:760px){.container{width:calc(100% - 40px)}.header-inner{min-height:74px;gap:16px}.logo{font-size:21px;letter-spacing:-.4px}.menu-toggle{width:46px;height:46px;border:1px solid #ffffff38;border-radius:4px;background:transparent;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}.menu-toggle span{display:block;background:#fff;width:21px;height:2px}.menu{display:none;position:absolute;top:100%;left:0;right:0;background:#151717;padding:12px 20px 20px;border-bottom:1px solid #555;box-shadow:0 14px 25px #0008}.menu.is-open{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.menu a{font-size:16px;min-height:48px;padding:14px 8px}.hero{min-height:630px;min-height:clamp(600px,calc(100svh - 74px),780px);padding:0;align-items:stretch;display:flex;flex-direction:column;justify-content:flex-end}.hero-image{object-position:68% 38%}.hero-shade{background:linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.02) 27%,rgba(0,0,0,.4) 46%,rgba(0,0,0,.83) 74%,#101111 100%)}.hero-content{padding-top:260px;padding-bottom:32px}.eyebrow{font-size:10px;letter-spacing:1.7px;margin-bottom:15px}h1{font-size:clamp(28px,8.1vw,46px);line-height:1.08;letter-spacing:-.8px;margin-bottom:18px;max-width:100%}.intro{font-size:15px;line-height:1.5;margin-bottom:22px;max-width:340px}.btn{width:100%;min-height:54px;font-size:14px;padding:16px 18px;gap:12px}.section{padding-block:44px}h2{font-size:30px;margin-bottom:24px}.grid{grid-template-columns:1fr;gap:12px}.card{padding:20px;display:flex;align-items:baseline;gap:20px}.card h3{font-size:18px;margin:0}.card>span{min-width:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* V4: selected company logo and chosen construction scene. */
.header{background:#fff;color:#171717;border-bottom:0}
.header-inner{min-height:110px;gap:24px}
.logo{display:block;width:300px;max-width:46%;line-height:0}
.logo img{display:block;width:100%;height:auto}
.menu-toggle{border-color:#17171745}
.menu-toggle span{background:#171717}
.hero-image{object-position:50% 45%}
@media(max-width:1000px){.logo{width:250px}.menu{gap:12px}.header-inner{gap:16px}}
@media(max-width:760px){
.header-inner{min-height:108px}
.logo{width:255px;max-width:calc(100% - 62px)}
.menu{background:#fff;color:#171717}
.hero{min-height:0;background:#101111}
.hero-image{height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center top}
.hero-shade{height:calc(100vw * 2 / 3 + 2px);bottom:auto;background:linear-gradient(180deg,transparent 55%,rgba(16,17,17,.15) 72%,#101111 100%)}
.hero-content{padding-top:calc(100vw * 2 / 3 - 20px);padding-bottom:32px}
}
.arrow{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.services-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.service{padding:30px;background:#1b1e1d;border:1px solid #ffffff12;border-top:2px solid #ff790d;scroll-margin-top:30px}.service-top{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#aeb3af;font-size:11px;letter-spacing:1px}.service-top svg{width:54px;height:54px;fill:none;stroke:#ff790d;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.service h3{font-size:26px;margin-top:24px}.service p,.equipment-grid p,.about-copy p,.process p{font-size:16px;line-height:1.65;color:#bfc5c0}.service details{margin-top:24px;border-top:1px solid #ffffff20;padding-top:18px}.service summary{cursor:pointer;font-size:14px;color:#f6a15c;min-height:30px}.service details p{font-size:14px}.about{background:#e9e8e3;color:#151a16}.about .eyebrow{color:#535e55}.about-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:64px}.about-copy p{color:#465047;margin-top:0}.about-copy .lead{font-size:24px;line-height:1.4;color:#171d18}.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.equipment-grid article{border-top:1px solid #626961;padding-top:20px}.equipment-grid article>span{color:#f78933;font-size:13px}.process{background:#1b1e1d}.process ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;counter-reset:steps;gap:30px;padding:0;margin:36px 0}.process li{counter-increment:steps}.process li::before{content:'0' counter(steps);display:block;color:#ff790d;margin-bottom:18px;font-size:25px}.process b{font-size:19px}footer{padding:28px 0;border-top:1px solid #ffffff20}footer .container{display:flex;justify-content:space-between;gap:20px}footer strong{font-size:14px}footer span{font-size:12px;color:#adb4ae}dialog{max-height:90svh;overflow:auto}#brief-form{display:grid;gap:16px}#brief-form label{display:grid;gap:8px;font-size:13px;line-height:1.4}input,select,textarea{font:inherit;font-size:16px;min-width:0;width:100%;padding:12px;color:#fff;border:1px solid #68716b;border-radius:3px;background:#242926}textarea{resize:vertical}#brief-form .form-status{font-size:13px;margin:0}.hero-content .eyebrow{margin-bottom:18px}
@media(max-width:760px){.header-inner{min-height:100px}.hero-content{padding-bottom:24px}.services-grid,.about-grid,.equipment-grid,.process ol{grid-template-columns:1fr;gap:16px}.service{padding:22px}.service h3{font-size:23px;margin-top:16px}.service p,.equipment-grid p,.about-copy p,.process p{font-size:15px}.service-top svg{width:46px;height:46px}.about-grid{gap:8px}.about-copy .lead{font-size:21px}.equipment-grid{gap:24px}.process ol{gap:22px}.process li{position:relative;padding-left:44px}.process li::before{position:absolute;left:0;top:0;font-size:22px}.process li p{margin-bottom:0}footer .container{flex-direction:column;gap:10px}dialog{padding:28px 22px}.service-top{font-size:10px}}

/* V6: transparent branding and viewport-fixed scene clipped to hero. */
.header{position:absolute;inset:0 0 auto;background:transparent;color:#fff;border:0}
.header-inner{min-height:116px}
.logo img{filter:drop-shadow(0 0 2px #fff9) drop-shadow(0 2px 8px #0008)}
.menu{font-weight:600;text-shadow:0 1px 5px #000}
.menu-toggle{border-color:#ffffff80;background:#10111155}
.menu-toggle span{background:#fff}
.hero{isolation:isolate;clip-path:inset(0);min-height:100svh;padding:180px 0 64px;justify-content:flex-end;align-items:flex-end;background:#101111}
.hero-image{position:fixed;inset:0;width:100%;height:100vh;height:100lvh;aspect-ratio:auto;object-fit:cover;object-position:center;z-index:-2}
.hero-shade{position:absolute;inset:0;width:100%;height:100%;background:linear-gradient(180deg,#0005 0%,transparent 24%,#0003 42%,#000b 78%,#101111 100%);z-index:-1}
.hero-content{padding-top:20vh;padding-bottom:0;text-shadow:0 2px 12px #0008}
.hero .btn{text-shadow:none}
main>.section,footer{position:relative;background:#101111}
main>.about{background:#e9e8e3}main>.process{background:#1b1e1d}
@media(max-width:760px){
.header-inner{min-height:98px}.logo{width:250px;max-width:calc(100% - 62px)}
.menu{background:#171919;color:#fff;text-shadow:none}
.hero{min-height:100svh;padding:0 0 36px;display:flex;justify-content:flex-end}
.hero-image{height:100lvh;object-fit:cover;object-position:52% center}
.hero-content{padding-top:max(280px,44svh);padding-bottom:0}
.hero-shade{height:100%;background:linear-gradient(180deg,#0003,transparent 20%,#0002 35%,#000a 62%,#101111 100%)}
h1{font-size:clamp(28px,8vw,42px)}
}

/* V7: preserve full landscape composition on narrow screens. */
@media(max-width:760px){
.hero{min-height:0;padding-bottom:34px}
.hero-image{top:76px;bottom:auto;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center top}
.header-inner{min-height:76px}.logo{width:220px}
.header{background:linear-gradient(180deg,#333936,#222725)}
.hero-content{padding-top:calc(76px + 100vw * 2 / 3 - 36px)}
.hero-shade{background:linear-gradient(180deg,transparent 0,transparent calc(76px + 100vw * 2 / 3 - 90px),#101111dd calc(76px + 100vw * 2 / 3 + 50px),#101111 100%)}
h1{font-size:clamp(27px,7.7vw,40px)}
}

/* V8: white introduction followed by full-viewport construction scene. */
.brand-intro{min-height:100svh;display:grid;place-items:center;background:#fff;padding:24px;position:relative;z-index:1}
.brand-intro a{display:block;width:min(1100px,92vw);max-width:100%}
.brand-intro img{display:block;width:100%;height:auto}
.hero{min-height:100svh;padding:150px 0 56px;scroll-margin-top:0}
html{scroll-padding-top:0}
.hero .header{background:transparent;position:absolute;inset:0 0 auto}
.header-inner{justify-content:flex-end;min-height:76px}
.hero-image{position:fixed;inset:0;width:100%;height:100vh;height:100lvh;aspect-ratio:auto;object-fit:cover;object-position:center}
.hero-shade{inset:0;height:100%;background:linear-gradient(180deg,#0003 0%,transparent 25%,#0005 48%,#000b 80%,#101111 100%)}
.hero-content{padding-top:20svh;padding-bottom:0}
@media(max-width:760px){
.brand-intro{padding:16px}.brand-intro a{width:100%}
.hero{min-height:100svh;padding:0 0 32px}
.header-inner{min-height:70px}
.hero-image{inset:0;height:100lvh;width:100%;aspect-ratio:auto;object-fit:cover;object-position:center top}
.hero-content{padding-top:48svh;padding-bottom:0}
.hero-shade{height:100%;background:linear-gradient(180deg,#0002,transparent 30%,#0003 46%,#0009 70%,#101111 100%)}
h1{font-size:clamp(27px,7.7vw,40px)}
}

/* V9: intro navigation, brand slogan and deliberate screen stops. */
html{scroll-snap-type:y proximity}
.brand-intro,.hero{scroll-snap-align:start;scroll-snap-stop:always}
#services{scroll-snap-align:start}
.brand-intro{padding:100px 24px;min-height:100svh}
.brand-center{width:min(1100px,100%);text-align:center}
.brand-intro .brand-center>a{width:100%;max-width:100%}
.brand-slogan{margin:32px 0 0;color:#242625;text-transform:uppercase;font-size:clamp(20px,3vw,40px);font-weight:900;line-height:1.25;letter-spacing:1px}
.brand-slogan span{color:#f47708}
.brand-slogan::before{content:'';display:block;width:52px;height:3px;margin:0 auto 22px;background:#f47708}
.brand-intro .header{background:transparent;color:#171919}
.brand-intro .menu{text-shadow:none}
.brand-intro .menu-toggle{border-color:#2226;background:transparent}
.brand-intro .menu-toggle span{background:#171919}
.brand-intro .menu a{width:auto}
.brand-intro .scroll-cue{position:absolute;bottom:max(25px,env(safe-area-inset-bottom));left:calc(50% - 24px);display:grid;place-items:center;width:48px;height:48px;color:#f47708;animation:scroll-hint 1.8s ease-in-out infinite}
.scroll-cue svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@keyframes scroll-hint{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}
@media(max-width:760px){.brand-intro{padding:90px 16px}.brand-intro .menu{background:#fff;color:#171919}.brand-slogan{font-size:clamp(20px,5.5vw,28px);margin-top:24px;letter-spacing:.6px}}
@media(prefers-reduced-motion:reduce){.scroll-cue{animation:none!important}html{scroll-snap-type:none}}

html.opening-at-top{scroll-behavior:auto!important;scroll-snap-type:none!important}

/* V10: dimensional lettering and lightweight cascading chevrons. */
.brand-slogan{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-style:italic;letter-spacing:.025em;line-height:1.4;color:#3d4244;text-shadow:0 1px 0 #b5b8b9,0 2px 0 #8c9092,0 3px 0 #62686a,0 5px 7px #0002}
.brand-slogan span{color:#f8790b;text-shadow:0 1px 0 #ffbd75,0 2px 0 #c65a02,0 3px 0 #964301,0 5px 7px #0002}
.brand-slogan::before{height:3px;width:66px;transform:skewX(-25deg);box-shadow:0 2px 0 #ba5005}
.brand-intro .scroll-cue{animation:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;height:66px;bottom:max(20px,env(safe-area-inset-bottom))}
.down-chevron{display:block;width:12px;height:12px;border-right:2px solid #f47708;border-bottom:2px solid #f47708;transform:rotate(45deg);opacity:.15;animation:chevron-flow 1.8s ease-in-out infinite}
.down-chevron:nth-child(2){animation-delay:.18s}.down-chevron:nth-child(3){animation-delay:.36s}.down-chevron:nth-child(4){animation-delay:.54s}
@keyframes chevron-flow{0%,65%,100%{opacity:.15}30%{opacity:1}}
@media(prefers-reduced-motion:reduce){.down-chevron{animation:none;opacity:.65}}

.brand-slogan-art{width:82%;max-width:850px;margin:26px auto 0}.brand-slogan-art img{display:block;width:100%;height:auto}@media(max-width:760px){.brand-slogan-art{width:94%;margin-top:24px}}

/* V12: approved composition and bolder scroll cue. */
.down-chevron{border-right-width:3px;border-bottom-width:3px;width:14px;height:14px}
.brand-center{max-width:1100px}.brand-center img{max-height:70svh;object-fit:contain}

.objects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.objects-grid figure{margin:0;background:#1b1e1d;min-width:0}.objects-grid a{display:block}.objects-grid img{display:block;width:100%;height:280px;object-fit:contain;background:#151717}.objects-grid figcaption{padding:16px;font-size:15px;line-height:1.4}.service-photo{display:block;width:100%;height:240px;object-fit:cover;margin-top:20px}@media(max-width:760px){.objects-grid{grid-template-columns:1fr;gap:20px}.objects-grid img{height:auto;max-height:65svh}.service-photo{height:210px}}

/* V14: content hierarchy, real fleet, photo viewer and dimensional buttons. */
.section-lead{font-size:18px;line-height:1.7;color:#c6cbc7;max-width:850px;margin:0 0 32px}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}.metric-grid strong{display:block;font-size:48px;color:#ff790d;letter-spacing:-2px}.metric-grid span{display:block;font-size:14px;line-height:1.5;color:#c7ccc8;margin-top:10px;max-width:230px}
.metrics{border-bottom:1px solid #ffffff20}.fleet-layout{display:grid;grid-template-columns:1.3fr 1fr;gap:42px;align-items:center}.fleet-layout .equipment-grid{grid-template-columns:1fr}.fleet-layout h3{margin-top:0}.fleet-photo{margin:0}.fleet-photo img{display:block;width:100%;height:auto;max-height:580px;object-fit:contain}.fleet-photo figcaption{text-align:center;color:#b8bdb9;font-size:13px;margin-top:12px}.values{background:#1b1e1d!important}
.project-names{display:flex;flex-wrap:wrap;list-style:none;padding:0;gap:10px;margin:30px 0 40px}.project-names li{padding:14px 18px;border:1px solid #f4770855;background:#f477080a;font-size:15px}.gallery-title{margin:0 0 24px}.objects-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.objects-grid img{height:280px;object-fit:cover}.objects-grid a{overflow:hidden}.objects-grid a:focus-visible{outline-offset:3px}.objects-grid figcaption{font-size:14px}
.btn{position:relative;overflow:hidden;isolation:isolate;background:linear-gradient(155deg,#ffb653 0%,#ff8718 38%,#ec6100 100%);border:1px solid #ffc47b;border-bottom-color:#b34500;box-shadow:0 5px 0 #9a3e04,0 10px 22px #0003,inset 0 1px 0 #fff8;transition:transform .2s,box-shadow .2s}
.btn::after{content:'';position:absolute;inset:-80% auto -80% -65%;width:32%;background:linear-gradient(90deg,transparent,#fff5,transparent);transform:rotate(20deg);pointer-events:none;animation:button-glint 7s ease-in-out infinite}
.btn:hover{background:linear-gradient(155deg,#ffc16d,#ff8c22 45%,#f1730d);transform:translateY(-1px)}.btn:active{transform:translateY(3px);box-shadow:0 2px 0 #9a3e04,inset 0 1px 0 #fff8}
@keyframes button-glint{0%,72%{left:-65%}92%,100%{left:150%}}
#photo-viewer{max-width:1100px;width:calc(100% - 24px);padding:45px 12px 16px;background:#101111}#photo-viewer img{display:block;max-width:100%;max-height:76svh;width:auto;height:auto;margin:auto}#photo-viewer p{margin:14px 8px 0;font-size:14px}.photo-close{position:absolute;right:5px;top:0;width:44px;height:44px;border:0;background:transparent;color:white;font-size:30px}
@media(max-width:760px){.metric-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.metric-grid strong{font-size:38px}.metric-grid span{font-size:13px}.fleet-layout{grid-template-columns:1fr;gap:25px}.fleet-photo{order:-1}.fleet-photo img{max-height:400px}.section-lead{font-size:16px}.objects-grid{grid-template-columns:1fr 1fr;gap:12px}.objects-grid img{height:200px}.objects-grid figcaption{padding:12px;font-size:12px}.project-names li{font-size:13px}.hero .intro{max-width:370px}.menu a{font-size:15px}}
@media(max-width:380px){.objects-grid{grid-template-columns:1fr}.objects-grid img{height:250px}}
@media(prefers-reduced-motion:reduce){.btn::after{animation:none}.btn{transition:none}}

/* V15: 3-second media loading intro instead of static brand image. */
body.is-loading{overflow:hidden}
.media-loader{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#0d0f0e;color:#fff;overflow:hidden;opacity:1;visibility:visible;transition:opacity .55s ease,visibility .55s ease}
.media-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.loader-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to bottom,transparent 0,#000 20%,#000 80%,transparent 100%);animation:grid-drift 3s linear both}
.loader-content{position:relative;width:min(760px,86vw);z-index:2}
.loader-brand{display:flex;align-items:baseline;gap:18px;text-transform:uppercase;letter-spacing:-.04em;line-height:.9}
.loader-brand span{font-size:clamp(42px,8vw,94px);font-weight:300;color:#f2f2ef}
.loader-brand strong{font-size:clamp(42px,8vw,94px);font-weight:900;color:#f47708}
.loader-meta{margin-top:34px;display:flex;justify-content:space-between;gap:20px;font:700 12px/1 Arial,Helvetica,sans-serif;letter-spacing:.2em;color:#aeb3af}
.loader-track{height:3px;margin-top:12px;background:#ffffff18;overflow:hidden}
.loader-track i{display:block;width:0;height:100%;background:#f47708;box-shadow:0 0 22px #f47708aa;animation:media-progress 3s cubic-bezier(.22,.75,.22,1) forwards}
.loader-caption{margin-top:18px;font-size:12px;letter-spacing:.08em;color:#717873;text-transform:uppercase}
@keyframes media-progress{0%{width:0}14%{width:8%}38%{width:41%}62%{width:67%}86%{width:91%}100%{width:100%}}
@keyframes grid-drift{from{transform:scale(1.06) translateY(0)}to{transform:scale(1.02) translateY(-12px)}}
@media(max-width:760px){.loader-content{width:calc(100% - 40px)}.loader-brand{display:block}.loader-brand span,.loader-brand strong{display:block}.loader-brand strong{margin-top:5px}.loader-meta{margin-top:26px}.loader-caption{font-size:10px;line-height:1.5}}
@media(prefers-reduced-motion:reduce){.loader-grid{animation:none}.loader-track i{animation:none;width:100%}}

/* V15.1: premium engineering loader. */
.media-loader{background:#0a0c0b}
.loader-ambient{position:absolute;inset:-20%;background:
radial-gradient(circle at 74% 34%,rgba(244,119,8,.18),transparent 26%),
radial-gradient(circle at 22% 78%,rgba(255,255,255,.06),transparent 24%);
filter:blur(10px);animation:ambient-shift 3s ease-in-out both}
.loader-grid{background-size:48px 48px;opacity:.75}
.loader-scan{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0,rgba(255,255,255,.035) 48%,rgba(244,119,8,.16) 50%,rgba(255,255,255,.035) 52%,transparent 100%);transform:translateY(-100%);animation:loader-scan 3s cubic-bezier(.18,.78,.2,1) both}
.loader-content{width:min(920px,86vw)}
.loader-kicker{font-size:10px;letter-spacing:.32em;color:#7f8781;margin-bottom:18px;text-transform:uppercase}
.loader-brand{gap:20px}
.loader-brand span{font-weight:200;color:#f0f2ef}
.loader-brand strong{position:relative}
.loader-brand strong:after{content:'';position:absolute;left:0;right:0;bottom:-10px;height:1px;background:linear-gradient(90deg,#f47708,transparent 88%);transform-origin:left;animation:brand-rule 3s ease both}
.loader-line{height:1px;background:#ffffff12;margin:30px 0 0;overflow:hidden}
.loader-line span{display:block;height:100%;width:34%;background:linear-gradient(90deg,transparent,#ffffff55,transparent);animation:line-travel 2.1s ease-in-out infinite}
.loader-meta{margin-top:18px}
.loader-track{height:4px;margin-top:10px;background:#ffffff12}
.loader-track i{background:linear-gradient(90deg,#9b3e02,#f47708,#ffb055);box-shadow:0 0 26px rgba(244,119,8,.42)}
.loader-bottom{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:18px;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#656c67}
.loader-bottom span{padding-top:9px;border-top:1px solid #ffffff12}
.loader-corner{position:absolute;width:52px;height:52px;border-color:#f47708;border-style:solid;opacity:.45}
.loader-corner-a{left:22px;top:22px;border-width:1px 0 0 1px}
.loader-corner-b{right:22px;bottom:22px;border-width:0 1px 1px 0}
@keyframes loader-scan{0%{transform:translateY(-100%);opacity:0}15%{opacity:1}85%{opacity:1}100%{transform:translateY(100%);opacity:0}}
@keyframes ambient-shift{0%{transform:scale(1) translate3d(0,0,0)}100%{transform:scale(1.08) translate3d(-2%,1%,0)}}
@keyframes brand-rule{0%{transform:scaleX(0);opacity:0}35%{opacity:1}100%{transform:scaleX(1);opacity:.9}}
@keyframes line-travel{0%{transform:translateX(-150%)}100%{transform:translateX(400%)}}
@media(max-width:760px){
.loader-content{width:calc(100% - 36px)}
.loader-kicker{font-size:8px;letter-spacing:.24em;margin-bottom:14px}
.loader-brand span,.loader-brand strong{font-size:clamp(42px,14vw,68px)}
.loader-bottom{grid-template-columns:1fr 1fr;gap:12px}
.loader-corner{width:38px;height:38px}
}

/* V15.2: V14 logo composition converted into a timed loading screen. */
.logo-loader{background:#fff;color:#181a19;padding:24px}
.logo-loader .loader-grid,.logo-loader .loader-scan,.logo-loader .loader-ambient,.logo-loader .loader-corner{display:none}
.logo-loader-stage{width:min(1120px,94vw);height:min(88svh,900px);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}
.logo-loader-art{display:block;width:100%;max-height:72svh;object-fit:contain;transform:scale(.985);opacity:.98;animation:logo-loader-breathe 3s ease-out forwards}
.logo-loader-progress{width:min(760px,72%);margin-top:10px}
.logo-loader-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:11px;font-weight:700;letter-spacing:.22em;color:#575d59}
.logo-loader-track{height:4px;background:#d9dcd9;overflow:hidden;position:relative}
.logo-loader-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,#d85d00,#f47708,#ff9a37);box-shadow:0 0 12px rgba(244,119,8,.25);animation:media-progress 3s cubic-bezier(.22,.75,.22,1) forwards}
.logo-loader-track:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:translateX(-100%);animation:logo-loader-glint 2.2s ease-in-out 1}
@keyframes logo-loader-breathe{0%{transform:scale(.965);opacity:.7;filter:blur(1.5px)}35%{opacity:1;filter:blur(0)}100%{transform:scale(1);opacity:1;filter:blur(0)}}
@keyframes logo-loader-glint{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media(max-width:760px){
.logo-loader{padding:12px}
.logo-loader-stage{width:100%;height:92svh}
.logo-loader-art{width:100%;max-height:73svh}
.logo-loader-progress{width:82%;margin-top:4px}
.logo-loader-meta{font-size:9px;letter-spacing:.18em}
.logo-loader-track{height:3px}
}

/* V1.2: stable mobile scroll + photographic metrics block. */
html{scroll-snap-type:none!important;scroll-padding-top:0!important}
.brand-intro,.hero,#services{scroll-snap-align:none!important;scroll-snap-stop:normal!important}
.hero{clip-path:none!important;min-height:720px!important;height:min(860px,100svh)!important;padding:150px 0 56px!important;overflow:hidden!important}
.hero-image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center 48%!important;aspect-ratio:auto!important}
.hero-shade{position:absolute!important;inset:0!important;height:100%!important}
.hero-content{padding-top:20svh!important;padding-bottom:0!important}

.metrics{position:relative;isolation:isolate;min-height:360px;display:flex;align-items:flex-end;padding:0!important;background:#111;overflow:hidden}
.metrics::before{content:"";position:absolute;inset:0;z-index:-2;background:url('../images/objects/IMG_0817.webp') center 52%/cover no-repeat;transform:scale(1.04)}
.metrics::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.38) 42%,rgba(0,0,0,.82) 100%)}
.metric-grid{width:100%;padding:150px 0 38px;grid-template-columns:repeat(4,1fr);gap:0}
.metric-grid>div{padding:0 28px;border-left:1px solid #ffffff3a}
.metric-grid>div:first-child{border-left:0;padding-left:0}
.metric-grid strong{font-size:clamp(38px,4vw,58px);color:#fff;text-shadow:0 2px 18px #000;letter-spacing:-2px}
.metric-grid span{color:#f1f1ef;text-shadow:0 2px 10px #000;margin-top:8px;max-width:220px}
.services-intro{margin-top:-10px;margin-bottom:34px;max-width:900px}
#services{padding-top:58px}

@media(max-width:760px){
.hero{min-height:660px!important;height:660px!important;padding:0 0 30px!important;display:flex!important;justify-content:flex-end!important}
.hero-image{position:absolute!important;inset:0!important;height:100%!important;object-fit:cover!important;object-position:52% 42%!important}
.hero-content{padding-top:285px!important;padding-bottom:0!important}
.hero-shade{height:100%!important;background:linear-gradient(180deg,#0002 0%,transparent 22%,#0004 42%,#000b 72%,#101111 100%)!important}
.metrics{min-height:430px}
.metrics::before{background-position:58% center;transform:scale(1.12)}
.metric-grid{grid-template-columns:1fr 1fr;padding:150px 0 26px;gap:24px 0}
.metric-grid>div{padding:0 18px;border-left:1px solid #ffffff45}
.metric-grid>div:nth-child(odd){border-left:0;padding-left:0}
.metric-grid strong{font-size:38px}
.metric-grid span{font-size:12px;line-height:1.45}
#services{padding-top:42px}
.services-intro{margin-top:-6px;margin-bottom:28px}
}

/* V1.3: editorial fleet and project cases. */
.section-heading-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);gap:60px;align-items:end;margin-bottom:38px}
.section-heading-row h2{margin-bottom:0}.section-heading-row .section-lead{margin:0}
.fleet-section{padding-top:64px}
.fleet-showcase{display:grid;grid-template-columns:1.15fr .85fr;gap:20px;margin-bottom:34px}
.fleet-card{margin:0;background:#171a18;border:1px solid #ffffff14;overflow:hidden}
.fleet-media{position:relative;overflow:hidden;background:linear-gradient(155deg,#ecece7,#cfd2cd)}
.fleet-media-clean{height:500px}
.fleet-media-clean img{display:block;width:100%;height:100%;object-fit:contain;padding:24px 18px 0}
.fleet-media-detail{height:500px;background:#0e1110}
.fleet-media-detail img{display:block;width:145%;height:145%;max-width:none;object-fit:contain;transform:translate(-7%,-10%)}
.fleet-card figcaption{display:grid;gap:7px;padding:18px 20px 22px}
.fleet-card figcaption span{font-size:10px;letter-spacing:1.6px;color:#f47708;text-transform:uppercase}
.fleet-card figcaption strong{font-size:18px;line-height:1.3}
.fleet-points{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fleet-points article{border-top:1px solid #606760;padding-top:18px}
.fleet-points article>span{font-size:11px;color:#f47708;letter-spacing:1.2px}.fleet-points h3{margin:12px 0 8px}.fleet-points p{margin:0;font-size:15px;line-height:1.6;color:#bfc5c0}

.objects-section{padding-top:70px}
.object-cases{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.object-case{background:#181b19;border:1px solid #ffffff12;overflow:hidden}
.object-case>a{display:block;height:300px;overflow:hidden;background:#111}
.object-case img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.object-case:hover img{transform:scale(1.025)}
.object-case>div{padding:22px 24px 26px}
.object-case span{font-size:10px;letter-spacing:1.4px;color:#f47708}
.object-case h3{margin:12px 0 10px;font-size:24px}
.object-case p{margin:0;color:#bcc2bd;font-size:15px;line-height:1.6}
.project-names-compact{margin:30px 0 0}

@media(max-width:900px){
.section-heading-row{grid-template-columns:1fr;gap:16px}
.fleet-showcase{grid-template-columns:1fr 1fr}.fleet-media-clean,.fleet-media-detail{height:390px}
.object-case>a{height:250px}
}
@media(max-width:760px){
.section-heading-row{margin-bottom:24px}
.fleet-showcase{grid-template-columns:1fr;gap:14px}
.fleet-media-clean{height:360px}.fleet-media-detail{height:260px}
.fleet-media-detail img{width:150%;height:150%;transform:translate(-10%,-14%)}
.fleet-points{grid-template-columns:1fr;gap:18px}
.object-cases{grid-template-columns:1fr;gap:18px}
.object-case>a{height:220px}
.object-case>div{padding:18px 18px 21px}.object-case h3{font-size:21px}
.project-names-compact{gap:8px}.project-names-compact li{padding:11px 13px}
}

/* V1.4: all visual sections use photos as backgrounds. */
.fleet-bg-section{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:flex-end;padding:0!important;background:#101111;overflow:hidden}
.fleet-bg-section::before{content:"";position:absolute;inset:0;z-index:-2;background:url('../images/fleet-arocs.webp') 72% 52%/cover no-repeat;transform:scale(1.08)}
.fleet-bg-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,10,9,.94) 0%,rgba(8,10,9,.80) 38%,rgba(8,10,9,.30) 68%,rgba(8,10,9,.18) 100%),linear-gradient(180deg,transparent 45%,rgba(8,10,9,.88) 100%)}
.fleet-bg-content{padding:80px 0 52px}
.fleet-bg-content h2{max-width:720px}
.fleet-bg-content .section-lead{max-width:760px;color:#eceeeb}
.fleet-bg-points{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:34px;border-top:1px solid #ffffff38}
.fleet-bg-points>div{padding:22px 24px 4px;border-left:1px solid #ffffff30}
.fleet-bg-points>div:first-child{border-left:0;padding-left:0}
.fleet-bg-points strong{display:block;font-size:18px;margin-bottom:7px}
.fleet-bg-points span{display:block;font-size:13px;line-height:1.5;color:#d4d8d4;max-width:300px}

.object-bg-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.object-bg-card{position:relative;min-height:360px;overflow:hidden;background:#111;display:flex;align-items:flex-end;isolation:isolate}
.object-bg-card::before{content:"";position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;background-repeat:no-repeat;transform:scale(1.035);transition:transform .5s ease}
.object-bg-card:hover::before{transform:scale(1.07)}
.object-bg-1::before{background-image:url('../images/objects/IMG_0817.webp');background-position:center 54%}
.object-bg-2::before{background-image:url('../images/objects/IMG_0811.webp');background-position:center 58%}
.object-bg-3::before{background-image:url('../images/objects/IMG_0822.webp');background-position:center 48%}
.object-bg-4::before{background-image:url('../images/objects/IMG_0825.webp');background-position:center 50%}
.object-bg-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.06) 10%,rgba(0,0,0,.22) 48%,rgba(0,0,0,.88) 100%)}
.object-bg-copy{padding:26px 28px 28px;width:100%}
.object-bg-copy span{font-size:10px;letter-spacing:1.5px;color:#ff8a2f}
.object-bg-copy h3{font-size:25px;margin:10px 0 9px;max-width:520px;text-shadow:0 2px 14px #000}
.object-bg-copy p{margin:0;color:#e4e7e3;font-size:14px;line-height:1.55;max-width:560px;text-shadow:0 1px 10px #000}

@media(max-width:760px){
.fleet-bg-section{min-height:590px}
.fleet-bg-section::before{background-position:67% 45%;transform:scale(1.18)}
.fleet-bg-shade{background:linear-gradient(180deg,rgba(8,10,9,.20) 0%,rgba(8,10,9,.42) 36%,rgba(8,10,9,.94) 74%,#101111 100%)}
.fleet-bg-content{padding:210px 0 34px}
.fleet-bg-content h2{font-size:30px}
.fleet-bg-points{grid-template-columns:1fr;gap:0;margin-top:24px}
.fleet-bg-points>div{border-left:0;border-top:1px solid #ffffff24;padding:14px 0}
.fleet-bg-points>div:first-child{border-top:0}
.object-bg-grid{grid-template-columns:1fr;gap:14px}
.object-bg-card{min-height:310px}
.object-bg-copy{padding:22px 20px}
.object-bg-copy h3{font-size:22px}
.object-bg-copy p{font-size:13px}
}

/* V1.5: services, company and principles become photographic background sections. */
.services-grid{align-items:stretch}
.service-bg{position:relative;isolation:isolate;min-height:540px;padding:0!important;overflow:hidden;border:0;border-top:3px solid #ff790d;background:#111;display:flex;align-items:flex-end}
.service-bg::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-repeat:no-repeat;transform:scale(1.035)}
.service-bg-earth::before{background-image:url('../images/objects/IMG_0808.webp');background-position:center 56%}
.service-bg-metro::before{background-image:url('../images/objects/IMG_0817.webp');background-position:center 50%}
.service-bg-demo::before{background-image:url('../images/objects/IMG_0806.webp');background-position:center 52%}
.service-bg-ossig::before{background-image:url('../images/objects/IMG_0822.webp');background-position:center 48%}
.service-bg-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.22) 34%,rgba(9,11,10,.92) 72%,#111 100%)}
.service-inner{width:100%;padding:210px 30px 30px}
.service-bg .service-top{color:#e1e5e1}.service-bg .service-top svg{filter:drop-shadow(0 2px 7px #000)}
.service-bg h3{font-size:27px;text-shadow:0 2px 12px #000}
.service-bg p{color:#e0e4e0;text-shadow:0 1px 10px #000}
.service-bg details{border-top-color:#ffffff42}
.service-bg summary{color:#ff9c51}

.about-bg{position:relative;isolation:isolate;overflow:hidden;background:#111!important;color:#fff!important;min-height:640px;display:flex;align-items:center}
.about-bg::before{content:"";position:absolute;inset:0;z-index:-2;background:url('../images/objects/IMG_0811.webp') center 54%/cover no-repeat;transform:scale(1.06)}
.about-bg-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,9,8,.96) 0%,rgba(7,9,8,.86) 45%,rgba(7,9,8,.46) 72%,rgba(7,9,8,.32) 100%),linear-gradient(180deg,transparent 45%,rgba(7,9,8,.86) 100%)}
.about-bg .eyebrow{color:#c8cec9}.about-bg .about-copy p{color:#d8ddd8}.about-bg .about-copy .lead{color:#fff}
.about-bg .about-grid{padding-top:40px;padding-bottom:40px}

.values-bg{position:relative;isolation:isolate;overflow:hidden;background:#111!important;min-height:620px}
.values-bg::before{content:"";position:absolute;inset:0;z-index:-2;background:url('../images/objects/IMG_0826.webp') center 48%/cover no-repeat;transform:scale(1.06)}
.values-bg-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,9,8,.66) 0%,rgba(7,9,8,.83) 48%,rgba(7,9,8,.96) 100%)}
.values-bg .equipment-grid{gap:18px}
.values-bg .equipment-grid article{background:rgba(17,20,18,.72);backdrop-filter:blur(5px);border:1px solid #ffffff18;border-top:2px solid #ff790d;padding:24px}
.values-bg .equipment-grid h3{margin-top:0}.values-bg .equipment-grid p{color:#d6dbd6}

@media(max-width:760px){
.services-grid{gap:16px}
.service-bg{min-height:560px}
.service-inner{padding:245px 20px 22px}
.service-bg-earth::before{background-position:center 50%}
.service-bg-metro::before{background-position:55% 48%}
.service-bg-demo::before{background-position:center 50%}
.service-bg-ossig::before{background-position:58% 48%}
.service-bg-shade{background:linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.18) 31%,rgba(9,11,10,.91) 61%,#111 100%)}
.service-bg h3{font-size:24px}
.about-bg{min-height:760px}
.about-bg::before{background-position:56% center;transform:scale(1.15)}
.about-bg-shade{background:linear-gradient(180deg,rgba(7,9,8,.26) 0%,rgba(7,9,8,.72) 34%,rgba(7,9,8,.97) 62%,#111 100%)}
.about-bg .about-grid{padding-top:240px;padding-bottom:32px}
.values-bg{min-height:760px}
.values-bg::before{background-position:center 30%;transform:scale(1.18)}
.values-bg-shade{background:linear-gradient(180deg,rgba(7,9,8,.48),rgba(7,9,8,.88) 38%,#111 100%)}
.values-bg .equipment-grid article{padding:20px}
}

/* V1.6: approved photo assignments and centered background crops. */
.service-bg-earth::before{background-image:url('../images/objects/pit-development.jpg');background-position:center center}
.service-bg-metro::before{background-image:url('../images/objects/metro-construction.jpg');background-position:center center}
.service-bg-ossig::before{background-image:url('../images/objects/waste-hauling.webp');background-position:center center}
.object-bg-3::before{background-image:url('../images/objects/tunnel-shield.jpg');background-position:center center}
.service-bg-demo::before{background-position:center center}
.about-bg::before{background-position:center center}
.values-bg::before{background-position:center center}
.object-bg-card::before{background-position:center center}
.object-bg-1::before,.object-bg-2::before,.object-bg-3::before,.object-bg-4::before{background-position:center center}
@media(max-width:760px){
  .service-bg-earth::before,.service-bg-metro::before,.service-bg-demo::before,.service-bg-ossig::before{background-position:center center}
  .about-bg::before,.values-bg::before{background-position:center center}
  .object-bg-card::before{background-position:center center}
}

/* V1.7: corrected vertical framing and canonical project names. */
/* Larger Y percentage shifts the background image upward, showing more of the lower construction area. */
.service-bg-earth::before{background-position:center 72%}
.service-bg-metro::before{background-position:center 68%}
.service-bg-ossig::before{background-position:center 64%}
.object-bg-3::before{background-position:center 66%}
@media(max-width:760px){
  .service-bg-earth::before{background-position:center 76%}
  .service-bg-metro::before{background-position:center 72%}
  .service-bg-ossig::before{background-position:center 68%}
  .object-bg-3::before{background-position:center 70%}
}

/* V1.8: preserve more of each photo and reduce heavy lower blackout. */
.service-bg::before{
  transform:scale(1.01);
  background-position:center center;
}
.service-bg-earth::before,
.service-bg-metro::before,
.service-bg-ossig::before,
.service-bg-demo::before{
  background-position:center center;
}
.service-bg-shade{
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.05) 0%,
      rgba(0,0,0,.10) 28%,
      rgba(8,10,9,.38) 56%,
      rgba(8,10,9,.72) 78%,
      rgba(8,10,9,.86) 100%);
}
.service-inner{
  padding-top:210px;
}
.service-bg h3,
.service-bg p{
  text-shadow:0 2px 12px rgba(0,0,0,.75);
}

.about-bg::before{
  transform:scale(1.02);
  background-position:center center;
}
.about-bg-shade{
  background:
    linear-gradient(90deg,
      rgba(7,9,8,.76) 0%,
      rgba(7,9,8,.61) 42%,
      rgba(7,9,8,.28) 72%,
      rgba(7,9,8,.18) 100%),
    linear-gradient(180deg,
      rgba(7,9,8,.04) 0%,
      rgba(7,9,8,.16) 42%,
      rgba(7,9,8,.58) 76%,
      rgba(7,9,8,.76) 100%);
}
.about-bg h2,
.about-bg .about-copy p{
  text-shadow:0 2px 12px rgba(0,0,0,.72);
}

.values-bg::before{
  transform:scale(1.02);
  background-position:center center;
}
.values-bg-shade{
  background:linear-gradient(180deg,
    rgba(7,9,8,.34) 0%,
    rgba(7,9,8,.54) 50%,
    rgba(7,9,8,.82) 100%);
}

@media(max-width:760px){
  .service-bg::before{
    transform:scale(1.01);
    background-position:center center;
  }
  .service-bg-shade{
    background:
      linear-gradient(180deg,
        rgba(0,0,0,.03) 0%,
        rgba(0,0,0,.08) 30%,
        rgba(8,10,9,.28) 52%,
        rgba(8,10,9,.62) 73%,
        rgba(8,10,9,.82) 100%);
  }
  .service-inner{
    padding-top:230px;
  }
  .about-bg::before{
    transform:scale(1.03);
    background-position:center center;
  }
  .about-bg-shade{
    background:
      linear-gradient(180deg,
        rgba(7,9,8,.08) 0%,
        rgba(7,9,8,.26) 34%,
        rgba(7,9,8,.60) 58%,
        rgba(7,9,8,.84) 100%);
  }
  .about-bg .about-grid{
    padding-top:220px;
  }
  .values-bg::before{
    transform:scale(1.04);
    background-position:center center;
  }
  .values-bg-shade{
    background:linear-gradient(180deg,
      rgba(7,9,8,.22) 0%,
      rgba(7,9,8,.50) 45%,
      rgba(7,9,8,.82) 100%);
  }
}

/* V1.9: compact expandable service catalogue + contact section. */
.services-accordion{padding-top:58px}
.service-accordion-list{border-top:1px solid #ffffff2b}
.service-accordion{border-bottom:1px solid #ffffff2b;background:#121413}
.service-accordion>summary{list-style:none;display:grid;grid-template-columns:70px 1fr 44px;align-items:center;gap:18px;min-height:92px;padding:20px 24px;cursor:pointer;transition:background .2s ease}
.service-accordion>summary::-webkit-details-marker{display:none}
.service-accordion>summary:hover{background:#191c1a}
.service-no{font-size:12px;letter-spacing:1.6px;color:#ff8628}
.service-name{font-size:clamp(21px,2.2vw,32px);font-weight:800;line-height:1.12}
.service-toggle{font-size:34px;font-weight:200;line-height:1;text-align:center;transition:transform .25s ease;color:#ff8628}
.service-accordion[open] .service-toggle{transform:rotate(45deg)}
.service-panel{position:relative;isolation:isolate;min-height:560px;display:flex;align-items:flex-end;overflow:hidden}
.service-panel::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-repeat:no-repeat;background-position:center center}
.service-accordion-earth .service-panel::before{background-image:url('../images/objects/pit-development.jpg')}
.service-accordion-metro .service-panel::before{background-image:url('../images/objects/metro-construction.jpg')}
.service-accordion-demo .service-panel::before{background-image:url('../images/objects/IMG_0806.webp')}
.service-accordion-ossig .service-panel::before{background-image:url('../images/objects/waste-hauling.webp')}
.service-panel-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.18) 35%,rgba(8,10,9,.66) 72%,rgba(8,10,9,.9) 100%)}
.service-panel-content{width:min(900px,calc(100% - 48px));padding:260px 0 34px 24px}
.service-panel-content>p{font-size:17px;line-height:1.65;color:#eef0ee;text-shadow:0 2px 10px #000;margin:0 0 18px}
.seo-subtypes{margin-top:26px;padding-top:20px;border-top:1px solid #ffffff38}
.seo-subtypes h3{margin:0 0 14px;font-size:18px}
.seo-subtypes ul{display:flex;flex-wrap:wrap;gap:9px;list-style:none;padding:0;margin:0}
.seo-subtypes li{font-size:13px;line-height:1.35;padding:9px 12px;border:1px solid #ffffff32;background:#101312aa}
.seo-subtypes-featured li{border-color:#f477085e}
.service-inner-details{margin-top:22px;border-top:1px solid #ffffff2e;padding-top:15px}
.service-inner-details>summary{cursor:pointer;color:#ff9c51;font-size:14px}
.service-inner-details p{font-size:14px!important;color:#dfe3df!important}

.contact-section{background:#e9e8e3;color:#151a16}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}
.contact-section .eyebrow{color:#58605b}
.contact-copy p{font-size:18px;line-height:1.65;color:#485048;margin:0 0 26px;max-width:620px}

@media(max-width:760px){
  .services-accordion{padding-top:42px}
  .service-accordion>summary{grid-template-columns:42px 1fr 34px;min-height:78px;padding:16px 12px;gap:10px}
  .service-name{font-size:20px}
  .service-toggle{font-size:28px}
  .service-panel{min-height:520px}
  .service-panel::before{background-position:center center}
  .service-panel-shade{background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.12) 32%,rgba(8,10,9,.56) 66%,rgba(8,10,9,.88) 100%)}
  .service-panel-content{width:calc(100% - 28px);padding:235px 0 26px 14px}
  .service-panel-content>p{font-size:15px}
  .seo-subtypes ul{display:grid;grid-template-columns:1fr 1fr;gap:7px}
  .seo-subtypes li{font-size:12px;padding:8px 9px}
  .contact-grid{grid-template-columns:1fr;gap:10px}
  .contact-copy p{font-size:16px}
}

/* V1.10: compact service links and SEO landing pages. */
.service-more{margin-top:22px;padding-top:17px;border-top:1px solid #ffffff2e}
.service-more a{display:inline-flex;align-items:center;gap:12px;color:#ff9c51;font-size:14px;font-weight:700}
.service-more a span{font-size:20px;transition:transform .2s ease}
.service-more a:hover span{transform:translateX(4px)}
.service-directions{margin-top:22px;border-top:1px solid #ffffff2e;padding-top:15px}
.service-directions>summary{cursor:pointer;color:#ff9c51;font-size:14px;font-weight:700;list-style:none}
.service-directions>summary::-webkit-details-marker{display:none}
.service-directions>summary::after{content:" +";font-size:18px}
.service-directions[open]>summary::after{content:" −"}
.service-directions nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:14px}
.service-directions a{padding:9px 0;border-bottom:1px solid #ffffff1d;color:#e8ebe8;font-size:13px}
.service-directions a:hover{color:#ff9c51}

.subpage{background:#101111;color:#fff}
.subpage-header{position:absolute;z-index:5;top:0;left:0;right:0}
.subpage-header .container{min-height:76px;display:flex;align-items:center;justify-content:space-between}
.subpage-brand{font-weight:900;letter-spacing:.04em}
.subpage-back{font-size:13px;color:#e7e9e7}
.service-hero-page{position:relative;isolation:isolate;min-height:620px;display:flex;align-items:flex-end;overflow:hidden}
.service-hero-page::before{content:"";position:absolute;inset:0;z-index:-2;background-size:cover;background-position:center center;background-repeat:no-repeat}
.service-hero-page::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0004 0%,#0002 28%,#0009 72%,#101111 100%)}
.service-hero-page .container{padding:150px 0 58px}
.service-hero-page h1{max-width:900px;font-size:clamp(42px,5.2vw,78px)}
.service-hero-page p{max-width:760px;font-size:18px;line-height:1.65;color:#ecefec}
.service-page-body{padding:70px 0}
.service-page-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:60px}
.service-page-copy h2{font-size:38px;margin-top:0}
.service-page-copy h3{margin:36px 0 12px;font-size:24px}
.service-page-copy p,.service-page-copy li{font-size:17px;line-height:1.7;color:#cbd0cc}
.service-page-copy ul{padding-left:20px}
.service-page-aside{border-left:1px solid #ffffff20;padding-left:28px}
.service-page-aside strong{display:block;margin-bottom:16px}
.service-page-aside a{display:block;padding:12px 0;border-bottom:1px solid #ffffff18;color:#dfe3df;font-size:14px}
.service-page-aside a:hover{color:#ff962f}
.service-cta{margin-top:38px;padding:28px;background:#1a1d1b;border-top:2px solid #f47708}
.service-cta h3{margin:0 0 10px}
.breadcrumbs{font-size:12px;color:#b9bfba;margin-bottom:20px}
.breadcrumbs a{color:#ff9c51}
@media(max-width:760px){
 .service-directions nav{grid-template-columns:1fr}
 .service-hero-page{min-height:560px}
 .service-hero-page .container{padding:130px 0 40px}
 .service-hero-page h1{font-size:36px}
 .service-hero-page p{font-size:16px}
 .service-page-body{padding:44px 0}
 .service-page-grid{grid-template-columns:1fr;gap:34px}
 .service-page-copy h2{font-size:30px}
 .service-page-copy p,.service-page-copy li{font-size:15px}
 .service-page-aside{border-left:0;border-top:1px solid #ffffff20;padding:22px 0 0}
}

/* V1.11: deep excavation feature photo. */
.deep-excavation-feature{position:relative;isolation:isolate;min-height:520px;margin:34px 0 36px;display:flex;align-items:flex-end;overflow:hidden;background:#111}
.deep-excavation-feature::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/assets/images/objects/deep-excavation-sumitomo.webp') center center/cover no-repeat;transform:scale(1.01)}
.deep-excavation-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.12) 42%,rgba(7,9,8,.68) 78%,rgba(7,9,8,.88) 100%)}
.deep-excavation-copy{padding:250px 28px 30px;max-width:760px}
.deep-excavation-copy>span{font-size:10px;letter-spacing:1.6px;color:#ff8a2f}
.deep-excavation-copy h3{margin:10px 0 10px;font-size:28px;color:#fff;text-shadow:0 2px 12px #000}
.deep-excavation-copy p{margin:0;color:#edf0ed;font-size:15px;line-height:1.6;text-shadow:0 1px 10px #000}
@media(max-width:760px){
 .deep-excavation-feature{min-height:430px;margin:26px 0 30px}
 .deep-excavation-feature::before{background-position:center center;transform:scale(1)}
 .deep-excavation-copy{padding:210px 18px 22px}
 .deep-excavation-copy h3{font-size:23px}
 .deep-excavation-copy p{font-size:14px}
}

/* V1.13: approved demolition image, visually integrated to look less synthetic. */
.service-accordion-demo .service-panel::before{
  background-image:url('../images/objects/demolition-sumitomo-shears.webp');
  background-position:center center;
  filter:saturate(.72) contrast(.92) brightness(.70);
  transform:scale(1.025);
}
.service-accordion-demo .service-panel-shade{
  background:
    linear-gradient(180deg,rgba(9,11,10,.20) 0%,rgba(9,11,10,.30) 36%,rgba(9,11,10,.70) 70%,rgba(9,11,10,.92) 100%),
    linear-gradient(90deg,rgba(8,10,9,.12),rgba(8,10,9,.03) 55%,rgba(8,10,9,.18));
}
.demolition-page .service-hero-page::before{
  background-position:center center!important;
  filter:saturate(.72) contrast(.92) brightness(.72);
  transform:scale(1.025);
}
.demolition-page .service-hero-page::after{
  background:
    linear-gradient(180deg,rgba(5,7,6,.24) 0%,rgba(5,7,6,.20) 30%,rgba(5,7,6,.66) 72%,#101111 100%),
    linear-gradient(90deg,rgba(0,0,0,.12),transparent 55%,rgba(0,0,0,.14));
}
@media(max-width:760px){
  .service-accordion-demo .service-panel::before,
  .demolition-page .service-hero-page::before{
    background-position:center center!important;
    filter:saturate(.68) contrast(.90) brightness(.68);
    transform:scale(1.03);
  }
}

/* V1.14: move former demolition/grapple excavator photo to About section. */
.about-bg::before{
  background-image:url('../images/objects/IMG_0806.webp')!important;
  background-position:center center!important;
  transform:scale(1.02);
}
@media(max-width:760px){
  .about-bg::before{
    background-position:center center!important;
    transform:scale(1.03);
  }
}

/* V1.16: accumulated approved corrections. */

/* 1) Crop excavation service lower: less empty sky, more pit and machinery. */
.service-accordion-earth .service-panel::before{
  background-position:center 72%!important;
  transform:scale(1.005);
}

/* 2) Deep-excavation card uses approved bracing-system image. */
.object-bg-2::before{
  background-image:url('../images/objects/deep-excavation-sumitomo.webp')!important;
  background-position:center center!important;
  transform:scale(1.015);
}

/* 3) Principles are text, not boxed cards. */
.values-bg .equipment-grid{
  gap:0;
  border-top:1px solid #ffffff38;
  border-bottom:1px solid #ffffff22;
}
.values-bg .equipment-grid article{
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  border:0!important;
  border-left:1px solid #ffffff2e!important;
  padding:24px 28px 28px!important;
}
.values-bg .equipment-grid article:first-child{
  border-left:0!important;
  padding-left:0!important;
}
.values-bg .equipment-grid article:last-child{
  padding-right:0!important;
}
.values-bg .equipment-grid h3{
  margin:0 0 12px;
  font-size:22px;
  color:#fff;
}
.values-bg .equipment-grid p{
  margin:0;
  color:#e1e5e1;
  text-shadow:0 2px 10px #000;
}

/* 4) Clear subpage navigation: one step back + direct home. */
.subpage-header{
  position:fixed!important;
  top:0;left:0;right:0;
  z-index:30!important;
  background:linear-gradient(180deg,rgba(12,14,13,.94),rgba(12,14,13,.78));
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid #ffffff18;
}
.subpage-nav{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.subpage-history-back,.subpage-home{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:0 14px;
  border:1px solid #ffffff2b;
  border-radius:999px;
  background:rgba(20,23,21,.72);
  color:#fff;
  font:inherit;
  font-size:13px;
  text-decoration:none;
}
.subpage-history-back{cursor:pointer}
.subpage-history-back span,.home-icon{font-size:21px;line-height:1;color:#ff8a2f}
.subpage-history-back:hover,.subpage-home:hover{background:#242824;border-color:#ff8a2f66}
.subpage-header + main .service-hero-page{padding-top:70px}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:7px;align-items:center}

@media(max-width:760px){
  .service-accordion-earth .service-panel::before{
    background-position:center 76%!important;
    transform:scale(1);
  }
  .object-bg-2::before{
    background-position:center center!important;
    transform:scale(1.01);
  }
  .values-bg .equipment-grid{
    display:block;
    border-top:1px solid #ffffff38;
    border-bottom:0;
  }
  .values-bg .equipment-grid article{
    border-left:0!important;
    border-top:1px solid #ffffff26!important;
    padding:22px 0!important;
  }
  .values-bg .equipment-grid article:first-child{border-top:0!important}
  .values-bg .equipment-grid h3{font-size:22px}
  .subpage-nav{min-height:62px}
  .subpage-history-back,.subpage-home{min-height:40px;padding:0 12px;font-size:12px}
  .subpage-header + main .service-hero-page{padding-top:62px}
}

/* V1.17 preview: persistent, easy-to-find Back to top control. */
.back-to-top{
  position:fixed;
  right:max(22px,env(safe-area-inset-right));
  bottom:max(24px,env(safe-area-inset-bottom));
  z-index:80;
  min-width:118px;
  height:52px;
  padding:0 18px 0 14px;
  border:1px solid #ffb36e;
  border-radius:999px;
  background:linear-gradient(155deg,#ffad4b 0%,#ff7d10 48%,#e95f00 100%);
  color:#121413;
  box-shadow:0 6px 0 #963b03,0 12px 28px #0006,inset 0 1px 0 #fff7;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  font-weight:900;
  font-size:14px;
  opacity:0;
  visibility:hidden;
  transform:translateY(14px);
  transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
}
.back-to-top.is-visible{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}
.back-to-top:hover{filter:brightness(1.06)}
.back-to-top:active{transform:translateY(3px);box-shadow:0 3px 0 #963b03,0 7px 18px #0005}
.back-to-top-icon{
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#1113;
  font-size:22px;
  line-height:1;
}
@media(max-width:760px){
  .back-to-top{
    right:14px;
    bottom:max(18px,env(safe-area-inset-bottom));
    min-width:54px;
    width:54px;
    height:54px;
    padding:0;
    border-radius:50%;
  }
  .back-to-top-label{display:none}
  .back-to-top-icon{width:34px;height:34px;font-size:26px}
}
@media(prefers-reduced-motion:reduce){
  .back-to-top{transition:none}
}

/* V1.18 preview: aligned metrics + compact contacts + callback form. */
.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.metric-grid>div{min-width:0}
.metric-grid strong{white-space:nowrap}
.metric-grid span{max-width:100%;overflow-wrap:anywhere}

.contact-accordion-section{background:#101111}
.contact-accordion{border-top:1px solid #ffffff28;border-bottom:1px solid #ffffff28}
.contact-accordion>summary{list-style:none;cursor:pointer;min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 0}
.contact-accordion>summary::-webkit-details-marker{display:none}
.contact-accordion>summary span{display:grid;gap:7px}
.contact-accordion>summary small{font-size:10px;letter-spacing:1.7px;color:#aeb4af}
.contact-accordion>summary strong{font-size:clamp(28px,3vw,44px)}
.contact-accordion>summary i{font-style:normal;font-size:38px;color:#ff8628;transition:transform .2s ease}
.contact-accordion[open]>summary i{transform:rotate(45deg)}
.contact-accordion-body{padding:0 0 30px;max-width:760px}
.contact-accordion-body p{font-size:17px;line-height:1.65;color:#cfd4d0}
.contact-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px}
.contact-page-link{font-weight:800;color:#ff9c51}
.contact-page-link span{font-size:20px;margin-left:8px}

#callback-form,.callback-page-form{display:grid;gap:15px}
#callback-form label,.callback-page-form label{display:grid;gap:7px;font-size:13px}
#callback-dialog{max-width:540px}

.contacts-hero{padding:145px 0 70px;background:#151816}
.contacts-hero h1{margin-bottom:18px}
.contacts-hero>div>p:last-child{max-width:760px;font-size:18px;line-height:1.65;color:#d9ded9}
.contacts-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px}
.contacts-info h2,.callback-card h2{font-size:34px}
.contact-note{color:#aeb5b0;line-height:1.6}
.contact-requisites{margin-top:30px;border-top:1px solid #ffffff20}
.contact-requisites>div{padding:16px 0;border-bottom:1px solid #ffffff18;display:grid;gap:5px}
.contact-requisites span{font-size:11px;letter-spacing:1.2px;color:#919892;text-transform:uppercase}
.contact-requisites strong{font-size:15px;line-height:1.45}
.callback-card{padding:30px;background:#1a1d1b;border-top:2px solid #ff790d}

@media(max-width:760px){
  .metric-grid{grid-template-columns:1fr 1fr!important;gap:0!important}
  .metric-grid>div{padding:20px 14px!important;min-height:142px;display:flex;flex-direction:column;justify-content:flex-end}
  .metric-grid>div:nth-child(odd){border-left:0!important;padding-left:0!important}
  .metric-grid strong{font-size:clamp(34px,10vw,46px)!important;line-height:1!important;letter-spacing:-1.5px!important}
  .metric-grid span{font-size:12px!important;line-height:1.35!important;margin-top:9px!important}
  .contact-accordion>summary{min-height:86px}
  .contact-accordion>summary strong{font-size:30px}
  .contact-accordion-body p{font-size:15px}
  .contacts-hero{padding:110px 0 46px}
  .contacts-hero>div>p:last-child{font-size:16px}
  .contacts-layout{grid-template-columns:1fr;gap:36px}
  .callback-card{padding:22px 18px}
}

/* V1.19 preview: dropdown navigation items become styled orange-accented buttons. */
@media(max-width:760px){
  .menu.is-open{
    display:flex!important;
    flex-direction:column;
    gap:10px!important;
    padding:14px 16px 18px!important;
    background:rgba(17,19,18,.97)!important;
    border-bottom:1px solid #ffffff1f;
    box-shadow:0 16px 30px #0009;
  }
  .menu.is-open a{
    position:relative;
    display:flex;
    align-items:center;
    min-height:48px;
    width:100%;
    padding:13px 18px!important;
    border:1px solid #f4770848;
    border-radius:999px;
    background:
      linear-gradient(180deg,rgba(255,145,56,.10),rgba(244,119,8,.055)),
      linear-gradient(90deg,rgba(244,119,8,.16),rgba(244,119,8,.025) 48%,rgba(255,255,255,.025));
    color:#f6f7f5!important;
    font-size:15px!important;
    font-weight:700;
    letter-spacing:.01em;
    text-shadow:none!important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.07),
      0 3px 10px rgba(0,0,0,.22);
    transition:transform .16s ease,border-color .16s ease,background .16s ease;
  }
  .menu.is-open a::after{
    content:"›";
    margin-left:auto;
    color:#ff8a2f;
    font-size:23px;
    font-weight:400;
    line-height:1;
  }
  .menu.is-open a:active{
    transform:scale(.985);
    border-color:#ff8a2f9a;
    background:linear-gradient(90deg,rgba(244,119,8,.28),rgba(244,119,8,.08));
  }
}
@media(min-width:761px){
  .menu a{
    position:relative;
    padding:10px 14px!important;
    border-radius:999px;
    border:1px solid transparent;
    transition:background .18s ease,border-color .18s ease,color .18s ease;
  }
  .menu a:hover{
    color:#fff!important;
    border-color:#f4770852;
    background:linear-gradient(90deg,rgba(244,119,8,.16),rgba(244,119,8,.045));
  }
}

/* V1.21: cumulative UX corrections. */
@media(max-width:760px){
  .menu-toggle{position:fixed!important;top:max(14px,env(safe-area-inset-top))!important;right:14px!important;z-index:140!important;border-radius:999px!important;background:rgba(18,20,19,.90)!important;border:1px solid #f4770860!important;box-shadow:0 6px 18px #0006,inset 0 1px 0 #ffffff10;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
  .menu{position:fixed!important;top:74px!important;left:12px!important;right:12px!important;z-index:135!important;max-height:calc(100svh - 92px);overflow:auto;border-radius:18px}
}
.btn,.contact-page-link,.service-more a,.subpage-history-back,.subpage-home{border-radius:999px!important;border:1px solid #f4770860!important;background:linear-gradient(180deg,rgba(255,150,65,.13),rgba(244,119,8,.075)),linear-gradient(90deg,rgba(244,119,8,.18),rgba(244,119,8,.035) 58%,rgba(255,255,255,.025))!important;color:#f6f7f5!important;min-height:48px;padding:12px 20px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 4px 12px rgba(0,0,0,.24)!important;font-weight:800!important;text-decoration:none!important}
.btn{color:#171918!important;background:linear-gradient(155deg,#ffb653 0%,#ff8718 42%,#ec6100 100%)!important;border-color:#ffc47b!important}
.contact-page-link,.service-more a{display:inline-flex!important;align-items:center;justify-content:center;gap:10px;width:max-content;max-width:100%}
.back-to-top{border-radius:999px!important}
.service-accordion-earth .service-panel{min-height:0!important}
.service-accordion-earth .service-panel::before{background-position:center 100%!important;transform:scale(1.015)!important}
.service-accordion-earth .service-panel-content{padding-top:92px!important}
@media(max-width:760px){.service-accordion-earth .service-panel{min-height:0!important}.service-accordion-earth .service-panel::before{background-position:center 100%!important;transform:scale(1.035)!important}.service-accordion-earth .service-panel-content{padding-top:42px!important}}

/* V1.22: rebuild mobile metrics as a clean 2x2 grid. */
@media(max-width:760px){
  .metrics{
    min-height:0!important;
    align-items:stretch!important;
  }
  .metrics::before{
    background-position:center center!important;
    transform:scale(1.04)!important;
  }
  .metric-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    gap:0!important;
    padding:28px calc(18px + env(safe-area-inset-right)) 28px calc(18px + env(safe-area-inset-left))!important;
    box-sizing:border-box!important;
  }
  .metric-grid>div{
    min-width:0!important;
    min-height:138px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    padding:22px 16px!important;
    border:0!important;
    box-sizing:border-box!important;
  }
  .metric-grid>div:nth-child(odd){
    border-right:1px solid #ffffff35!important;
    padding-left:0!important;
    padding-right:18px!important;
  }
  .metric-grid>div:nth-child(even){
    padding-left:18px!important;
    padding-right:0!important;
  }
  .metric-grid>div:nth-child(1),
  .metric-grid>div:nth-child(2){
    border-bottom:1px solid #ffffff35!important;
  }
  .metric-grid strong{
    display:block!important;
    width:100%!important;
    margin:0 0 10px!important;
    font-size:clamp(38px,10vw,48px)!important;
    line-height:.95!important;
    letter-spacing:-1.4px!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
  .metric-grid span{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    font-size:12px!important;
    line-height:1.35!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

/* V1.23: optimized About-section image from approved excavation photo. */
.about-bg::before{
  background-image:url('../images/objects/about-excavation-desktop.webp')!important;
  background-position:center center!important;
  background-size:cover!important;
  transform:scale(1.01)!important;
}
@media(max-width:760px){
  .about-bg::before{
    background-image:url('../images/objects/about-excavation-mobile.webp')!important;
    background-position:center center!important;
    background-size:cover!important;
    transform:scale(1)!important;
  }
}

/* V1.24: About section uses the approved image exactly as supplied — no crop, no resize. */
.about-bg{
  background:#101111!important;
}
.about-bg::before{
  background-image:url('../images/objects/about-excavation-original.webp')!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  background-size:100% auto!important;
  transform:none!important;
}
@media(max-width:760px){
  .about-bg{
    min-height:max(760px,150vw)!important;
  }
  .about-bg::before{
    background-position:center top!important;
    background-size:100% auto!important;
    transform:none!important;
  }
  .about-bg .about-grid{
    padding-top:46vw!important;
    padding-bottom:34px!important;
  }
}

/* V1.25 final audit */

/* Global fixed menu button: independent of section/header transforms. */
.menu-toggle{
  position:fixed!important;
  top:max(18px,env(safe-area-inset-top))!important;
  right:max(18px,env(safe-area-inset-right))!important;
  z-index:1000!important;
  margin:0!important;
  transform:none!important;
}
.menu{
  z-index:990!important;
}

/* About: image covers the complete content height; no black break. */
.about-bg{
  min-height:0!important;
  background:#101111!important;
}
.about-bg::before{
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background-image:url('../images/objects/about-excavation-original.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
  transform:none!important;
}
.about-bg-shade{
  background:linear-gradient(180deg,rgba(7,9,8,.18) 0%,rgba(7,9,8,.40) 40%,rgba(7,9,8,.72) 78%,rgba(7,9,8,.88) 100%)!important;
}
.about-bg .about-grid{
  padding-top:clamp(80px,10vw,150px)!important;
  padding-bottom:clamp(70px,8vw,120px)!important;
}

/* Fleet: copy starts near the top of the section. */
.fleet-bg-section{
  min-height:0!important;
}
.fleet-bg-content{
  padding-top:clamp(58px,7vw,90px)!important;
  padding-bottom:clamp(60px,7vw,90px)!important;
}

/* Consistent vertical rhythm across primary sections. */
.section{
  padding-top:72px;
  padding-bottom:72px;
}
.services-accordion.section,
.about-bg.section,
.fleet-bg-section.section,
.values-bg.section{
  padding-top:0;
  padding-bottom:0;
}
.objects-section,
.process.section,
.contact-accordion-section{
  margin-top:0!important;
  margin-bottom:0!important;
}

/* Unified footer / logo treatment. */
.site-footer{
  border-top:1px solid #ffffff20;
  background:#0c0e0d;
  padding:30px 0 calc(30px + env(safe-area-inset-bottom));
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.footer-brand{display:grid;gap:6px}
.footer-brand strong{font-size:16px;font-weight:900;letter-spacing:.055em}
.footer-brand span,.site-footer small{font-size:12px;color:#9ea59f}

/* Fixed buttons should not cover content on small screens. */
@media(max-width:760px){
  .menu-toggle{
    top:max(14px,env(safe-area-inset-top))!important;
    right:14px!important;
  }
  .menu.is-open{
    position:fixed!important;
    top:72px!important;
    left:12px!important;
    right:12px!important;
    max-height:calc(100svh - 92px)!important;
    overflow:auto!important;
  }
  .section{padding-top:48px;padding-bottom:48px}
  .about-bg::before{
    height:100%!important;
    background-size:cover!important;
    background-position:center center!important;
  }
  .about-bg .about-grid{
    padding-top:70px!important;
    padding-bottom:58px!important;
  }
  .about-bg-shade{
    background:linear-gradient(180deg,rgba(7,9,8,.22),rgba(7,9,8,.48) 44%,rgba(7,9,8,.86) 100%)!important;
  }
  .fleet-bg-content{
    padding-top:46px!important;
    padding-bottom:52px!important;
  }
  .fleet-bg-content .eyebrow{margin-top:0!important}
  .fleet-bg-content h2{margin-top:10px!important}
  .footer-inner{display:grid;gap:18px}
  body{padding-bottom:18px}
}

/* Uniform logo/brand typography on subpages. */
.subpage-brand,.footer-brand strong{
  font-family:inherit!important;
  font-weight:900!important;
  letter-spacing:.055em!important;
  text-transform:uppercase;
}

/* V1.27: menu trigger is outside every scrolling/hero container. */
.global-menu-toggle{
  display:flex!important;
  position:fixed!important;
  top:max(16px,env(safe-area-inset-top))!important;
  right:max(16px,env(safe-area-inset-right))!important;
  z-index:2147483000!important;
  width:50px!important;
  height:50px!important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid #f4770870!important;
  border-radius:999px!important;
  background:rgba(15,17,16,.90)!important;
  box-shadow:0 7px 20px #0008,inset 0 1px 0 #ffffff18!important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  transform:none!important;
  contain:layout style;
}
.global-menu-toggle span{display:block!important;width:22px!important;height:2px!important;background:#fff!important}
@media(min-width:761px){
  .global-menu-toggle{display:flex!important}
  #navigation.menu.is-open{
    display:flex!important;
    position:fixed!important;
    top:78px!important;
    right:16px!important;
    left:auto!important;
    z-index:2147482999!important;
    flex-direction:column!important;
    align-items:stretch!important;
    min-width:270px;
    padding:12px!important;
    background:#151817f5!important;
    border:1px solid #ffffff20;
    border-radius:18px;
    box-shadow:0 18px 40px #0009;
  }
}
@media(max-width:760px){
  .global-menu-toggle{
    top:max(14px,env(safe-area-inset-top))!important;
    right:14px!important;
  }
  #navigation.menu.is-open{
    position:fixed!important;
    top:74px!important;
    left:12px!important;
    right:12px!important;
    z-index:2147482999!important;
  }
}

/* V1.29: menu is fixed globally but hidden until loader has finished. */
.global-menu-toggle{visibility:hidden!important;opacity:0!important;pointer-events:none!important}
.global-menu-toggle.is-ready{visibility:visible!important;opacity:1!important;pointer-events:auto!important}
body.is-loading .global-menu-toggle{visibility:hidden!important;opacity:0!important;pointer-events:none!important}

/* V1.30: keep the fixed menu trigger above every section for the entire page. */
.global-menu-toggle,
.global-menu-toggle.is-ready{
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  right:max(14px,env(safe-area-inset-right))!important;
  z-index:2147483646!important;
  transform:translateZ(0)!important;
  -webkit-transform:translateZ(0)!important;
  isolation:isolate!important;
}
.global-menu-toggle.is-ready{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body:not(.is-loading) .global-menu-toggle{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}
body.is-loading .global-menu-toggle{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
/* Ensure later full-screen/photo sections cannot establish a layer above navigation. */
main,.hero,.metrics,.services-accordion,.about-bg,.fleet-bg-section,.values-bg,.objects-section,.process,.contact-accordion-section{
  z-index:auto!important;
}

/* V1.31: iOS-like subpage navigation — transparent, hides on scroll down, returns on scroll up. */
.subpage-header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  z-index:2147482000!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transition:transform .23s cubic-bezier(.22,.7,.2,1),opacity .2s ease!important;
  will-change:transform;
  pointer-events:none;
}
.subpage-header .subpage-nav{
  pointer-events:auto;
}
.subpage-header.nav-hidden{
  transform:translateY(calc(-100% - 12px))!important;
  opacity:.15!important;
}
.subpage-header.nav-visible{
  transform:translateY(0)!important;
  opacity:1!important;
}
.subpage-history-back,.subpage-home{
  background:rgba(25,27,26,.34)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  box-shadow:0 4px 14px rgba(0,0,0,.16),inset 0 1px 0 rgba(255,255,255,.12)!important;
  backdrop-filter:blur(14px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(14px) saturate(1.15)!important;
  color:#fff!important;
}
.subpage-history-back:hover,.subpage-home:hover{
  background:rgba(25,27,26,.46)!important;
  border-color:rgba(244,119,8,.58)!important;
}
.subpage-header.nav-compact .subpage-history-back,
.subpage-header.nav-compact .subpage-home{
  min-height:38px!important;
  padding:8px 12px!important;
  font-size:12px!important;
}
@media(max-width:760px){
  .subpage-header .subpage-nav{
    min-height:62px!important;
    padding-top:max(8px,env(safe-area-inset-top))!important;
  }
  .subpage-history-back,.subpage-home{
    min-height:40px!important;
    padding:8px 12px!important;
    background:rgba(25,27,26,.30)!important;
  }
}

/* V1.32: Safari fix — global menu trigger is a direct BODY child, outside MAIN/HERO. */
body > .global-menu-toggle{
  position:fixed!important;
  top:max(14px,env(safe-area-inset-top))!important;
  right:max(14px,env(safe-area-inset-right))!important;
  left:auto!important;
  bottom:auto!important;
  z-index:2147483647!important;
  transform:none!important;
  -webkit-transform:none!important;
  margin:0!important;
}
body > .global-menu-toggle.is-ready{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
}

/* V1.33: the MENU WINDOW itself is fixed outside MAIN, not just its button. */
body > #navigation.menu{
  position:fixed!important;
  z-index:2147483646!important;
  top:74px!important;
  right:14px!important;
  left:auto!important;
  bottom:auto!important;
  width:min(340px,calc(100vw - 28px))!important;
  max-height:calc(100dvh - 92px)!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch;
  margin:0!important;
  padding:12px!important;
  border-radius:18px!important;
  background:rgba(18,20,19,.96)!important;
  border:1px solid #ffffff20!important;
  box-shadow:0 18px 42px #0009!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  transform:none!important;
}
body > #navigation.menu:not(.is-open){display:none!important}
body > #navigation.menu.is-open{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:9px!important;
}
body > #navigation.menu.is-open a{
  width:100%!important;
  min-height:48px!important;
  display:flex!important;
  align-items:center!important;
  padding:12px 16px!important;
}
@media(max-width:760px){
  body > #navigation.menu{
    top:74px!important;
    left:12px!important;
    right:12px!important;
    width:auto!important;
    max-height:calc(100dvh - 92px)!important;
  }
}

/* V1.34: transparent menu window — only the pill buttons remain visible. */
body > #navigation.menu,
body > #navigation.menu.is-open{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  padding:0!important;
  border-radius:0!important;
}
body > #navigation.menu.is-open a{
  background:
    linear-gradient(180deg,rgba(40,42,41,.72),rgba(22,24,23,.66)),
    linear-gradient(90deg,rgba(244,119,8,.22),rgba(244,119,8,.045))!important;
  border:1px solid rgba(244,119,8,.46)!important;
  border-radius:999px!important;
  box-shadow:0 5px 16px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.10)!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
}

/* V1.35: menu interaction states. */
body > #navigation.menu.is-open a{
  transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}
body > #navigation.menu.is-open a:hover,
body > #navigation.menu.is-open a:focus-visible,
body > #navigation.menu.is-open a.is-active{
  background:
    linear-gradient(155deg,rgba(255,179,91,.94),rgba(255,126,20,.92) 48%,rgba(224,86,0,.92))!important;
  border-color:rgba(255,202,142,.95)!important;
  color:#141615!important;
  box-shadow:0 6px 18px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.45)!important;
}
body > #navigation.menu.is-open a:active{
  transform:scale(.985)!important;
}

/* V1.36: consistent hover / press feedback for every interactive button and button-like link. */
button,
.btn,
a.btn,
.menu a,
.service-more a,
.service-directions a,
.contact-page-link,
.subpage-history-back,
.subpage-home,
.back-to-top,
.photo-close,
.close,
.close-dialog,
.contact-accordion>summary,
.service-accordion>summary,
.service-inner-details>summary{
  transition:
    background-color .16s ease,
    background .16s ease,
    color .16s ease,
    border-color .16s ease,
    box-shadow .16s ease,
    filter .16s ease,
    transform .12s ease,
    opacity .16s ease!important;
}

@media(hover:hover) and (pointer:fine){
  button:hover,
  .btn:hover,
  a.btn:hover,
  .service-more a:hover,
  .contact-page-link:hover,
  .subpage-history-back:hover,
  .subpage-home:hover,
  .back-to-top:hover{
    filter:brightness(1.13) saturate(1.08)!important;
    border-color:#ffc27f!important;
    box-shadow:0 7px 18px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.28)!important;
  }

  .service-directions a:hover,
  .service-inner-details>summary:hover,
  .contact-accordion>summary:hover,
  .service-accordion>summary:hover{
    color:#ff9b45!important;
    background:rgba(244,119,8,.10)!important;
  }
}

button:active,
.btn:active,
a.btn:active,
.menu a:active,
.service-more a:active,
.service-directions a:active,
.contact-page-link:active,
.subpage-history-back:active,
.subpage-home:active,
.back-to-top:active,
.photo-close:active,
.close:active,
.close-dialog:active,
.contact-accordion>summary:active,
.service-accordion>summary:active,
.service-inner-details>summary:active{
  filter:brightness(.92) saturate(1.15)!important;
  transform:scale(.975)!important;
}

button:focus-visible,
.btn:focus-visible,
a:focus-visible,
summary:focus-visible{
  outline:2px solid #ff9a43!important;
  outline-offset:3px!important;
}

/* V1.37: calculation dialog controls. */
#contact{
  position:relative;
  max-height:min(88dvh,820px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
#contact .dialog-fixed-close{
  position:sticky!important;
  top:0!important;
  float:right;
  z-index:50!important;
  margin:-20px -14px 0 0!important;
  width:46px!important;
  height:46px!important;
  border-radius:50%!important;
  display:grid!important;
  place-items:center!important;
  background:rgba(23,25,24,.88)!important;
  border:1px solid #f4770860!important;
  box-shadow:0 5px 16px #0007!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  color:#fff!important;
}
#contact .brief-actions{
  position:sticky;
  bottom:-36px;
  z-index:40;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:20px -36px -36px;
  padding:14px 36px calc(14px + env(safe-area-inset-bottom));
  background:linear-gradient(180deg,rgba(23,25,24,.35),rgba(23,25,24,.97) 30%);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
#contact .brief-actions .btn{width:100%}
#contact .btn-secondary{
  color:#f2f4f2!important;
  background:rgba(255,255,255,.07)!important;
  border-color:#ffffff30!important;
  box-shadow:none!important;
}
#contact .btn-secondary:hover{background:rgba(255,255,255,.13)!important}
@media(max-width:760px){
  #contact{
    max-height:88dvh;
    padding:28px 22px!important;
  }
  #contact .dialog-fixed-close{
    margin:-15px -8px 0 0!important;
  }
  #contact .brief-actions{
    bottom:-28px;
    margin:18px -22px -28px;
    padding:12px 22px calc(12px + env(safe-area-inset-bottom));
  }
}

/* V1.38: translucent "glass lens" calculation dialog. */
#contact{
  background:
    linear-gradient(145deg,rgba(43,47,45,.56),rgba(18,21,19,.42))!important;
  border:1px solid rgba(255,255,255,.26)!important;
  border-top-color:rgba(255,255,255,.42)!important;
  border-radius:24px!important;
  box-shadow:
    0 24px 70px rgba(0,0,0,.38),
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(18px) saturate(1.18) contrast(1.04)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.18) contrast(1.04)!important;
}
#contact::backdrop{
  background:rgba(5,7,6,.22)!important;
  backdrop-filter:blur(2px) saturate(.92)!important;
  -webkit-backdrop-filter:blur(2px) saturate(.92)!important;
}
#contact input,
#contact select,
#contact textarea{
  background:rgba(12,15,13,.34)!important;
  border:1px solid rgba(255,255,255,.22)!important;
  color:#fff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}
#contact input:focus,
#contact select:focus,
#contact textarea:focus{
  background:rgba(15,18,16,.46)!important;
  border-color:rgba(255,143,51,.72)!important;
  outline:none!important;
  box-shadow:0 0 0 3px rgba(244,119,8,.12),inset 0 1px 0 rgba(255,255,255,.08)!important;
}
#contact .brief-actions{
  background:linear-gradient(180deg,rgba(23,25,24,.08),rgba(23,25,24,.48) 45%,rgba(23,25,24,.64))!important;
  backdrop-filter:blur(18px) saturate(1.12)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.12)!important;
}
#contact .dialog-fixed-close{
  background:rgba(24,27,25,.42)!important;
  border-color:rgba(255,255,255,.25)!important;
  backdrop-filter:blur(16px) saturate(1.2)!important;
  -webkit-backdrop-filter:blur(16px) saturate(1.2)!important;
}
@media(max-width:760px){
  #contact{
    border-radius:22px!important;
    background:linear-gradient(150deg,rgba(45,49,47,.54),rgba(17,20,18,.44))!important;
    backdrop-filter:blur(16px) saturate(1.15)!important;
    -webkit-backdrop-filter:blur(16px) saturate(1.15)!important;
  }
}

/* V1.39: calculation dialog is always viewport-centered, regardless of page scroll. */
#contact{
  position:fixed!important;
  inset:50% auto auto 50%!important;
  margin:0!important;
  width:min(540px,calc(100vw - 28px))!important;
  max-width:540px!important;
  max-height:calc(100dvh - 28px)!important;
  transform:translate(-50%,-50%)!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
}
#contact[open]{
  display:block!important;
}
@supports not (height:100dvh){
  #contact{max-height:calc(100vh - 28px)!important}
}
@media(max-width:760px){
  #contact{
    inset:50% auto auto 50%!important;
    width:calc(100vw - 24px)!important;
    max-height:calc(100dvh - 24px)!important;
    transform:translate(-50%,-50%)!important;
  }
}

/* V1.40: concise project-calculation form. */
#brief-form small{font-size:11px;color:#aeb5b0;font-weight:400}
#brief-form fieldset{min-width:0}.brief-choice{border:0;padding:0;margin:2px 0 4px}.brief-choice legend{font-size:13px;margin-bottom:9px}
.segmented-choice,.contact-methods{display:flex;flex-wrap:wrap;gap:8px}.segmented-choice label,.contact-methods label{display:block!important;cursor:pointer}.segmented-choice input,.contact-methods input{position:absolute;opacity:0;pointer-events:none}
.segmented-choice span,.contact-methods span{display:flex;align-items:center;justify-content:center;min-height:42px;padding:9px 15px;border-radius:999px;border:1px solid rgba(255,255,255,.22);background:rgba(12,15,13,.30);color:#f3f5f3;transition:.16s ease}
.segmented-choice input:checked+span,.contact-methods input:checked+span{color:#161817;border-color:#ffc17a;background:linear-gradient(155deg,#ffb653,#ff8718 48%,#ec6100);box-shadow:inset 0 1px 0 #fff7,0 4px 12px #0004}
.brief-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:520px){.brief-contact-grid{grid-template-columns:1fr}.contact-methods{gap:7px}.contact-methods span{padding:8px 12px;font-size:12px}}

/* V1.41: fixed non-draggable calculation window; only its content scrolls vertically. */
#contact{
  position:fixed!important;
  inset:50% auto auto 50%!important;
  transform:translate(-50%,-50%)!important;
  margin:0!important;
  resize:none!important;
  width:min(540px,calc(100vw - 28px))!important;
  height:min(760px,calc(100dvh - 28px))!important;
  max-width:540px!important;
  max-height:calc(100dvh - 28px)!important;
  overflow:hidden!important;
  touch-action:pan-y!important;
}
#contact #brief-form{
  max-height:calc(100% - 118px)!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch;
  padding-right:3px;
}
#contact .dialog-fixed-close{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
  float:none!important;
  margin:0!important;
}
#contact .brief-actions{
  position:sticky!important;
  bottom:0!important;
  margin:18px -3px 0!important;
  padding:12px 3px calc(4px + env(safe-area-inset-bottom))!important;
}
@media(max-width:760px){
  #contact{
    width:calc(100vw - 24px)!important;
    height:min(760px,calc(100dvh - 24px))!important;
    max-height:calc(100dvh - 24px)!important;
  }
}

/* V1.42: dialog itself stays centered; ALL its contents scroll vertically together. */
#contact{
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain!important;
  overscroll-behavior-x:none!important;
  touch-action:pan-y!important;
}
#contact #brief-form{
  max-height:none!important;
  overflow:visible!important;
  padding-right:0!important;
}
#contact .dialog-fixed-close{
  position:absolute!important;
  top:10px!important;
  right:10px!important;
}
#contact .brief-actions{
  position:static!important;
  margin:20px 0 0!important;
  padding:0 0 calc(4px + env(safe-area-inset-bottom))!important;
  background:transparent!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* V1.43: required fields visual cue. */
#brief-form input:required,
#brief-form select:required{
  border-left:2px solid rgba(244,119,8,.78)!important;
}
#brief-form input:required:valid,
#brief-form select:required:valid{
  border-left-color:rgba(126,196,137,.72)!important;
}

/* V1.44: clear required-field validation after submit attempt. */
.brief-required-alert{
  display:none;
  margin:0 0 16px;
  padding:12px 14px;
  border-radius:14px;
  border:1px solid rgba(255,129,41,.72);
  background:rgba(128,42,0,.34);
  color:#ffd7ba;
  font-size:14px;
  font-weight:800;
  line-height:1.35;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
.brief-required-alert.is-visible{display:block}
#brief-form .field-error input,
#brief-form .field-error select,
#brief-form .field-error textarea{
  border-color:#ff7038!important;
  border-left-color:#ff7038!important;
  background:rgba(119,31,9,.34)!important;
  box-shadow:0 0 0 2px rgba(255,93,48,.18),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
#brief-form .field-error>span,
#brief-form .field-error legend{
  color:#ffb18c!important;
}
#brief-form .brief-choice.field-error{
  padding:10px!important;
  margin-left:-10px!important;
  margin-right:-10px!important;
  border-radius:14px!important;
  background:rgba(119,31,9,.20)!important;
  outline:1px solid rgba(255,112,56,.56)!important;
}
#brief-form .brief-choice.field-error .segmented-choice span,
#brief-form .brief-choice.field-error .contact-methods span{
  border-color:rgba(255,112,56,.65)!important;
}

/* V1.46 hard guard: optional controls never receive error styling. */
#brief-form label:has([name="address"]).field-error,
#brief-form label:has([name="email"]).field-error,
#brief-form label:has([name="comment"]).field-error{
  background:transparent!important;
  outline:0!important;
}
#brief-form label:has([name="address"]).field-error input,
#brief-form label:has([name="email"]).field-error input,
#brief-form label:has([name="comment"]).field-error textarea{
  border-color:rgba(255,255,255,.22)!important;
  border-left-color:rgba(255,255,255,.22)!important;
  background:rgba(12,15,13,.34)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;
}

/* V1.47: service type and project documentation are optional. */
#brief-form label:has([name="service"]).field-error,
#brief-form fieldset:has([name="project_docs"]).field-error{background:transparent!important;outline:0!important}
#brief-form label:has([name="service"]).field-error select{border-color:rgba(255,255,255,.22)!important;border-left-color:rgba(255,255,255,.22)!important}

/* V1.48: communication method is optional and never highlighted as an error. */
#brief-form fieldset:has([name="preferred"]).field-error{background:transparent!important;outline:0!important}
#brief-form fieldset:has([name="preferred"]).field-error .contact-methods span{border-color:rgba(255,255,255,.22)!important}

/* V1.50: calculation section is now a single functional CTA. */
.project-calc-section{padding-top:54px!important;padding-bottom:54px!important;background:#101111}
.project-calc-inner{display:flex;justify-content:center}
.project-calc-main{
  width:min(520px,100%)!important;
  min-height:66px!important;
  padding:18px 26px!important;
  font-size:18px!important;
}
.project-calc-main .arrow{margin-left:auto}
@media(max-width:760px){
  .project-calc-section{padding-top:38px!important;padding-bottom:38px!important}
  .project-calc-main{min-height:60px!important;font-size:16px!important}
}

/* V1.54: stable service accordion viewport. */
#services .service-accordion-list,
#services .service-accordion,
#services .service-panel{
  overflow-anchor:none;
}

/* V1.55: no browser scroll anchoring or smooth-scroll side effects while switching services. */
#services,
#services .service-accordion-list,
#services details,
#services summary{
  overflow-anchor:none!important;
  scroll-margin:0!important;
}

/* V1.56: natural downward accordion expansion; no scroll animations/anchoring. */
#services{scroll-behavior:auto!important;overflow-anchor:none!important}
#services details.service-accordion{overflow-anchor:none!important}
#services details.service-accordion > summary{overflow-anchor:none!important}

/* V1.57: prevent Safari's own anchoring from competing with exact accordion compensation. */
#services,#services .service-accordion-list,#services details.service-accordion,#services details.service-accordion>summary{
  overflow-anchor:none!important;
}

/* V1.58: service panels originate at their summary and grow downward. */
#services details.service-accordion[open] > .service-panel{
  transform-origin:top center!important;
}
#services .service-accordion-list{overflow-anchor:none!important}

/* V1.59: selected service row aligns with viewport top; content grows below it. */
#services details.service-accordion>summary{
  scroll-margin-top:0!important;
}

/* V1.60: smoother accordion reveal and no service numbering. */
.service-accordion>summary{
  grid-template-columns:1fr 44px!important;
  transition:background .22s ease,border-color .22s ease!important;
}
.service-accordion .service-panel{
  transition:opacity .34s ease,transform .34s cubic-bezier(.22,.7,.2,1)!important;
  transform-origin:top center!important;
}
.service-accordion.is-opening .service-panel{
  opacity:0!important;
  transform:translateY(16px)!important;
}
.service-accordion.is-open-ready .service-panel,
.service-accordion[open]:not(.is-opening) .service-panel{
  opacity:1;
  transform:translateY(0);
}
.service-accordion.is-closing .service-panel{
  opacity:0!important;
  transform:translateY(8px)!important;
}
@media(max-width:760px){
  .service-accordion>summary{grid-template-columns:1fr 34px!important}
}

/* V1.61: soft visual bridge from Services (dark) into About (photo). */
.services-accordion{
  position:relative;
  z-index:2;
  padding-bottom:clamp(58px,7vw,92px)!important;
  background:#101111;
}
.services-accordion::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-56px;
  height:112px;
  z-index:5;
  pointer-events:none;
  background:linear-gradient(
    180deg,
    #101111 0%,
    rgba(16,17,17,.96) 22%,
    rgba(16,17,17,.76) 48%,
    rgba(16,17,17,.34) 76%,
    rgba(16,17,17,0) 100%
  );
}
.about-bg{
  margin-top:0!important;
}
.about-bg::before{
  background-position:center center!important;
}
@media(max-width:760px){
  .services-accordion{
    padding-bottom:48px!important;
  }
  .services-accordion::after{
    bottom:-44px;
    height:88px;
    background:linear-gradient(
      180deg,
      #101111 0%,
      rgba(16,17,17,.94) 25%,
      rgba(16,17,17,.64) 55%,
      rgba(16,17,17,.22) 82%,
      rgba(16,17,17,0) 100%
    );
  }
  .about-bg .about-grid{
    padding-top:88px!important;
  }
}

/* V1.62: full-viewport-width Services -> About transition. */
.services-accordion{
  overflow:visible!important;
}
.services-accordion::after{
  left:50%!important;
  right:auto!important;
  width:100vw!important;
  max-width:none!important;
  transform:translateX(-50%)!important;
  bottom:-64px!important;
  height:128px!important;
  background:linear-gradient(180deg,#101111 0%,rgba(16,17,17,.97) 20%,rgba(16,17,17,.82) 42%,rgba(16,17,17,.52) 63%,rgba(16,17,17,.20) 82%,rgba(16,17,17,0) 100%)!important;
}
@media(max-width:760px){
  .services-accordion::after{
    left:50%!important;
    width:100vw!important;
    transform:translateX(-50%)!important;
    bottom:-48px!important;
    height:96px!important;
  }
}

/* V1.63: service rows highlight on hover, press and open state. */
#services .service-accordion>summary{transition:background .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease!important;border-radius:14px}
@media(hover:hover) and (pointer:fine){#services .service-accordion>summary:hover{background:rgba(244,119,8,.12)!important;color:#ff9b45!important;box-shadow:inset 3px 0 0 #f47708!important}}
#services .service-accordion>summary:active{background:rgba(244,119,8,.20)!important;color:#ffad67!important;box-shadow:inset 3px 0 0 #ff8b2a!important}
#services .service-accordion[open]>summary{background:rgba(244,119,8,.10)!important;color:#ff9b45!important;box-shadow:inset 3px 0 0 #f47708!important}
#services .service-accordion>summary:focus-visible{outline:2px solid #ff9a43!important;outline-offset:3px!important}

/* V1.68: approved brighter excavation image for 30-years section. */
.about-bg::before{
  background-image:url('/assets/images/about-30-years-v68.webp')!important;
  background-position:center center!important;
  background-size:cover!important;
}

/* V1.69: mobile metrics regression fix after image update. */
@media(max-width:760px){
  .metrics{
    overflow:hidden!important;
    min-height:0!important;
    padding:0!important;
  }
  .metrics .container.metric-grid{
    width:calc(100% - 40px)!important;
    max-width:none!important;
    margin-inline:auto!important;
    padding:28px 0!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:0!important;
  }
  .metric-grid>div{
    min-width:0!important;
    width:auto!important;
    min-height:138px!important;
    padding:20px 16px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-end!important;
    align-items:flex-start!important;
    border:0!important;
    overflow:hidden!important;
  }
  .metric-grid>div:nth-child(odd){
    padding-left:0!important;
    padding-right:18px!important;
    border-right:1px solid #ffffff35!important;
  }
  .metric-grid>div:nth-child(even){
    padding-left:18px!important;
    padding-right:0!important;
  }
  .metric-grid>div:nth-child(1),
  .metric-grid>div:nth-child(2){
    border-bottom:1px solid #ffffff35!important;
  }
  .metric-grid strong{
    position:static!important;
    transform:none!important;
    display:block!important;
    width:auto!important;
    margin:0 0 10px!important;
    padding:0!important;
    font-size:clamp(38px,10vw,48px)!important;
    line-height:.95!important;
    white-space:nowrap!important;
  }
  .metric-grid span{
    position:static!important;
    transform:none!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    font-size:12px!important;
    line-height:1.35!important;
  }
  .metrics::before,.metrics::after{
    pointer-events:none!important;
  }
}

/* V1.70 — clean metric typography + seamless visual transitions between main sections. */

/* Rebuild metrics without cross/grid lines. */
.metric-grid>div,
.metric-grid>div:nth-child(odd),
.metric-grid>div:nth-child(even),
.metric-grid>div:nth-child(1),
.metric-grid>div:nth-child(2){
  border:0!important;
}
.metric-grid>div{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
}
.metric-grid strong,
.metric-grid span{
  position:static!important;
  transform:none!important;
  left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  text-align:left!important;
}
.metric-grid strong{margin:0 0 10px!important}
.metric-grid span{margin:0!important}

/* Section blending: neighboring photographs/dark panels fade into one another. */
.metrics,
.services-accordion,
.about-bg,
.fleet-bg-section,
.values-bg,
.objects-section,
.contact-accordion-section{
  position:relative;
}
.metrics::after{
  background:linear-gradient(180deg,rgba(0,0,0,.12) 0%,rgba(0,0,0,.34) 52%,#101111 100%)!important;
}
.services-accordion::before{
  content:"";position:absolute;left:50%;top:-54px;width:100vw;height:56px;transform:translateX(-50%);
  pointer-events:none;background:linear-gradient(180deg,rgba(16,17,17,0),#101111 92%);z-index:2;
}
.services-accordion::after{
  left:50%!important;right:auto!important;width:100vw!important;transform:translateX(-50%)!important;
  height:118px!important;bottom:-58px!important;
  background:linear-gradient(180deg,#101111 0%,rgba(16,17,17,.94) 24%,rgba(16,17,17,.66) 53%,rgba(16,17,17,.22) 80%,rgba(16,17,17,0) 100%)!important;
}
.about-bg{z-index:1}
.about-bg::after,
.fleet-bg-section::after,
.values-bg::after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:96px;pointer-events:none;z-index:-1;
  background:linear-gradient(180deg,rgba(16,17,17,0),#101111);
}
.fleet-bg-section,
.values-bg{margin-top:-1px}
.objects-section::before{
  content:"";position:absolute;left:50%;top:-72px;width:100vw;height:74px;transform:translateX(-50%);
  pointer-events:none;background:linear-gradient(180deg,rgba(16,17,17,0),#101111 92%);z-index:-1;
}
.contact-accordion-section::before{
  content:"";position:absolute;left:0;right:0;top:-64px;height:66px;pointer-events:none;
  background:linear-gradient(180deg,rgba(16,17,17,0),#101111);
}

@media(max-width:760px){
  .metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:28px!important;
    row-gap:30px!important;
    padding:34px 0 36px!important;
  }
  .metric-grid>div,
  .metric-grid>div:nth-child(odd),
  .metric-grid>div:nth-child(even){
    min-height:118px!important;
    padding:0!important;
    border:0!important;
  }
  .metric-grid strong{
    font-size:clamp(38px,10vw,48px)!important;
    line-height:.95!important;
    letter-spacing:-1.4px!important;
    white-space:nowrap!important;
  }
  .metric-grid span{
    width:100%!important;
    font-size:12px!important;
    line-height:1.38!important;
  }
  .services-accordion::after{height:88px!important;bottom:-44px!important}
  .about-bg::after,.fleet-bg-section::after,.values-bg::after{height:70px}
}

/* V1.71: compact About preview with expandable full story. */
.about-more-content{
  display:grid;
  grid-template-rows:0fr;
  opacity:0;
  transition:grid-template-rows .42s cubic-bezier(.22,.7,.2,1),opacity .28s ease,margin .42s ease;
  margin-top:0;
}
.about-more-content>*{overflow:hidden}
.about-copy.is-expanded .about-more-content{grid-template-rows:1fr;opacity:1;margin-top:2px}
.about-read-more{
  margin-top:18px;min-height:48px;padding:11px 20px;border-radius:999px;
  border:1px solid rgba(244,119,8,.48);background:rgba(16,17,17,.42);color:#fff;
  display:inline-flex;align-items:center;gap:16px;font-weight:800;
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  transition:.2s ease;
}
.about-read-more:hover,.about-read-more:active{background:rgba(244,119,8,.18);border-color:#f47708;color:#ff9b45}
.about-read-more b{font-size:22px;line-height:1;font-weight:400;transition:transform .3s ease}
.about-copy.is-expanded .about-read-more b{transform:rotate(45deg)}
@media(max-width:760px){
  .about-read-more{width:100%;justify-content:space-between;margin-top:14px}
}

/* V1.72: shorter About preview; section and text expand together. */
#company.about-bg{
  min-height:0!important;
  transition:min-height .42s cubic-bezier(.22,.7,.2,1),padding .42s cubic-bezier(.22,.7,.2,1)!important;
}
#company.about-bg.section{padding-top:58px!important;padding-bottom:58px!important}
#company .about-grid{align-items:start!important}
#company .about-copy .lead{margin-bottom:0!important}
#company .about-read-more{margin-top:22px!important}
#company .about-more-content{
  overflow:hidden!important;
  max-height:0!important;
  display:block!important;
  opacity:0!important;
  margin-top:0!important;
  transition:max-height .62s cubic-bezier(.22,.7,.2,1),opacity .3s ease,margin-top .42s ease!important;
}
#company .about-copy.is-expanded .about-more-content{
  max-height:1400px!important;
  opacity:1!important;
  margin-top:22px!important;
}
#company .about-more-content p:last-child{margin-bottom:0}
@media(max-width:760px){
  #company.about-bg.section{padding-top:44px!important;padding-bottom:44px!important}
  #company .about-grid{gap:14px!important}
  #company .about-read-more{margin-top:18px!important}
  #company .about-copy.is-expanded .about-more-content{margin-top:18px!important}
}

/* V3.0 — homepage feature sections behave as large tactile 3D navigation surfaces. */
.home-feature-link{cursor:pointer;isolation:isolate;transition:transform .34s cubic-bezier(.2,.7,.2,1),filter .34s ease,box-shadow .34s ease;transform-origin:center center}
.home-feature-link::after{transition:opacity .34s ease!important}
.home-feature-link .container{transition:transform .34s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover) and (pointer:fine){
  .home-feature-link:hover{transform:perspective(1200px) translateY(-5px) scale(.992);filter:brightness(1.08);box-shadow:0 28px 70px #0009;z-index:5}
  .home-feature-link:hover .container{transform:translateY(-2px)}
}
.home-feature-link:active{transform:perspective(1200px) translateY(1px) scale(.986);filter:brightness(1.12)}
.home-feature-link:focus-visible{outline:2px solid #f47708;outline-offset:-4px}
.feature-link-hint{display:inline-flex;align-items:center;gap:14px;margin-top:22px;font-weight:800;color:#fff}
.feature-link-hint b{font-size:22px;color:#f47708;transition:transform .25s ease}
.home-feature-link:hover .feature-link-hint b{transform:translateX(7px)}
.fleet-preview-facts{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;font-size:13px;font-weight:800;color:#f0f1ef}
.fleet-preview-facts span{padding:8px 0;border-bottom:1px solid #f4770870}
#company.about-bg.section,#equipment.fleet-bg-section.section{min-height:520px!important;display:flex;align-items:center;padding-top:64px!important;padding-bottom:64px!important}

/* V3.0 detail pages */
.detail-v3-page{background:#101111}
.detail-v3-hero{min-height:56svh;display:flex;align-items:flex-end;padding:130px 0 58px;position:relative;isolation:isolate;background-size:cover;background-position:center}
.detail-v3-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0003,#0008 72%,#101111)}
.detail-company-hero{background-image:url('/assets/images/about-30-years-v68.webp')}
.detail-fleet-hero{background-image:url('/assets/images/fleet-arocs.webp')}
.detail-v3-hero h1{margin:0}
.detail-v3-body{padding:72px 0 100px}
.detail-v3-copy{max-width:900px}
.detail-v3-copy p{font-size:18px;line-height:1.75;color:#c8cdca;margin:0 0 28px}
.detail-v3-copy .lead{font-size:25px;line-height:1.5;color:#f1f3f1}
.detail-v3-copy h2{font-size:30px;margin:54px 0 18px}
.detail-v3-final{font-size:22px!important;color:#fff!important;font-weight:800;border-left:3px solid #f47708;padding-left:22px}
@media(max-width:760px){
  #company.about-bg.section,#equipment.fleet-bg-section.section{min-height:430px!important;padding-top:46px!important;padding-bottom:46px!important}
  .home-feature-link:active{transform:scale(.985)}
  .fleet-preview-facts{gap:7px 14px;font-size:12px}
  .detail-v3-hero{min-height:50svh;padding:110px 0 42px}
  .detail-v3-body{padding:46px 0 72px}
  .detail-v3-copy p{font-size:16px;line-height:1.65}
  .detail-v3-copy .lead{font-size:20px}
  .detail-v3-copy h2{font-size:25px;margin-top:38px}
}

/* V3.1 — experience material moved from homepage to relevant service pages. */
.migrated-experience{margin:54px 0 34px;padding-top:38px;border-top:1px solid #ffffff24}
.migrated-experience h2{font-size:30px;margin-bottom:26px}
.migrated-experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.migrated-experience-grid article{padding:24px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid #ffffff14}
.migrated-experience-grid h3{margin:0 0 12px;font-size:20px}
.migrated-experience-grid p{margin:0!important;font-size:15px!important;line-height:1.6!important}
@media(max-width:760px){.migrated-experience{margin-top:38px;padding-top:28px}.migrated-experience-grid{grid-template-columns:1fr}.migrated-experience h2{font-size:25px}}

/* V3.2 — principles moved from homepage into relevant detail pages. */
.detail-principles,.waste-responsibility{margin:52px 0 38px;padding-top:34px;border-top:1px solid #ffffff24}
.detail-principles h2,.waste-responsibility h2{font-size:30px;margin:0 0 20px}
.detail-principles p,.waste-responsibility p{font-size:17px;line-height:1.7;color:#c8cdca}
@media(max-width:760px){.detail-principles,.waste-responsibility{margin-top:38px;padding-top:26px}.detail-principles h2,.waste-responsibility h2{font-size:25px}}

/* V3.3 — one enlarged photographic field spanning metrics + services intro. */
.metrics{overflow:visible!important}
#services{
  position:relative!important;
  isolation:isolate!important;
  background:transparent!important;
}
#services::before{
  content:""!important;
  position:absolute!important;
  z-index:-3!important;
  pointer-events:none!important;
  left:50%!important;
  top:-430px!important;
  width:100vw!important;
  height:calc(430px + 100%)!important;
  transform:translateX(-50%)!important;
  background:url('../images/objects/IMG_0817.webp') 58% center/cover no-repeat!important;
}
#services::after{
  content:""!important;
  position:absolute!important;
  z-index:-2!important;
  pointer-events:none!important;
  left:50%!important;
  top:-430px!important;
  width:100vw!important;
  height:calc(430px + 100%)!important;
  transform:translateX(-50%)!important;
  background:linear-gradient(180deg,rgba(0,0,0,.28) 0%,rgba(0,0,0,.46) 30%,rgba(16,17,17,.82) 55%,#101111 76%,#101111 100%)!important;
}
.metrics::before{
  background-position:58% center!important;
  transform:scale(1.04)!important;
}
.metrics::after{
  background:linear-gradient(180deg,rgba(0,0,0,.14) 0%,rgba(0,0,0,.30) 58%,rgba(0,0,0,.46) 100%)!important;
}

@media(max-width:760px){
  .metrics{min-height:520px!important}
  .metrics::before{background-position:58% center!important;transform:scale(1.03)!important}
  #services{padding-top:82px!important}
  #services::before{
    top:-520px!important;
    height:calc(520px + 100%)!important;
    background-position:58% top!important;
    background-size:auto 760px!important;
    background-repeat:no-repeat!important;
    background-color:#101111!important;
  }
  #services::after{
    top:-520px!important;
    height:calc(520px + 100%)!important;
    background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.32) 34%,rgba(16,17,17,.70) 58%,#101111 78%,#101111 100%)!important;
  }
}

/* V3.4 — services moved below fleet; reset obsolete metrics->services shared background. */
.metrics{overflow:hidden!important}
#services{background:#101111!important;isolation:isolate!important}
#services::before{
  content:""!important;position:absolute!important;left:50%!important;top:-70px!important;
  width:100vw!important;height:72px!important;transform:translateX(-50%)!important;
  background:linear-gradient(180deg,rgba(16,17,17,0),#101111 94%)!important;z-index:-1!important;
}
#services::after{
  content:""!important;position:absolute!important;left:50%!important;bottom:-56px!important;top:auto!important;
  width:100vw!important;height:58px!important;transform:translateX(-50%)!important;
  background:linear-gradient(180deg,#101111,rgba(16,17,17,0))!important;z-index:1!important;pointer-events:none!important;
}
@media(max-width:760px){
  .metrics{min-height:520px!important}
  #services{padding-top:58px!important}
  #services::before{top:-54px!important;height:56px!important}
  #services::after{bottom:-44px!important;height:46px!important}
}

/* V3.5 — metrics + directions intro are one photographic composition. */
.metrics{
  min-height:760px!important;
  align-items:stretch!important;
  padding:0!important;
}
.metrics-combined{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  min-height:760px!important;
  padding-top:110px!important;
  padding-bottom:72px!important;
}
.metrics .metric-grid{
  width:100%!important;
  padding:0!important;
}
.metrics-directions{
  max-width:820px;
  margin-top:84px;
}
.metrics-directions .eyebrow{margin-bottom:20px;color:#e4e6e4}
.metrics-directions h2{
  font-size:clamp(38px,4.2vw,62px);
  line-height:1.08;
  margin:0 0 26px;
  color:#fff;
  text-shadow:0 2px 20px #000;
}
.metrics-directions>p:last-child{
  max-width:760px;margin:0;font-size:18px;line-height:1.65;color:#e1e3e1;text-shadow:0 2px 14px #000;
}
.metrics::before{background-position:58% center!important;transform:scale(1.03)!important}
.metrics::after{
  background:linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.26) 34%,rgba(0,0,0,.48) 65%,#101111 100%)!important;
}

/* Seamless joins between photographic homepage sections. */
.metrics{margin-bottom:-1px!important}
#company{margin-top:-1px!important}
#company::before{transition:filter .34s ease!important}
#company .about-bg-shade{
  background:linear-gradient(180deg,#101111 0%,rgba(0,0,0,.58) 16%,rgba(0,0,0,.48) 78%,#101111 100%)!important;
}
#equipment .fleet-bg-shade{
  background:linear-gradient(180deg,#101111 0%,rgba(0,0,0,.52) 15%,rgba(0,0,0,.52) 80%,#101111 100%)!important;
}
#services{margin-top:-1px!important;padding-top:52px!important}
#services::before{top:-86px!important;height:88px!important;background:linear-gradient(180deg,rgba(16,17,17,0),#101111 92%)!important}

@media(max-width:760px){
  .metrics{min-height:920px!important}
  .metrics-combined{
    min-height:920px!important;
    width:calc(100% - 72px)!important;
    padding-top:92px!important;
    padding-bottom:72px!important;
  }
  .metrics .metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:24px!important;
    row-gap:38px!important;
  }
  .metrics .metric-grid>div{min-height:118px!important}
  .metrics-directions{margin-top:76px!important}
  .metrics-directions h2{font-size:clamp(34px,9.2vw,48px)!important;line-height:1.1!important;margin-bottom:24px!important}
  .metrics-directions>p:last-child{font-size:16px!important;line-height:1.62!important}
  .metrics::before{background-position:58% center!important;transform:scale(1.02)!important}
  .metrics::after{background:linear-gradient(180deg,rgba(0,0,0,.14) 0%,rgba(0,0,0,.25) 38%,rgba(0,0,0,.56) 70%,#101111 100%)!important}
  #company .about-bg-shade{background:linear-gradient(180deg,#101111 0%,rgba(0,0,0,.54) 15%,rgba(0,0,0,.50) 82%,#101111 100%)!important}
  #equipment .fleet-bg-shade{background:linear-gradient(180deg,#101111 0%,rgba(0,0,0,.50) 15%,rgba(0,0,0,.54) 82%,#101111 100%)!important}
  #services{padding-top:46px!important}
}

/* V3.6 — About and metrics/directions swapped; smooth the new joins. */
.hero + #company{margin-top:-1px!important}
#company{z-index:2!important}
#company .about-bg-shade{
  background:linear-gradient(180deg,rgba(16,17,17,.94) 0%,rgba(0,0,0,.48) 18%,rgba(0,0,0,.46) 82%,#101111 100%)!important;
}
#company + .metrics{margin-top:-1px!important}
#company + .metrics::after{
  background:linear-gradient(180deg,#101111 0%,rgba(0,0,0,.30) 13%,rgba(0,0,0,.28) 52%,rgba(0,0,0,.54) 76%,#101111 100%)!important;
}
.metrics + #equipment{margin-top:-1px!important}
@media(max-width:760px){
  #company .about-bg-shade{background:linear-gradient(180deg,rgba(16,17,17,.92) 0%,rgba(0,0,0,.48) 16%,rgba(0,0,0,.48) 84%,#101111 100%)!important}
  #company + .metrics::after{background:linear-gradient(180deg,#101111 0%,rgba(0,0,0,.25) 12%,rgba(0,0,0,.30) 55%,rgba(0,0,0,.58) 78%,#101111 100%)!important}
}

/* V3.7 — Contacts is the final row of the Services block. */
#services .contact-as-service{border-bottom:1px solid #ffffff28!important}
#services .contact-as-service>summary{
  display:grid!important;
  grid-template-columns:1fr 44px!important;
  align-items:center!important;
  gap:18px!important;
  min-height:92px!important;
  padding:20px 24px!important;
  border-radius:14px!important;
  transition:background .18s ease,color .18s ease,box-shadow .18s ease!important;
}
#services .contact-as-service>summary:hover{
  background:rgba(244,119,8,.12)!important;color:#ff9b45!important;box-shadow:inset 3px 0 0 #f47708!important;
}
#services .contact-as-service>summary:active{
  background:rgba(244,119,8,.20)!important;color:#ffad67!important;box-shadow:inset 3px 0 0 #ff8b2a!important;
}
#services .contact-as-service[open]>summary{
  background:rgba(244,119,8,.10)!important;color:#ff9b45!important;box-shadow:inset 3px 0 0 #f47708!important;
}
#services .contact-as-service .contact-accordion-body{padding:10px 24px 32px!important;max-width:760px}
#services .contact-as-service .contact-accordion-body p{font-size:16px;line-height:1.65;color:#cfd4d0}
@media(max-width:760px){
  #services .contact-as-service>summary{grid-template-columns:1fr 34px!important;min-height:78px!important;padding:16px 12px!important;gap:10px!important}
  #services .contact-as-service .contact-accordion-body{padding:8px 12px 26px!important}
  #services .contact-as-service .contact-accordion-body p{font-size:15px}
}

/* V3.8 — pull back the metrics/directions background; show substantially more of the source photo. */
.metrics::before{
  transform:scale(1)!important;
  background-position:center center!important;
  background-size:cover!important;
}
@media(max-width:760px){
  .metrics::before{
    transform:none!important;
    background-size:100% auto!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
    background-color:#101111!important;
  }
}

/* V3.9 — rebuilt hierarchical navigation. */
body>#navigation.menu-v3{
  padding:18px!important;
  gap:0!important;
  background:rgba(17,19,18,.88)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  backdrop-filter:blur(22px) saturate(1.15)!important;
  -webkit-backdrop-filter:blur(22px) saturate(1.15)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.42)!important;
}
body>#navigation.menu-v3.is-open{display:block!important}
.menu-v3-group{display:grid;grid-template-columns:1fr;gap:3px;padding:10px 0 13px;border-bottom:1px solid rgba(255,255,255,.10)}
.menu-v3-group:first-child{padding-top:2px}
.menu-v3-group:last-child{border-bottom:0;padding-bottom:2px}
.menu-v3-label{padding:8px 13px 6px;font-size:9px;font-weight:800;letter-spacing:.22em;color:#8e9690}
body>#navigation.menu-v3.is-open a{
  min-height:45px!important;padding:11px 13px!important;border-radius:12px!important;
  display:flex!important;align-items:center!important;font-size:15px!important;font-weight:750!important;
}
body>#navigation.menu-v3.is-open .menu-v3-child{
  min-height:39px!important;padding:8px 13px 8px 28px!important;font-size:13px!important;font-weight:600!important;color:#c7ccc8!important;
  position:relative;
}
.menu-v3-child::before{content:"";position:absolute;left:14px;width:5px;height:1px;background:#f47708}
body>#navigation.menu-v3.is-open a:hover,
body>#navigation.menu-v3.is-open a:focus-visible,
body>#navigation.menu-v3.is-open a.is-active{
  color:#ff9b45!important;background:rgba(244,119,8,.13)!important;box-shadow:inset 3px 0 0 #f47708!important;
}
.menu-v3-parent{color:#fff!important}
.menu-v3-calc{
  width:100%;min-height:48px;margin-top:7px;padding:11px 15px;border:1px solid #ffc47b;border-radius:999px;
  display:flex;align-items:center;justify-content:space-between;gap:15px;
  background:linear-gradient(155deg,#ffb653 0%,#ff8718 42%,#ec6100 100%);color:#171918;font-weight:850;
  transition:.18s ease;
}
.menu-v3-calc:hover,.menu-v3-calc:active{filter:brightness(1.08);transform:translateY(-1px)}
@media(min-width:761px){
  body>#navigation.menu-v3{width:min(390px,calc(100vw - 40px))!important}
}

/* V3.10 — dim + blur the page behind the open navigation. */
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:128;
  pointer-events:none;
  background:rgba(5,7,6,0);
  backdrop-filter:blur(0);
  -webkit-backdrop-filter:blur(0);
  opacity:0;
  transition:opacity .24s ease,background .24s ease,backdrop-filter .28s ease,-webkit-backdrop-filter .28s ease;
}
body.menu-open::after{
  opacity:1;
  background:rgba(5,7,6,.34);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
body.menu-open{overflow:hidden}
body>#navigation.menu-v3{z-index:140!important}
body>.global-menu-toggle{z-index:145!important}

/* V3.12 — no hero page; clean full-bleed feature sections; preserve prepared image geometry. */
#company{padding-top:max(92px,env(safe-area-inset-top))!important}

/* Remove the visual frame/card effect around Own Fleet while keeping it clickable. */
#equipment.home-feature-link{
  transform:none!important;
  box-shadow:none!important;
  outline:0!important;
  border:0!important;
  filter:none!important;
}
#equipment.home-feature-link:hover{
  transform:none!important;
  box-shadow:none!important;
  filter:brightness(1.045)!important;
}
#equipment.home-feature-link:active{transform:none!important;filter:brightness(1.075)!important}
#equipment.home-feature-link:focus-visible{outline:0!important}
#equipment .container{transform:none!important}

/* The prepared metrics image must not be zoomed/cropped again. */
.metrics{
  min-height:0!important;
  background:#101111!important;
}
.metrics::before{
  background-image:url('/assets/images/objects/IMG_0817.webp')!important;
  background-size:100% auto!important;
  background-position:center top!important;
  background-repeat:no-repeat!important;
  transform:none!important;
}
.metrics-combined{
  min-height:0!important;
  padding-top:clamp(70px,8vw,120px)!important;
  padding-bottom:72px!important;
}
@media(max-width:760px){
  #company{padding-top:max(82px,env(safe-area-inset-top))!important}
  .metrics::before{
    background-size:100% auto!important;
    background-position:center top!important;
    transform:none!important;
  }
  .metrics-combined{
    min-height:0!important;
    padding-top:70px!important;
    padding-bottom:62px!important;
  }
}

/* V3.13 — metrics/directions photo covers the entire combined section. */
.metrics{
  min-height:920px!important;
  position:relative!important;
  overflow:hidden!important;
  background:#101111!important;
}
.metrics::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background-image:url('../images/objects/IMG_0817.webp')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  transform:none!important;
}
.metrics::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.28) 38%,rgba(0,0,0,.55) 68%,rgba(16,17,17,.90) 100%)!important;
}
.metrics-combined{
  position:relative!important;
  z-index:1!important;
  min-height:920px!important;
  padding-top:100px!important;
  padding-bottom:76px!important;
}
@media(max-width:760px){
  .metrics{min-height:980px!important}
  .metrics::before{
    background-size:cover!important;
    background-position:center center!important;
  }
  .metrics::after{
    background:linear-gradient(180deg,rgba(0,0,0,.16) 0%,rgba(0,0,0,.26) 38%,rgba(0,0,0,.58) 68%,rgba(16,17,17,.94) 100%)!important;
  }
  .metrics-combined{
    min-height:980px!important;
    padding-top:78px!important;
    padding-bottom:66px!important;
  }
}

/* V3.14 — seamless photographic blend: Own Fleet -> Metrics/Directions. */
#equipment{
  position:relative!important;
  overflow:hidden!important;
  z-index:2!important;
}
#equipment::after{
  content:""!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:0!important;
  height:180px!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(16,17,17,0) 0%,rgba(16,17,17,.18) 24%,rgba(16,17,17,.62) 66%,#101111 100%)!important;
}
#equipment .fleet-bg-content{position:relative!important;z-index:1!important}
#equipment + .metrics{
  margin-top:-72px!important;
  padding-top:72px!important;
  z-index:1!important;
}
#equipment + .metrics::before{
  top:0!important;
}
#equipment + .metrics::after{
  background:linear-gradient(180deg,#101111 0%,rgba(16,17,17,.74) 4%,rgba(0,0,0,.30) 15%,rgba(0,0,0,.25) 50%,rgba(0,0,0,.58) 78%,#101111 100%)!important;
}
@media(max-width:760px){
  #equipment::after{
    height:150px!important;
    background:linear-gradient(180deg,rgba(16,17,17,0) 0%,rgba(16,17,17,.20) 25%,rgba(16,17,17,.66) 68%,#101111 100%)!important;
  }
  #equipment + .metrics{
    margin-top:-62px!important;
    padding-top:62px!important;
  }
  #equipment + .metrics::after{
    background:linear-gradient(180deg,#101111 0%,rgba(16,17,17,.76) 4%,rgba(0,0,0,.28) 15%,rgba(0,0,0,.28) 50%,rgba(0,0,0,.62) 80%,#101111 100%)!important;
  }
}

/* V3.15 — real top-to-bottom dissipating fade between Fleet and Metrics. */
#equipment{
  margin-bottom:0!important;
  -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.96) 77%,rgba(0,0,0,.78) 84%,rgba(0,0,0,.46) 91%,rgba(0,0,0,.16) 97%,transparent 100%)!important;
  mask-image:linear-gradient(to bottom,#000 0%,#000 72%,rgba(0,0,0,.96) 77%,rgba(0,0,0,.78) 84%,rgba(0,0,0,.46) 91%,rgba(0,0,0,.16) 97%,transparent 100%)!important;
}
#equipment::after{
  height:240px!important;
  background:linear-gradient(to bottom,rgba(16,17,17,0) 0%,rgba(16,17,17,.08) 22%,rgba(16,17,17,.28) 48%,rgba(16,17,17,.62) 73%,#101111 100%)!important;
}
#equipment + .metrics{
  margin-top:-150px!important;
  padding-top:150px!important;
}
#equipment + .metrics::after{
  background:linear-gradient(to bottom,rgba(16,17,17,.96) 0%,rgba(16,17,17,.78) 7%,rgba(0,0,0,.46) 15%,rgba(0,0,0,.27) 26%,rgba(0,0,0,.25) 52%,rgba(0,0,0,.58) 79%,#101111 100%)!important;
}
@media(max-width:760px){
  #equipment{
    -webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.96) 74%,rgba(0,0,0,.76) 82%,rgba(0,0,0,.43) 90%,rgba(0,0,0,.14) 97%,transparent 100%)!important;
    mask-image:linear-gradient(to bottom,#000 0%,#000 68%,rgba(0,0,0,.96) 74%,rgba(0,0,0,.76) 82%,rgba(0,0,0,.43) 90%,rgba(0,0,0,.14) 97%,transparent 100%)!important;
  }
  #equipment::after{height:210px!important}
  #equipment + .metrics{margin-top:-132px!important;padding-top:132px!important}
}

/* V3.17 — global navigation available on every internal page. */
.menu-v3-calc-link{
  width:100%!important;min-height:48px!important;margin-top:7px!important;padding:11px 15px!important;
  border:1px solid #ffc47b!important;border-radius:999px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:15px!important;
  background:linear-gradient(155deg,#ffb653 0%,#ff8718 42%,#ec6100 100%)!important;
  color:#171918!important;font-weight:850!important;
}
.detail-v3-page>.global-menu-toggle,
body:not(:has(.media-loader))>.global-menu-toggle{visibility:visible!important;opacity:1!important;pointer-events:auto!important}

/* V3.18 — internal pages: Back only; Home lives in the global menu. */
.subpage-nav{justify-content:flex-start!important}
.subpage-history-back{margin-right:0!important}
/* V3.22 — internal pages use global menu only; legacy Back control removed. */
.subpage-header:has(.subpage-nav:empty){display:none!important}

/* V3.23 — direct service navigation + dedicated waste/soil hub. */
#services .service-direct-link{display:grid;grid-template-columns:1fr 44px;align-items:center;gap:18px;min-height:92px;padding:20px 24px;border-top:1px solid #ffffff20;border-radius:14px;transition:.18s ease}
#services .service-direct-link:hover,#services .service-direct-link:focus-visible{background:rgba(244,119,8,.12);color:#ff9b45;box-shadow:inset 3px 0 0 #f47708}
#services .service-direct-link:active{background:rgba(244,119,8,.20);transform:translateY(1px)}
.waste-hub-hero{min-height:62svh;padding:130px 0 64px;display:flex;align-items:flex-end;position:relative;isolation:isolate;background:url('/assets/images/objects/waste-hauling.webp') center/cover no-repeat}
.waste-hub-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0002,#0008 66%,#101111)}
.waste-hub-hero h1{margin:0 0 24px}.waste-hub-hero>div>p:last-child{max-width:760px;font-size:19px;line-height:1.6;color:#e4e7e4}
.waste-hub-body{padding:70px 0 100px}.waste-hub-intro{max-width:940px}.waste-hub-intro p{font-size:18px;line-height:1.75;color:#c8cdca}.waste-hub-intro .lead{font-size:24px;color:#fff}
.waste-types-label{margin-top:64px}.waste-type-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.waste-type-grid>a{min-height:210px;padding:28px;border:1px solid #ffffff18;border-radius:18px;background:#171918;transition:.2s ease}
.waste-type-grid>a:hover{background:#1d211e;border-color:#f4770870;transform:translateY(-3px)}
.waste-type-grid>a>span{font-size:11px;color:#f47708}.waste-type-grid h2{font-size:27px;margin:18px 0 10px}.waste-type-grid p{color:#bcc2bd;line-height:1.55}.waste-type-grid b{display:block;margin-top:22px;color:#ff8d34}
@media(max-width:760px){#services .service-direct-link{grid-template-columns:1fr 34px;min-height:78px;padding:16px 12px}.waste-hub-hero{min-height:56svh;padding:110px 0 44px}.waste-hub-body{padding:46px 0 72px}.waste-hub-intro p{font-size:16px}.waste-hub-intro .lead{font-size:20px}.waste-type-grid{grid-template-columns:1fr}.waste-type-grid>a{min-height:180px;padding:22px}}

/* V3.25 — calmer menu motion + independently scrollable menu on small screens. */
body>#navigation.menu-v3{
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-y!important;
  max-height:calc(100dvh - 94px)!important;
  padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
  scrollbar-width:thin;
}
body>#navigation.menu-v3.is-open{
  animation:menuV325In .30s cubic-bezier(.2,.72,.2,1) both!important;
  transform-origin:top right!important;
}
@keyframes menuV325In{
  from{opacity:0;transform:translateY(-10px) scale(.975)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
body>#navigation.menu-v3.is-open a,
body>#navigation.menu-v3.is-open button{
  transition:background .26s ease,border-color .26s ease,box-shadow .26s ease,color .26s ease,transform .20s ease!important;
}
body>#navigation.menu-v3.is-open a:active,
body>#navigation.menu-v3.is-open button:active{transform:scale(.975)!important}
@media(max-width:760px){
  body>#navigation.menu-v3{
    top:70px!important;
    bottom:10px!important;
    max-height:none!important;
    padding-bottom:max(22px,env(safe-area-inset-bottom))!important;
  }
}

/* V3.27 — compact, aligned metrics + controlled background composition. */
.metrics{
  min-height:780px!important;
}
.metrics::before{
  background-image:url('../images/objects/IMG_0817.webp')!important;
  background-size:cover!important;
  background-position:56% 48%!important;
  transform:none!important;
}
.metrics::after{
  background:linear-gradient(180deg,rgba(0,0,0,.20) 0%,rgba(0,0,0,.25) 42%,rgba(0,0,0,.46) 68%,#101111 100%)!important;
}
.metrics-combined{
  min-height:780px!important;
  justify-content:flex-start!important;
  padding-top:76px!important;
  padding-bottom:58px!important;
}
.metrics .metric-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-template-rows:repeat(2,116px)!important;
  column-gap:46px!important;
  row-gap:24px!important;
  align-items:start!important;
}
.metrics .metric-grid>div{
  min-height:0!important;
  height:116px!important;
  padding:0!important;
  display:grid!important;
  grid-template-rows:58px auto!important;
  align-content:start!important;
}
.metrics .metric-grid strong{
  margin:0!important;
  font-size:48px!important;
  line-height:1!important;
  letter-spacing:-1.5px!important;
  align-self:start!important;
}
.metrics .metric-grid span{
  margin:6px 0 0!important;
  max-width:260px!important;
  font-size:14px!important;
  line-height:1.35!important;
}
.metrics-directions{
  margin-top:46px!important;
  max-width:760px!important;
}
.metrics-directions .eyebrow{margin-bottom:14px!important}
.metrics-directions h2{
  margin:0 0 18px!important;
  font-size:clamp(36px,4vw,54px)!important;
  line-height:1.06!important;
}
.metrics-directions>p:last-child{
  font-size:17px!important;
  line-height:1.5!important;
  max-width:700px!important;
}

@media(max-width:760px){
  .metrics{min-height:760px!important}
  .metrics::before{
    background-size:cover!important;
    background-position:58% center!important;
  }
  .metrics-combined{
    width:calc(100% - 72px)!important;
    min-height:760px!important;
    padding-top:58px!important;
    padding-bottom:50px!important;
  }
  .metrics .metric-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-template-rows:repeat(2,106px)!important;
    column-gap:30px!important;
    row-gap:22px!important;
  }
  .metrics .metric-grid>div{
    height:106px!important;
    grid-template-rows:52px auto!important;
  }
  .metrics .metric-grid strong{
    font-size:42px!important;
    line-height:1!important;
  }
  .metrics .metric-grid span{
    margin-top:4px!important;
    font-size:12px!important;
    line-height:1.32!important;
  }
  .metrics-directions{margin-top:38px!important}
  .metrics-directions .eyebrow{margin-bottom:12px!important}
  .metrics-directions h2{
    font-size:clamp(32px,8.8vw,42px)!important;
    line-height:1.05!important;
    margin-bottom:16px!important;
  }
  .metrics-directions>p:last-child{
    font-size:15px!important;
    line-height:1.48!important;
  }
}

/* V3.28 — improve readability inside expanded service photos without hiding the image. */
#services .service-panel{position:relative!important;isolation:isolate!important}
#services .service-panel-shade{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  pointer-events:none!important;
  background:
    linear-gradient(90deg,rgba(5,7,6,.74) 0%,rgba(5,7,6,.62) 44%,rgba(5,7,6,.30) 74%,rgba(5,7,6,.12) 100%),
    linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.26))!important;
}
#services .service-panel-content{position:relative!important;z-index:1!important}
#services .service-panel-content>p{
  max-width:760px!important;
  font-weight:500!important;
  color:#f4f5f3!important;
  text-shadow:0 2px 12px rgba(0,0,0,.72),0 1px 2px rgba(0,0,0,.85)!important;
}
@media(max-width:760px){
  #services .service-panel-shade{
    background:
      linear-gradient(90deg,rgba(5,7,6,.76) 0%,rgba(5,7,6,.64) 58%,rgba(5,7,6,.30) 100%),
      linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.30))!important;
  }
  #services .service-panel-content{padding-left:24px!important;padding-right:24px!important}
  #services .service-panel-content>p{
    max-width:31ch!important;
    font-size:16px!important;
    line-height:1.62!important;
    font-weight:520!important;
  }
}

/* V3.30 — restore tactile 3D interaction for Own Fleet without bringing back a visible frame. */
#equipment.home-feature-link{
  transform:perspective(1200px) translateZ(0)!important;
  transform-origin:center center!important;
  transition:transform .34s cubic-bezier(.2,.72,.2,1),filter .30s ease,box-shadow .34s ease!important;
  will-change:transform,filter!important;
}
@media(hover:hover) and (pointer:fine){
  #equipment.home-feature-link:hover{
    transform:perspective(1200px) translateY(-7px) scale(.992)!important;
    filter:brightness(1.10) saturate(1.04)!important;
    box-shadow:0 28px 60px rgba(0,0,0,.40)!important;
    z-index:5!important;
  }
  #equipment.home-feature-link:hover .feature-link-hint b{transform:translateX(8px)!important}
}
#equipment.home-feature-link:active{
  transform:perspective(1200px) translateY(2px) scale(.982)!important;
  filter:brightness(1.13) saturate(1.05)!important;
  box-shadow:0 12px 28px rgba(0,0,0,.34)!important;
}
#equipment.home-feature-link:focus-visible{
  outline:2px solid rgba(244,119,8,.85)!important;
  outline-offset:-3px!important;
}
@media(max-width:760px){
  #equipment.home-feature-link{transition:transform .24s ease,filter .24s ease!important}
  #equipment.home-feature-link:active{
    transform:perspective(900px) scale(.975)!important;
    filter:brightness(1.14) saturate(1.05)!important;
  }
}

/* V3.33 — direct contact only; website does not collect contact-form data. */
.direct-contact-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.direct-contact-actions a{min-height:48px;padding:13px 18px;border:1px solid rgba(244,119,8,.58);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:rgba(25,27,26,.76);color:#fff;font-weight:800;transition:.2s ease}
.direct-contact-actions a:hover,.direct-contact-actions a:active{background:#f47708;color:#111;border-color:#ffad67;transform:translateY(-1px)}
.direct-contact-actions .direct-contact-call{background:linear-gradient(155deg,#ffb653,#ff8718 45%,#ec6100);color:#151716;border-color:#ffc47b}
@media(max-width:760px){.direct-contact-actions{display:grid;grid-template-columns:1fr 1fr}.direct-contact-actions a{width:100%;padding:12px 10px}}

/* V3.34 — contact block sits at the bottom, immediately before Other directions. */
.service-contact-before-directions{
  grid-column:1 / -1;
  order:8;
  margin-top:34px;
}
.service-contact-before-directions + .service-page-aside{
  grid-column:1 / -1!important;
  order:9;
  margin-top:0!important;
}
.service-contact-before-directions .service-cta{margin:0!important}
@media(max-width:760px){
  .service-contact-before-directions{margin-top:26px}
}

/* V3.35 bottom contact */
.page-bottom-contact{padding:54px 0 64px;background:#101111;border-top:1px solid rgba(255,255,255,.10)}
.page-bottom-contact .service-cta{margin:0!important;max-width:none!important}
@media(max-width:760px){.page-bottom-contact{padding:38px 0 48px}}

/* V3.40 — semantic SEO heading, visually unobtrusive within existing composition. */
.seo-main-h1{font-size:12px!important;line-height:1.2!important;letter-spacing:2px!important;margin:0 0 14px!important;color:#c7c9c8!important;text-transform:uppercase!important;font-weight:700!important;max-width:760px!important}
.waste-hub-slogan{margin:-8px 0 22px!important;font-size:20px!important;font-weight:800!important;color:#f47708!important}

/* V3.42 — useful semantic service content; same visual language as detail pages. */
.seo-service-content{margin:50px 0 38px;padding-top:34px;border-top:1px solid rgba(255,255,255,.12)}
.seo-service-content h2{font-size:30px;line-height:1.15;margin:38px 0 16px}
.seo-service-content h2:first-child{margin-top:0}
.seo-service-content p{font-size:17px;line-height:1.7;color:#c8cdca;margin:0 0 18px}
@media(max-width:760px){.seo-service-content{margin:38px 0 28px;padding-top:28px}.seo-service-content h2{font-size:25px;margin-top:32px}.seo-service-content p{font-size:16px;line-height:1.65}}

/* V3.44 — privacy page + restrained cookie consent. */
.privacy-page{padding:120px 0 90px;background:#101111;min-height:100svh}
.privacy-copy{max-width:900px}.privacy-copy h1{font-size:clamp(38px,6vw,68px);line-height:1.03;margin:14px 0 28px}.privacy-copy h2{font-size:25px;margin:42px 0 14px}.privacy-copy p{font-size:16px;line-height:1.75;color:#c9ceca}.privacy-note{padding:18px 20px;border:1px solid #f4770845;border-radius:14px;background:#f477080c}.privacy-updated{margin-top:48px!important;color:#8f9791!important}.footer-privacy-link{font-size:12px;color:#aeb4af;text-decoration:underline;text-underline-offset:3px}
.cookie-consent{position:fixed;z-index:2147483000;left:18px;right:18px;bottom:max(18px,env(safe-area-inset-bottom));max-width:680px;margin:auto;padding:18px;border:1px solid #ffffff22;border-radius:18px;background:rgba(18,20,19,.96);box-shadow:0 18px 55px #0009;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);color:#fff}
.cookie-consent[hidden]{display:none!important}.cookie-consent p{margin:0 0 14px;font-size:14px;line-height:1.5;color:#d6dad7}.cookie-consent p a{text-decoration:underline;color:#fff}.cookie-actions{display:flex;gap:9px;flex-wrap:wrap}.cookie-actions button{min-height:42px;padding:10px 15px;border-radius:999px;border:1px solid #ffffff30;background:#292c2a;color:#fff;font-weight:800}.cookie-actions .cookie-accept{background:#f47708;border-color:#ff9d49;color:#111}
@media(max-width:760px){.privacy-page{padding:100px 0 70px}.privacy-copy h2{font-size:22px}.cookie-consent{left:12px;right:12px;padding:15px}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{width:100%}}

/* V3.45 — compact cookie controls. */
.cookie-consent{max-width:610px!important;padding:14px 16px!important}
.cookie-consent p{margin-bottom:10px!important;font-size:13px!important;line-height:1.42!important}
.cookie-actions{display:flex!important;gap:7px!important;justify-content:flex-end!important}
.cookie-actions button{
  width:auto!important;
  min-height:34px!important;
  padding:7px 12px!important;
  font-size:12px!important;
  line-height:1!important;
  flex:0 0 auto!important;
}
@media(max-width:760px){
  .cookie-consent{padding:13px 14px!important}
  .cookie-actions{display:flex!important;justify-content:flex-start!important;flex-wrap:wrap!important}
  .cookie-actions button{width:auto!important;min-height:34px!important;padding:7px 11px!important;font-size:11px!important}
}

/* V3.46 — conventional compact cookie notice. */
.cookie-title{display:block;margin:0 0 6px;font-size:14px;line-height:1.25;color:#fff}
.cookie-consent p{margin:0 0 11px!important}

/* V3.47 — full-width clickable home sections must not show a giant focus frame. */
#company.home-feature-link:focus,
#company.home-feature-link:focus-visible{
  outline:0!important;
  outline-offset:0!important;
  box-shadow:none!important;
}

/* V3.50 — desktop composition pass. Mobile <=760px remains untouched. */
@media (min-width: 1024px){
  /* Keep the visual rhythm compact on notebooks and desktop displays. */
  .container{max-width:1180px!important;width:calc(100% - 96px)!important}

  #company.about-bg.section,
  #equipment.fleet-bg-section.section{
    min-height:clamp(500px,62vh,650px)!important;
    padding-top:58px!important;
    padding-bottom:58px!important;
  }

  #equipment.fleet-bg-section::before{
    background-position:62% 48%!important;
    transform:scale(1.03)!important;
  }
  #equipment .fleet-overlay,
  #equipment .container{max-width:1180px!important}
  #equipment .fleet-copy{max-width:650px!important}
  #equipment .fleet-copy p{max-width:650px!important;line-height:1.58!important}

  /* Main services: readable measure instead of full-screen text lines. */
  #services .services-head,
  #services .services-intro{max-width:820px!important}
  #services .service-panel-inner{max-width:1040px!important;margin-inline:auto!important}
  #services .service-panel p{max-width:760px!important;line-height:1.62!important}
  #services .service-accordion>summary,
  #services .service-direct-link{padding-left:30px!important;padding-right:30px!important}

  /* Metro expanded copy should read as a column, not a line across the display. */
  #services .service-accordion-metro .service-panel-inner,
  #services .service-accordion-metro .service-panel-content{max-width:920px!important}
  #services .service-accordion-metro p{max-width:760px!important}

  /* Detail pages: sane text measure and hero heights on desktop. */
  .service-hero-page{min-height:clamp(520px,68vh,720px)!important}
  .service-hero-page .container{max-width:1120px!important}
  .service-hero-page p{max-width:760px!important}
  .detail-company-hero{min-height:clamp(520px,68vh,720px)!important}

  /* Waste hub: correct dedicated hauling background and controlled composition. */
  .waste-hub-hero{
    min-height:clamp(520px,68vh,700px)!important;
    background-image:url('/assets/images/objects/waste-hauling.webp')!important;
    background-position:center 48%!important;
  }
  .waste-hub-hero .container{max-width:1120px!important}
  .waste-hub-hero h1{max-width:900px!important;font-size:clamp(48px,5vw,72px)!important}
  .waste-hub-hero>div>p:last-child{max-width:720px!important}
  .waste-hub-intro{max-width:820px!important}
  .waste-type-grid{max-width:1120px!important;margin-inline:auto!important}

  /* Detail text blocks stay comfortably readable. */
  .seo-service-content{max-width:900px!important}
  .privacy-copy{max-width:860px!important}
}

@media (min-width: 1440px){
  .container{max-width:1240px!important}
  #company.about-bg.section,
  #equipment.fleet-bg-section.section{min-height:620px!important}
  #equipment.fleet-bg-section::before{background-position:60% 48%!important}
}

/* V3.51 — hard desktop override based on actual Mac layout. */
@media (min-width: 761px){
  body{overflow-x:hidden}

  /* Own fleet: desktop must be a horizontal presentation, not a full-screen mobile crop. */
  #equipment.fleet-bg-section.section{
    min-height:500px!important;
    height:500px!important;
    padding:0!important;
    display:flex!important;
    align-items:center!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }
  #equipment.fleet-bg-section::before{
    inset:0!important;
    background-image:url('/assets/images/fleet-arocs.webp')!important;
    background-size:cover!important;
    background-position:center 53%!important;
    transform:none!important;
  }
  #equipment .fleet-bg-shade{
    background:linear-gradient(90deg,rgba(0,0,0,.80) 0%,rgba(0,0,0,.58) 42%,rgba(0,0,0,.16) 72%,rgba(0,0,0,.06) 100%)!important;
  }
  #equipment::after{
    height:90px!important;
    background:linear-gradient(180deg,transparent,#101111)!important;
  }
  #equipment .fleet-bg-content{
    width:calc(100% - 96px)!important;
    max-width:1180px!important;
    margin-inline:auto!important;
    padding:46px 0!important;
  }
  #equipment .fleet-bg-content h2{font-size:46px!important;line-height:1.04!important;max-width:620px!important;margin-bottom:22px!important}
  #equipment .section-lead{font-size:17px!important;line-height:1.55!important;max-width:650px!important}
  #equipment .fleet-preview-facts{max-width:720px!important}
  #equipment + .metrics{
    margin-top:0!important;
    padding-top:0!important;
  }

  /* Metrics + directions: compact desktop block. */
  #equipment + .metrics .metrics-combined{
    min-height:680px!important;
    padding-top:62px!important;
    padding-bottom:62px!important;
  }
  .metric-grid{max-width:920px!important}
  .metrics-directions{max-width:760px!important;margin-top:64px!important}
  .metrics-directions h2{font-size:46px!important;line-height:1.08!important}

  /* Services: desktop accordion stays within a readable centered column. */
  #services.services-accordion{
    width:calc(100% - 96px)!important;
    max-width:1180px!important;
    margin-inline:auto!important;
    padding-top:54px!important;
    padding-bottom:70px!important;
  }
  #services .service-accordion-list{max-width:1040px!important;margin-inline:auto!important}
  #services .service-accordion>summary,
  #services .service-direct-link{min-height:84px!important}
  #services .service-panel{min-height:0!important}
  #services .service-panel-content,
  #services .service-panel-inner{width:100%!important;max-width:900px!important;margin-inline:auto!important;padding-left:28px!important;padding-right:28px!important}
  #services .service-panel p{font-size:16px!important;line-height:1.62!important;max-width:720px!important}

  /* About/metro/detail text: don't span the full laptop width. */
  #company .about-grid{max-width:980px!important}
  #company .about-copy{max-width:720px!important}
}

/* Waste hub background must be a hauling image on every viewport. */
.waste-hub-hero{
  background-image:url('/assets/images/objects/waste-hauling.webp')!important;
  background-size:cover!important;
}
@media (min-width:761px){
  .waste-hub-hero{background-position:center 52%!important}
}

/* V3.55 — desktop homepage sections must participate in normal document flow.
   Fixes About/Fleet overlap seen in Safari on Mac. */
@media (min-width:761px){
  #company.about-bg.section,
  #equipment.fleet-bg-section.section{
    position:relative!important;
    display:block!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    transform:none!important;
    filter:none!important;
    overflow:hidden!important;
    isolation:isolate!important;
    -webkit-mask-image:none!important;
    mask-image:none!important;
  }

  #company.about-bg.section{
    padding:0!important;
  }
  #company .about-grid{
    min-height:560px!important;
    padding:82px 0!important;
    display:grid!important;
    align-items:center!important;
  }
  #company::before,
  #company .about-bg-shade{
    position:absolute!important;
    inset:0!important;
  }
  #company::after{
    height:70px!important;
    bottom:0!important;
  }

  #equipment.fleet-bg-section.section{
    padding:0!important;
  }
  #equipment .fleet-bg-content{
    min-height:520px!important;
    padding:72px 0 88px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }
  #equipment::before,
  #equipment .fleet-bg-shade{
    position:absolute!important;
    inset:0!important;
  }
  #equipment::after{
    height:80px!important;
    bottom:0!important;
  }

  /* Desktop hover must not geometrically move full-width sections. */
  #company.home-feature-link:hover,
  #equipment.home-feature-link:hover,
  #company.home-feature-link:active,
  #equipment.home-feature-link:active{
    transform:none!important;
  }

  /* No legacy negative overlaps around these two blocks. */
  #company + #equipment,
  #company + .metrics,
  #equipment + .metrics{
    margin-top:0!important;
  }
}

/* V3.56 — Mac/Safari desktop repair. Override legacy mobile-oriented layers. */
@media (min-width:761px){
  /* Three consecutive homepage sections are strictly separated in normal flow. */
  #company.about-bg.section{
    position:relative!important;
    z-index:1!important;
    box-sizing:border-box!important;
    min-height:600px!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  #company .about-grid{
    position:relative!important;
    min-height:600px!important;
    box-sizing:border-box!important;
    padding:90px 0!important;
    margin:0 auto!important;
  }

  #equipment.fleet-bg-section.section{
    position:relative!important;
    z-index:1!important;
    box-sizing:border-box!important;
    min-height:560px!important;
    height:auto!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
  }
  #equipment .fleet-bg-content{
    position:relative!important;
    min-height:560px!important;
    box-sizing:border-box!important;
    padding:78px 0 92px!important;
    margin:0 auto!important;
  }

  #equipment + .metrics{
    position:relative!important;
    z-index:1!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }
  #equipment + .metrics .metrics-combined{
    min-height:720px!important;
    box-sizing:border-box!important;
    padding:70px 0!important;
  }

  /* Never let pseudo fades paint outside their own section on desktop. */
  #company::after,#equipment::after{bottom:0!important;max-height:90px!important}
  #company + #equipment,#equipment + .metrics{margin-top:0!important}

  /* Excavation accordion: show the excavation, not mostly foreground sand. */
  #services .service-accordion-earth .service-panel::before{
    background-position:center 48%!important;
    transform:none!important;
  }
  #services .service-accordion-earth .service-panel-content{
    padding-top:54px!important;
    padding-bottom:54px!important;
  }

  /* Metro earthworks background: lift framing slightly on desktop. */
  #services .service-accordion-metro .service-panel::before{
    background-position:center 42%!important;
    transform:none!important;
  }
}

/* Mobile framing stays explicit and independent. */
@media (max-width:760px){
  #services .service-accordion-earth .service-panel::before{
    background-position:center 72%!important;
  }
  #services .service-accordion-metro .service-panel::before{
    background-position:center center!important;
  }
}

/* V3.59 — visual-only blend between About and Own Fleet.
   No geometry, image source, crop or section size changes. */
#company{position:relative!important}
#company::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;right:0!important;bottom:-1px!important;
  height:110px!important;
  z-index:3!important;
  pointer-events:none!important;
  background:linear-gradient(to bottom,
    rgba(16,17,17,0) 0%,
    rgba(16,17,17,.16) 28%,
    rgba(16,17,17,.48) 64%,
    rgba(16,17,17,.88) 100%)!important;
}
#equipment{position:relative!important}
#equipment::before{
  -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 5%,#000 14%,#000 100%)!important;
  mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.35) 5%,#000 14%,#000 100%)!important;
}
@media(max-width:760px){
  #company::after{height:82px!important}
  #equipment::before{
    -webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.42) 4%,#000 12%,#000 100%)!important;
    mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.42) 4%,#000 12%,#000 100%)!important;
  }
}

/* V3.60 — restore full-section tactile hover after V3.59 blend.
   Fade remains visual-only; interaction belongs to the whole section. */
@media(hover:hover) and (pointer:fine){
  #company.home-feature-link,
  #equipment.home-feature-link{
    cursor:pointer!important;
    transition:filter .28s ease,box-shadow .28s ease!important;
    transform:none!important;
  }
  #company.home-feature-link:hover,
  #equipment.home-feature-link:hover{
    transform:none!important;
    filter:brightness(1.10) saturate(1.035)!important;
    box-shadow:inset 0 0 0 1px rgba(244,119,8,.22),0 18px 46px rgba(0,0,0,.32)!important;
    z-index:6!important;
  }
  #company.home-feature-link:hover .container,
  #equipment.home-feature-link:hover .container{
    transform:none!important;
  }
  #company.home-feature-link:hover .feature-link-hint b,
  #equipment.home-feature-link:hover .feature-link-hint b{
    transform:translateX(8px)!important;
  }
}
#company.home-feature-link:active,
#equipment.home-feature-link:active{
  transform:none!important;
  filter:brightness(1.13)!important;
}
#company.home-feature-link:focus-visible,
#equipment.home-feature-link:focus-visible{
  outline:0!important;
}

/* V3.61 — slightly stronger full-section hover, no geometry changes. */
@media(hover:hover) and (pointer:fine){
  #company.home-feature-link:hover,
  #equipment.home-feature-link:hover{
    filter:brightness(1.17) saturate(1.08) contrast(1.035)!important;
    box-shadow:inset 0 0 0 1px rgba(244,119,8,.42),0 22px 54px rgba(0,0,0,.40)!important;
  }
}

/* V3.62 — keep strong hover but remove visible orange section boundary. */
@media(hover:hover) and (pointer:fine){
  #company.home-feature-link:hover,
  #equipment.home-feature-link:hover{
    box-shadow:0 22px 54px rgba(0,0,0,.40)!important;
    outline:0!important;
    border-color:transparent!important;
  }
}

/* V3.65 — smooth visual reveal on iPhone without changing accordion geometry/scroll. */
@media(max-width:760px){
  #services details.service-accordion > .service-panel{
    opacity:0;
    transform:translateY(-10px);
    transition:opacity .30s ease,transform .34s cubic-bezier(.22,.72,.2,1)!important;
    will-change:opacity,transform;
  }
  #services details.service-accordion[open] > .service-panel{
    opacity:1;
    transform:translateY(0);
  }
  #services details.service-accordion > summary .service-toggle{
    transition:transform .30s cubic-bezier(.22,.72,.2,1)!important;
  }
  #services details.service-accordion[open] > summary .service-toggle{
    transform:rotate(45deg);
  }
}

/* V3.66 — stronger tactile 3D hover for the two homepage feature sections.
   No layout/crop changes; transform is subtle and isolated to desktop pointer devices. */
@media(hover:hover) and (pointer:fine){
  #company.home-feature-link,
  #equipment.home-feature-link{
    transform-origin:center center!important;
    transition:transform .30s cubic-bezier(.2,.72,.2,1),filter .28s ease,box-shadow .30s ease!important;
    will-change:transform,filter!important;
  }
  #company.home-feature-link:hover,
  #equipment.home-feature-link:hover{
    transform:perspective(1400px) translateY(-3px) scale(.988)!important;
    filter:brightness(1.17) saturate(1.08) contrast(1.035)!important;
    box-shadow:0 28px 66px rgba(0,0,0,.48)!important;
    z-index:6!important;
  }
  #company.home-feature-link:active,
  #equipment.home-feature-link:active{
    transform:perspective(1400px) translateY(2px) scale(.978)!important;
    filter:brightness(1.13) saturate(1.06)!important;
    box-shadow:0 13px 32px rgba(0,0,0,.38)!important;
  }
}

/* Contacts: primary question must read as the heading. */
.callback-card .contact-discuss-title{font-size:22px;line-height:1.3;font-weight:800;color:#fff;margin:8px 0 8px}
.callback-card .contact-discuss-copy{font-size:16px;line-height:1.55;color:#c8cdca;margin:0 0 24px;max-width:680px}
@media(max-width:760px){.callback-card .contact-discuss-title{font-size:19px}.callback-card .contact-discuss-copy{font-size:15px}}

/* Main-page Contacts accordion: company brief; communication CTA stays below. */
.company-brief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 44px;margin-bottom:24px}
.company-brief-grid>div{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.company-brief-grid span{display:block;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#929a95;margin-bottom:6px}
.company-brief-grid strong{display:block;font-size:16px;line-height:1.45;color:#f1f3f1}
.company-brief .contact-page-link{display:inline-flex;margin-top:4px}
@media(max-width:760px){.company-brief-grid{grid-template-columns:1fr;gap:0}.company-brief-grid>div{padding:13px 0}.company-brief-grid strong{font-size:15px}}

/* Contacts V2 — one composed contact page, no duplicated CTA cards. */
.contacts-hero-v2{position:relative;isolation:isolate;min-height:calc(100svh - 1px);padding:132px 0 86px!important;display:flex;align-items:center;background:#101111!important;overflow:hidden}
.contacts-hero-v2::before{content:"";position:absolute;inset:0;z-index:-2;background:url('/assets/images/objects/about-excavation-original.webp') center 48%/cover no-repeat;filter:saturate(.78)}
.contacts-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,10,9,.94) 0%,rgba(8,10,9,.79) 48%,rgba(8,10,9,.66) 100%),linear-gradient(180deg,rgba(8,10,9,.48),rgba(8,10,9,.92))}
.contacts-v2-wrap{position:relative;z-index:1}
.contacts-v2-wrap>h1{font-size:clamp(48px,6vw,78px);margin:12px 0 18px;max-width:900px}
.contacts-v2-lead{font-size:18px!important;line-height:1.6!important;max-width:760px!important;color:#d9ded9!important;margin-bottom:46px!important}
.contacts-v2-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.16);border-top:2px solid #f47708}
.contacts-v2-company,.contacts-v2-connect{background:rgba(16,17,17,.84);padding:34px 36px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.contacts-v2-label{font-size:11px!important;letter-spacing:.15em;color:#f18a36!important;font-weight:800;margin:0 0 12px!important}
.contacts-v2-grid h2{font-size:30px;margin:0 0 24px}
.contacts-v2-details{border-top:1px solid rgba(255,255,255,.14)}
.contacts-v2-details>div{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.11);display:grid;grid-template-columns:100px 1fr;gap:18px}
.contacts-v2-details span{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#929a95}
.contacts-v2-details strong{font-size:15px;line-height:1.45;color:#f1f3f1}
.contacts-v2-connect>p:not(.contacts-v2-label){font-size:16px!important;line-height:1.6!important;color:#cbd0cc!important;max-width:580px!important;margin:0 0 28px!important}
.contacts-v2-connect .direct-contact-actions{margin-top:8px}
@media(max-width:760px){.contacts-hero-v2{min-height:0;padding:112px 0 56px!important;align-items:flex-start}.contacts-hero-v2::before{background-position:58% center}.contacts-v2-wrap>h1{font-size:42px}.contacts-v2-lead{font-size:16px!important;margin-bottom:30px!important}.contacts-v2-grid{grid-template-columns:1fr}.contacts-v2-company,.contacts-v2-connect{padding:25px 20px}.contacts-v2-grid h2{font-size:25px}.contacts-v2-details>div{grid-template-columns:78px 1fr;gap:12px}.contacts-v2-connect .direct-contact-actions{display:grid;grid-template-columns:1fr 1fr}}

/* Contacts V2 refinement: calmer scale and less repeated branding. */
.contacts-hero-v2{min-height:0!important;padding:112px 0 66px!important}
.contacts-v2-wrap>h1{font-size:clamp(38px,4.5vw,60px)!important;margin:8px 0 14px!important}
.contacts-v2-lead{font-size:16px!important;margin-bottom:32px!important;max-width:720px!important}
.contacts-v2-company,.contacts-v2-connect{padding:27px 30px!important}
.contacts-v2-grid h2{font-size:25px!important;margin-bottom:18px!important}
.contacts-v2-details>div{padding:10px 0!important}
.contacts-v2-connect>p:not(.contacts-v2-label){font-size:15px!important;margin-bottom:22px!important}
@media(max-width:760px){.contacts-hero-v2{padding:100px 0 46px!important}.contacts-v2-wrap>h1{font-size:36px!important}.contacts-v2-company,.contacts-v2-connect{padding:22px 18px!important}.contacts-v2-grid h2{font-size:22px!important}}

/* Unified contact typography — inherit the site's Arial/Helvetica system everywhere. */
#contacts,#contacts *,
.page-bottom-contact,.page-bottom-contact *,
.contacts-page,.contacts-page *,
.direct-contact-actions,.direct-contact-actions *,
.company-brief,.company-brief *{
  font-family:Arial,Helvetica,sans-serif!important;
}
#services .contact-as-service .service-name{font-weight:800!important;letter-spacing:-.35px!important}
#services .contact-as-service .contact-accordion-body,
.page-bottom-contact .service-cta,
.contacts-v2-grid{font-style:normal!important}
.page-bottom-contact .service-cta h3{font-size:21px!important;line-height:1.3!important;font-weight:800!important;letter-spacing:0!important}
.page-bottom-contact .service-cta>p{font-size:16px!important;line-height:1.6!important;font-weight:400!important;letter-spacing:0!important;color:#cbd0cc!important}
.company-brief-grid span,.contacts-v2-details span{font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important}
.company-brief-grid strong,.contacts-v2-details strong{font-family:Arial,Helvetica,sans-serif!important;font-weight:700!important}
.contacts-v2-wrap>h1{font-family:Arial,Helvetica,sans-serif!important;font-weight:900!important;letter-spacing:-1px!important}
.contacts-v2-grid h2{font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;letter-spacing:-.5px!important}
.direct-contact-actions a{font-family:Arial,Helvetica,sans-serif!important;font-weight:800!important;letter-spacing:0!important}
@media(max-width:760px){.page-bottom-contact .service-cta h3{font-size:20px!important}.page-bottom-contact .service-cta>p{font-size:15px!important}.contacts-v2-wrap>h1{letter-spacing:-.6px!important}}

/* Contacts V3 — match the scale/rhythm of normal site subpages, not a hero billboard. */
.contacts-page .contacts-hero-v2{padding:96px 0 54px!important}
.contacts-page .contacts-v2-wrap{max-width:1180px!important}
.contacts-page .contacts-v2-wrap>h1{font-size:42px!important;line-height:1.08!important;text-transform:none!important;letter-spacing:-1px!important;font-weight:800!important;margin:10px 0 16px!important}
.contacts-page .contacts-v2-lead{font-size:16px!important;line-height:1.6!important;font-weight:400!important;max-width:760px!important;margin:0 0 30px!important}
.contacts-page .contacts-v2-grid{max-width:1000px!important;grid-template-columns:.95fr 1.05fr!important}
.contacts-page .contacts-v2-grid h2{font-size:26px!important;line-height:1.15!important;font-weight:800!important;letter-spacing:-.5px!important;text-transform:none!important;margin:0 0 18px!important}
.contacts-page .contacts-v2-details span{font-size:11px!important;line-height:1.3!important;font-weight:700!important;letter-spacing:1px!important}
.contacts-page .contacts-v2-details strong{font-size:15px!important;line-height:1.5!important;font-weight:600!important;letter-spacing:0!important}
.contacts-page .contacts-v2-connect>p{font-size:15px!important;line-height:1.6!important;font-weight:400!important;letter-spacing:0!important}
.contacts-page .direct-contact-actions a{font-size:14px!important;line-height:1!important;font-weight:800!important}
@media(max-width:760px){.contacts-page .contacts-hero-v2{padding:88px 0 42px!important}.contacts-page .contacts-v2-wrap>h1{font-size:32px!important}.contacts-page .contacts-v2-grid{grid-template-columns:1fr!important}.contacts-page .contacts-v2-grid h2{font-size:23px!important}.contacts-page .contacts-v2-details strong{font-size:14px!important}}

/* Full-width service pages: side navigation removed. */
.service-page-grid{display:block!important;max-width:none!important}
.service-page-copy{width:100%!important;max-width:none!important}
.service-page-copy>p,.service-page-copy>ul,.service-page-copy>h2,.service-page-copy>h3{max-width:1040px}
.service-page-copy .seo-service-content{max-width:1040px!important}
.service-page-copy .deep-excavation-feature,.service-page-copy .migrated-experience{max-width:none!important;width:100%!important}

/* V3.69 — compact contextual service navigation. Desktop only. */
.service-quick-nav{
  position:fixed;
  right:18px;
  top:50%;
  transform:translateY(-50%);
  width:190px;
  z-index:82;
  padding:15px 14px 13px;
  background:rgba(16,17,17,.90);
  border:1px solid rgba(255,255,255,.12);
  border-top:2px solid #f47708;
  box-shadow:0 12px 34px rgba(0,0,0,.34);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  font-family:Arial,Helvetica,sans-serif;
}
.service-quick-nav>span{display:block;font-size:10px;font-weight:800;letter-spacing:1.5px;color:#aeb4af;margin:0 0 8px}
.service-quick-nav nav{display:grid}
.service-quick-nav a{display:block;padding:8px 5px;border-bottom:1px solid rgba(255,255,255,.09);font-size:12px;line-height:1.25;font-weight:700;color:#dfe3df;transition:.18s ease}
.service-quick-nav a:last-child{border-bottom:0}
.service-quick-nav a:hover{color:#fff;background:rgba(244,119,8,.10);padding-left:8px}
.service-quick-nav a.is-child{padding-left:15px;font-size:11px;color:#aeb5b0;font-weight:600}
.service-quick-nav a.is-child::before{content:"—";margin-right:6px;color:#646b67}
.service-quick-nav a.is-current{color:#ff943b!important;background:rgba(244,119,8,.12);box-shadow:inset 2px 0 0 #f47708}
.service-quick-nav a.is-current.is-child{padding-left:15px}
@media(max-width:1180px){.service-quick-nav{width:168px;right:10px}.service-quick-nav a{font-size:11px}.service-quick-nav a.is-child{font-size:10.5px}}
@media(max-width:900px){.service-quick-nav{display:none!important}}

/* V3.70 — contextual fixed navigation only where real subpages exist. */
.service-quick-nav{display:none!important}
@media(min-width:901px){
  .service-quick-nav.waste-quick-nav{
    display:block!important;
    position:fixed!important;
    right:18px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    width:176px!important;
    z-index:120!important;
    padding:14px 12px 12px!important;
    background:rgba(15,17,16,.93)!important;
    border:1px solid rgba(255,255,255,.13)!important;
    border-top:2px solid #f47708!important;
    box-shadow:0 14px 38px rgba(0,0,0,.42)!important;
    backdrop-filter:blur(12px)!important;
    -webkit-backdrop-filter:blur(12px)!important;
  }
  .service-quick-nav.waste-quick-nav>span{
    display:block!important;font-size:9px!important;line-height:1.25!important;
    font-weight:800!important;letter-spacing:1.25px!important;color:#9fa6a1!important;
    margin:0 0 8px!important;
  }
  .service-quick-nav.waste-quick-nav nav{display:grid!important}
  .service-quick-nav.waste-quick-nav a{
    display:block!important;padding:8px 7px!important;border:0!important;
    border-bottom:1px solid rgba(255,255,255,.09)!important;
    font-size:11px!important;line-height:1.25!important;font-weight:700!important;
    color:#d9ddda!important;background:transparent!important;
  }
  .service-quick-nav.waste-quick-nav a:last-child{border-bottom:0!important}
  .service-quick-nav.waste-quick-nav a:hover{color:#fff!important;background:rgba(244,119,8,.10)!important}
  .service-quick-nav.waste-quick-nav a.is-current{
    color:#ff943b!important;background:rgba(244,119,8,.13)!important;
    box-shadow:inset 2px 0 0 #f47708!important;
  }
}
@media(min-width:901px) and (max-width:1180px){
  .service-quick-nav.waste-quick-nav{width:158px!important;right:9px!important}
  .service-quick-nav.waste-quick-nav a{font-size:10.5px!important}
}
@media(max-width:900px){.service-quick-nav.waste-quick-nav{display:none!important}}

/* V3.71 — lower, frameless translucent pill navigation for waste subpages. */
@media(min-width:901px){
  .service-quick-nav.waste-quick-nav{
    top:66%!important;
    width:184px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
  }
  .service-quick-nav.waste-quick-nav>span{
    padding:0 10px 8px!important;
    margin:0!important;
    color:#b8bdb9!important;
  }
  .service-quick-nav.waste-quick-nav nav{gap:7px!important}
  .service-quick-nav.waste-quick-nav a,
  .service-quick-nav.waste-quick-nav a:last-child{
    border:0!important;
    border-radius:999px!important;
    padding:9px 13px!important;
    background:linear-gradient(90deg,rgba(244,119,8,.18),rgba(244,119,8,.07))!important;
    box-shadow:inset 0 0 0 1px rgba(244,119,8,.12),0 5px 15px rgba(0,0,0,.16)!important;
    color:#e5e8e5!important;
  }
  .service-quick-nav.waste-quick-nav a:hover{
    padding-left:15px!important;
    background:linear-gradient(90deg,rgba(244,119,8,.31),rgba(244,119,8,.12))!important;
    color:#fff!important;
  }
  .service-quick-nav.waste-quick-nav a.is-current{
    color:#fff!important;
    background:linear-gradient(90deg,rgba(244,119,8,.72),rgba(244,119,8,.30))!important;
    box-shadow:inset 0 0 0 1px rgba(255,167,91,.42),0 7px 18px rgba(0,0,0,.24)!important;
  }
}
@media(min-width:901px) and (max-width:1180px){.service-quick-nav.waste-quick-nav{width:164px!important;right:9px!important;top:67%!important}}
