/* Full-frame homepage film, readable left fade, and one mobile opening screen. */
.home-opening{--hero-dark:#171816;background:var(--hero-dark)}
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay{width:100%;max-width:1440px;margin-inline:auto;background:var(--hero-dark);grid-template-areas:"scene";padding:0}
.home-opening .home-hero-overlay .gdb-hero-video-stage{height:auto;aspect-ratio:16/9;background:var(--hero-dark)}
.home-opening .home-hero-overlay .gdb-hero-video-stage::before{display:none}
.home-opening .home-hero-overlay .gdb-hero-video-stage::after{display:block;background:linear-gradient(90deg,rgba(16,18,15,.85) 0%,rgba(16,18,15,.57) 30%,rgba(16,18,15,.12) 65%,rgba(16,18,15,.02) 100%)}
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-poster,
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-media{object-fit:contain;object-position:center;width:100%;height:100%}
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-copy{width:calc(100% - 96px);max-width:none;padding:35px 0 42px;align-self:end}
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay h1{max-width:530px;font-size:clamp(42px,4.4vw,64px);line-height:1.04}
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-service-summary{max-width:440px}
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-lead{max-width:400px;font-size:17px;line-height:1.5}
.home-opening .home-values-section{max-width:none;width:100%;padding:14px max(var(--pad),calc((100vw - 1288px)/2)) 20px;background:var(--paper)}
@media(min-width:1051px){
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay{max-width:min(1440px,calc((100svh - var(--gdb-opening-header,85px) - 166px)*16/9));min-width:760px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay h1{font-size:clamp(42px,4vw,60px);max-width:510px}
}
@media(max-width:700px){
 .home-opening{display:flex;flex-direction:column;min-height:calc(100svh - var(--gdb-opening-header,65px));padding-bottom:calc(74px + env(safe-area-inset-bottom,0px))}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay{flex:1;display:grid;min-height:calc(56.25vw + 168px);width:100%;max-width:none;background:var(--hero-dark)}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-photo.gdb-hero-video{align-self:stretch;height:100%;min-height:0}
 .home-opening .home-hero-overlay .gdb-hero-video-stage{height:100%;min-height:100%;aspect-ratio:auto}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::before{display:block;inset:0;z-index:-1;background:url("assets/video/hero-cinematic-poster.webp") center 30%/cover no-repeat;filter:blur(18px);opacity:.28}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-poster,
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-media{object-position:center top}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::after{background:linear-gradient(180deg,rgba(23,24,22,0) 0%,rgba(23,24,22,0) 25%,rgba(23,24,22,.18) 41%,rgba(23,24,22,.8) 58%,#171816 85%,#171816 100%)}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-copy{width:calc(100% - 36px);padding:16px 0 15px;text-shadow:none}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .home-hero-eyebrow{font-size:8px;letter-spacing:.15em;margin:0 0 9px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay h1{font-size:clamp(30px,8.6vw,37px);max-width:390px;line-height:1.04;margin:0 0 12px;text-wrap:balance}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-service-summary{font-size:11.5px;line-height:1.4;margin:0 0 8px;max-width:none}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-lead{font-size:14px;line-height:1.4;margin:0;max-width:360px;color:#e9e8e3}
 .home-opening .home-values-section{flex:none;padding:0 18px;background:var(--hero-dark)}
 .home-opening .home-values-section #why-choose-us{gap:5px;border:0;border-radius:0;background:transparent;align-items:stretch}
 .home-opening .home-values-section #why-choose-us>.benefit-tile{border:1px solid #ffffff26;border-radius:2px;background:#ffffff05;color:#fffefb}
 .home-opening .home-values-section #why-choose-us .benefit-tile>summary{min-height:66px;font-size:11.5px;line-height:1.23;padding:8px 7px 12px;color:#fffefb}
 .home-opening .home-values-section #why-choose-us .benefit-tile>summary::after{color:var(--orange);right:6px;bottom:4px}
 .home-opening .home-values-section #why-choose-us .benefit-description{color:#e1e1da}
 .home-opening .home-values-section #why-choose-us.benefit-tiles-enhanced .benefit-tile[open]>summary{background:#ffffff10}
 .home-opening .home-values-section #why-choose-us.benefit-tiles-enhanced .benefit-description{background:#252622;border-color:#ffffff26;color:#f1f0eb;box-shadow:none}
}
@media(max-width:700px) and (max-height:700px){
 .home-opening{padding-bottom:68px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay{min-height:calc(56.25vw + 144px)}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay h1{font-size:30px;margin-bottom:9px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .home-hero-eyebrow{margin-bottom:7px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-copy{padding-bottom:12px}
 .home-opening .home-values-section #why-choose-us .benefit-tile>summary{min-height:62px;font-size:11px}
}
@media(prefers-reduced-motion:no-preference){
 .home-services-visual[data-opening-reveal="waiting"]{opacity:0;transform:translateY(12px)}
 .home-services-visual[data-opening-reveal]{transition:opacity .55s ease,transform .55s ease}
 .home-services-visual[data-opening-reveal="shown"]{opacity:1;transform:none}
}

/* Desktop: editorial copy on the dark left, complete film on the right. */
@media(min-width:1051px){
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);grid-template-areas:"copy scene";align-items:stretch;max-width:none;min-width:0;width:100%;background:var(--hero-dark)}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-photo.gdb-hero-video{grid-area:scene;align-self:center}
 .home-opening .home-hero-overlay .gdb-hero-video-stage{height:auto;aspect-ratio:16/9}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::after{background:linear-gradient(90deg,#171816 0%,rgba(23,24,22,.64) 6%,rgba(23,24,22,.14) 20%,rgba(23,24,22,0) 34%)}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-copy{grid-area:copy;align-self:center;justify-self:end;width:100%;max-width:650px;padding:32px clamp(24px,3vw,58px) 36px max(var(--pad),calc((100vw - 1440px)/2));text-shadow:none}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay h1{font-size:clamp(42px,3.5vw,62px);max-width:530px;line-height:1.05;margin-bottom:20px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-service-summary{font-size:12.5px;line-height:1.5;max-width:440px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-lead{font-size:17px;line-height:1.5;max-width:400px;color:#e9e8e3}
}

/* Mobile: the copy begins immediately after the complete landscape film. */
@media(max-width:700px){
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay{flex:0 0 auto;min-height:0;grid-template-areas:"scene" "copy";grid-template-rows:auto auto}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-photo.gdb-hero-video{grid-area:scene;height:auto;align-self:start}
 .home-opening .home-hero-overlay .gdb-hero-video-stage{height:auto;min-height:0;aspect-ratio:16/9}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::before{display:none}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::after{background:linear-gradient(180deg,rgba(23,24,22,0) 0%,rgba(23,24,22,0) 68%,rgba(23,24,22,.14) 84%,rgba(23,24,22,.7) 96%,#171816 100%)}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-copy{grid-area:copy;padding:17px 0 18px;align-self:start}
 .home-opening .home-values-section{margin-top:0;margin-bottom:auto}
 .home-opening .home-values-section #why-choose-us .benefit-description a{display:inline-flex;align-items:center;min-height:44px}
}

/* One compact service navigation on the mobile opening screen. */
.home-hero-services{display:none}
@media(min-width:1051px){.home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-copy{max-width:none;padding-left:clamp(28px,5vw,96px)}}
@media(max-width:700px){
 .home-hero-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 18px;color:#fffefb}
 .home-hero-services a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:64px;padding:8px;font:400 15px/1.15 SourceSerif,Georgia,serif;text-wrap:balance}
 .home-hero-services a:not(:nth-child(3n+1)){border-left:1px solid #fffefb33}
 .home-hero-services a:nth-child(n+4){border-top:1px solid #fffefb33}
 .home-hero-services a:hover{text-decoration:underline;text-underline-offset:4px}
 .home-hero-services a:focus-visible{outline:2px solid var(--orange);outline-offset:-4px}
 .home-services-visual+.home-values-section{max-width:none;background:#171816;padding:24px 18px 28px;--paper:#171816;--white:#252622;--ink:#fffefb;--muted:#e1e1da;--line:#ffffff33}
 .home-services-visual+.home-values-section #why-choose-us .benefit-description{color:#e1e1da}
 .home-services-visual+.home-values-section #why-choose-us.benefit-tiles-enhanced .benefit-description{background:#171816;color:#f1f0eb}
}

/* Keep the approved black opening; remove inherited auto margins above its content. */
@media(max-width:700px){
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay{margin-top:0;margin-bottom:0}
 .home-opening .home-hero-services{margin-top:0;margin-bottom:auto}
}

/* Soft photographic backdrop and an uncluttered editorial service list. */
@media(max-width:700px){
 .home-opening{position:relative;isolation:isolate;overflow:hidden;background:#252722}
 .home-opening::before{content:"";position:absolute;inset:-28px;z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(16,18,15,.24),rgba(16,18,15,.54) 48%,rgba(16,18,15,.64)),url("assets/video/hero-cinematic-poster.webp") center 65%/cover no-repeat;filter:blur(22px);opacity:1}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay{background:transparent}
 .home-opening .home-hero-services{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;margin-left:22px;margin-right:22px}
 .home-opening .home-hero-services a{justify-content:flex-start;text-align:left;min-height:44px;padding:8px 0;font-size:15px;line-height:1.18;text-wrap:pretty;border:0;border-bottom:1px solid #fffefb36}
 .home-opening .home-hero-services a:nth-last-child(-n+2){border-bottom:0}
}
@media(min-width:1051px){
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay{position:relative;overflow:hidden}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay::before{content:"";position:absolute;inset:-24px 57% -24px -24px;z-index:-1;pointer-events:none;background:linear-gradient(rgba(16,18,15,.7),rgba(16,18,15,.7)),url("assets/video/hero-cinematic-poster.webp") center/cover no-repeat;filter:blur(24px);mask-image:linear-gradient(90deg,#000 0%,#000 68%,transparent 100%)}
}

/* A single brand accent keeps the blurred opening restrained. */
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay .home-hero-eyebrow{color:var(--orange,#F78C1E)}

/* Compact short phone screens without letting the fixed enquiry button cover a service. */
@media(max-width:700px) and (max-height:700px){
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-copy{padding-top:12px;padding-bottom:12px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .home-hero-eyebrow{margin-bottom:6px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay h1{font-size:28px;margin-bottom:8px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-service-summary{font-size:11px;line-height:1.35;margin-bottom:6px}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .hero-lead{font-size:13px;line-height:1.4}
 .home-opening .home-hero-services a{min-height:42px;padding:6px 0;font-size:14px}
}
@media(max-width:700px) and (max-height:600px){
 .home-opening .home-hero-overlay .gdb-hero-video-stage{height:24svh;aspect-ratio:auto;background:transparent}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::before{display:block;inset:-12px;z-index:-1;background:url("assets/video/hero-cinematic-poster.webp") center/cover no-repeat;filter:blur(18px);opacity:.35}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay h1{font-size:26px}
}

/* Mobile service links: quiet orange dividers, stronger feedback on interaction. */
@media(max-width:700px){
 .home-opening .home-hero-services a{border-bottom-color:rgb(247 140 30 / 25%);transition:border-color 160ms ease}
 .home-opening .home-hero-services a:nth-last-child(-n+2){border-bottom:1px solid transparent}
 .home-opening .home-hero-services a:focus-visible,
 .home-opening .home-hero-services a:active{border-bottom-color:var(--orange,#F78C1E)}
}
@media(max-width:700px) and (hover:hover){
 .home-opening .home-hero-services a:hover{border-bottom-color:var(--orange,#F78C1E)}
}
@media(prefers-reduced-motion:reduce){
 .home-opening .home-hero-services a{transition:none}
}

/* Keep image texture in the fade instead of ending at an opaque black edge. */
@media(max-width:700px){
 .home-opening::before{background:linear-gradient(180deg,rgba(16,18,15,.12),rgba(16,18,15,.24) 35%,rgba(16,18,15,.48) 68%,rgba(16,18,15,.66)),url("assets/video/hero-cinematic-poster.webp") center 65%/cover no-repeat}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::after{background:linear-gradient(180deg,transparent 70%,rgba(23,24,22,.26) 100%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(180deg,transparent 72%,#000 100%);mask-image:linear-gradient(180deg,transparent 72%,#000 100%)}
 .home-opening .home-hero-services a:hover,.home-opening .home-hero-services a:focus-visible,.home-opening .home-hero-services a:active{text-decoration:none}
 .home-opening .home-hero-services .service-link-label{display:block;max-width:100%;transform-origin:left center;transition:transform 160ms ease}
 .home-opening .home-hero-services a:focus-visible .service-link-label,.home-opening .home-hero-services a:active .service-link-label{transform:scale(1.035)}
}
@media(max-width:700px) and (hover:hover){
 .home-opening .home-hero-services a:hover .service-link-label{transform:scale(1.035)}
}
@media(min-width:1051px){
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay::before{background:linear-gradient(90deg,rgba(16,18,15,.66) 0%,rgba(16,18,15,.46) 58%,rgba(16,18,15,.23) 100%),url("assets/video/hero-cinematic-poster.webp") center/cover no-repeat;mask-image:none}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::after{background:linear-gradient(90deg,rgba(23,24,22,.42),transparent 26%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-mask-image:linear-gradient(90deg,#000,transparent 25%);mask-image:linear-gradient(90deg,#000,transparent 25%)}
}
@media(prefers-reduced-motion:reduce){
 .home-opening .home-hero-services .service-link-label{transition:none}
}

/* The film stays sharp. Blur starts below its measured bottom edge. */
@media(max-width:700px){
 .home-opening::before{top:var(--home-video-height,56.25vw);bottom:-28px;clip-path:inset(0);background:linear-gradient(180deg,rgba(16,18,15,.12),rgba(16,18,15,.30) 38%,rgba(16,18,15,.52) 72%,rgba(16,18,15,.66)),url("assets/video/hero-cinematic-poster.webp") center 65%/cover no-repeat}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::before,
 .home-opening .home-hero-overlay .gdb-hero-video-stage::after{display:none;-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:none;mask-image:none;background:none}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-poster,
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-media{filter:none;-webkit-mask-image:none;mask-image:none}
}

/* Light film tint; deeper photographic background retains visible image detail. */
@media(max-width:700px){
 .home-opening::before{background:linear-gradient(180deg,rgba(16,18,15,.30),rgba(16,18,15,.45) 38%,rgba(16,18,15,.62) 72%,rgba(16,18,15,.75)),url("assets/video/hero-cinematic-poster.webp") center 65%/cover no-repeat}
 .home-opening .home-hero-overlay .gdb-hero-video-stage::after{display:block;inset:0;background:rgba(16,18,15,.07);-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:none;mask-image:none;pointer-events:none}
}
@media(min-width:1051px){
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay::before{background:linear-gradient(90deg,rgba(16,18,15,.73) 0%,rgba(16,18,15,.54) 58%,rgba(16,18,15,.30) 100%),url("assets/video/hero-cinematic-poster.webp") center/cover no-repeat}
 .home-opening .home-hero-overlay .gdb-hero-video-stage{box-shadow:none}
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-poster,
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-media{filter:brightness(.93)}
}

/* Requested deeper charcoal treatment, with the photograph still visible. */
@media(max-width:700px){
 .home-opening::before{background:linear-gradient(180deg,rgba(16,18,15,.60),rgba(16,18,15,.70) 38%,rgba(16,18,15,.80) 72%,rgba(16,18,15,.88)),url("assets/video/hero-cinematic-poster.webp") center 65%/cover no-repeat}
}
@media(min-width:1051px){
 .home-opening .editorial-hero.home-hero-wide.home-hero-overlay::before{background:linear-gradient(90deg,rgba(16,18,15,.85) 0%,rgba(16,18,15,.75) 58%,rgba(16,18,15,.55) 100%),url("assets/video/hero-cinematic-poster.webp") center/cover no-repeat}
}

/* User's exact solid charcoal reference: RGB(29,29,29). */
.home-opening{--hero-dark:#1d1d1d;background:#1d1d1d}
.home-opening::before,
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay::before,
.home-opening .home-hero-overlay .gdb-hero-video-stage::before{display:none;background:none;filter:none}
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay{background:#1d1d1d}
.home-opening .home-hero-overlay .gdb-hero-video-stage{background:#1d1d1d}
.home-opening .home-hero-overlay .gdb-hero-video-stage::after{display:block;inset:0;background:rgba(29,29,29,.14);filter:none;-webkit-backdrop-filter:none;backdrop-filter:none;-webkit-mask-image:none;mask-image:none;pointer-events:none}
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-poster,
.home-opening .editorial-hero.home-hero-wide.home-hero-overlay .gdb-hero-video-media{filter:none;-webkit-mask-image:none;mask-image:none}

/* Approved mobile interaction: orange service text on hover, focus or tap. */
@media(max-width:700px){
 .home-opening .home-hero-services .service-link-label{transition:transform 160ms ease,color 160ms ease}
 .home-opening .home-hero-services a:focus-visible .service-link-label,
 .home-opening .home-hero-services a:active .service-link-label{color:var(--orange,#F78C1E)}
}
@media(max-width:700px) and (hover:hover){
 .home-opening .home-hero-services a:hover .service-link-label{color:var(--orange,#F78C1E)}
}
@media(prefers-reduced-motion:reduce){.home-opening .home-hero-services .service-link-label{transition:none}}
