/* Full-width cinematic heroes across all five pages. */
.hero,.hero.inner-hero,.contact-hero{position:relative;isolation:isolate;display:flex;align-items:center;grid-template-columns:none;width:100%;min-height:clamp(660px,calc(100svh - 92px),920px);height:auto;overflow:hidden;background:#22251f;color:#f8f5ef;padding:0}
.hero .hero-media,.hero.inner-hero .hero-media,.contact-hero .contact-backdrop{position:absolute;inset:0;z-index:0;width:100%;height:100%;min-height:0;margin:0;overflow:hidden;pointer-events:none}
.hero .hero-media img,.contact-hero .contact-backdrop img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform-origin:60% 48%;animation:cinematic-drift 24s ease-in-out infinite alternate;will-change:transform}
.hero .hero-media:after,.contact-hero:before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,20,15,.86) 0%,rgba(15,20,15,.66) 39%,rgba(15,20,15,.24) 77%,rgba(15,20,15,.12) 100%),linear-gradient(0deg,rgba(15,20,15,.48),transparent 38%,rgba(15,20,15,.12));pointer-events:none}
.hero .hero-copy,.hero.inner-hero .hero-copy,.contact-hero .contact-hero-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;width:min(1320px,calc(100% - 112px));margin:0 auto;padding:88px 0 96px;min-width:0}
.hero h1,.hero.inner-hero h1,.contact-hero h1{font-size:clamp(3.7rem,5.9vw,6.5rem);line-height:1.04;letter-spacing:-.045em;max-width:19ch;text-wrap:balance;text-shadow:0 2px 28px #1113}
.hero h1 em,.contact-hero h1 em{color:#e4c58c;font-weight:400}.hero .eyebrow,.contact-hero .eyebrow{color:#e4c58c;margin:0 0 24px;font-size:12px;letter-spacing:.19em}
.hero p,.contact-hero p{max-width:52ch;color:#eeeae2;font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.8;margin:28px 0 0;text-shadow:0 1px 16px #1114}
.hero .hero-actions{margin-top:34px;gap:25px}.contact-hero-content>.button{margin-top:34px}.hero .hero-bottom{color:#e1e4d8;margin-top:36px;font-size:13px}.hero .hero-bottom span{background:#e4c58c}
.hero .image-note,.contact-hero .hero-image-label{position:absolute;z-index:3;bottom:20px;right:24px;left:auto;max-width:calc(100% - 40px);margin:0;padding:5px 10px;font-size:10px;line-height:1.5;background:#182016a6;color:#f1eee7}
.contact-hero .hero-image-label{bottom:60px}.contact-hero .contact-hero-content{padding-bottom:120px}.hero .button,.contact-hero .button{min-height:55px;position:relative;overflow:hidden;transition:background .25s,transform .25s,box-shadow .25s}.hero .button:hover,.contact-hero .button:hover{transform:translateY(-3px);box-shadow:0 12px 30px #0003}.hero .button:after,.contact-hero .button:after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,#ffffff55,transparent 75%);transform:translateX(-120%);transition:transform .7s}.hero .button:hover:after,.contact-hero .button:hover:after{transform:translateX(120%)}
@keyframes cinematic-drift{from{transform:scale(1.025) translate3d(-.5%,0,0)}to{transform:scale(1.14) translate3d(.7%,-.5%,0)}}
@media(min-width:1600px){.hero h1,.hero.inner-hero h1,.contact-hero h1{font-size:7rem}.hero p,.contact-hero p{font-size:1.15rem}}
@media(max-width:1100px){.hero .hero-copy,.hero.inner-hero .hero-copy,.contact-hero .contact-hero-content{width:calc(100% - 64px)}.hero h1,.hero.inner-hero h1,.contact-hero h1{font-size:clamp(3.5rem,6.4vw,5rem);max-width:18ch}}
@media(max-width:800px){.hero,.hero.inner-hero,.contact-hero{min-height:clamp(620px,calc(90svh - 80px),820px)}.hero .hero-copy,.hero.inner-hero .hero-copy{padding:74px 0 80px}.contact-hero .contact-hero-content{padding:74px 0 115px}.hero h1,.hero.inner-hero h1,.contact-hero h1{font-size:clamp(3.1rem,7.7vw,4.8rem);max-width:19ch}.hero .hero-media:after,.contact-hero:before{background:linear-gradient(90deg,#10180fdf,#10180f7a),linear-gradient(0deg,#10180f73,transparent 50%)}.hero p,.contact-hero p{max-width:45ch}.hero .hero-media img,.contact-hero .contact-backdrop img{object-position:58% 50%}}
@media(max-width:520px){.hero,.hero.inner-hero,.contact-hero{min-height:620px}.hero .hero-copy,.hero.inner-hero .hero-copy,.contact-hero .contact-hero-content{width:calc(100% - 40px);padding:62px 0 74px}.contact-hero .contact-hero-content{padding-bottom:112px}.hero h1,.hero.inner-hero h1,.contact-hero h1{font-size:clamp(2.65rem,10.3vw,3.45rem);line-height:1.09;max-width:100%;overflow-wrap:normal}.hero .eyebrow,.contact-hero .eyebrow{font-size:10px;letter-spacing:.13em;margin-bottom:22px}.hero p,.contact-hero p{font-size:15px;line-height:1.8;margin-top:23px;max-width:37ch}.hero .hero-actions{margin-top:28px;gap:16px 23px}.hero .hero-bottom{margin-top:28px;font-size:12px}.hero .image-note{bottom:16px;right:16px;font-size:9px}.contact-hero .hero-image-label{right:16px;font-size:9px}.hero .hero-media img{object-position:58% 50%}}
@media(prefers-reduced-motion:reduce){.hero .hero-media img,.contact-hero .contact-backdrop img{animation:none!important;transform:none;will-change:auto}.hero .button,.contact-hero .button,.hero .button:after,.contact-hero .button:after{transition:none!important}}

/* Preserve the supplied Home photo and avoid excessive enlargement. */
.hero:has(#hero-title) .hero-media img{filter:none;animation:home-cinematic-drift 26s ease-in-out infinite alternate;image-rendering:auto}
@keyframes home-cinematic-drift{from{transform:scale(1)}to{transform:scale(1.035)}}
@media(prefers-reduced-motion:reduce){.hero:has(#hero-title) .hero-media img{animation:none!important;transform:none}}
