/* V04: homepage only. Delivered WebP images are used byte-for-byte. */
.home-v04 .header{position:fixed;inset:0 0 auto;height:100px;background:transparent;border:0;box-shadow:none;z-index:60}
.home-v04 .header:before{content:'';position:absolute;inset:0 0 auto;height:180px;background:linear-gradient(180deg,rgba(0,0,0,.82),transparent);z-index:-1;pointer-events:none}
.home-v04 .header-inner{width:100%;max-width:1920px;padding:0 8%}
.home-v04 .header .brand img{background:none;border:0;border-radius:0;box-shadow:none;filter:none;padding:0}
.home-v04 .header .wordmark-first,.home-v04 .header .wordmark-last,.home-v04 .header .nav a{color:#f5f3ee}
.home-v04 .header .claim{color:#c52a2e}
.home-v04 .header .nav a[aria-current=page]{border-bottom-color:#c52a2e}
.home-v04 .header .nav-contact{background:#c52a2e}
.home-v04 .header .menu-toggle{background:rgba(21,19,17,.7);color:white;border-color:#82766b}
.home-v04 .header.is-scrolled{background:#151311;border-bottom:1px solid #514b46}
.home-v04 .header.is-scrolled:before{display:none}
.home-v04 .cm-home-v04{position:relative;isolation:isolate;display:block;min-height:max(900px,100svh);padding:0;overflow:hidden;background:#111;color:#f6f1e7}
.home-v04 .cm-home-v04:after{display:none}
.v04-scene{position:absolute;inset:0;background-size:cover;background-position:50% 50%;background-repeat:no-repeat;pointer-events:none;z-index:-1}
.v04-base{background-image:url('assets/cm-home-v04-default.webp')}
.v04-hover{background-image:url('assets/cm-home-v04-hover.webp');opacity:0;transition:opacity 850ms ease}
.cm-home-v04.is-lit .v04-hover{opacity:1}
.cm-home-v04.is-entering .v04-hover{transition-duration:650ms}
.home-v04 .cm-home-v04>.wrap{width:84%;max-width:1613px;margin:auto}
.home-v04 .cm-home-v04 .hero-content{position:relative;z-index:2;max-width:46%;padding:165px 0 115px;pointer-events:none}
.home-v04 .cm-home-v04 .hero-content a{pointer-events:auto}
.home-v04 .cm-home-v04 .v21-signature{color:#f6f1e7;font-size:22px}
.home-v04 .cm-home-v04 h1{font-size:clamp(44px,3.65vw,62px);line-height:1.07;color:#f6f1e7;max-width:600px;text-shadow:0 2px 18px #000a}
.home-v04 .cm-home-v04 h1 em{color:#f6f1e7}
.home-v04 .cm-home-v04 .intro{color:#f6f1e7;max-width:510px;font-size:16px;text-shadow:0 2px 18px #000a}
.home-v04 .cm-home-v04 .text-link{color:#f6f1e7}
.home-v04 .cm-home-v04 .actions{gap:20px;flex-wrap:wrap}
.v04-light-control{position:absolute;left:8%;bottom:27px;z-index:3}
.v04-light-control button{min-height:44px;background:#17120ddd;color:#f6f1e7;border:1px solid #ac9c84;padding:10px 16px;font-size:11px;letter-spacing:.06em;cursor:pointer}
.v04-light-control button:disabled{opacity:.5;cursor:default}
.home-v04 .header a:focus-visible,.home-v04 .header button:focus-visible,.cm-home-v04 a:focus-visible,.cm-home-v04 button:focus-visible{outline:3px solid #f6f1e7;outline-offset:5px}
@media(min-width:1700px){.home-v04 .cm-home-v04 .hero-content{padding-top:205px}}
@media(max-width:1200px) and (min-width:901px){.home-v04 .header-inner{padding-inline:5%}.home-v04 .cm-home-v04>.wrap{width:90%}.home-v04 .cm-home-v04 .hero-content{max-width:46%;padding-top:145px}.home-v04 .cm-home-v04 h1{font-size:44px}}
/* Preserve the existing mobile pattern: HTML text, then a complete scene.
   The natural aspect ratio fits the delivered image without inventing a crop. */
@media(max-width:900px){
 .home-v04 .header{height:80px}.home-v04 .header-inner{padding:0 24px}.home-v04 .header .nav{background:#151311;border-color:#514b46;max-height:calc(100dvh - 80px)}
 .home-v04 .cm-home-v04{display:flex;flex-direction:column;min-height:0;background:#111}
 .home-v04 .cm-home-v04>.wrap{order:0;width:calc(100% - 48px);max-width:none}
 .home-v04 .cm-home-v04 .hero-content{max-width:none;padding:118px 0 30px}
 .home-v04 .cm-home-v04 .v21-signature{font-size:21px;margin-bottom:25px}
 .home-v04 .cm-home-v04 h1{font-size:43px;max-width:640px}
 .home-v04 .cm-home-v04 .intro{font-size:16px;max-width:600px}
 .home-v04 .cm-home-v04 .actions{flex-direction:column;align-items:stretch;gap:12px}
 .home-v04 .cm-home-v04 .actions .text-link{align-self:start;padding:5px 0}
 .home-v04 .cm-home-v04 .actions .button{align-self:start}
 .v04-base{position:relative;inset:auto;order:1;width:100%;aspect-ratio:1672/941;z-index:0;background-position:65% 50%}
 .v04-hover{inset:auto;order:1;width:100%;aspect-ratio:1672/941;background-position:65% 50%;display:none}
 .v04-light-control{display:none}
}
@media(hover:none),(pointer:coarse){.v04-light-control{display:none}.v04-hover{opacity:0!important;transition:none}}
@media(prefers-reduced-motion:reduce){.v04-hover{transition:none!important}}
/* The shared .wrap has its own gutters; avoid counting the hero gutters twice. */
.home-v04 .cm-home-v04>.wrap{padding:0}
/* V05 authorized editorial treatment. Scene/crop/state logic remain V04. */
.home-v04 .cm-home-v04 h1{font-size:clamp(76px,6.7vw,112px);line-height:.98;letter-spacing:-.035em}
.home-v04 .cm-home-v04 h1 em{display:inline;color:#c52a2e}
.home-v04 .cm-home-v04 .v05-hero-statement{font:18px/1.5 Georgia,serif;max-width:480px;margin-top:20px;color:#f6f1e7}
.home-v04 .cm-home-v04 .intro{border-left:1px solid #c7bdb3;padding-left:16px}
.home-v04 .cm-home-v04 .actions a>span{display:inline-block;transition:transform 180ms ease,opacity 180ms ease}
.home-v04 .cm-home-v04 .actions a:hover>span,.home-v04 .cm-home-v04 .actions a:focus-visible>span{transform:translateX(3px);opacity:.75}
.home-v04 .cm-home-v04 .text-link{text-shadow:0 2px 8px #000}
@media(max-width:1200px) and (min-width:901px){.home-v04 .cm-home-v04 h1{font-size:72px}}
@media(max-width:900px){.home-v04 .cm-home-v04 h1{font-size:clamp(54px,8.5vw,74px)}.home-v04 .cm-home-v04 .v05-hero-statement{font-size:17px;max-width:600px}}
@media(prefers-reduced-motion:reduce){.home-v04 .cm-home-v04 .actions a>span{transition:none;transform:none!important}}

/* A thin neutral halo keeps text readable over both delivered lighting states. */
.home-v04 .cm-home-v04 h1 em,.home-v04 .cm-home-v04 .v05-hero-statement,.home-v04 .cm-home-v04 .intro{text-shadow:-1px -1px 0 #151311,1px -1px 0 #151311,-1px 1px 0 #151311,1px 1px 0 #151311,0 0 2px #151311}
