/* Home content and artwork share one photo frame below the real header. */
.home .hero{--hero-header-height:104px;--hero-target-height:min(max(0px,calc(100vh - var(--hero-header-height))),750px);--hero-frame-width:min(calc(100% - 48px),1280px);--hero-frame-edge:calc((100% - var(--hero-frame-width))/2);height:auto;min-height:var(--hero-target-height)}
@supports(height:100dvh){.home .hero{--hero-target-height:min(max(0px,calc(100dvh - var(--hero-header-height))),750px)}}
.home .hero-copy-backdrop{display:none}
@media(min-width:1024px){
 .home .hero{display:block;background:#f1f8fc;height:var(--hero-target-height);min-height:var(--hero-content-min,0px);overflow:visible}
 .home .hero::before{content:none}
 /* Soften the header/photo seam, ending before the measured people boundary. */
 .home .hero:not(.is-stacked)::before{content:"";position:absolute;inset:0 0 auto;height:max(0px,min(136px,calc(var(--hero-copy-top,max(24px,calc(150px - var(--hero-header-height)))) + var(--hero-copy-ink-top,0px) - 64px + var(--hero-copy-clear-y,0px))));z-index:-1;pointer-events:none;background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.78) 29.4%,rgba(255,255,255,.3) 66.2%,rgba(255,255,255,0) 100%)}
 .home .hero-photo{position:absolute;inset:auto;left:50%;top:0;bottom:auto;transform:translateX(-50%);width:var(--hero-frame-width);height:100%;aspect-ratio:auto;max-width:none;z-index:-3;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 90%,transparent);mask-repeat:no-repeat;mask-size:100% 100%}
 .home .hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% var(--hero-photo-position-y,70%)}
 .home .hero-wash{display:none}
 .home .hero .hero-copy{position:absolute;left:calc(var(--hero-frame-edge) + 24px);top:var(--hero-copy-top,max(24px,calc(150px - var(--hero-header-height))));width:min(480px,calc(var(--hero-frame-width) * .4 - 48px));max-width:none;margin:0;isolation:isolate}
 .home.tm-editor-html .hero #quote.quote-panel{position:absolute;width:330px;right:calc(var(--hero-frame-edge) + 24px);top:max(24px,calc(231px - var(--hero-header-height)));margin:0}
 .home .hero .mobile-quote{display:none}
 .home .hero-copy:before{content:none}
 /* Extend the white layer to the hero top without moving its bottom or people mask. */
 .home .hero-copy-backdrop{--hero-backdrop-rise:max(0px,calc(var(--hero-copy-top,max(24px,calc(150px - var(--hero-header-height)))) + var(--hero-copy-ink-top,0px) - 24px));--hero-backdrop-clear-y:calc(var(--hero-copy-clear-y) + var(--hero-backdrop-rise));display:block;position:absolute;left:calc(var(--hero-copy-ink-left,0px) - 64px);top:calc(var(--hero-copy-ink-top,0px) - 64px - var(--hero-backdrop-rise));width:calc(var(--hero-copy-ink-width,100%) + 128px);height:calc(var(--hero-copy-ink-height,100%) + 160px + var(--hero-backdrop-rise));z-index:-1;pointer-events:none;mask-image:linear-gradient(90deg,#000 calc(var(--hero-copy-clear-x) - 80px),rgba(0,0,0,.98) calc(var(--hero-copy-clear-x) - 56px),rgba(0,0,0,.9) calc(var(--hero-copy-clear-x) - 32px),rgba(0,0,0,.7) calc(var(--hero-copy-clear-x) - 16px),rgba(0,0,0,.3) calc(var(--hero-copy-clear-x) - 6px),transparent var(--hero-copy-clear-x)),linear-gradient(180deg,#000 calc(var(--hero-backdrop-clear-y) - 24px),transparent var(--hero-backdrop-clear-y));mask-composite:add;mask-repeat:no-repeat}
 .home .hero-copy-backdrop:before{content:"";position:absolute;inset:40px 40px 16px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.97) 0 calc(100% - 80px),rgba(255,255,255,.82) calc(100% - 60px),rgba(255,255,255,.45) calc(100% - 40px),rgba(255,255,255,.14) calc(100% - 20px),transparent 100%);filter:blur(10px)}
 .home .hero-trust{flex-wrap:nowrap}
 .home .hero-trust li{flex-shrink:0;color:var(--navy)}
 .home .hero-signature-wrap{display:block;right:calc(var(--hero-frame-edge) + 24px);bottom:24px}
 .home .hero-signature-wrap:before{inset:-20px -14px -16px -25px;background:radial-gradient(ellipse 50% 50% at 50% 50%,rgba(255,255,255,.9) 0 55%,transparent 100%);filter:blur(10px)}
}
@media(min-width:1100px) and (max-width:1399px){.home .hero-copy h1{font-size:clamp(44px,calc(2.666667vw + 14.666667px),52px)}}
@media(min-width:1024px) and (max-width:1399px){.home .hero-photo{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}}
/* Compact overlay retains full-size controls and its own safe photo height. */
@media(min-width:1024px) and (max-width:1263px){
 .home .hero{--hero-target-height:min(max(0px,calc(100vh - var(--hero-header-height))),750px,var(--hero-compact-height-limit,650px))}
 .home .hero .hero-copy{width:var(--hero-compact-copy-width,310px)}
 .home .hero-copy h1{font-size:clamp(38px,calc(38px + (100vw - 1024px) * .041841),48px)}
 .home .hero-trust{flex-wrap:wrap;gap:14px 18px}
 .home.tm-editor-html .hero #quote.quote-panel{width:clamp(250px,calc(var(--hero-frame-width) * .3 - 48px),330px)}
 .home .hero #quote .quote-card{padding:16px}
 .home .hero #quote h2{font-size:24px;white-space:normal}
 .home .hero-signature-wrap{width:216px}
}
@supports(height:100dvh){@media(min-width:1024px) and (max-width:1263px){.home .hero{--hero-target-height:min(max(0px,calc(100dvh - var(--hero-header-height))),750px,var(--hero-compact-height-limit,650px))}}}
/* Keep the independent navigation breakpoint at 1100px. */
@media(max-width:1023px){
 .home .hero{height:auto;display:flex;flex-direction:column;background:#f5faff}
 .home .hero .hero-copy{position:relative;left:auto;top:auto;order:1;width:auto;max-width:650px;margin:30px 28px}
 .home .hero-copy:before,.home .hero-wash,.home .hero-signature-wrap{display:none}
 .home .hero-photo{position:relative;inset:auto;order:2;width:100%;max-width:none;height:auto;aspect-ratio:3/2;transform:none;mask-image:none;z-index:0}
 .home .hero-photo img{width:100%;height:100%;object-fit:contain;object-position:center}
 .home.tm-editor-html .hero #quote.quote-panel{position:relative;top:auto;right:auto;order:3;width:min(480px,calc(100% - 56px));margin:32px auto}
 .home .mobile-quote{display:inline-flex;margin-top:24px}
}
/* Exceptional content uses flow, retaining the same candidate column widths. */
@media(min-width:1024px){
 .home .hero.is-stacked{height:auto;min-height:var(--hero-target-height);display:flex;flex-direction:column;background:#f5faff}
 .home .hero.is-stacked .hero-copy{position:relative;left:auto;top:auto;order:1;margin:30px calc(var(--hero-frame-edge) + 24px)}
 .home .hero.is-stacked .hero-copy-backdrop,.home .hero.is-stacked .hero-signature-wrap{display:none}
 .home .hero.is-stacked .hero-photo{position:relative;left:auto;top:auto;bottom:auto;order:2;width:var(--hero-frame-width);height:auto;aspect-ratio:3/2;transform:none;margin:0 auto;z-index:0;mask-image:none}
 .home .hero.is-stacked .hero-photo img{object-fit:contain;object-position:center}
 .home.tm-editor-html .hero.is-stacked #quote.quote-panel{position:relative;top:auto;right:auto;order:3;margin:32px auto}
}
@media(max-width:767px){.home .hero{--hero-header-height:92px}}
/* A local mask boost behind Smooth keeps the established gradient edges intact. */
@media(min-width:1024px) and (max-width:1263px),(min-width:1400px){
 .home .hero-copy-backdrop{--hero-h-mask-y:calc(var(--hero-backdrop-rise) - var(--hero-copy-ink-top,0px) + 152.35px);mask-image:linear-gradient(90deg,#000 calc(var(--hero-copy-clear-x) - 80px),rgba(0,0,0,.98) calc(var(--hero-copy-clear-x) - 56px),rgba(0,0,0,.9) calc(var(--hero-copy-clear-x) - 32px),rgba(0,0,0,.7) calc(var(--hero-copy-clear-x) - 16px),rgba(0,0,0,.3) calc(var(--hero-copy-clear-x) - 6px),transparent var(--hero-copy-clear-x)),linear-gradient(180deg,#000 calc(var(--hero-backdrop-clear-y) - 24px),transparent var(--hero-backdrop-clear-y)),radial-gradient(ellipse 24px 28px at 50% 50%,rgba(0,0,0,.45) 0%,rgba(0,0,0,.3) 45%,transparent 100%);mask-size:100% 100%,100% 100%,48px 56px;mask-position:0 0,0 0,calc(var(--hero-copy-clear-x) - 48px) var(--hero-h-mask-y)}
}
@media(min-width:1024px) and (max-width:1263px){
 .home .hero-copy-backdrop{--hero-h-mask-y:calc(var(--hero-backdrop-rise) - var(--hero-copy-ink-top,0px) + 64.5px + clamp(61.275px,calc(61.275px + (100vw - 1024px) * .0674686125),77.4px))}
}
@media(min-width:1200px) and (max-width:1263px){
 .home .hero-copy-backdrop{--hero-h-mask-y:calc(var(--hero-backdrop-rise) - var(--hero-copy-ink-top,0px) + 68.5px + clamp(61.275px,calc(61.275px + (100vw - 1024px) * .0674686125),77.4px))}
}
