/* Unified hero: deliberately broken headlines, clear left column and right-centred photos. */
.hero-slide{position:absolute;inset:0}.hero-slide[hidden]{display:none!important}
.hero.layout-immersive.hero-carousel{--hero-surface:#fff7f0;--hero-gutter:max(56px,calc((100vw - 1400px)/2));background:var(--hero-surface);color:#4b2029;height:max(820px,calc(100svh - 112px));min-height:820px;max-height:1100px;isolation:isolate}
.hero-carousel .wrap.hero-copy{width:min(1400px,calc(100% - 112px));margin-inline:auto;position:relative;z-index:2;padding:clamp(90px,13vh,150px) 0 145px!important;pointer-events:none}
.hero-carousel .hero-copy>*{pointer-events:auto}
.hero.layout-immersive.hero-carousel .hero-copy :is(h1,h2){font-size:clamp(62px,5.7vw,92px);font-weight:600;line-height:1.07;letter-spacing:-.045em;width:52%;max-width:730px;min-height:2.14em;margin:28px 0 26px;text-wrap:initial}
.hero-title-line{display:block;white-space:nowrap}
.hero.layout-immersive.hero-carousel .hero-copy .eyebrow{font-size:10px;letter-spacing:.17em;line-height:1.5;max-width:48%}
.hero.layout-immersive.hero-carousel .hero-copy p{width:39%;max-width:410px;min-height:5.1em;margin:0 0 28px;font-size:17px;line-height:1.8;color:#78575f;text-wrap:pretty}
.hero.layout-immersive.hero-carousel .hero-copy .button{font-size:16px;min-height:60px;padding:17px 27px;gap:20px}
/* A real alpha mask, rather than a painted rectangle, blends into the exact surface tone. */
.hero.layout-immersive.hero-carousel .hero-image{position:absolute;inset:0 0 auto auto;left:auto;right:0;width:64%;height:100%;max-width:none;object-fit:cover;border-radius:0;mask-image:linear-gradient(90deg,transparent 0%,#000 36%,#000 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 36%,#000 100%);filter:saturate(1.02) contrast(1.01);animation:hero-photo-arrive 1s ease both,hero-drift 14s ease-out both;transform-origin:75% 42%}
.hero.layout-immersive.hero-carousel .hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(0deg,var(--hero-surface) 0%,#fff7f0e6 6%,#fff7f040 20%,transparent 34%),linear-gradient(90deg,var(--hero-surface) 0%,#fff7f0f2 30%,#fff7f070 45%,transparent 64%)}
.hero-carousel .hero-controls{position:absolute;z-index:4;right:var(--hero-gutter);left:auto;bottom:35px;display:flex;align-items:center;gap:7px;padding:7px;background:#fffaf3ed;border:1px solid #a8000019;border-radius:100px;backdrop-filter:blur(12px)}
.hero-controls[hidden]{display:none!important}.hero-controls button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;width:42px;height:42px;border:0;border-radius:50%;background:transparent;color:#7e3441;cursor:pointer;font:inherit;font-size:12px}.hero-controls button:hover{background:#f0ded8}.hero-controls [data-hero-go][aria-pressed=true]{background:#a80000;color:#fff}.hero-dots{display:flex;gap:3px}.hero-carousel .scroll-cue{left:var(--hero-gutter);bottom:42px;z-index:4;letter-spacing:.12em}
.hero-slide:not([hidden]) .hero-copy{animation:hero-copy-arrive .8s cubic-bezier(.22,1,.36,1) both}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes hero-copy-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes hero-photo-arrive{from{opacity:.3}to{opacity:1}}
@keyframes hero-drift{from{transform:scale(1.025)}to{transform:scale(1)}}
@media(min-width:761px) and (max-width:1100px){.hero.layout-immersive.hero-carousel{--hero-gutter:36px;min-height:820px}.hero-carousel .wrap.hero-copy{width:calc(100% - 72px);padding-top:90px!important}.hero.layout-immersive.hero-carousel .hero-copy :is(h1,h2){font-size:clamp(49px,5.7vw,62px);width:55%}.hero.layout-immersive.hero-carousel .hero-copy p{width:43%;font-size:16px}.hero.layout-immersive.hero-carousel .hero-image{width:66%}}
@media(max-width:760px){
 .hero.layout-immersive.hero-carousel{--hero-gutter:24px;display:flex;flex-direction:column;height:auto;min-height:0;max-height:none;padding-bottom:27px}
 .hero-carousel .hero-slide{position:relative;inset:auto;width:100%;min-height:0}
 .hero.layout-immersive.hero-carousel .hero-image{position:absolute;inset:0 0 auto;width:100%;height:510px!important;object-position:center 32%!important;mask-image:linear-gradient(180deg,#000 0%,#000 55%,#000b 72%,#0003 88%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,#000b 72%,#0003 88%,transparent 100%);transform-origin:center 32%}
 .hero.layout-immersive.hero-carousel .hero-shade{display:none}
 .hero-carousel .wrap.hero-copy{width:calc(100% - 48px);margin-inline:24px;padding:442px 0 0!important}
 .hero.layout-immersive.hero-carousel .hero-copy .eyebrow{font-size:9px;line-height:1.6;letter-spacing:.1em;max-width:100%}
 .hero.layout-immersive.hero-carousel .hero-copy :is(h1,h2){font-size:clamp(39px,10.6vw,62px);line-height:1.12;width:100%;max-width:none;min-height:2.24em;letter-spacing:-.04em;margin:22px 0 22px}
 .hero-title-line{white-space:normal;text-wrap:balance}
 .hero.layout-immersive.hero-carousel .hero-copy p{width:100%;max-width:100%;min-height:6.8em;font-size:16px;line-height:1.7;margin:0 0 25px}
 .hero.layout-immersive.hero-carousel .hero-copy .button{font-size:14px;min-height:56px;padding:15px 24px}
 .hero-carousel .hero-controls{position:relative;inset:auto;align-self:flex-start;margin:35px 24px 0;padding:5px;gap:5px;max-width:calc(100% - 48px)}
 .hero-controls button{width:36px;height:40px;min-height:40px;font-size:11px}.hero-dots{gap:2px}
 .hero-carousel .scroll-cue{position:relative;inset:auto;margin:24px 24px 0;align-self:flex-start;font-size:9px}.hero-carousel .scroll-cue span{height:31px}
}
@media(prefers-reduced-motion:reduce){.hero-slide:not([hidden]) .hero-copy,.hero.layout-immersive.hero-carousel .hero-image{animation:none!important;transform:none}}
.motion-paused .hero-slide:not([hidden]) .hero-copy,.motion-paused .hero-image{animation:none!important;transform:none}
