/* Four photographs, one editorial type system. */
/* Readiness releases the entrance early; CSS supplies a script-independent exit. */
.arrival{animation:arrival-away .55s 6s both;transition:opacity .55s ease,visibility 0s .55s}
.arrival.is-ready{animation:none;opacity:0;visibility:hidden}
.arrival>*{opacity:0;transition:opacity .18s ease}
.arrival.is-loading>*{opacity:1}
.arrival i{animation:none}
.arrival.is-loading i{animation:arrival-pulse 1.4s ease-in-out infinite alternate}
@keyframes arrival-pulse{from{opacity:.3;transform:scaleX(.35)}to{opacity:1;transform:scaleX(1)}}
.in-cinematic-hero .site-header.scrolled{background:linear-gradient(180deg,#10231bb0,transparent);color:var(--paper)}
.hero.hero-cinema{--intro:1;--intro-y:0px;height:100svh;min-height:600px;position:relative;background:var(--forest);color:#fff}
.hero-cinema.is-scroll-story{height:520svh;min-height:0}
.cinema-stage{height:100svh;min-height:600px;position:sticky;top:0;isolation:isolate;overflow:hidden;background:var(--forest)}
.cinema-images,.cinema-slide,.cinema-atmosphere{position:absolute;inset:0}
.cinema-images{z-index:-3;overflow:hidden}
.cinema-slide{opacity:0;overflow:hidden;will-change:mask-image}
.cinema-slide:first-child{opacity:1}
.cinema-slide picture{display:block;position:absolute;inset:0 -2%;will-change:transform}
.cinema-slide img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:none;transform:none}
/* Navigation shade only; reading contrast travels with each text block. */
.cinema-atmosphere{z-index:-2;pointer-events:none;background:linear-gradient(180deg,rgba(9,25,19,.18),transparent 20%)}
.cinema-grain{position:absolute;inset:0;pointer-events:none;z-index:9;opacity:.026;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.7'/%3E%3C/svg%3E");mix-blend-mode:soft-light}

.hero-cinema .film-panel{
 position:absolute;z-index:5;left:var(--gutter);right:var(--gutter);
 bottom:clamp(36px,6.5svh,80px);display:grid;
 grid-template-columns:minmax(0,1fr) minmax(0,min(24vw,360px));
 align-items:end;column-gap:3.5vw;pointer-events:none;color:#fff;
 will-change:transform,opacity;
}
.film-opening{opacity:var(--intro,1);transform:translateY(var(--intro-y,0px))}
.film-audience{opacity:var(--audience,0);visibility:hidden;transform:translateY(var(--audience-y,24px))}
.film-audience.is-present{visibility:visible}
.film-value{opacity:var(--value,0);transform:translateY(var(--value-y,24px))}
.film-trust{opacity:var(--trust,0);transform:translateY(var(--trust-y,24px))}

.hero-cinema .film-panel .film-headline{
 font:400 clamp(46px,6.15vw,124px)/1.04 var(--serif);
 letter-spacing:-.045em;margin:0;max-width:none;min-width:0;
 text-shadow:0 2px 26px #14261c40;
}
.hero-cinema .film-headline>span,.hero-cinema .film-headline>em{
 display:block;font-size:1em;line-height:inherit;letter-spacing:inherit;
 font-weight:400;margin:0;padding:0;white-space:nowrap;color:inherit;
}
.hero-cinema .film-headline>em{margin-top:.025em}
.film-support{min-width:0;padding-bottom:.2em}
.film-support>p{font:400 clamp(12px,.94vw,15px)/1.8 var(--sans);max-width:36ch;text-wrap:pretty;text-shadow:0 1px 12px #0c1d15b3}
.hero-cinema .film-panel--right{grid-template-columns:minmax(0,min(24vw,360px)) minmax(0,1fr)}
.film-panel--right .film-headline{grid-column:2;grid-row:1;text-align:right}
.film-panel--right .film-support{grid-column:1;grid-row:1}

/* Soft local shade, fading and moving with the copy rather than the image. */
.hero-cinema .film-panel .film-headline,.film-support{position:relative;isolation:isolate}
.hero-cinema .film-panel .film-headline{width:fit-content;max-width:100%}
.film-panel--right .film-headline{justify-self:end}
.film-headline::before,.film-support::before{
 content:'';position:absolute;z-index:-1;pointer-events:none;
 inset:-44px -60px;filter:blur(18px);
 background:radial-gradient(ellipse at center,rgba(5,14,10,.62) 0%,rgba(5,14,10,.42) 42%,transparent 76%);
}
.film-support::before{
 inset:-38px -46px;
 background:radial-gradient(ellipse at center,rgba(5,14,10,.66) 0%,rgba(5,14,10,.44) 42%,transparent 78%);
}

/* The action reads as a small editorial link, with no filled button. */
.film-primary-cta{
 display:inline-flex;align-items:center;justify-content:space-between;gap:22px;
 width:fit-content;max-width:100%;min-height:44px;margin-top:20px;padding:8px 0;
 border-bottom:1px solid #ffffff70;background:transparent;color:#fff;
 font:500 11px/1.5 var(--sans);letter-spacing:.025em;text-transform:none;
 pointer-events:auto;text-shadow:0 1px 10px #0c1d1580;transition:border-color .25s;
}
.film-primary-cta svg{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1;transition:transform .3s}
.film-primary-cta:hover{border-color:#fff}
.film-primary-cta:hover svg{transform:translateX(4px)}
.film-primary-cta:focus-visible{outline:2px solid #fff;outline-offset:6px}

@media(min-width:761px) and (max-width:1050px){
 .hero-cinema .film-panel{grid-template-columns:minmax(0,1fr);row-gap:25px}
 .hero-cinema .film-panel .film-headline{font-size:7.8vw}
 .film-support{max-width:410px}
 .film-support>p{font-size:13px;max-width:none}
 .film-panel--right .film-headline,.film-panel--right .film-support{grid-column:1;grid-row:auto}
 .film-panel--right .film-support{justify-self:end}
}
@media(max-width:760px){
 html.mobile-cinema-framing,body.in-cinematic-hero{background:#000}
 .hero.hero-cinema{min-height:0;background:#000}
 .hero-cinema.is-scroll-story{height:450svh}
 .cinema-stage{height:100svh;min-height:0;background:#000}
 .in-cinematic-hero .site-header,.in-cinematic-hero .site-header.scrolled{background:linear-gradient(180deg,#0009,transparent)}
 .hero-cinema .film-panel{left:24px;right:24px;bottom:max(30px,env(safe-area-inset-bottom));grid-template-columns:minmax(0,1fr);row-gap:22px}
 .hero-cinema .film-panel .film-headline{font-size:clamp(27px,8.5vw,64px);line-height:1.08;letter-spacing:-.045em}
 .film-support{max-width:350px;padding:0}
 .film-support>p{font-size:12px;line-height:1.75;max-width:none}
 .film-primary-cta{font-size:11px;margin-top:14px;gap:20px}
 .film-panel--right .film-headline,.film-panel--right .film-support{grid-column:1;grid-row:auto}
 .film-panel--right .film-support{justify-self:end}
 .film-headline::before,.film-support::before{inset:-25px -32px;filter:blur(14px)}
}
@media(max-height:650px) and (min-width:761px){
 .cinema-stage{min-height:480px}
 .hero-cinema .film-panel{bottom:30px;grid-template-columns:minmax(0,1fr) minmax(0,25vw);column-gap:3vw}
 .hero-cinema .film-panel--right{grid-template-columns:minmax(0,25vw) minmax(0,1fr)}
 .hero-cinema .film-panel .film-headline{font-size:min(6.15vw,13svh)}
 .film-panel--right .film-headline{grid-column:2;grid-row:1}
 .film-panel--right .film-support{grid-column:1;grid-row:1}
 .film-support>p{font-size:12px;line-height:1.65}
 .film-primary-cta{margin-top:12px}
}
@media(max-height:500px) and (max-width:760px){.cinema-stage{min-height:480px}}
@media(prefers-reduced-motion:reduce){
 .hero.hero-cinema{height:100svh;min-height:480px}
 .cinema-stage{position:relative;min-height:480px}
 .cinema-slide picture{transform:none!important}
 .film-opening{opacity:1!important;transform:none!important}
 .hero-cinema .film-audience{display:none}
 .film-primary-cta,.film-primary-cta svg{transition:none}
}
