:root { --editorial: 'Sora', Arial, sans-serif; --sans: 'Sora', Arial, sans-serif; }
body { font-family: var(--sans); }
body { font-size: 16px; }
h1,h2,h3,.cinema-home .journey-copy h3,.cinema-home .water-title h2,.cinema-home .atmosphere-copy h3 {
 font-family: var(--editorial); font-weight: 400; letter-spacing: -.025em; line-height: 1.06;
}
.heading-line { font-family: inherit; }
.intro-copy .lead,.project-statement blockquote,.content-feature .lead,.manifesto blockquote { font-family: var(--editorial); font-size: clamp(28px,2.5vw,40px); line-height: 1.22; letter-spacing: -.015em; }
.eyebrow,.section-number,.image-note,.living-footnote,.atmosphere-note { font-size: 12px; line-height: 1.6; }
.text-link,.journey-nav a,.values-strip,.footer-bottom,.gallery-item figcaption,.project-facts,.plan-tabs button { font-size: 14px; line-height: 1.6; }
.intro-copy p,.living-copy p,.journey-description,.content-main p,.page-intro p { font-size: 16px; line-height: 1.8; }
.cinema-home .journey-copy .eyebrow,.cinema-home .atmosphere-copy .eyebrow,.cinema-home .water-title .eyebrow { font-size: 12px; line-height: 1.6; letter-spacing: 1.3px; }
.cinema-home .journey-description,.cinema-home .atmosphere-copy p,.cinema-home .atmosphere-bottom { font-size: 16px; line-height: 1.75; }
.cinema-home .journey-detail figcaption { font-size: 14px; }
.cinema-home .journey-detail figcaption span { font-size: 12px; }
.cinema-home .journey-image-label { font-size: 12px; letter-spacing: .5px; }
.cinema-home .atmosphere-note { font-size: 12px; letter-spacing: 1px; }
.cinema-home .atmosphere-link,.cinema-home .atmosphere-water .journey-nav a { font-size: 14px; }
.site-header.floating-header .menu-label,.floating-header .header-projects,.floating-header .header-reach { font-size: 14px; letter-spacing: 1px; }
.journey-copy h3 { font-size: clamp(46px,4.8vw,76px); }
.journey-ready .journey-copy h3 { font-size: clamp(44px,4.6vw,72px); }
.journey-theme { font-family: var(--editorial); font-size: 28px; line-height: 1.2; }
.atmosphere-copy h3 { font-size: clamp(70px,8.8vw,132px); }
.water-title h2 { font-size: clamp(90px,13vw,195px); }
@media(min-width:1000px) and (max-height:800px) {
 .journey-ready .journey-copy { padding-top: 18px; padding-bottom: 18px; }
 .journey-ready .journey-copy h3 { margin: 10px 0; font-size: 48px; }
 .journey-ready .journey-detail { margin-top: 16px; }
 .journey-description { margin-bottom: 16px; }
}
@media(max-width:760px) {
 .site-header.floating-header .menu-label,.floating-header .header-reach { font-size: 12px; letter-spacing: .5px; }
 .cinema-home .water-title h2 { font-size: clamp(70px,20vw,120px); }
 .cinema-home .atmosphere-copy h3 { font-size: clamp(58px,16vw,88px); }
 .cinema-home .atmosphere-copy p,.cinema-home .atmosphere-bottom { font-size: 15px; }
 .cinema-home .atmosphere-water .journey-nav a { font-size: 12px; }
 .cinema-home .journey-copy .eyebrow,.cinema-home .water-title .eyebrow,.cinema-home .atmosphere-copy .eyebrow { font-size: 12px; letter-spacing: 1px; }
 .cinema-home .journey-image-label { font-size: 12px; }
 .journey-copy h3 { font-size: 50px; }
 .journey-detail { align-items: center; }
}
/* Supporting information stays comfortably readable alongside the display face. */
.content-source,.brand-prose .content-note,.brand-author,.brand-author span,
.values-visual figcaption,.value-number,.gallery-item > span,.project-nav a { font-size: 14px; line-height: 1.65; }
.site-footer .footer-bottom,.site-footer .footer-bottom a { font-size: 13px; }
/* Supporting copy shares the same family as the headings. */
.cinema-home .journey-description { font-family: var(--editorial); font-size: 24px; line-height: 1.35; letter-spacing: -.01em; }
.cinema-home .atmosphere-copy p,.cinema-home .living-copy p { font-family: var(--editorial); font-size: clamp(24px,2vw,30px); line-height: 1.3; letter-spacing: -.01em; }
@media(max-width:760px) {
 .cinema-home .journey-description { font-size: 23px; }
 .cinema-home .atmosphere-copy p,.cinema-home .living-copy p { font-size: 24px; }
}
@media(max-width:360px) {
 .atmosphere-water .journey-nav { gap: 6px 12px; }
 .atmosphere-water .atmosphere-bottom { bottom: 108px; }
}

/* Sora SemiBold: strong headings, regular supporting copy. */
h1,h2,h3{font-weight:600;letter-spacing:-.02em;line-height:1.12;text-wrap:balance}
.cinema-home .window-headline{font-size:clamp(40px,4.4vw,72px);font-weight:600;line-height:1.12;letter-spacing:-.02em;text-wrap:balance}
.cinema-home .window-name,.cinema-home .window-slide .window-name{font-size:clamp(24px,2.2vw,34px);font-weight:600;line-height:1.2;letter-spacing:-.025em}
.cinema-home .story-copy h2{font-size:clamp(40px,4.6vw,74px);font-weight:600;line-height:1.12;letter-spacing:-.02em}
.cinema-home .story-finale .story-copy h2{font-size:clamp(48px,5.6vw,86px)}
.cinema-home .journey-copy h3,.journey-ready .cinema-home .journey-copy h3{font-size:clamp(38px,4.2vw,64px);font-weight:600;line-height:1.14;letter-spacing:-.02em}
.cinema-home .water-title h2,.journey-ready .cinema-home .water-title h2{font-size:clamp(64px,8vw,126px);font-weight:600;line-height:1.1;letter-spacing:-.02em}
.cinema-home .story-copy>p,.cinema-home .story-finale .story-copy>p:not(.story-prelude),.cinema-home .journey-description,.cinema-home .atmosphere-copy p,.cinema-home .living-copy p,.cinema-home .atmosphere-bottom p{font-size:clamp(18px,1.5vw,23px);line-height:1.6;letter-spacing:-.01em}
.interior-page main h2{font-size:clamp(30px,3.3vw,50px);font-weight:600;line-height:1.2;letter-spacing:-.02em}
.interior-page main h3{font-size:clamp(24px,2.2vw,32px);font-weight:600;line-height:1.25;letter-spacing:-.025em}
.interior-page main .page-banner h1{font-size:clamp(36px,3.8vw,60px);font-weight:600;line-height:1.12;letter-spacing:-.02em;overflow-wrap:anywhere}
.interior-page main .ip-lead,.intro-copy .lead,.content-feature .lead{font-size:clamp(22px,2vw,30px);line-height:1.5;letter-spacing:-.02em}
#mobile-menu .menu-feature-title{font-size:28px;font-weight:600;line-height:1.25}
#project-picker .picker-title{font-size:clamp(34px,3.8vw,58px);font-weight:600;line-height:1.13;letter-spacing:-.02em}
#project-picker .picker-scene h2{font-size:clamp(36px,4.8vw,70px);font-weight:600;line-height:1.14}
@media(max-width:760px){
 .cinema-home .window-headline{font-size:clamp(36px,10vw,54px);max-width:14ch}
 .cinema-home .window-panel .window-name{font-size:clamp(16px,4.2vw,24px);line-height:1.25;min-height:2.5em}
 .cinema-home .window-slide .window-name{font-size:26px}
 .cinema-home .window-number{font-size:9px;letter-spacing:.045em}
 .cinema-home .story-copy h2,.cinema-home .story-finale .story-copy h2{font-size:clamp(34px,8.4vw,56px)}
 .cinema-home .journey-copy h3{font-size:clamp(32px,8vw,48px)}
 .cinema-home .water-title h2{font-size:clamp(42px,11vw,78px)}
 .cinema-home .story-copy>p,.cinema-home .story-finale .story-copy>p:not(.story-prelude),.cinema-home .journey-description,.cinema-home .atmosphere-copy p,.cinema-home .living-copy p,.cinema-home .atmosphere-bottom p{font-size:17px;line-height:1.6}
 .interior-page main .page-banner h1{font-size:clamp(26px,7.5vw,44px)}
 .interior-page main h2{font-size:clamp(28px,7.2vw,40px)}
 #project-picker .picker-title{font-size:clamp(30px,8vw,42px)}
 #project-picker .picker-scene h2{font-size:clamp(34px,9vw,52px)}
}

/* Long descriptions and interface text keep the quieter sans-serif face. */
.cinema-home .story-copy>p,.cinema-home .journey-description,.cinema-home .atmosphere-copy p,.cinema-home .living-copy p,.cinema-home .atmosphere-bottom p,.interior-page main .ip-lead,.intro-copy .lead,.content-feature .lead{font-family:var(--sans);letter-spacing:0}
.interior-page main p{font-size:17px;line-height:1.75}
.cinema-home .window-headline{letter-spacing:-.015em}

.cinema-home .window-index,.cinema-home .window-overview{font-size:14px}
.cinema-home .window-number{font-size:12px}
@media(max-width:760px){
 .cinema-home .window-index{font-size:13px}
 .cinema-home .window-overview,.cinema-home .window-signature{font-size:11px}
 .cinema-home .window-number{font-size:10px}
}

/* Short labels and body text stay lighter than the display headings. */
.cinema-home .window-name,.cinema-home .window-slide .window-name{font-weight:600}
body{font-weight:400}
.interior-page main :is(h1,h2,h3){font-weight:600}
.cinema-home .window-headline{letter-spacing:-.035em}
