/* Shared motion system: progressive enhancement with static reading fallbacks. */
:root{--motion-feedback:200ms;--motion-enter:480ms;--motion-stagger:80ms;--motion-ambient:12s;--motion-ease:cubic-bezier(.2,.75,.25,1)}
body.motion-enabled{font-size:16px}
.motion-enabled .hero-copy>*,.motion-enabled .hero::before,.motion-enabled .hero::after,.motion-enabled .hero-signal,.motion-enabled .header-journey-arrow,.motion-enabled .header-journey-item.goal .header-journey-marker,.motion-enabled .marquee-track{animation:none}
.motion-enabled .reveal{opacity:1;transform:none;transition:none}
.motion-enabled [data-tilt]{transform:none!important}
.motion-enabled .hero{background:linear-gradient(130deg,#050b13 8%,#0a192f 70%,#152638)}
.motion-enabled .hero::before,.motion-enabled .hero::after{display:none}
.motion-enabled .hero-signal{opacity:.12;mask-image:linear-gradient(180deg,#000,transparent)}
.motion-architecture{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.42;background:url('/assets/media/scholarly-architecture.svg') right center/auto 100% no-repeat}
.motion-architecture::after{content:"";position:absolute;inset:-15%;background:linear-gradient(110deg,transparent 30%,rgba(226,184,91,.11) 50%,transparent 70%);transform:translateX(-5%);opacity:.65}
.motion-ready .motion-architecture::after{animation:scholar-light 16s ease-in-out infinite alternate}
@keyframes scholar-light{to{transform:translateX(5%);opacity:1}}
.motion-enabled .hero-grid{position:relative;z-index:1}
.motion-enabled .hero-copy h1{max-width:15ch}
.motion-enabled main h1[tabindex="-1"]:focus{outline:none}
.motion-enabled .hero .lede{max-width:56ch}
.motion-enabled .button,.motion-enabled .timeline-step,.motion-enabled .menu-toggle{transition:transform var(--motion-feedback) var(--motion-ease),opacity var(--motion-feedback) ease}
.motion-enabled .button{position:relative;isolation:isolate;overflow:hidden;min-height:44px}
.motion-enabled .button::after{content:"";position:absolute;inset:-50% -30%;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.24) 50%,transparent 70%);opacity:0;transform:translateX(-50%);pointer-events:none}
.motion-enabled .button:is(:hover,:focus-visible)::after{animation:scholar-shimmer 550ms ease-out both}
@keyframes scholar-shimmer{0%{opacity:0;transform:translateX(-50%)}40%{opacity:1}100%{opacity:0;transform:translateX(50%)}}
.motion-enabled .button:active,.motion-enabled .timeline-step:active{transform:scale(.985)}
.motion-enabled .site-nav{transition:opacity var(--motion-feedback) ease,transform var(--motion-feedback) var(--motion-ease)}
.motion-enabled .site-nav.open a{animation:scholar-menu 350ms var(--motion-ease) both;animation-delay:calc(var(--motion-order,0)*60ms)}
@keyframes scholar-menu{from{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}
.motion-enabled .site-nav a,.motion-enabled .footer a,.motion-enabled .header-journey-summary a{min-height:44px;display:inline-flex;align-items:center}
.motion-enabled .site-nav a{min-height:46px;flex-shrink:0}
.motion-enabled .footer-bottom>span:last-child{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.motion-enabled .header-journey-summary{margin-bottom:0}
.motion-enabled .header-journey-summary a{min-height:44px}
.motion-enabled .header-journey-item.next,.motion-enabled .timeline-step.next{position:relative;box-shadow:0 0 0 1px var(--gold-bright)}
.motion-enabled .header-journey-item.next::after,.motion-enabled .timeline-step.next::after{content:"";position:absolute;inset:-1px;border-radius:inherit;box-shadow:0 0 18px rgba(226,184,91,.32);opacity:.35;pointer-events:none}
.motion-ready .header-journey-item.next::after,.motion-ready .timeline-step.next::after{animation:scholar-glow 10s ease-in-out infinite alternate}
@keyframes scholar-glow{to{opacity:.85}}
.motion-toggle{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;min-width:44px;min-height:44px;padding:.4rem .55rem;font-size:12px;font-weight:700;line-height:1.2;color:var(--gold-bright);background:transparent;border:1px solid rgba(226,184,91,.45);border-radius:10px}
.motion-toggle span{max-width:4.2em;text-align:left}
.motion-toggle svg{width:14px;height:14px;flex:none}
.motion-toggle:focus-visible{outline:3px solid var(--gold-bright);outline-offset:3px}
.motion-toggle:disabled{opacity:.85;cursor:default}
.motion-enabled .nav-wrap>.brand-text{margin-right:auto;max-width:calc(100% - 145px)}
.motion-enabled .nav-wrap{gap:.5rem}
.motion-enabled .menu-toggle{flex:0 0 46px}
.motion-enabled .nav-wrap>.brand-text{min-width:0;min-height:44px;align-content:center;flex-shrink:1}
.motion-enabled .carousel-dot{width:44px;height:44px;padding:14px;border:0;background:transparent;position:relative}
.motion-enabled .carousel-dot::before{content:"";position:absolute;inset:17px;border-radius:50%;background:var(--slate)}
.motion-enabled .carousel-dot[aria-current="true"]::before{background:var(--gold-text)}
.motion-enabled .carousel-dots{gap:0;flex-wrap:wrap}
.motion-intro{position:fixed;inset:0;margin:auto;max-width:none;max-height:none;width:100%;height:100%;height:100dvh;padding:24px;border:0;background:#050b13;color:var(--cream);overflow:auto}
.motion-intro:not([open]){display:none}
.motion-intro::backdrop{background:#050b13}
.motion-intro-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.5rem;text-align:center;position:relative;isolation:isolate}
.motion-intro-inner::before{content:"";position:absolute;inset:0;z-index:-1;opacity:.25;background:url('/assets/media/scholarly-architecture.svg') center/cover no-repeat}
.motion-logo{position:relative;overflow:hidden;display:inline-flex;align-items:flex-start;padding:.2em .06em;font-family:var(--sans);font-size:clamp(2rem,10vw,4.5rem);font-weight:820;line-height:1;letter-spacing:.02em}
.motion-logo .brand-be{color:var(--gold-bright);font-weight:950;letter-spacing:-.03em}
.motion-logo sup{font-size:.4em;color:var(--gold-bright)}
.motion-logo::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(226,184,91,.3) 50%,transparent 70%);transform:translateX(-100%);animation:scholar-logo 1.1s var(--motion-ease) both}
@keyframes scholar-logo{to{transform:translateX(100%)}}
.motion-tagline{font-family:var(--serif);font-size:clamp(1.05rem,4.4vw,1.6rem);line-height:1.5;margin:0;color:var(--cream)}
.motion-intro .button{background:transparent;color:var(--gold-bright);border:1px solid var(--gold-bright);min-height:48px;margin-top:1rem}
.motion-intro .button:focus-visible{outline:3px solid var(--gold-bright);outline-offset:5px}
.motion-enabled .motion-offscreen::after,.motion-enabled .motion-stopped::after{animation-play-state:paused!important}
.motion-enabled.motion-paused .button::after{animation:none;opacity:0}
.motion-enabled.motion-paused .site-nav.open a{animation:none}
.motion-enabled.motion-paused .carousel-track{transition:none!important}
.motion-enabled .carousel-track{transform:translateX(0%)}

@media(min-width:1040px){.motion-enabled .nav-wrap>.brand-text{max-width:245px}.motion-toggle{order:3}.motion-enabled .site-nav.open a{animation:none}}
@media(max-width:430px){.motion-enabled .brand-text{font-size:1.15rem}.motion-enabled .brand-byline{font-size:.55rem}.motion-enabled .hero{padding-top:2rem}.motion-enabled .hero-copy h1{font-size:clamp(2.3rem,10.5vw,3rem)}}
@media(prefers-reduced-motion:reduce){.motion-enabled *,.motion-enabled *::before,.motion-enabled *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-intro{display:none!important}.motion-enabled .button:active{transform:none}.motion-architecture::after{display:none}}

/* Avoid backdrop repaint and layout work on a sticky mobile surface. */
.motion-enabled .site-header{backdrop-filter:none;background:#050b13;transition:none}
.motion-enabled .site-header.scrolled{background:#050b13}
.motion-enabled .scroll-progress span{width:100%;transform:scaleX(0);transform-origin:left;transition:none}
.motion-enabled .motion-toggle[hidden]{display:none}
.motion-enabled .motion-architecture{contain:paint}
.motion-enabled .header-journey-item.next::after{box-shadow:0 0 8px rgba(226,184,91,.25)}
.motion-enabled :is(.explorer-tab,.phase-tab,.filter-button,.mini-chip,.accordion-button,.alliance-model-node,.alliance-button){min-height:44px;touch-action:manipulation}
.motion-enabled :is(a,button,summary){touch-action:manipulation}
.motion-enabled :is(.explorer-tab,.phase-tab,.filter-button,.alliance-model-node,.alliance-button):active{transform:scale(.985)}
.motion-enabled :is(.explorer-tab,.phase-tab,.filter-button,.alliance-model-node,.alliance-button){transition:transform var(--motion-feedback) ease}
.motion-enabled .nav-wrap{padding-top:env(safe-area-inset-top,0px)}
.motion-enabled .container,.motion-enabled .narrow{width:min(calc(100% - 30px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)),var(--max))}
.motion-enabled .footer{padding-bottom:calc(2rem + env(safe-area-inset-bottom,0px))}
.motion-enabled .site-nav{max-height:calc(100dvh - var(--header-height) - 24px - env(safe-area-inset-bottom,0px))}
.motion-intro{padding:calc(24px + env(safe-area-inset-top,0px)) calc(24px + env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) calc(24px + env(safe-area-inset-left,0px))}
.motion-quiet main *,.motion-quiet main *::before,.motion-quiet main *::after,.motion-quiet .header-journey-item.next::after{animation:none!important;transition:none!important}
.motion-quiet .motion-architecture{display:none}

@media(min-width:1040px){.motion-enabled .site-nav{max-height:none}}

.motion-fallback h2{margin-top:1.5rem;margin-bottom:1rem}

@media(max-width:1039px){.motion-enabled .site-nav{box-shadow:0 8px 20px rgba(0,0,0,.25);contain:layout paint;will-change:opacity,transform}}
/* Defer rendering long sections outside the viewport, retaining searchable content. */
@supports(content-visibility:auto){.motion-enabled main>.section{content-visibility:auto;contain-intrinsic-size:auto 900px}}

/* Revised cinematic direction — isolated approval preview. */
.motion-enabled:not(.motion-quiet) .hero{isolation:isolate;background:#071421}
.motion-enabled .hero-copy{position:relative;z-index:2}
.motion-enabled .hero-copy h1{font-weight:700;line-height:1.02;letter-spacing:-.045em;text-wrap:balance}
.motion-word{display:inline-block;transform-origin:50% 100%;color:inherit!important}
.motion-enabled .hero-copy h1>span:not(.motion-word) .motion-word{color:var(--gold-bright)!important}
.motion-architecture{opacity:1;background:none;overflow:hidden;contain:paint}
.motion-architecture::after{inset:0;transform:none;background:linear-gradient(90deg,rgba(5,11,19,.92),rgba(5,11,19,.4) 65%,rgba(5,11,19,.05));opacity:1;animation:none!important}
.academic-depth{position:absolute;inset:-3% -2%;background:url('/assets/media/academic-cinematic.webp') 80% 35%/auto 115% no-repeat;transform-origin:72% 38%;opacity:.9;animation:academic-passage 12s ease-in-out infinite alternate}
.academic-light{position:absolute;width:65%;height:140%;top:-20%;right:0;background:linear-gradient(105deg,transparent 22%,rgba(246,218,150,.22) 45%,rgba(226,184,91,.07) 60%,transparent 80%);transform:translateX(-25%) rotate(-12deg);animation:academic-light 8s ease-in-out infinite alternate;mix-blend-mode:screen}
.academic-grid{position:absolute;inset:0;background:linear-gradient(0deg,transparent 98%,rgba(226,184,91,.13) 100%);background-size:100% 90px;opacity:.3;animation:academic-grid 16s linear infinite alternate}
@keyframes academic-passage{from{transform:scale(1) translateX(-12px)}to{transform:scale(1.075) translateX(12px)}}
@keyframes academic-light{from{transform:translateX(-35%) rotate(-12deg);opacity:.4}to{transform:translateX(28%) rotate(-7deg);opacity:1}}
@keyframes academic-grid{to{transform:translateY(35px);opacity:.55}}
.motion-enabled .hero-actions .button-primary{box-shadow:0 0 0 1px rgba(250,224,159,.5),0 9px 30px rgba(200,155,60,.18)}
.motion-enabled .hero-actions .button-primary::after{animation:academic-cta 7s ease-in-out infinite;opacity:0}
@keyframes academic-cta{0%,62%{opacity:0;transform:translateX(-65%)}70%{opacity:.8}85%,100%{opacity:0;transform:translateX(65%)}}
.motion-enabled .button:is(:hover,:focus-visible){transform:translateY(-3px)}
.motion-enabled .button:active{transform:translateY(1px) scale(.97)}
.motion-enabled .card-link{transition:transform 220ms ease,box-shadow 220ms ease}
.motion-enabled .card-link:is(:hover,:focus-visible){transform:translateY(-5px);box-shadow:0 18px 35px rgba(5,11,19,.16)}
.motion-enabled .header-journey-item.next::after,.motion-enabled .timeline-step.next::after{box-shadow:0 0 20px rgba(226,184,91,.6);opacity:.3}
.motion-ready .header-journey-item.next::after,.motion-ready .timeline-step.next::after{animation:academic-current 5s ease-in-out infinite alternate}
@keyframes academic-current{to{opacity:1;transform:scale(1.025)}}
.motion-enabled .section-head{position:relative}
.motion-enabled .section-head::before{content:'';position:absolute;width:64px;height:3px;background:var(--gold);left:0;top:-18px;transform-origin:left;transform:scaleX(.3)}
.motion-enabled .section-head.motion-arrived::before{animation:academic-rule 700ms ease-out both}
@keyframes academic-rule{to{transform:scaleX(1)}}
.motion-intro{background:#071421}
.motion-intro-inner::before{inset:-24px;background:url('/assets/media/academic-cinematic.webp') center/cover no-repeat;opacity:.65;animation:academic-intro 3s ease-out both}
.motion-intro-inner::after{content:'';position:absolute;inset:-24px;z-index:-1;background:linear-gradient(0deg,rgba(5,11,19,.9),rgba(5,11,19,.18) 65%)}
@keyframes academic-intro{from{transform:scale(1.13);opacity:.2}to{transform:scale(1);opacity:.65}}
.motion-logo{font-size:clamp(2.7rem,12vw,6rem);text-shadow:0 3px 22px #050b13}
.motion-logo::after{animation:scholar-logo 2.6s cubic-bezier(.2,.75,.25,1) both}
.motion-tagline{max-width:17ch;font-size:clamp(1.5rem,6vw,2.3rem);line-height:1.25;text-shadow:0 2px 18px #050b13}
.motion-intro .button{background:var(--gold);color:var(--navy-950);padding:.8rem 1.5rem}
.motion-stopped,.motion-offscreen{animation-play-state:paused!important}
.motion-enabled.motion-paused .section-head::before{animation:none!important;transform:scaleX(1)}
.motion-enabled.motion-paused .hero-actions .button-primary::after{animation:none!important;opacity:0}
@media(max-width:760px){
 .motion-enabled .hero-copy h1{font-size:clamp(2.7rem,12.4vw,4rem);max-width:13ch}
 .academic-depth{inset:0 -15%;background-position:center 0;background-size:100% auto;opacity:1}
 .motion-architecture::after{background:linear-gradient(180deg,rgba(5,11,19,.08),rgba(5,11,19,.38) 30%,#071421 78%),linear-gradient(90deg,rgba(5,11,19,.7),transparent 100%)}
 .academic-light{right:-20%;width:100%;height:100%;opacity:.8}
 .motion-enabled .hero .lede{font-size:1.075rem;line-height:1.6}
 .motion-enabled .hero-copy .status-chip{background:rgba(5,11,19,.8)}
}
@media(prefers-reduced-motion:reduce){.academic-depth,.academic-light,.academic-grid{animation:none!important}.academic-light{opacity:.35}.motion-enabled .button:is(:hover,:focus-visible,:active),.motion-enabled .card-link:is(:hover,:focus-visible){transform:none}.motion-enabled .section-head::before{transform:scaleX(1)}}
.academic-depth{background-image:url('/assets/media/academic-cinematic.webp');background-position:right center;background-size:auto 120%;opacity:1}
.motion-intro-inner::before{background-image:url('/assets/media/academic-cinematic.webp');opacity:.85}
.motion-intro-inner::after{background:linear-gradient(0deg,rgba(5,11,19,.85),rgba(5,11,19,.25) 75%)}
.motion-enabled.motion-paused :is(.button,.card-link){transition:none;transform:none}
@media(max-width:760px){.academic-depth{inset:0 -8%;background-size:auto 1050px;background-position:62% 0}.motion-architecture::after{background:linear-gradient(180deg,rgba(5,11,19,.15),rgba(5,11,19,.3) 36%,#071421 82%),linear-gradient(90deg,rgba(5,11,19,.75),rgba(5,11,19,.45) 100%)}}
/* Readability revision: stable surfaces separate copy from moving light. */
.motion-enabled:not(.motion-quiet) :is(.hero-copy,.profile-copy){position:relative;isolation:isolate}
.motion-enabled:not(.motion-quiet) :is(.hero-copy,.profile-copy)::before{content:'';position:absolute;inset:-16px -10px;z-index:-1;background:rgba(5,11,19,.88);border-radius:14px;pointer-events:none}
.motion-enabled :is(.hero-copy,.profile-copy) :is(.lede,.project-reference,.on-dark-muted){background:#0a192f;color:#e4e9f1;padding:1rem 1.1rem;border-left:2px solid #c89b3c;border-radius:0 8px 8px 0}
.motion-enabled :is(.hero-copy,.profile-copy) h1{color:#fbf8f1}
.motion-enabled :is(.hero-copy,.profile-copy) :is(.eyebrow,.status-chip){color:#e2b85b}
.motion-enabled :is(.hero-copy,.profile-copy) .status-chip{background:#050b13}
.motion-enabled .hero-actions .button-secondary{background:#0a192f;color:#fbf8f1;border-color:#c7cfdc}
.motion-enabled .hero-actions .button-primary{background:#e2b85b;color:#050b13}
.motion-intro .motion-logo,.motion-intro .motion-tagline{background:rgba(5,11,19,.94);border-radius:8px;padding:.3em .4em;color:#fbf8f1;text-shadow:none}
.motion-intro .motion-tagline{padding:.5em .7em}
.motion-intro .button{background:#e2b85b;color:#050b13}
@media(min-width:1040px){.motion-enabled:not(.motion-quiet) :is(.hero-copy,.profile-copy)::before{inset:-24px -20px}}
