/* Appearance controls stay inside the top-right navigation. */
.header{gap:18px}.header .menu-toggle{display:block;flex-shrink:0}.header .desktop-nav{margin-left:auto}.header .nav-cta{margin-left:12px}
.mobile-nav:not([hidden]){display:flex;position:absolute;z-index:19;top:94px;right:36px;left:auto;width:min(360px,calc(100% - 40px));padding:22px 26px;background:#0c1a27f7;color:#f5f6f4;border:1px solid #ffffff26;backdrop-filter:blur(20px);flex-direction:column;box-shadow:0 18px 50px #0003}
.mobile-nav a{padding:12px 0;border-bottom:1px solid #ffffff26;font-size:16px}
.theme-picker{padding-top:23px}.theme-picker p{font-size:9px;letter-spacing:.16em;margin-bottom:13px;opacity:.75}.theme-picker>div{display:flex;gap:10px}.theme-picker button{flex:1;min-height:44px;border:1px solid #ffffff40;background:transparent;color:inherit;display:flex;align-items:center;justify-content:center;gap:10px;font-size:19px}.theme-picker button span{font-size:12px}.theme-picker button[aria-pressed=true]{background:#f58a4c;color:#14212b;border-color:#f58a4c}
@media(max-width:1000px) and (min-width:621px){.header .desktop-nav{gap:14px}.header{gap:12px}.header .nav-cta{margin-left:0;gap:12px}}
@media(max-width:800px){.mobile-nav:not([hidden]){top:82px}}
@media(max-width:620px){.header{gap:0}.header .nav-cta{margin-left:auto}.mobile-nav:not([hidden]){top:76px;left:0;right:0;width:100%;padding:22px 25px;max-height:calc(100svh - 77px);overflow:auto}.mobile-nav a{font-size:18px;padding:12px 0}}
/* Day palette; photographic overlays retain their contrast. */
html[data-theme=day]{--line:rgba(20,33,43,.18)}
html[data-theme=day] body{background:#f7f7f3;color:#14212b}
html[data-theme=day] .header{background:#f5f5f0f2;color:#14212b;border-bottom-color:#14212b25}
html[data-theme=day] .nav-cta{border-color:#14212b55}
html[data-theme=day] .hero,html[data-theme=day] .campus-visual{color:#f5f6f4}
html[data-theme=day] .mobile-nav:not([hidden]){background:#f7f7f3f7;color:#14212b;border-color:#14212b25}
html[data-theme=day] .mobile-nav a,html[data-theme=day] .theme-picker button{border-color:#14212b30}
html[data-theme=day] .numbers{background:#e5e9e5}
html[data-theme=day] .campus{background:#f7f7f3}
html[data-theme=day] .progress{background:#e9ede9}
html[data-theme=day] .feature-film{background:#f7f7f3}
html[data-theme=day] .phase-tabs button{background:#e8ece8;color:#465963}
html[data-theme=day] .phase-tabs button[aria-selected=true]{background:#dae2dd;color:#14212b;border-top-color:#b85d30}
html[data-theme=day] .phase-tabs button:hover{background:#dfe6e0}
html[data-theme=day] :is(.stat-label,.numbers-grid>div>p:last-child,.title-row>p,.status-pill,#phase-panel p,.phase-note,.phase-tabs small,.phase-tabs button>span,.micro,.video-grid p,.gallery-track figcaption,.progress-gallery p,.timeline li>span:not(.when)){color:#53666f}
html[data-theme=day] :is(.stat-value>span,.section-no,.timeline .when,.timeline a,.video-grid a,.circle-arrow){color:#ae5027}
html[data-theme=day] .progress-gallery h3{color:#14212b}
html[data-theme=day] .timeline li{border-top-color:#14212b30}
html[data-theme=day] footer{background:#dfe5df;color:#14212b}
html[data-theme=day] :is(.footer-top>p,.footer-top>a:last-child,.footer-bottom,.footer-bottom strong){color:#465963}
/* Stationary, equal-width digits keep units and columns steady. */
.rolling-number{display:inline-block;position:relative;font:inherit;font-variant-numeric:tabular-nums;letter-spacing:-.06em;white-space:nowrap;min-width:3ch;text-align:left}
.rolling-number[data-end="2027"]{min-width:4ch}
.rolling-number[data-end="1.2"]{min-width:2.5ch}
.counter-visible{font:inherit;letter-spacing:inherit}
.stat-value .counter-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(min-width:621px) and (max-width:1000px){.header .desktop-nav{display:none}.header .nav-cta{margin-left:auto}}
/* Show campus images at full strength, with only local text contrast. */
.campus-visual>.phase-scene.is-active{opacity:1}
.campus-visual:after{background:linear-gradient(90deg,rgba(5,15,24,.28),transparent 42%)}
.capacity-overlay{text-shadow:0 2px 8px #0009}
/* Enlarge all three vision principles by fifty percent. */
.principles .line-icon{font-size:55.5px}
.principles .power-icon{font-size:66px}
.principles h3{font-size:25.5px}
.principles p{font-size:18px}
@media(min-width:621px) and (max-width:800px){.principles h3{font-size:22.5px}.principles p{font-size:16.5px}}
@media(max-width:620px){.principles>div{padding-left:72px}.principles .line-icon{font-size:45px}.principles .power-icon{font-size:52.5px}.principles h3{font-size:24px}.principles p{font-size:16.5px}}
.campus-blocks button{padding:0;cursor:pointer;font-family:inherit;min-width:44px;min-height:44px}
.campus-blocks button:hover{border-color:#fff;box-shadow:0 0 0 1px #ffffff80}
.campus-blocks button[aria-pressed=true]{outline:1px solid #ffcfac;outline-offset:2px}
@media(max-width:620px){.campus-blocks{bottom:20px;right:16px;gap:4px}.campus-blocks button{font-size:9px}.capacity-overlay{bottom:78px}}

/* Fit the original positioning across three deliberate headline lines. */
.hero h1{font-size:clamp(56px,6vw,92px)}
@media(max-width:800px){.hero h1{font-size:58px}}
@media(max-width:620px){.hero h1{font-size:clamp(32px,9vw,52px)}}

.hero h1{font-size:clamp(52px,5.5vw,84px)}
@media(max-width:800px){.hero h1{font-size:52px}}
@media(max-width:620px){.hero h1{font-size:clamp(27px,7.6vw,44px)}}
