/* Phase 3.1: preserve the approved scene, refine type, rhythm and real asset crops. */
:root { --body-measure: 64ch; --muted-ink: #405a70; --ease: cubic-bezier(.2,.65,.3,1); --header-menu-size: 15px; }
body { font-family: 'Segoe UI', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
.inner-page h1,.inner-page h2,.inner-page h3 { overflow-wrap: anywhere; }
.site-header { gap: 22px; padding-block: 20px; align-items: center; }
body:not(.inner-page) .site-header:not(.scrolled) { background: linear-gradient(180deg,#071525e0,#071525a8); }
.site-header .brand { width: 235px; }
.site-header nav { gap: 16px; }
.site-header nav a { font-size: var(--header-menu-size); line-height: 1.35; padding-block: 15px; }
.site-header nav a:hover { color: #d2eaff; }
.site-header.scrolled .brand { width: 190px; }
.header-actions { gap: 20px; }
.language-picker summary { min-height: 44px; min-width: 44px; justify-content: center; }
.language-list a { min-height: 44px; display: flex; align-items: center; }
.menu-toggle { min-height: 44px; }
.site-header.compact .menu-toggle { display: flex; }
.site-header.compact nav { display: none; position: absolute; inset-inline: 0; top: 100%; background: var(--navy); padding: 20px 5% 28px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-inline: 0; }
.site-header.compact nav.open { display: grid; }
.site-header.compact nav a { font-size: 18px; white-space: normal; border-bottom: 1px solid #ffffff25; padding: 17px 12px; }
.button { min-height: 46px; font-size: 14px; gap: 16px; transition: background .2s var(--ease), border-color .2s var(--ease); }
.button:hover { transform: none; }
.join-button { min-height: 44px; font-size: 11px; padding: 12px 20px; }
.outline:hover { background: #10243a; color: white; border-color: #10243a; }
.text-link { min-height: 44px; display: inline-flex; align-items: center; gap: 18px; text-underline-offset: 7px; }
.text-link:hover { text-decoration: underline; }
.hero-media { position: absolute; inset: 0; display: block; }
.hero::after { content: ''; position: absolute; inset-inline: 0; bottom: -15px; height: 26px; border-radius: 50% 50% 0 0; background: var(--light); pointer-events: none; }
.hero-compass { position: absolute; width: clamp(130px,13vw,215px); height: auto; top: 20%; inset-inline-end: 13%; opacity: .16; pointer-events: none; }
.hero-copy { max-width: 550px; }
.hero h1 { font-family: 'Segoe UI',Arial,sans-serif; font-weight: 300; font-size: clamp(49px,4.15vw,79px); letter-spacing: .5px; line-height: 1.075; }
.hero-description { max-width: 47ch; font-size: 17px; line-height: 1.65; }
.hero-buttons { gap: 26px; }
.film-trigger { min-height: 46px; }
.hero-motto { font-size: 16px; letter-spacing: 3px; }
.impact { gap: 12px; }
.impact>div { min-width: 0; padding-inline: 18px; gap: 14px; }
.impact strong,.impact small { white-space: normal; overflow-wrap: anywhere; }
.impact small { font-size: 10px; letter-spacing: .7px; }
.worlds { padding-top: 40px; padding-bottom: 70px; }
.worlds-intro>p:not(.eyebrow) { font-size: 15px; line-height: 1.7; }
.world-card { border-radius: 6px; }
.card-photo img { object-fit: cover; object-position: center; }
.card-content h3 { font-size: clamp(18px,1.4vw,24px); line-height: 1.15; }
.card-content p { font-size: 12px; line-height: 1.55; }
.circle-arrow { min-width: 40px; min-height: 40px; }
.global-image { background: #0b2235 url('../images/phase3-1/home-atlas.svg') center / 92% auto no-repeat; min-height: 470px; }
.global-copy { padding: 70px max(8%,40px); }
.global-copy p:not(.eyebrow) { max-width: var(--body-measure); line-height: 1.8; }
.film-poster { background: #091d30; overflow: hidden; aspect-ratio: 16/10; }
.film-poster::before { content: ''; position: absolute; inset: 10%; border: 1px solid #b9dfff26; }
.film-compass { position: absolute; height: 78%; width: auto; inset-inline-end: -8%; top: 10%; opacity: .28; object-fit: contain; }
.film-poster>.film-brand { position: absolute; inset-inline-start: 7%; top: 13%; bottom: auto; font-size: clamp(22px,3vw,44px); line-height: 1.15; font-weight: 300; letter-spacing: 5px; }
.film-poster button { position: relative; min-width: 80px; min-height: 80px; }
.film-poster>.film-brand+button { z-index: 1; }
.film-copy>p:not(.eyebrow) { font-size: 17px; line-height: 1.8; }
.news-empty p { font-size: 15px; line-height: 1.75; }
.footer { padding-top: 70px; gap: 55px; border-top: 1px solid #c1dff226; }
.footer-nav { gap: 3px 28px; }
.footer-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; }
.footer-note { max-width: 32ch; }
.footer-note p { font-size: 16px; }
.footer-note small { font-size: 13px; line-height: 1.8; }
.footer-bottom { padding-top: 26px; align-items: center; font-size: 12px; }
.footer-bottom a { display: flex; align-items: center; min-height: 44px; }
.inner-page main>section:first-child { padding-top: 145px; }
.inner-page .breadcrumb { font-size: 12px; gap: 12px; padding-bottom: 35px; }
.inner-page .breadcrumb a { min-height: 30px; display: inline-flex; align-items: center; }
.inner-page .breadcrumb a:hover { color: inherit; text-decoration: underline; }
.inner-page .eyebrow { font-size: 11px; letter-spacing: 2.4px; }
.inner-page figcaption { font-size: 12px; }
.small-note,.source-note { font-size: 13px; line-height: 1.85; }
.about-title h1 { font-family: Georgia,serif; font-size: clamp(48px,5vw,80px); line-height: 1.12; }
.about-title>p:not(.eyebrow) { font-size: 18px; line-height: 1.8; }
.architecture-frame { height: clamp(390px,35vw,590px); }
.about-values p { font-size: 15px; line-height: 1.8; }
.about-editorial { gap: 95px; padding-block: 110px; }
.about-end { padding-block: 50px 90px; }
.vision-opening { min-height: 92svh; padding-bottom: 85px; }
.vision-opening>.editorial-image { object-position: center 56%; }
.vision-lead { line-height: 1.75; max-width: 48ch; }
.vision-caption { font-size: 12px; }
.vision-scene { min-height: 62svh; }
.vision-scene h2 { line-height: 1.16; }
.vision-scene p:not(.eyebrow) { font-size: 19px; max-width: 48ch; }
.showroom-title>p:not(.eyebrow) { font-size: 18px; line-height: 1.7; }
.showroom-stage { grid-template-columns: minmax(0,1fr) minmax(0,1.25fr) minmax(0,1fr); gap: 32px; padding-inline: 4%; padding-bottom: 40px; }
.showroom-stage img { height: auto; aspect-ratio: 1; max-height: 360px; mix-blend-mode: normal; }
.showroom-stage span { display: block; margin-top: 18px; font-size: 20px; line-height: 1.35; }
.catalogue-toolbar label,.magazine-toolbar label,.atlas-controls label { font-size: 13px; }
.catalogue-toolbar input,.catalogue-toolbar select,.magazine-toolbar input,.magazine-toolbar select,.atlas-controls select { min-height: 48px; font-size: 15px; }
.view-controls button { min-height: 44px; font-size: 13px; }
.catalogue-product { padding-bottom: 22px; }
.catalogue-product h2 { font-size: clamp(23px,1.8vw,29px); line-height: 1.22; }
.catalogue-product .eyebrow { font-size: 10px; letter-spacing: 1.4px; }
.catalogue-product .product-discover { font-size: 13px; min-height: 30px; }
.product-detail-grid { align-items: start; gap: 70px; }
.product-detail-grid>div { padding-top: 25px; }
.product-detail p,.product-detail dd { font-size: 16px; line-height: 1.85; }
.product-detail dt { font-size: 12px; }
.research-heading h1 { font-size: clamp(44px,4.3vw,70px); line-height: 1.12; letter-spacing: -1.5px; }
.research-macro { min-height: 430px; }
.research-macro img { object-position: center; }
.research-annotation { margin-top: 10px; font-size: 13px; }
.method-register p,.research-method aside p:not(.eyebrow) { font-size: 16px; }
.map-information { grid-template-columns: 1fr 1fr; gap: 24px 80px; }
.map-information p { font-size: 16px; line-height: 1.8; }
.map-information .small-note { font-size: 12px; }
.atlas-map path { stroke: #7fa4bf; stroke-width: .55; fill: #1d3b55; }
.atlas-map path:hover { fill: #598daf; }
.opportunity-opening { align-items: end; padding-bottom: 60px; }
.opportunity-lead { line-height: 1.8; }
.community-panorama { height: clamp(390px,36vw,570px); }
.community-panorama img { object-position: center 58%; }
.journey-steps li { gap: 25px; }
.journey-steps p,.opportunity-faq details p { font-size: 16px; line-height: 1.8; }
.opportunity-faq summary { min-height: 44px; }
.legends-opening { grid-template-columns: minmax(0,1.1fr) minmax(0,1fr); gap: 45px; }
.legends-opening h1 { font-size: clamp(60px,8.2vw,138px); letter-spacing: 3px; }
.legends-opening figure { min-height: 470px; }
.legends-opening img { object-position: 52% center; }
.legends-dossier dd { font-size: 16px; line-height: 1.8; }
.gallery-empty { padding: 50px; }
.gallery-empty p { font-size: 16px; line-height: 1.8; }
.magazine-masthead h1 { font-size: clamp(56px,8vw,122px); line-height: 1.02; letter-spacing: -2px; padding-inline-end: 80px; }
.masthead-mark { font-size: 72px; }
.magazine-empty { margin-top: 45px; min-height: 340px; padding-block: 50px; }
.magazine-empty>p:not(.eyebrow) { font-size: 17px; line-height: 1.8; }
.magazine-pagination button { min-height: 44px; }
.magazine-pagination button:disabled { opacity: .6; cursor: default; }
.contact-opening h1 { font-size: clamp(46px,6vw,92px); font-weight: 300; letter-spacing: -1.5px; }
.contact-workspace { grid-template-columns: minmax(0,1.6fr) minmax(0,1fr); gap: 85px; }
.contact-form-column label { font-size: 14px; }
.contact-form-column input,.contact-form-column select { min-height: 50px; padding: 13px 14px; }
.contact-form-column textarea { line-height: 1.7; }
.contact-register .small-note,.office-map-empty p { font-size: 14px; }
.contact-email { font-size: 20px; }
html[dir=rtl] body { font-size: 17px; line-height: 1.9; }
html[dir=rtl] { --header-menu-size: 18px; }
html[dir=rtl] .site-header nav a { font-size: 18px; }
html[dir=rtl] .hero-shade { background: linear-gradient(270deg,#03101ddb,#03101d10 70%),linear-gradient(0deg,#03101de9,transparent 38%); }
html[dir=rtl] .hero h1 { font-size: clamp(42px,4.1vw,68px); }
html[dir=rtl] .hero-motto { margin-left: 0; }
html[dir=rtl] .hero-motto small { font-size: 13px; }
html[dir=rtl] .eyebrow { font-size: 13px; }
html[dir=rtl] .footer>div:first-child p { font-size: 13px; }
html[dir=rtl] .footer-nav a { font-size: 17px; }
html[dir=rtl] .site-header.compact nav { margin-inline: 0; }
@media (max-width:1200px) {
 .header-actions { gap: 14px; }
 .legends-opening { gap: 30px; }
 .legends-opening h1 { font-size: 85px; }
 .contact-workspace { gap: 50px; }
 .opportunity-opening { gap: 40px; }
}
@media (max-width:1100px) {
 .site-header nav.open,.site-header.compact nav.open { grid-template-columns: repeat(3,minmax(0,1fr)); }
 .site-header nav a { font-size: 18px; white-space: normal; }
 .hero-copy { max-width: 510px; }
 .hero h1 { font-size: 55px; }
 .hero-motto { display: none; }
 .world-card { min-height: 330px; }
 .worlds-intro { max-width: 70ch; }
 .contact-workspace { grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); }
 .about-title { max-width: 840px; }
}
@media (max-width:768px) {
 .site-header { padding: 14px 5.5%; gap: 10px; }
 .site-header .brand,.site-header.scrolled .brand { width: 148px; }
 .site-header nav.open,.site-header.compact nav.open { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 20px; }
 .site-header nav a,.site-header.compact nav a { font-size: 17px; padding: 14px 0; }
 .menu-toggle { font-size: 12px; padding: 9px 12px; }
 .hero { min-height: 880px; max-height: none; }
 .hero-body { padding-top: 140px; padding-bottom: 65px; min-height: 695px; }
 .hero-copy { margin-top: 12px; max-width: 100%; }
 .hero h1 { font-size: clamp(39px,6.5vw,55px); max-width: none; line-height: 1.11; }
 .hero-description { font-size: 16px; max-width: 34ch; }
 .hero-image { object-position: 38% center; }
 .hero-shade { background: linear-gradient(90deg,#03101dda,#03101d45),linear-gradient(0deg,#03101df5,transparent 60%); }
 .hero-compass { display: none; }
 .hero-buttons { margin-top: 25px; gap: 19px; }
 .impact { padding-block: 25px 35px; gap: 25px 20px; }
 .impact>div { padding: 0; border: 0; }
 .impact strong { font-size: 15px; }
 .impact small { font-size: 10px; line-height: 1.55; letter-spacing: .3px; }
 .worlds { padding-block: 45px 55px; }
 .worlds-intro { max-width: none; }
 .world-card { min-height: 325px; }
 .card-content { inset-inline: 15px; bottom: 19px; }
 .card-content h3 { font-size: 21px; }
 .card-content p { font-size: 13px; min-height: 60px; }
 .global-image { min-height: 265px; background-size: 96% auto; }
 .global-copy { padding: 45px 5.5% 55px; }
 .brand-film { padding-block: 55px; gap: 30px; }
 .film-poster { aspect-ratio: 4/3; }
 .film-poster>.film-brand { font-size: 26px; }
 .film-poster>span:not(.film-brand) { font-size: 11px; left: 7%; bottom: 20px; letter-spacing: 1.5px; }
 .footer { padding-top: 45px; gap: 25px; }
 .footer .brand { width: 190px; }
 .footer-nav { margin-top: 30px; gap: 0 28px; }
 .footer-note { padding-top: 20px; border-top: 1px solid #b9dfff26; margin-top: 25px; max-width: none; }
 .footer-bottom { margin-top: 30px; gap: 8px 20px; }
 .inner-page main>section:first-child { padding-top: 105px; }
 .inner-page .breadcrumb { padding-bottom: 28px; flex-wrap: wrap; }
 .inner-page .eyebrow { font-size: 10px; letter-spacing: 1.6px; }
 .inner-page figcaption { font-size: 11px; }
 .about-title h1 { font-size: clamp(40px,7.5vw,57px); }
 .about-title>p:not(.eyebrow) { font-size: 16px; }
 .architecture-frame { height: 340px; }
 .architecture-frame img { object-position: 65% center; }
 .about-editorial { padding-block: 60px; }
 .vision-opening { min-height: 790px; padding-top: 180px!important; padding-bottom: 75px; align-items: flex-start; }
 .page-vision .vision-opening h1 { font-size: clamp(40px,7.2vw,57px); }
 .vision-lead { font-size: 17px; max-width: 33ch; }
 .vision-opening>.editorial-image { object-position: 47% center; }
 .vision-scene { min-height: 500px; }
 .vision-scene h2 { font-size: 39px; margin-top: 25px; }
 .scene-index { font-size: 85px; }
 .vision-scene p:not(.eyebrow) { font-size: 17px; }
 .showroom-stage { min-height: 0; grid-template-columns: minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr); gap: 14px; padding: 0 0 30px; }
 .showroom-stage span { font-size: 12px; line-height: 1.45; margin-top: 12px; }
 .showroom-stage img { max-height: none; }
 .catalogue-toolbar { gap: 18px; padding-block: 20px; }
 .product-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px 16px; }
 .catalogue-product h2 { font-size: 21px; }
 .catalogue-product> a>div { padding-top: 16px; }
 .catalogue-product .eyebrow { font-size: 10px; letter-spacing: .7px; }
 .catalogue-product .product-discover { font-size: 12px; line-height: 1.6; margin-top: 14px; }
 .list-view .catalogue-product>a { grid-template-columns: 95px minmax(0,1fr); gap: 24px; }
 .list-view .catalogue-product figure { width: 95px; }
 .product-detail-grid>div { padding-top: 0; }
 .product-detail h2 { font-size: 38px; }
 .research-heading h1 { font-size: 43px; }
 .research-macro { min-height: 0; height: 330px; }
 .research-annotation { font-size: 12px; line-height: 1.7; width: 100%; }
 .atlas-controls { gap: 25px; }
 .atlas-map { padding-block: 15px; }
 .atlas-map svg { min-height: 190px; }
 .map-information h2 { font-size: 32px; }
 .map-information p { font-size: 15px; }
 .opportunity-opening h1 { font-size: 45px; }
 .community-panorama { height: 345px; }
 .community-panorama img { object-position: 44% center; }
 .opportunity-journey { padding-block: 60px; }
 .journey-steps h2 { font-size: 28px; }
 .legends-opening { display: block; }
 .legends-opening h1 { font-size: clamp(57px,16vw,94px); letter-spacing: 2px; }
 .legends-opening h1 span { white-space: nowrap; }
 .legends-opening figure { min-height: 0; height: 375px; }
 .legends-opening>.container>p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
 .legends-opening figcaption { inset-inline: 20px; font-size: 11px; }
 .legends-dossier dd { font-size: 16px; }
 .gallery-empty { padding: 28px; }
 .magazine-masthead h1 { max-width: none; font-size: clamp(44px,11vw,70px); padding-inline-end: 25px; letter-spacing: -1.5px; }
 .masthead-mark { font-size: 33px; bottom: 26px; }
 .magazine-empty { padding-block: 30px; min-height: 300px; }
 .magazine-empty h2 { font-size: 35px; }
 .magazine-empty>p:not(.eyebrow) { font-size: 16px; }
 .contact-opening h1 { font-size: 44px; }
 .contact-workspace { display: block; }
 .contact-register { padding-top: 30px; }
 html[dir=rtl] .hero { min-height: 980px; }
 html[dir=rtl] .hero h1 { font-size: 42px; max-width: none; line-height: 1.65; }
 html[dir=rtl] .hero-body { min-height: 790px; }
 html[dir=rtl] .hero-description { font-size: 18px; }
 html[dir=rtl] .hero-shade { background: linear-gradient(270deg,#03101dda,#03101d45),linear-gradient(0deg,#03101df5,transparent 60%); }
 html[dir=rtl] .card-content h3 { font-size: 23px; }
 html[dir=rtl] .card-content p { font-size: 16px; }
 html[dir=rtl] .world-card { min-height: 370px; }
 html[dir=rtl] .legends-opening h1 { font-size: 61px; letter-spacing: 1px!important; }
 html[dir=rtl] .magazine-masthead h1 { font-size: 48px; }
}
@media (max-width:390px) {
 .site-header .brand,.site-header.scrolled .brand { width: 139px; }
 .menu-toggle { padding-inline: 10px; }
 .hero h1 { font-size: 39px; }
 .hero-description { font-size: 15px; }
 .card-content h3 { font-size: 19px; }
 .card-content p { font-size: 12px; }
 .catalogue-product h2 { font-size: 20px; }
 .catalogue-product .eyebrow { font-size: 9px; }
 .showroom-stage { gap: 10px; }
 .showroom-stage span { font-size: 11px; }
 .community-panorama { height: 320px; }
 html[dir=rtl] .legends-opening h1 { font-size: 57px; }
}
@media (prefers-reduced-motion:reduce) {
 .hero-image,.hero-copy,.card-photo,.catalogue-product img { transform: none!important; }
}
.magazine-toolbar select:disabled,.magazine-toolbar input:disabled{color:#526a7e;opacity:.7;cursor:not-allowed}
