/* Cinematic layer: serif display type, spaced-caps nav, hero strip, scroll transitions */
:root{--serif:'Cormorant Garamond',Georgia,'Times New Roman',serif}
.nav-links a{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;font-weight:600}
.nav-cta{background:transparent;color:#F5F3EE;border:1px solid rgba(208,209,208,.55);border-radius:0;height:36px;font-size:11px;letter-spacing:.16em;text-transform:uppercase}
.nav-cta:hover{background:#D0D1D0;color:#17191B}
.h-hero h1,.fin-big,.idx-h,.fill,.closing h2,.idx-row span,.sv h3,.places h3,.ceo h2,h1.display,.section-head h2,.cta-band h2{font-family:var(--serif);font-weight:500}
h1.display,.section-head h2,.cta-band h2,.ceo h2{letter-spacing:-.01em}
.h-hero h1{font-size:clamp(54px,9.5vw,140px);line-height:.94;letter-spacing:-.02em;max-width:12ch}
em{font-style:italic}.h-hero h1 em,.fin-big em,.closing h2 em{color:#D0D1D0;font-weight:500}.closing h2 em,.finance .fin-big em{color:#4A4D4F}
.fill{font-size:clamp(30px,5vw,68px);line-height:1.08}.fin-big{font-size:clamp(40px,8.5vw,124px)}.idx-row span{font-size:clamp(38px,7vw,96px)}
.h-hero img{filter:saturate(.62) contrast(1.06);object-position:60% 55%}
.h-shade{background:radial-gradient(120% 90% at 60% 40%,transparent 30%,rgba(23,25,27,.75)),linear-gradient(to top,rgba(23,25,27,.95),rgba(23,25,27,.2) 55%,rgba(23,25,27,.35))}
.h-hero{flex-direction:column;justify-content:flex-end;align-items:stretch}
.h-copy{padding-bottom:22px;will-change:transform,opacity}.h-lead{font-size:16px}
.h-kicker{letter-spacing:.2em;text-transform:uppercase;font-size:11.5px}
.h-stripwrap{position:relative;padding-bottom:clamp(20px,4vh,40px)}
.h-strip{display:grid;grid-template-columns:2fr 1.2fr auto;border:1px solid rgba(208,209,208,.3);background:rgba(23,25,27,.72)}
.h-strip label{display:block;padding:12px 18px;border-right:1px solid rgba(208,209,208,.2);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#BDBEBC}
.h-strip input,.h-strip select{display:block;width:100%;margin-top:4px;padding:0;background:transparent;border:0;color:#F5F3EE;font:inherit;font-size:15px;letter-spacing:0;text-transform:none}
.h-strip select option{color:#17191B}.h-strip input::placeholder{color:#8F9190}
.h-strip input:focus-visible,.h-strip select:focus-visible{outline-offset:6px}
.h-strip button{border:0;padding:0 34px;font:inherit;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:#17191B;cursor:pointer;background:linear-gradient(180deg,#EDEEED,#B5B6B5)}
.h-strip button:hover{background:linear-gradient(180deg,#fff,#CFCFCF)}
@media(max-width:720px){.h-strip{grid-template-columns:1fr}.h-strip label{border-right:0;border-bottom:1px solid rgba(208,209,208,.2)}.h-strip button{height:48px}.h-lead,.h-copy .btn-row{display:none}}
.sp{position:fixed;top:0;left:0;width:100%;height:2px;background:#D0D1D0;transform-origin:0 50%;transform:scaleX(0);z-index:90;pointer-events:none}
.js-reveal [data-reveal=mask]{opacity:0;transform:translateY(34px);clip-path:inset(0 0 100% 0);transition:clip-path 1.1s cubic-bezier(.2,.7,.2,1),transform 1.1s cubic-bezier(.2,.7,.2,1),opacity .5s}
.js-reveal [data-reveal=mask].in{opacity:1;transform:none;clip-path:inset(0 0 -20% 0)}
[data-frame]{will-change:clip-path}
@media(prefers-reduced-motion:no-preference){
.h-copy>*,.h-stripwrap{animation:rise 1.1s cubic-bezier(.2,.7,.2,1) both}.h-copy>*:nth-child(2){animation-delay:.12s}.h-copy>*:nth-child(3){animation-delay:.24s}.h-copy>*:nth-child(4){animation-delay:.34s}.h-stripwrap{animation-delay:.5s}
@media(min-width:721px){.h-hero::after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.07) 50%,transparent 58%);transform:translateX(-65%);animation:sweep 10s ease-in-out infinite}}}
@keyframes rise{from{opacity:0;transform:translateY(28px)}}
@keyframes sweep{55%,100%{transform:translateX(65%)}}
@media(prefers-reduced-motion:reduce){.sp{display:none}.js-reveal [data-reveal=mask]{opacity:1;transform:none;clip-path:none}}
