/* Landscape imagery, overlaid cover titles and full-frame service photographs. */
/* Cover titles sit over the artwork, with a readable shade behind the copy. */
.home-hero,.division-hero{display:block;position:relative;min-height:0;isolation:isolate;overflow:hidden}
.home-hero-media,.hero-photo{position:absolute;inset:0;width:100%;height:100%;transform:none!important;overflow:hidden;z-index:0}
.home-hero-media>img,.hero-photo>img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transform:none!important}
.home-hero-shade,.hero-shade{display:block;position:absolute;inset:0;z-index:1;pointer-events:none}
.home-hero-shade{background:linear-gradient(90deg,rgba(7,9,10,.84),rgba(7,9,10,.48) 58%,rgba(7,9,10,.16)),linear-gradient(0deg,rgba(7,9,10,.7),transparent 65%)}
.hero-shade{background:linear-gradient(90deg,rgba(7,9,10,.9),rgba(7,9,10,.62) 48%,rgba(7,9,10,.12)),linear-gradient(0deg,rgba(7,9,10,.5),transparent 75%)}
.hero-number{display:block;z-index:1;-webkit-text-stroke-color:#ffffff26}
.home-hero-content,.hero-content{position:relative;z-index:2;display:block;min-height:clamp(610px,49vw,940px);padding-block:48px 90px}
.home-hero-content{display:flex;flex-direction:column;justify-content:center}
.home-hero h1{font-size:clamp(7rem,16vw,16rem);line-height:.9;margin:30px 0 42px;text-shadow:0 2px 30px #0003}
.home-hero-bottom{grid-template-columns:1fr 1fr;align-items:start;gap:45px}
.home-hero-bottom h2{font-size:clamp(2rem,3.2vw,3.4rem)}
.home-hero-bottom p,.hero-content>p{color:#ececec}
.hero-content>.breadcrumb{margin-bottom:32px;color:#d0d0d0}
.hero-content>h1{font-size:clamp(3.7rem,6.5vw,6.5rem);margin:20px 0 25px;max-width:1000px;line-height:1.02;text-shadow:0 2px 30px #0003}
.hero-content>p{margin-top:0;max-width:620px;font-size:1.05rem;line-height:1.8}
.hero-actions{margin-top:28px}
.hero-meta{margin-top:33px;color:#e2e2e2}
.home-hero>.scroll-cue,.division-hero>.scroll-cue{display:flex;z-index:3}
.division-portal{position:relative;display:block;min-height:0;aspect-ratio:2/1;overflow:hidden}
.portal-image{position:absolute;inset:0;overflow:hidden}
.portal-image img{width:100%;height:100%;object-fit:contain;filter:none;transform:none!important}
.division-portal:hover img{filter:none;transform:none}
.division-portal:after{display:block;z-index:1;background:linear-gradient(0deg,rgba(7,9,10,.96),rgba(7,9,10,.35) 65%,rgba(7,9,10,.12));pointer-events:none}
.portal-content{position:absolute;inset:0;height:100%;min-height:0;padding:28px 32px;background:none;z-index:2;justify-content:end}
.portal-number{font-size:3.5rem;top:25px;right:28px;color:#ffca05}
.portal-content h3{font-size:clamp(2.3rem,3.5vw,3.8rem);padding-right:60px}
.portal-content p{max-width:none;color:#e2e2e2}
.portal-link{margin-top:20px}
.service-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:32px;align-items:start}
.service-photo{height:auto;overflow:visible;background:transparent;position:sticky;top:calc(var(--header) + 25px)}
.service-photo img{display:block;width:100%;height:auto;object-fit:contain;object-position:center!important;transform:none!important}
.service-photo:hover img{transform:none}
.service-layout .service-intro{margin-top:0}
.service-layout .scope-list{grid-template-columns:1fr}
.gallery-track{align-items:flex-start;gap:18px;scroll-padding-inline:0}
.gallery-spread{display:flex;align-items:flex-start;gap:8px;flex:0 0 auto;width:min(100%,calc(var(--spread-ratio)*230px));scroll-snap-align:start}
.gallery-spread>.gallery-item,#projects .gallery-spread>.gallery-item{display:block;min-width:0;max-width:none;width:0;padding:0;background:transparent;overflow:visible}
.gallery-item img,#projects .gallery-item img{display:block;width:100%;height:auto;object-fit:contain;transform:none!important}
.gallery-item:hover img{transform:none}
.gallery-item>span{background:#222;font-size:.8rem;padding:10px 12px}
.fleet-card>img{width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;background:#191919}
.quality-header>img{width:100%;height:auto;object-fit:contain}
.home-project-gallery .gallery-spread{width:min(100%,calc(var(--spread-ratio)*250px))}
@media(max-width:1100px){.service-layout{grid-template-columns:1fr;gap:25px}.service-photo{position:static}.service-layout .scope-list{grid-template-columns:1fr 1fr}.hero-content{column-gap:35px}.hero-content>h1{font-size:clamp(3.6rem,6.6vw,5rem)}}
@media(max-width:850px){.home-hero-content,.hero-content{padding-block:35px 82px;min-height:650px}.hero-content{display:block}.hero-content>h1{font-size:clamp(3.4rem,8vw,5rem);margin-top:18px;margin-bottom:23px}.hero-content>p{margin-top:0;max-width:600px}.hero-actions{margin-top:24px}.hero-meta{margin-top:24px}.home-hero-bottom{grid-template-columns:1fr;gap:25px}.portal-content{padding:25px}.portal-content h3{font-size:2.6rem}.portal-number{font-size:3rem}.service-layout .scope-list{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.home-hero h1{font-size:23vw;margin:25px 0 30px}.home-hero-bottom h2{font-size:2.15rem}.hero-content>h1{font-size:clamp(3rem,11.5vw,4.2rem)}.portal-content{padding:24px}.portal-content h3{font-size:2.7rem}.service-layout .scope-list{grid-template-columns:1fr}.gallery-spread,.home-project-gallery .gallery-spread{width:min(100%,calc(var(--spread-ratio)*205px))}.gallery-item>span{padding:9px 7px;font-size:.75rem}.fleet-card>img{height:auto}.quality-header>img{height:auto}}

@media(max-width:1100px){.division-portal{aspect-ratio:auto;min-height:360px}.portal-image img{object-fit:cover}.portal-content h3{font-size:2.7rem}.portal-content{padding:25px}.portal-number{font-size:3rem}.hero-content>h1{max-width:90%}}
@media(max-width:600px){.home-hero-content,.hero-content{min-height:660px;padding-top:34px;padding-bottom:80px}.home-hero h1{font-size:24vw}.home-hero-media>img{object-position:52% center}.hero-photo>img{object-position:62% center}.home-hero-shade,.hero-shade{background:linear-gradient(90deg,#0b0d0ede,#0b0d0e80),linear-gradient(0deg,#0b0d0eaa,transparent)}.hero-content>h1{max-width:100%}.division-portal{min-height:355px}.portal-content h3{font-size:3rem}.portal-number{top:20px;right:24px}.home-hero-bottom{gap:25px}}
@media(max-width:1100px){.division-portal{aspect-ratio:2/1;min-height:0}.portal-image img{object-fit:contain}.portal-content{padding:20px 24px}.portal-content>.eyebrow,.portal-content>p{display:none}.portal-content h3{font-size:clamp(2rem,3.8vw,3rem);margin:0;padding-right:45px}.portal-link{margin-top:14px;padding-top:12px}.portal-number{font-size:2.5rem;top:18px;right:24px}}
@media(max-width:600px){.division-portal{aspect-ratio:2/1;min-height:0}.portal-content{padding:18px 22px}.portal-content h3{font-size:2.15rem}.portal-number{font-size:2rem;top:17px;right:20px}.portal-link{margin-top:12px;padding-top:9px}}

/* Scroll transitions keep the image frame fixed while the overlaid copy lifts. */
.home-hero,.division-hero{--cover-text-y:0px;--cover-text-opacity:1;--cover-brightness:1;--cover-blend:0;--cover-cue-opacity:1}
.cover-scroll-active>.home-hero-content,.cover-scroll-active>.hero-content{transform:translate3d(0,var(--cover-text-y),0);opacity:var(--cover-text-opacity);will-change:transform,opacity}
.cover-scroll-active>.home-hero-media>img,.cover-scroll-active>.hero-photo>img{filter:brightness(var(--cover-brightness));transition:none}
.cover-scroll-active::after{content:'';position:absolute;inset:auto 0 0;height:48%;background:linear-gradient(0deg,var(--ink),transparent);opacity:var(--cover-blend);z-index:1;pointer-events:none}
.cover-scroll-active>.scroll-cue{opacity:var(--cover-cue-opacity)}
.cover-scroll-active>.home-hero-content:focus-within,.cover-scroll-active>.hero-content:focus-within{opacity:1;transform:none}
.motion-paused .home-hero-content,.motion-paused .hero-content{transform:none!important;opacity:1!important;will-change:auto}
.motion-paused .home-hero-media>img,.motion-paused .hero-photo>img{filter:none!important}
.motion-paused .home-hero::after,.motion-paused .division-hero::after{opacity:0!important}
@media(prefers-reduced-motion:reduce){.cover-scroll-active>.home-hero-content,.cover-scroll-active>.hero-content{transform:none!important;opacity:1!important;will-change:auto}.cover-scroll-active>.home-hero-media>img,.cover-scroll-active>.hero-photo>img{filter:none!important}.cover-scroll-active::after{opacity:0!important}.cover-scroll-active>.scroll-cue{opacity:1}}

/* Keep the complete four-division scene visible at every screen shape. */
.home-hero-media.has-film{background:#252423}
.home-hero-media.has-film::before{content:'';position:absolute;inset:-24px;background:url('/assets/cover-adcorp-film.webp') center/cover no-repeat;filter:blur(18px) brightness(.62);pointer-events:none}
.home-hero-media.has-film>img,.home-hero-media.has-film>video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}
.home-hero-media.has-film>video{opacity:0;transition:opacity .8s ease;pointer-events:none}
.home-hero-media.has-film>video.film-ready{opacity:1}
.cover-scroll-active>.home-hero-media>video{filter:brightness(var(--cover-brightness))}
.motion-paused .home-hero-media>video{filter:none!important}
@media(prefers-reduced-motion:reduce){.home-hero-media.has-film>video{display:none;transition:none}}
.home-hero-sequence{position:relative}
.home-hero-sequence.film-pinned{height:var(--film-sequence-height)}
.home-hero-sequence.film-pinned>.home-hero{position:sticky;top:var(--film-top)}
.scroll-cue>.film-cue-label{height:auto;width:auto;background:none;overflow:visible}
.scroll-cue>.film-cue-label::after{display:none}

/* The wide cover fills edge to edge; the title clears as the film advances. */
@media(min-width:900px){.home-hero-media.has-film>img,.home-hero-media.has-film>video{object-fit:fill}.home-hero-media.has-film::before{display:none}}
.home-hero-sequence .home-hero>.home-hero-content{opacity:1}
.home-hero-sequence .home-hero h1,.home-hero-sequence .home-hero-bottom>h2{opacity:var(--film-title-opacity,1);will-change:opacity}
.home-hero-sequence .home-hero-shade{background:linear-gradient(0deg,rgba(7,9,10,.76),rgba(7,9,10,.25) 32%,transparent 60%)}
.home-hero-sequence .home-hero-shade::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,9,10,.84),rgba(7,9,10,.48) 58%,rgba(7,9,10,.16));opacity:var(--film-shade-opacity,1)}
.motion-paused .home-hero-sequence .home-hero h1,.motion-paused .home-hero-sequence .home-hero-bottom>h2{opacity:1!important;will-change:auto}
@media(prefers-reduced-motion:reduce){.home-hero-sequence .home-hero h1,.home-hero-sequence .home-hero-bottom>h2{opacity:1!important;will-change:auto}.home-hero-sequence .home-hero-shade::before{opacity:1}}

/* Mobile shows the complete film and fades its entire overlay together. */
@media(max-width:899px){
 .home-page .home-hero-media.has-film{background:var(--ink)}
 .home-page .home-hero-media.has-film>img,.home-page .home-hero-media.has-film>video{object-fit:contain;object-position:center}
 .home-page .home-hero-media.has-film::before{display:none}
 .home-page .home-hero>.home-hero-content{min-height:var(--film-cover-height,min(560px,calc(100svh - var(--header))));padding:24px 20px 60px;gap:14px;justify-content:center;transform:none!important;opacity:var(--film-title-opacity,1);visibility:var(--film-copy-visibility,visible)}
 .home-page .home-hero>.home-hero-content:focus-within{opacity:1;visibility:visible}
 .home-page .home-hero h1,.home-page .home-hero-bottom>h2{opacity:1}
 .home-page .home-hero-shade{opacity:var(--film-title-opacity,1)}
 .home-page .home-hero h1{font-size:clamp(4.4rem,22vw,7.5rem);line-height:.9;margin:0}
 .home-page .home-hero-bottom{grid-template-columns:1fr;gap:16px}
 .home-page .home-hero-bottom>h2{font-size:clamp(1.5rem,5.6vw,2rem);line-height:1.12;margin:0}
 .home-page .home-hero-bottom>div{display:grid;grid-template-columns:1fr 1fr;gap:12px}
 .home-page .home-hero-bottom p{grid-column:1/-1;font-size:.875rem;line-height:1.55;margin:0;max-width:none}
 .home-page .home-hero-bottom .button{width:100%;margin:0;min-height:44px;padding:10px 8px;font-size:.8125rem;line-height:1.25;text-align:center}
 .home-page .home-hero>.scroll-cue{left:20px;bottom:14px;font-size:.65rem;gap:10px;opacity:var(--film-title-opacity,1);visibility:var(--film-copy-visibility,visible)}
 .home-page .home-hero>.scroll-cue:focus-visible{opacity:1;visibility:visible}
 .home-page .home-hero>.scroll-cue>span:last-child{height:20px}
}
@media(max-width:899px) and (max-height:740px){
 .home-page .home-hero>.home-hero-content{padding:16px 18px 44px;gap:8px}
 .home-page .home-hero h1{font-size:clamp(3.9rem,20vw,6rem)}
 .home-page .home-hero-bottom{gap:10px}
 .home-page .home-hero-bottom>h2{font-size:clamp(1.3rem,5.2vw,1.65rem)}
 .home-page .home-hero-bottom>div{gap:10px}
 .home-page .home-hero-bottom p{font-size:.8125rem;line-height:1.5}
}
@media(max-width:899px) and (orientation:landscape) and (max-height:500px){
 .home-page .home-hero>.home-hero-content{display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;gap:18px;padding:16px 20px 44px}
 .home-page .home-hero-content>.eyebrow{display:none}
 .home-page .home-hero h1{font-size:clamp(3.5rem,11vw,6rem)}
 .home-page .home-hero-bottom{gap:8px}
 .home-page .home-hero-bottom>h2{font-size:1.2rem}
 .home-page .home-hero-bottom p{font-size:.75rem;line-height:1.4}
 .home-page .home-hero-bottom .button{min-height:40px;font-size:.7rem;padding:8px}
}
.home-project-gallery .gallery-track.gallery-scroll-driven{scroll-snap-type:none}
.home-project-gallery .gallery-spread{width:min(85vw,calc(var(--spread-ratio)*clamp(250px,22vw,360px)))}
