@font-face{font-family:Inter;src:url('./assets/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#f5f4ed;--ink:#152623;--content:112rem;--gutter:clamp(1.5rem,4.2vw,6.25rem);--scroll:0;color:var(--paper);font-family:Inter,Arial,sans-serif;font-synthesis:none}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:6rem;scrollbar-gutter:auto}
/* Hide the visual rails while keeping native scrolling and keyboard access. */
*{scrollbar-width:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
body{margin:0;background:var(--paper)}
main{position:relative;isolation:isolate;background:var(--paper);overflow:clip}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
button{font:inherit}
a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:8px}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:100;padding:1rem;background:var(--paper);color:var(--ink);transform:translateY(-200%)}
.skip-link:focus{transform:translateY(0)}
.header{position:fixed;inset:0 0 auto;z-index:20;pointer-events:none}
.header::before{content:"";position:absolute;inset:0 0 -1rem;z-index:-1;pointer-events:none;background:rgba(128,128,128,.035);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);-webkit-mask-image:linear-gradient(to bottom,#000 65%,transparent);mask-image:linear-gradient(to bottom,#000 65%,transparent);opacity:clamp(0,calc((var(--scroll,0) - .2) / .8),1)}
body:has(.navigation[open]) .header::before{opacity:0}
.logo,.menu-toggle{--header-ink:#fff;color:var(--header-ink)}
.logo.is-on-light,.menu-toggle.is-on-light{--header-ink:#111}
body.menu-open .logo,body.menu-open .menu-toggle{--header-ink:#fff}
.header-inner{width:min(100%,calc(var(--content) + 2 * var(--gutter)));margin-inline:auto;padding:calc(1.2rem + (1 - var(--scroll)) * 1.3rem) var(--gutter);display:flex;justify-content:space-between;align-items:flex-start;position:relative}
.logo{display:block;font-size:calc(3rem + (clamp(4.2rem,6.7vw,8rem) - 3rem) * (1 - var(--scroll)));font-weight:800;letter-spacing:-.075em;line-height:.78;pointer-events:auto}
.logo-dot{color:inherit}
.menu-toggle{height:3rem;width:4rem;background:transparent;border:0;position:relative;cursor:pointer;pointer-events:auto;padding:0;flex-shrink:0}
.menu-line{height:2px;width:100%;position:absolute;left:0;top:var(--menu-line-top,calc(50% - 7px));background:currentColor;transform:translateY(var(--menu-line-y,0px));transition:top 400ms var(--motion-ease) var(--menu-merge-delay,120ms),transform 400ms var(--motion-ease) var(--menu-line-delay,0ms)}
.menu-line+.menu-line{top:var(--menu-line-top,calc(50% + 7px))}
.menu-label-mask{position:absolute;left:0;top:calc(50% - 19px);width:100%;height:24px;overflow:hidden;pointer-events:none}
.menu-label{display:block;font-size:1rem;font-weight:500;line-height:24px;letter-spacing:.025em;text-align:center;opacity:var(--menu-label-opacity,0);transform:translateY(var(--menu-label-y,110%));transition:transform 550ms var(--motion-ease) var(--menu-label-delay,0ms),opacity 250ms ease var(--menu-label-delay,0ms)}
.menu-toggle[aria-expanded="false"]:focus-visible{--menu-line-top:50%;--menu-line-y:8px;--menu-merge-delay:0ms;--menu-line-delay:160ms;--menu-label-opacity:1;--menu-label-y:0%;--menu-label-delay:260ms}
@media(hover:hover) and (pointer:fine){.menu-toggle[aria-expanded="false"]:hover{--menu-line-top:50%;--menu-line-y:8px;--menu-merge-delay:0ms;--menu-line-delay:160ms;--menu-label-opacity:1;--menu-label-y:0%;--menu-label-delay:260ms}}
.menu-toggle[aria-expanded="true"] .menu-line{top:50%;left:auto;right:0;width:var(--menu-close-width,var(--menu-rest-width,4rem));transform:translateY(var(--menu-close-y,0px)) rotate(var(--menu-close-angle,45deg));transition:transform 500ms var(--motion-ease),width 500ms var(--motion-ease)}
.menu-toggle[aria-expanded="true"] .menu-line+.menu-line{transform:translateY(var(--menu-close-y,0px)) rotate(calc(-1 * var(--menu-close-angle,45deg)))}
.hero{position:relative;background:transparent;height:var(--stage-height);min-height:var(--stage-height);display:flex;align-items:flex-end;overflow:hidden}
.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
.hero-image{z-index:1;object-fit:cover;object-position:center 48%;background:#334c4a}
.hero-shade{z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(5,20,22,.42) 0%,rgba(5,20,22,.03) 30%,rgba(5,20,22,.28) 57%,rgba(5,20,22,.78) 100%)}
.hero-content{position:relative;z-index:3;width:min(100%,calc(var(--content) + 2 * var(--gutter)));margin-inline:auto;padding:10rem var(--gutter) clamp(2.5rem,5.6vh,5.5rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,22rem);align-items:end;column-gap:clamp(2rem,4vw,6rem)}
.eyebrow{font-size:.875rem;line-height:1.5;font-weight:500;margin:0 0 1.75rem;letter-spacing:.04em}
h1{font-size:clamp(4rem,7.4vw,9.5rem);line-height:.99;font-weight:750;letter-spacing:-.065em;margin:0 0 -.025em}
.hero-aside{padding-bottom:.2rem}
.hero-aside>p{font-size:clamp(1rem,1.15vw,1.25rem);line-height:1.6;letter-spacing:-.025em;margin:0 0 1.8rem;max-width:26ch;text-wrap:pretty}
.split-button{display:grid;grid-template-columns:3fr 1fr;align-items:stretch;width:100%;min-height:4rem;color:var(--ink);font-size:.9375rem;font-weight:550;position:relative}
.button-label{display:flex;align-items:center;padding:1.3rem 1.5rem;background:var(--paper);transition:clip-path var(--motion-control) var(--motion-ease);clip-path:inset(0 0 0 0)}
.button-arrow{display:grid;place-items:center;background:var(--paper);overflow:hidden}
.button-arrow svg{width:1.4rem;height:1.4rem;stroke:currentColor;stroke-width:1.5;transform:translateY(3rem);transition:transform var(--motion-control) var(--motion-ease)}
.split-button:is(:hover,:focus-visible) .button-label{clip-path:inset(0 .5rem 0 0)}
.split-button:is(:hover,:focus-visible) .button-arrow svg{transform:translateY(0)}

.navigation{position:fixed;inset:0 0 auto;margin:0;padding:0;width:100%;height:var(--menu-panel-height);max-width:none;max-height:none;border:0;background:var(--ink);color:var(--paper);z-index:10;overflow-y:auto;overscroll-behavior:contain;transform:translate3d(-100%,-100%,0);transition:transform var(--menu-duration) var(--menu-ease)}
.navigation::backdrop{background:var(--ink)}
body:has(.navigation[open]) .header{z-index:30}
.navigation-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(14rem,.55fr);gap:3rem;width:min(100%,calc(var(--content) + 2 * var(--gutter)));min-height:100%;margin:auto;padding:clamp(3rem,6svh,5rem) var(--gutter);align-items:center}
.navigation nav a{display:block;width:fit-content;padding-block:clamp(.4rem,.9svh,.8rem);font-size:clamp(2.75rem,min(5.2vw,7.4svh),6.5rem);line-height:1.12;letter-spacing:-.05em;font-weight:600}
.nav-label-mask{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.nav-label{display:block;background-image:linear-gradient(to top,#c3ed56 50%,var(--paper) 50%);background-size:100% 200%;background-position:0 0;background-clip:text;-webkit-background-clip:text;color:transparent}
.navigation nav a:focus-visible .nav-label{background-position:0 100%}
@media(hover:hover) and (pointer:fine){.navigation nav a:hover .nav-label{background-position:0 100%}}
@media(forced-colors:active){.nav-label{background:none;color:LinkText}}
html.menu-locked{overflow:hidden;overscroll-behavior:none}
body.menu-open .header{z-index:30}
@media(min-width:1800px){.hero-content{grid-template-columns:minmax(0,1fr) 25rem}.hero-aside>p{max-width:28ch}}
@media(max-width:900px){.hero-content{grid-template-columns:minmax(0,1fr) 16rem;column-gap:1.5rem}h1{font-size:clamp(3.5rem,7.7vw,5.5rem)}.hero-aside>p{font-size:1rem}.button-label{padding-inline:1.1rem}}
@media(max-width:760px){.hero{min-height:34rem}.hero-content{grid-template-columns:1fr;gap:2rem;padding-top:9rem;padding-bottom:calc(2rem + env(safe-area-inset-bottom))}.hero-heading .eyebrow{font-size:.8125rem;margin-bottom:1.1rem}h1{font-size:clamp(2.7rem,12.5vw,4.6rem);line-height:1.02;letter-spacing:-.06em}.hero-aside{max-width:23rem}.hero-aside>p{max-width:32ch;margin-bottom:1.3rem;font-size:1rem;line-height:1.55}.split-button{width:min(100%,19rem);min-height:3.7rem}.header-inner{padding-top:calc(1.1rem + (1 - var(--scroll)) * .6rem)}.logo{font-size:calc(3rem + 1.2rem * (1 - var(--scroll)))}.menu-toggle{width:3.25rem;height:2.75rem}.hero-image{object-position:53% center}.hero-shade{background:linear-gradient(180deg,#071e2666,#071e2612 20%,#071e2650 45%,#071e26d9 100%)}}
@media(hover:none){.button-label{clip-path:inset(0 .35rem 0 0)}.button-arrow svg{transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-height:600px) and (min-width:761px){.hero{min-height:32rem}.hero-content{padding-top:8rem;padding-bottom:2rem}h1{font-size:clamp(3rem,7vw,6rem)}}

.story{position:relative;z-index:1;min-height:var(--stage-height);color:#fff;background:transparent;scroll-margin-top:0}
.story-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;min-height:var(--stage-height);width:min(100%,calc(var(--content) + 2 * var(--gutter)));margin-inline:auto}
.story-space{grid-column:2;grid-row:1}
.story-copy{grid-column:1;grid-row:1;position:relative;z-index:2;width:100%;max-width:44rem;padding:clamp(2rem,5vw,6rem);padding-inline-start:var(--gutter);margin-inline:0;text-align:left}
.story-copy .eyebrow{color:#ffffffd9;margin-bottom:1.5rem}
.story-copy h2{font-size:clamp(3rem,5.2vw,6.8rem);line-height:1.03;font-weight:700;letter-spacing:-.06em;margin:0 0 2rem}
.story-description{font-size:clamp(1rem,1.25vw,1.375rem);line-height:1.7;letter-spacing:-.025em;max-width:35ch;margin:0 0 2.4rem;color:#ffffffe6}
.split-button-dark{color:#fff;max-width:22rem}
.split-button-dark .button-label,.split-button-dark .button-arrow{background:#111}
.split-button-dark .button-label{padding-inline:1.3rem}
@media(max-width:760px){.story-grid{grid-template-columns:1fr}.story-copy{max-width:36rem;padding:3.5rem var(--gutter) 4.5rem}.story-copy h2{font-size:clamp(2.7rem,10vw,4.5rem);margin-bottom:1.5rem}.story-description{margin-bottom:1.8rem}.story-copy .eyebrow{font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){.hero-image{will-change:auto;transform:none!important}.story-copy>*{opacity:1!important;transform:none!important}}

/* Independent full-screen image and staggered text entrances. */
.panorama{position:relative;z-index:2;min-height:100vh;min-height:100svh;display:flex;align-items:flex-end;background:var(--ink);color:#fff}
.panorama-visual{position:absolute;inset-block:0;inset-inline:calc(clamp(1.5rem,10vw,12rem) * (1 - var(--panorama-expansion,1)));overflow:hidden;pointer-events:none}
.panorama-image,.panorama-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none}
.panorama-image{z-index:0;transform:translate3d(0,var(--panorama-drift,0px),0)}
.panorama-entry-dim{position:absolute;inset:0;z-index:1;background:#000;opacity:0;pointer-events:none;transition:opacity 200ms linear}
.reveal-ready .panorama-image{opacity:0;transition:opacity var(--motion-image) var(--motion-ease)}
.reveal-ready .panorama.is-visible .panorama-image{opacity:1}
.panorama-shade{z-index:2;background:linear-gradient(180deg,rgba(5,16,15,.15),rgba(5,16,15,.04) 25%,rgba(5,16,15,.32) 52%,rgba(5,16,15,.88))}
.panorama-content{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(2rem,5vw,7rem);width:min(100%,calc(var(--content) + 2 * var(--gutter)));margin-inline:auto;padding:10rem var(--gutter) clamp(3rem,8vh,7rem)}
.perspective{min-width:0}
.perspective h2{font-size:clamp(2rem,3.5vw,4.6rem);font-weight:650;letter-spacing:-.055em;line-height:1.08;margin:0 0 1.4rem}
.title-mask{display:inline-block;overflow:hidden;vertical-align:bottom;padding-bottom:.1em;margin-bottom:-.1em}
.title-mask>span{display:inline-block}
.perspective p{font-size:clamp(1rem,1.15vw,1.25rem);line-height:1.65;letter-spacing:-.015em;max-width:30ch;margin:0;color:#ffffffdc}
@media(max-width:760px){.panorama{min-height:max(100svh,43rem)}.panorama-content{grid-template-columns:1fr;gap:2rem;padding:8rem var(--gutter) 3rem}.perspective h2{font-size:clamp(2rem,8.5vw,3rem);margin-bottom:.65rem}.perspective p{max-width:35ch;font-size:1rem;line-height:1.5}.panorama-shade{background:linear-gradient(180deg,#05100f18,#05100f66 25%,#05100fe8)}}
@media(prefers-reduced-motion:reduce){.panorama-visual{inset-inline:0}.panorama-image{opacity:1!important;transform:none!important}.perspective,.title-mask>span,.perspective p{opacity:1!important;transform:none!important}}

/* Pinned background stays still until the third section fully covers it. */
.hero-story{--stage-height:max(100svh,40rem);position:relative;isolation:isolate;background:var(--ink)}
.hero-backdrop{position:sticky;top:0;height:var(--stage-height);margin-bottom:calc(-1 * var(--stage-height));overflow:hidden;pointer-events:none;z-index:0}
.hero-scroll-dim{position:absolute;inset:0;z-index:3;background:#000;opacity:0;pointer-events:none;transition:opacity 200ms linear}
.hero-backdrop .hero-shade{background:linear-gradient(90deg,transparent 25%,rgba(5,20,22,.35)),linear-gradient(180deg,rgba(5,20,22,.4),rgba(5,20,22,.16) 35%,rgba(5,20,22,.78))}
.hero-story .hero{z-index:1;height:var(--stage-height);min-height:var(--stage-height)}
.story-copy{text-shadow:0 1px 12px #0003}
@media(max-width:760px){.hero-story{--stage-height:max(100svh,34rem)}.story-space{display:none}.story-grid{align-items:center}.story-copy{padding-top:7rem;padding-bottom:5rem}}
@media(max-height:600px) and (min-width:761px){.hero-story{--stage-height:max(100svh,32rem)}}
@media(prefers-reduced-motion:reduce){.story-copy,.story-copy>*,.story-copy .title-mask>span{opacity:1!important;transform:none!important}}

/* Shared motion: small distances, a soft landing, restrained staggering. */
:root{--motion-ease:cubic-bezier(.22,1,.36,1);--motion-enter:1100ms;--motion-stagger:120ms;--motion-control:500ms;--motion-image:1400ms}
.hero-image{transform-origin:center 48%;will-change:transform;transition:transform 450ms var(--motion-ease)}
.motion-block{--entry-delay:0ms}
.hero-aside.motion-block,.perspective:nth-child(2){--entry-delay:var(--motion-stagger)}
.perspective:nth-child(3){--entry-delay:calc(2 * var(--motion-stagger))}
.text-motion-ready .motion-block{opacity:0;transform:translate3d(0,24px,0)}
.text-motion-ready .motion-block .title-mask>span{opacity:0;transform:translate3d(0,.3em,0)}
.text-motion-ready .motion-detail{opacity:0}
.text-motion-ready .text-entered .motion-block{opacity:1;transform:none;transition:opacity var(--motion-enter) var(--motion-ease) var(--entry-delay),transform var(--motion-enter) var(--motion-ease) var(--entry-delay)}
.text-motion-ready .text-entered .motion-block .title-mask>span{opacity:1;transform:none;transition:opacity var(--motion-enter) var(--motion-ease) calc(var(--entry-delay) + 80ms),transform var(--motion-enter) var(--motion-ease) calc(var(--entry-delay) + 80ms)}
.text-motion-ready .text-entered .motion-block .title-mask~.title-mask>span{transition-delay:calc(var(--entry-delay) + 140ms)}
.text-motion-ready .text-entered .motion-detail{opacity:1;transition:opacity var(--motion-enter) var(--motion-ease) calc(var(--entry-delay) + var(--motion-stagger))}
.motion-block:focus-within,.motion-block:focus-within .motion-detail,.motion-block:focus-within .title-mask>span{opacity:1!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.hero-image{transform:none!important;will-change:auto}.motion-block,.motion-detail,.motion-block .title-mask>span{opacity:1!important;transform:none!important}}

/* Story sequence: title first, then the supporting copy, then the action. */
.text-motion-ready .story-copy .title-mask>span{transform:translate3d(0,110%,0)}
.text-motion-ready .story-copy :is(.eyebrow,.story-description,.split-button){opacity:0;transform:translate3d(0,16px,0)}
.story-copy .eyebrow{--story-delay:0ms}
.story-copy .story-description{--story-delay:260ms}
.story-copy .split-button{--story-delay:520ms}
.text-motion-ready .story.text-entered .title-mask>span{transform:none;transition:transform 1000ms var(--motion-ease)}
.text-motion-ready .story.text-entered .title-mask~.title-mask>span{transition-delay:90ms}
.text-motion-ready .story.text-entered .story-copy :is(.eyebrow,.story-description,.split-button){opacity:1;transform:none;transition:opacity 900ms var(--motion-ease) var(--story-delay),transform 1000ms var(--motion-ease) var(--story-delay)}
.story-copy:focus-within :is(.eyebrow,.story-description,.split-button),.story-copy:focus-within .title-mask>span{opacity:1!important;transform:none!important}

/* Push the current visible page down; keep its document scroll coordinate intact. */
:root{--menu-panel-height:100dvh;--menu-duration:850ms;--menu-ease:cubic-bezier(.22,.85,.2,1)}
main{z-index:1;transform:none;transition:transform var(--menu-duration) var(--menu-ease)}
body.menu-open main{transform:translate3d(18vw,var(--menu-panel-height),0)}
body.menu-open .navigation{transform:translate3d(0,0,0)}
html.menu-locked main{will-change:transform;pointer-events:none}
/* Fill the exposed corners throughout the diagonal opening and closing. */
html.menu-locked body{background:var(--ink)}
.navigation .nav-label{transform:translate3d(0,115%,0);transition:transform 400ms var(--motion-ease),background-position 1400ms cubic-bezier(.4,0,.2,1)}
body.menu-open .navigation .nav-label{transform:translate3d(0,0,0);transition:transform 1000ms var(--motion-ease) var(--nav-entry-delay,220ms),background-position 1400ms cubic-bezier(.4,0,.2,1)}
body.menu-open .navigation nav a:nth-child(2) .nav-label{--nav-entry-delay:320ms}
body.menu-open .navigation nav a:nth-child(3) .nav-label{--nav-entry-delay:420ms}
@media(prefers-reduced-motion:reduce){main,.navigation,.navigation .nav-label{transition:none!important}}

/* A quiet editorial pause, with a small note set into the oversized quotation. */
.editorial{position:relative;z-index:3;background:var(--paper);color:var(--ink);min-height:100svh}
.editorial-inner{width:min(100%,calc(var(--content) + 2 * var(--gutter)));margin-inline:auto;padding:clamp(7rem,12vh,12rem) var(--gutter) clamp(3rem,6vh,6rem)}
.editorial .eyebrow{margin-bottom:clamp(2.5rem,5vh,5rem)}
.quote-composition{display:grid;grid-template-columns:1.1fr 1fr;column-gap:clamp(2rem,5vw,6rem);align-items:center}
.quote-composition blockquote{display:contents;font-size:clamp(3.2rem,8.6vw,10rem);font-weight:600;line-height:1.04;letter-spacing:-.065em}
.quote-first{grid-column:1/-1;grid-row:1}
.quote-middle{grid-column:1;grid-row:2}
.quote-last{grid-column:1/-1;grid-row:3}
.quote-note{grid-column:2;grid-row:2;width:min(100%,29ch);margin:0;font-size:clamp(1rem,1.05vw,1.2rem);line-height:1.65;letter-spacing:-.02em}
.editorial-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:3rem;margin-top:clamp(4rem,8vh,8rem)}
.editorial-caption{margin:0;font-size:.875rem;line-height:1.6;letter-spacing:.01em}
.moment-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(.6rem,1.2vw,1.25rem);width:min(100%,36rem);align-items:start}
.moment-card{min-width:0}
.moment-toggle{display:block;width:100%;padding:0;border:0;border-radius:0;background:transparent;color:var(--paper);text-align:left;cursor:pointer}
.moment-image{display:block;overflow:hidden;aspect-ratio:1.12;background:var(--ink)}
.moment-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1100ms var(--motion-ease)}
.moment-label-row{display:grid;grid-template-columns:3fr 1fr;min-height:3rem;margin-top:.4rem;font-size:.875rem;font-weight:500}
.moment-label-row :is(.button-label,.button-arrow){background:var(--ink)}
.moment-label-row .button-label{padding:.8rem .85rem}
.moment-label-row .button-arrow svg{width:1.15rem;height:1.15rem}
.moment-toggle:is(:focus-visible,[aria-expanded="true"]) .button-label{clip-path:inset(0 .4rem 0 0)}
.moment-toggle:is(:focus-visible,[aria-expanded="true"]) .button-arrow svg{transform:translateY(0)}
.moment-toggle[aria-expanded="true"] .moment-image img{transform:scale(1.055)}
.moment-panel{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows 800ms var(--motion-ease),opacity 500ms ease}
.moment-panel-inner{overflow:hidden;min-height:0}
.moment-panel p{margin:0;padding-top:1rem;font-size:.875rem;line-height:1.6;letter-spacing:-.015em}
.moment-toggle[aria-expanded="true"]+.moment-panel{grid-template-rows:1fr;opacity:1}
body:has(.navigation[open]) :is(.logo,.menu-toggle){--header-ink:#fff}
body.menu-open .navigation nav a:nth-child(4) .nav-label{--nav-entry-delay:520ms}
@media(hover:hover) and (pointer:fine){.moment-toggle:hover .button-label{clip-path:inset(0 .4rem 0 0)}.moment-toggle:hover .button-arrow svg{transform:translateY(0)}.moment-toggle:hover .moment-image img{transform:scale(1.055)}}
@media(max-width:760px){.editorial-inner{padding-top:7rem}.quote-composition{grid-template-columns:1fr;gap:0}.quote-composition blockquote{font-size:clamp(2.75rem,10.4vw,5rem)}.quote-first,.quote-middle,.quote-last{grid-column:1}.quote-note{grid-column:1;grid-row:4;width:min(100%,31ch);margin-top:2rem;margin-left:auto}.editorial-bottom{flex-direction:column;align-items:stretch;gap:2rem;margin-top:3.5rem}.moment-tiles{margin-left:auto}.moment-label-row .button-label{padding-inline:.5rem}.moment-label-row{min-height:2.75rem}}
@media(prefers-reduced-motion:reduce){.moment-panel,.moment-image img{transition:none!important}}

/* One shared lighting state, so adjacent surfaces always change in the same frame. */
:root{--ambient-surface:#f5f4ed;--ambient-ink:#152623}
:root:has(#film:target){--ambient-surface:#111816;--ambient-ink:#f5f4ed}
body,main,.editorial,.cinema{background:var(--ambient-surface)}
.editorial,.cinema{color:var(--ambient-ink)}
.logo.is-on-light,.menu-toggle.is-on-light{--header-ink:var(--ambient-ink)}
.cinema{--film-progress:0;--film-copy-opacity:1;position:relative;z-index:3;height:100svh;min-height:40rem}
.cinema-inner{position:relative;width:min(calc(100% - 2 * var(--gutter)),var(--content));height:100%;margin-inline:auto}
.cinema-copy{position:absolute;top:clamp(6.5rem,13svh,12rem);right:0;width:43%;max-width:38rem;opacity:var(--film-copy-opacity);transform:translate3d(0,calc(-24px * var(--film-progress)),0)}
.cinema-copy .eyebrow{margin-bottom:1.3rem}
.cinema-copy h2{font-size:clamp(2.6rem,4.8vw,6rem);line-height:1.04;letter-spacing:-.06em;font-weight:650;margin:0 0 1.4rem}
.cinema-description{max-width:34ch;font-size:clamp(1rem,1.1vw,1.25rem);line-height:1.65;margin:0;letter-spacing:-.015em}
.cinema-media{position:absolute;left:0;top:calc(44% - 30% * var(--film-progress));width:calc(44% + 56% * var(--film-progress));height:calc(36% + 40% * var(--film-progress));overflow:hidden;background:#18221d;isolation:isolate}
.cinema-poster,.cinema-video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover}
.cinema-video{opacity:0;transition:opacity 600ms var(--motion-ease)}
.cinema-media.is-playing .cinema-video{opacity:1}
.film-control{position:absolute;right:1rem;bottom:1rem;z-index:2;display:flex;align-items:center;gap:.7rem;min-height:44px;padding:.7rem 1rem;border:0;border-radius:0;background:#152623d9;color:#fff;font-size:.875rem;cursor:pointer}
.film-control-icon{display:inline-block;width:1rem;text-align:center;font-size:.8rem}
.film-control:focus-visible{outline-offset:-4px}
body.menu-open .navigation nav a:nth-child(5) .nav-label{--nav-entry-delay:620ms}
@media(max-width:760px){.cinema{min-height:42rem}.cinema-copy{top:6.5rem;width:100%;max-width:26rem}.cinema-copy h2{font-size:clamp(2.3rem,8vw,3.8rem)}.cinema-description{font-size:1rem;max-width:31ch}.cinema-media{top:calc(57% - 39% * var(--film-progress));height:calc(27% + 46% * var(--film-progress));width:calc(60% + 40% * var(--film-progress))}.film-control{right:.6rem;bottom:.6rem;padding:.6rem .8rem}}
@media(prefers-reduced-motion:reduce){.cinema-copy{transform:none}.cinema-video{transition:none}}

/* Return to daylight with a spacious editorial conclusion. */
.closing{position:relative;z-index:3;min-height:100svh;background:var(--ambient-surface);color:var(--ambient-ink);display:flex;align-items:center}
.closing-inner{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(3rem,8vw,10rem);width:min(100%,calc(var(--content) + 2 * var(--gutter)));margin-inline:auto;padding:clamp(7rem,13vh,12rem) var(--gutter) clamp(4rem,8vh,8rem);align-items:start}
.closing-heading h2{margin:0;font-size:clamp(3.6rem,6.7vw,8.5rem);font-weight:650;letter-spacing:-.065em;line-height:1.02}
.closing-heading .eyebrow{margin-bottom:2rem}
.closing-copy{max-width:39rem;padding-top:.4rem}
.closing-entry{margin-bottom:clamp(2rem,3.4vh,3.25rem)}
.closing-entry h3{margin:0 0 .8rem;font-size:clamp(1.4rem,1.8vw,2.3rem);font-weight:600;letter-spacing:-.04em;line-height:1.15}
.closing-entry p{margin:0;max-width:42ch;font-size:clamp(1rem,1.1vw,1.25rem);line-height:1.7;letter-spacing:-.015em}
.closing-entry:nth-child(1){--entry-delay:180ms}
.closing-entry:nth-child(2){--entry-delay:360ms}
.closing-entry:nth-child(3){--entry-delay:540ms}
.closing-action{--entry-delay:720ms;margin-top:2.5rem}
.closing-action .split-button{max-width:22rem}
body.menu-open .navigation nav a:nth-child(6) .nav-label{--nav-entry-delay:720ms}
@media(max-width:760px){.closing-inner{grid-template-columns:minmax(0,1fr);gap:3rem;padding-top:7rem;padding-bottom:4rem}.closing-heading h2{font-size:clamp(3rem,12vw,5rem)}.closing-heading .eyebrow{margin-bottom:1.5rem}.closing-copy{max-width:32rem;margin-left:auto;width:100%}.closing-entry h3{font-size:1.5rem}.closing-entry{margin-bottom:2rem}}

/* One continuous dark surface beneath the FAQ and footer prevents light seams. */
.site-ending{position:relative;z-index:3;background:#111816}
/* Detached squares dock into the question blocks when their answers open. */
.faq,.site-footer{position:relative;z-index:3;background:#111816;color:var(--paper)}
.faq-inner{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.25fr);gap:clamp(3rem,7vw,8rem);width:min(100%,calc(var(--content) + 2 * var(--gutter)));margin-inline:auto;padding:clamp(7rem,12vh,11rem) var(--gutter) clamp(4rem,7vh,7rem);align-items:start}
.faq-heading h2{margin:0;font-size:clamp(3.5rem,6.5vw,8rem);font-weight:650;letter-spacing:-.065em;line-height:1.02}
.faq-heading .eyebrow{margin-bottom:2rem}
.faq-list{display:grid;gap:.8rem;padding-top:.35rem}
.faq-item{--faq-gap:.65rem}
.faq-item h3{margin:0;font-weight:500;font-size:inherit}
.faq-toggle{display:grid;grid-template-columns:minmax(0,1fr) 4.5rem;column-gap:var(--faq-gap);width:100%;padding:0;background:none;border:0;border-radius:0;color:inherit;text-align:left;cursor:pointer}
.faq-question{display:flex;align-items:center;min-height:4.5rem;padding:1.25rem 1.5rem;background:#050907;font-size:clamp(1rem,1.2vw,1.35rem);line-height:1.4;letter-spacing:-.025em}
.faq-plus{display:grid;place-items:center;position:relative;width:4.5rem;height:4.5rem;background:#050907;transition:transform 650ms var(--motion-ease),color 400ms ease}
.faq-plus span{grid-area:1/1;display:block;width:1.15rem;height:2px;background:currentColor;transition:transform 650ms var(--motion-ease),opacity 400ms ease}
.faq-plus span+span{transform:rotate(90deg)}
.faq-toggle[aria-expanded="true"] .faq-plus{transform:translateX(calc(-1 * var(--faq-gap)))}
.faq-toggle[aria-expanded="true"] .faq-plus span+span{transform:rotate(0);opacity:0}
.faq-answer{margin-right:var(--faq-gap);display:grid;grid-template-rows:0fr;overflow:clip;background:#050907;transition:grid-template-rows 800ms var(--motion-ease)}
.faq-answer-inner{overflow:hidden;min-height:0}
.faq-answer p{opacity:0;transition:opacity 300ms ease;margin:0;padding:.3rem 6rem 1.6rem 1.5rem;font-size:clamp(1rem,1.05vw,1.15rem);line-height:1.7;color:#f5f4edc9;max-width:64ch}
.faq-item:has(.faq-toggle[aria-expanded="true"]) .faq-answer{grid-template-rows:1fr}
.faq-item:has(.faq-toggle[aria-expanded="true"]) .faq-answer p{opacity:1;transition:opacity 450ms ease 100ms}
.faq-toggle:focus-visible{outline-offset:4px}
@media(hover:hover) and (pointer:fine){.faq-toggle:hover .faq-plus{color:#c3ed56}}
.site-footer{overflow:clip}
.footer-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);align-items:end;gap:clamp(3rem,6vw,7rem);width:min(100%,calc(var(--content) + 2 * var(--gutter)));margin-inline:auto;padding:clamp(4rem,8vh,8rem) var(--gutter) clamp(2.5rem,5vh,5rem)}
.footer-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem 2rem;max-width:30rem}
.footer-nav a{width:fit-content;font-size:1rem;line-height:1.6;transition:color 400ms ease}
.footer-nav a:is(:hover,:focus-visible){color:#c3ed56}
.footer-info{margin-top:3rem;font-size:.875rem;line-height:1.7;color:#f5f4edb3}
.footer-info p{margin:0}
.footer-info .footer-copyright{margin-top:1.6rem;font-size:.8125rem}
.footer-wordmark-mask{overflow:hidden;padding:.5rem; margin:-.5rem;text-align:right}
.footer-wordmark{display:inline-block;font-size:clamp(8rem,22vw,27rem);font-weight:800;letter-spacing:-.085em;line-height:.85;padding-right:.08em}
.text-motion-ready .footer-wordmark{opacity:0;transform:translate3d(24%,0,0)}
.text-motion-ready .site-footer.text-entered .footer-wordmark{opacity:1;transform:none;transition:transform 1400ms var(--motion-ease),opacity 1100ms var(--motion-ease)}
.footer-wordmark:focus-visible{opacity:1!important;transform:none!important;outline-offset:-4px}
body.menu-open .navigation nav a:nth-child(7) .nav-label{--nav-entry-delay:820ms}
@media(max-width:760px){.faq-inner{grid-template-columns:minmax(0,1fr);gap:3rem;padding-top:7rem;padding-bottom:3rem}.faq-heading h2{font-size:clamp(3rem,12vw,5rem)}.faq-heading .eyebrow{margin-bottom:1.5rem}.faq-item{--faq-gap:.5rem}.faq-toggle{grid-template-columns:minmax(0,1fr) 3.5rem}.faq-question{min-height:3.5rem;padding:1rem;font-size:1rem}.faq-plus{width:3.5rem;height:3.5rem}.faq-answer p{padding:.2rem 1rem 1.4rem;font-size:1rem}.footer-inner{grid-template-columns:minmax(0,1fr);gap:3.5rem;padding-top:3rem}.footer-wordmark{font-size:clamp(7rem,39vw,18rem)}.footer-nav{gap:.6rem 1rem}.footer-info{margin-top:2rem}}
@media(prefers-reduced-motion:reduce){.footer-wordmark{opacity:1!important;transform:none!important}.faq-toggle,.faq-answer,.faq-plus span{transition:none!important}}

/* Generous menu typography, with a quiet contact column at the lower right. */
.header .logo{transition:opacity 250ms ease}
body:has(.navigation[open]) .header .logo{opacity:0;pointer-events:none}
.menu-contact{width:100%;max-width:23rem;justify-self:end;align-self:end;padding-bottom:.4rem;opacity:0;transform:translate3d(0,16px,0);transition:opacity 250ms ease,transform 400ms var(--motion-ease)}
body.menu-open .menu-contact{opacity:1;transform:none;transition:opacity 1000ms var(--motion-ease) 400ms,transform 1000ms var(--motion-ease) 400ms}
.menu-contact h2{font-size:clamp(1.4rem,1.7vw,2rem);font-weight:500;letter-spacing:-.04em;margin:0 0 2rem}
.menu-contact-details{display:grid;gap:1.25rem;font-style:normal}
.menu-contact-details>div{display:grid;gap:.3rem}
.contact-caption{font-size:.8125rem;color:#f5f4ed99;line-height:1.5}
.contact-value{font-size:clamp(1rem,1.1vw,1.25rem);line-height:1.5;overflow-wrap:anywhere}
.menu-contact a{transition:color 400ms ease}
.menu-contact a:is(:hover,:focus-visible){color:#c3ed56}
.menu-socials{display:flex;gap:.75rem;margin-top:1.8rem}
.social-icon{display:grid;place-items:center;width:44px;height:44px;padding:10px;background:transparent;border:1px solid #f5f4ed38;border-radius:0;color:var(--paper)}
.social-icon svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.social-dot{fill:currentColor;stroke:none}
.social-icon:disabled{opacity:.6}
@media(max-width:760px){.navigation-inner{grid-template-columns:1fr;gap:2rem;padding-top:5rem;padding-bottom:2rem;align-content:space-between}.navigation nav a{font-size:clamp(2.2rem,min(10.2vw,7.2svh),3.5rem);padding-block:.4rem;line-height:1.12}.menu-contact{max-width:none;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;padding:0}.menu-contact h2{grid-column:1/-1;font-size:1.25rem;margin:0}.menu-contact-details{gap:.7rem}.contact-caption{font-size:.75rem}.contact-value{font-size:.9375rem}.menu-socials{margin:0;gap:.4rem;flex-wrap:wrap;max-width:100px}}
@media(prefers-reduced-motion:reduce){.menu-contact,.header .logo{transition:none!important}}

/* Center the links vertically; the contact column stays at the lower right. */
.navigation-inner>nav{align-self:center}
.menu-close-label{display:none}
.menu-toggle[aria-expanded="true"]{width:6.25rem}
.menu-toggle[aria-expanded="true"] .menu-open-label{display:none}
.menu-toggle[aria-expanded="true"] .menu-close-label{display:block;text-align:right;letter-spacing:0}
.menu-toggle[aria-expanded="true"]:focus-visible{--menu-close-width:100%;--menu-close-y:8px;--menu-close-angle:0deg;--menu-label-opacity:1;--menu-label-y:0%;--menu-label-delay:220ms}
@media(hover:hover) and (pointer:fine){.menu-toggle[aria-expanded="true"]:hover{--menu-close-width:100%;--menu-close-y:8px;--menu-close-angle:0deg;--menu-label-opacity:1;--menu-label-y:0%;--menu-label-delay:220ms}}
@media(max-width:760px){.menu-toggle{--menu-rest-width:3.25rem}.navigation-inner{height:100%;grid-template-rows:minmax(min-content,1fr) auto;align-content:stretch}.navigation-inner>nav{align-self:center}}

/* Navigation focus uses the existing text treatment instead of a rectangular frame. */
.navigation a:focus-visible,.footer-nav a:focus-visible,.menu-toggle:focus-visible{outline:none}
.navigation nav a:focus-visible .nav-label{color:#c3ed56}
@media(forced-colors:active){.navigation a:focus-visible,.footer-nav a:focus-visible,.menu-toggle:focus-visible{text-decoration:underline}.navigation nav a:focus-visible .nav-label{color:LinkText;text-decoration:underline}}
