/* A continuous typographic sequence over a stationary film. */
.story-details[hidden]{display:none}
@media(prefers-reduced-motion:no-preference){
 body.home-page.story-scroll-ready main{padding-bottom:0}
 body.home-page.story-scroll-ready .story-cinema{display:block;position:relative;container-type:normal;height:var(--story-total);padding:0;background:var(--paper)}
 body.home-page.story-scroll-ready .story-cinema .intro-frame{position:sticky;top:0;width:min(100%,calc(100svh * 16 / 9));height:var(--story-height);min-height:0;max-width:100%;margin-inline:auto;overflow:clip;isolation:isolate;container-type:inline-size;background:var(--paper)}
 body.home-page.story-scroll-ready .intro-photos{inset:0;width:100%;height:100%;background-size:contain;background-image:none}
 body.home-page.story-scroll-ready .homepage-film{object-fit:contain;object-position:center;transform:none;backface-visibility:visible}
 body.home-page.story-scroll-ready .story-flow{position:absolute;inset:0 0 auto;display:block;padding-bottom:clamp(48px,6.5cqw,100px);transform:translateY(calc(-1 * var(--story-offset,0px)));will-change:transform;pointer-events:none}
 body.home-page.story-scroll-ready .story-opening{display:block;position:relative;min-height:var(--story-height);height:auto;padding:calc(var(--story-height) * .36) 6% 0;background:transparent}
 body.home-page.story-scroll-ready .story-opening-copy{width:100%;max-width:none;margin:0}
 body.home-page.story-scroll-ready .intro-location,
 body.home-page.story-scroll-ready .story-continue,
 body.home-page.story-scroll-ready .story-company>.eyebrow{display:none}
 body.home-page.story-scroll-ready .story-title{width:max-content;max-width:100%;font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(32px,9.2cqw,128px);font-weight:400;line-height:1.08;letter-spacing:-.04em;text-align:center;margin:0 auto;color:var(--on-dark);text-shadow:0 1px 8px #16161650}
 body.home-page.story-scroll-ready .story-title>span,
 body.home-page.story-scroll-ready .story-title>span>span{display:block;overflow:visible;padding:0;animation:none!important;opacity:1!important;transform:none!important}
 body.home-page.story-scroll-ready .story-title .story-title-small{font-family:inherit;font-style:normal;font-size:clamp(20px,4.2cqw,58px);font-weight:400;line-height:1.2;letter-spacing:-.035em;margin:0 0 .15em 0;color:var(--on-dark)}
 body.home-page.story-scroll-ready .story-title .story-title-line{display:block;font-family:inherit;font-style:normal;font-size:inherit;font-weight:inherit;line-height:inherit;text-transform:uppercase;letter-spacing:inherit;margin:0;color:var(--on-dark)}
 body.home-page.story-scroll-ready .story-title .story-title-offset{margin-left:0;color:var(--bronze-light,#d5c39f)}
 body.home-page.story-scroll-ready .story-panel{display:block;position:relative;min-height:0;height:auto;padding:clamp(24px,6cqw,90px) 6% 0;background:transparent;color:var(--on-dark)}
 body.home-page.story-scroll-ready .story-company{max-width:920px;width:100%;margin-inline:auto;text-align:center;text-shadow:0 1px 8px #16161660}
 body.home-page.story-scroll-ready .story-company h2{font-family:"Segoe UI",Arial,sans-serif;font-size:clamp(40px,8.6cqw,122px);font-weight:400;line-height:1.1;letter-spacing:-.045em;margin:0;color:var(--on-dark)}
 body.home-page.story-scroll-ready .story-phrases .story-phrase{display:block;margin:0;padding:0;white-space:nowrap}
 body.home-page.story-scroll-ready .story-phrases .story-phrase+.story-phrase{margin-top:10cqw}
 body.home-page.story-scroll-ready .story-phrases .story-cue{display:block;font-size:clamp(22px,3.8cqw,54px);font-weight:400;line-height:1.15;letter-spacing:-.035em}
 body.home-page.story-scroll-ready .story-phrases .story-word{display:block;font-size:inherit;font-weight:400;line-height:1.1;margin:.08em 0 0 0;white-space:nowrap}
 body.home-page.story-scroll-ready .story-phrases .story-phrase:nth-child(2){margin-left:0}
 body.home-page.story-scroll-ready .story-phrases .story-phrase:nth-child(2) .story-cue{margin-left:0}
 body.home-page.story-scroll-ready .story-phrases .story-phrase:nth-child(2) .story-word{margin-left:0}
 body.home-page.story-scroll-ready .story-phrases .story-phrase:nth-child(3){margin-left:0}
 body.home-page.story-scroll-ready .story-phrases .story-phrase:nth-child(3) .story-cue{margin-left:0}
 body.home-page.story-scroll-ready .story-phrases .story-phrase:nth-child(3) .story-word{margin-left:0;font-family:Georgia,serif;font-style:italic;letter-spacing:-.015em;color:var(--bronze-light,#d5c39f)}
 body.home-page.story-scroll-ready .story-panel .line-reveal span{display:block;animation:none;opacity:1;transform:none;transition:none}
 body.home-page.story-scroll-ready .home-following{position:relative;z-index:2;margin-top:calc(-1 * var(--story-height));transform:translateY(var(--story-following-offset,0px));background:var(--paper)}
 body.home-page.story-scroll-ready .story-details{display:grid;grid-template-columns:1fr 1.75fr;gap:6%;padding-block:clamp(48px,6vw,80px);border-bottom:1px solid var(--line)}
 body.home-page.story-scroll-ready .story-details .story-copy{max-width:650px;opacity:1;transform:none;transition:none}
 body.home-page.story-scroll-ready .story-details .story-copy p{font-size:clamp(17px,1.65vw,22px);line-height:1.65;color:var(--ink)}
 body.home-page.story-scroll-ready .story-details .story-signature{padding-top:0;text-shadow:none}
 body.home-page.story-scroll-ready .story-details .story-signature .eyebrow{color:var(--accent)}
 body.home-page.story-scroll-ready .story-details .story-signature>p:not(.eyebrow){color:var(--ink);font-size:21px}
 body.home-page.story-scroll-ready .story-details .story-founded{color:var(--muted)!important;border-color:var(--line)}
 body.home-page.story-scroll-ready .story-details .button{color:var(--ink);border-color:var(--bronze)}
 body.home-page.story-scroll-ready .site-header{max-width:calc(100svh * 16 / 9 - 8.6%)}
}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 body.home-page.story-scroll-ready .story-cinema .intro-frame{width:100%;height:68svh;aspect-ratio:auto}
 body.home-page.story-scroll-ready .story-opening{padding-top:max(90px,calc(var(--story-height) * .4));padding-inline:20px}
 body.home-page.story-scroll-ready .story-title{font-size:clamp(26px,9.2cqw,66px);line-height:1.04}
 body.home-page.story-scroll-ready .story-title .story-title-small{margin-left:0;font-size:clamp(17px,4.6cqw,32px)}
 body.home-page.story-scroll-ready .story-panel{padding-inline:20px}
 body.home-page.story-scroll-ready .story-phrases .story-phrase{margin-left:0}
 body.home-page.story-scroll-ready .story-phrases .story-phrase+.story-phrase{margin-top:16cqw}
 body.home-page.story-scroll-ready .story-phrases .story-phrase:nth-child(2){margin-left:0}
 body.home-page.story-scroll-ready .story-phrases .story-phrase:nth-child(3){margin-left:0}
 body.home-page.story-scroll-ready .home-following{transform:translateY(var(--story-following-offset,0px))}
 body.home-page.story-scroll-ready .story-details{display:flex;flex-direction:column;gap:28px;padding-block:32px 40px}
 body.home-page.story-scroll-ready .story-details .story-copy{order:0}
 body.home-page.story-scroll-ready .story-details .story-copy p{font-size:16px;line-height:1.75}
 body.home-page.story-scroll-ready .story-details .story-signature{order:1;border-color:var(--line);padding-top:24px}
 body.home-page.story-scroll-ready .story-details .story-signature>p:not(.eyebrow){font-size:18px}
 body.home-page.story-scroll-ready .site-header{max-width:none}
 body.home-page.film-preview.story-scroll-ready .story-cinema .intro-shade,
 body.home-page.film-preview.story-scroll-ready.story-scrolled .story-cinema .intro-shade{display:block;background:linear-gradient(180deg,#1616167a,#16161655 35%,#16161688 100%);transition:none}
}

/* The full opening remains visible below the logo on smaller phones. */
@media(max-width:360px) and (prefers-reduced-motion:no-preference){
 body.home-page.story-scroll-ready .story-title{font-size:8.6cqw}
 body.home-page.story-scroll-ready .story-title .story-title-small{font-size:5.5cqw}
}

/* Keep the native player available without an extra transformed video layer. */
body.home-page.film-preview .story-cinema .homepage-film{transform:none;backface-visibility:visible}

/* Decoded frames share the normal page painting path in embedded browsers. */
.homepage-film-surface{display:none;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;pointer-events:none}
.homepage-film-surface:not([hidden]){display:block}

/* Phone composition: taller film, with a scene-aware crop and original proportions. */
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 body.home-page.story-scroll-ready .homepage-film,
 body.home-page.story-scroll-ready .homepage-film-surface{object-fit:cover;object-position:var(--film-focus-x,44%) center}
}
@media(max-width:760px) and (orientation:landscape) and (prefers-reduced-motion:no-preference){
 body.home-page.story-scroll-ready .story-cinema .intro-frame{height:100svh}
}
