@font-face{font-family:Rubik;src:url('assets/fonts/rubik-regular.woff') format('woff');font-weight:400;font-display:swap}
@font-face{font-family:Rubik;src:url('assets/fonts/rubik-bold.woff') format('woff');font-weight:700;font-display:swap}
:root{--blue:#4b9cff;--cyan:#79dcff;--white:#f5f8ff;--muted:#b8c7dd;--ease:cubic-bezier(.19,1,.22,1);--scale:1}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;background:#03050b;color:var(--white);font-family:Rubik,Arial,sans-serif;color-scheme:dark}
body{overflow:hidden}
button,video{font:inherit}
button{cursor:pointer;color:inherit;border:0;-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible{outline:3px solid #8cdbff;outline-offset:5px}
button:disabled{cursor:default;opacity:.26}
a{color:#80ccff}
strong,b{font-weight:700}
button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#viewport{position:fixed;inset:0;overflow:hidden;background:#03050b}
#stage{position:absolute;left:50%;top:50%;width:1600px;height:900px;transform:translate(-50%,-50%) scale(var(--scale));transform-origin:center;overflow:hidden;background:#03050b;isolation:isolate}
#universe{position:absolute;inset:0;z-index:-4;width:100%;height:100%;pointer-events:none}
.ambient-light{position:absolute;inset:0;z-index:-3;pointer-events:none;background:radial-gradient(ellipse at 95% 1%,#1252ba1a,transparent 53%),radial-gradient(ellipse at 5% 100%,#2149941f,transparent 50%)}
.reading-shade{position:absolute;inset:0;z-index:-2;pointer-events:none;background:linear-gradient(90deg,#03050bf5 1%,#03050bd9 27%,#03050b45 55%,transparent 71%)}
.topbar{position:absolute;top:0;left:0;width:100%;height:108px;display:flex;align-items:center;padding:22px 56px;gap:30px;z-index:20;background:linear-gradient(#03050be8,#03050b00)}
.brand{width:237px;height:69px;padding:0;background:transparent;text-align:left}
.brand img{display:block;max-width:100%;height:69px;object-fit:contain;filter:brightness(0) invert(1)}
.topbar-section{display:flex;align-items:center;gap:18px;flex:1;padding-left:20px;font-size:16px;color:#acbfd9}
#slide-counter{color:#edf5ff;white-space:nowrap}
.topbar-actions{display:flex;align-items:center;gap:10px}
.control{display:flex;align-items:center;justify-content:center;gap:11px;background:#131e31c9;border:1px solid #a9cfff25;border-radius:28px;height:48px;padding:0 19px;font-size:16px;white-space:nowrap;backdrop-filter:blur(12px);transition:background .2s,border-color .2s,transform .2s}
.control:hover{background:#21354f;border-color:#9ac9ff66;transform:translateY(-2px)}
.equalizer{display:flex;align-items:center;gap:3px;height:20px}
.equalizer i{display:block;width:3px;height:6px;background:#92d2ff;border-radius:2px}
.music-control[aria-pressed=true] .equalizer i{animation:equalize .8s ease-in-out infinite alternate}
.equalizer i:nth-child(2){animation-delay:-.2s!important;height:12px}.equalizer i:nth-child(3){animation-delay:-.5s!important;height:17px}.equalizer i:nth-child(4){animation-delay:-.1s!important;height:10px}
@keyframes equalize{to{height:4px;opacity:.6}}
.moving{position:absolute;will-change:transform,opacity;transition:transform 1.28s var(--ease),width 1.28s var(--ease),height 1.28s var(--ease),opacity .8s var(--ease),border-radius 1.2s var(--ease),background 1s ease;transform:translate3d(0,0,0)}
.headline{z-index:7;left:0;top:0;width:880px;transform:translate3d(88px,236px,0);pointer-events:none}
.eyebrow{display:block;margin:0 0 24px;color:#88c8ff;font-size:18px;font-weight:700;letter-spacing:.1em;line-height:1.35;text-transform:uppercase}
.headline h1{margin:0;font-size:68px;line-height:1.09;font-weight:700;letter-spacing:-.025em;transition:font-size 1.2s var(--ease);overflow:visible}
.headline h1>span{display:block;white-space:pre-line}
#title-main{color:#f5f7fc}
#title-accent{padding-bottom:8px;background:linear-gradient(110deg,#6cb7ff 2%,#8cbdff 48%,#b4a8ff 98%);background-clip:text;-webkit-background-clip:text;color:transparent}
.headline p{max-width:850px;margin:23px 0 0;font-size:26px;line-height:1.42;color:#c3cee1}
.headline p:empty{display:none}
.headline h1>span,.headline .eyebrow,.headline p{transition:opacity .23s ease,translate .5s var(--ease),clip-path .5s var(--ease);clip-path:inset(-12% -3% -12% -3%)}
.headline.copy-out h1>span{opacity:0;translate:0 -12px;clip-path:inset(0 0 100% 0)}
.headline.copy-out .eyebrow,.headline.copy-out p{opacity:0;translate:0 -5px}
.headline.copy-enter h1>span{animation:title-reveal .82s var(--ease) both}
.headline.copy-enter h1>span:last-child{animation-delay:.09s}
@keyframes title-reveal{from{opacity:0;transform:translateY(24px);clip-path:inset(100% 0 0 0)}to{opacity:1;transform:translateY(0);clip-path:inset(-12% -3% -12% -3%)}}
.portrait{z-index:3;top:0;left:0;width:262px;height:405px;border:1px solid #b8d9ff6b;border-radius:28px;background:#bdc3cc;overflow:hidden;box-shadow:0 25px 65px #0008,0 0 45px #5096f927;opacity:0;pointer-events:none}
.portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 0%;filter:none}
.portrait-caption{position:absolute;left:0;bottom:0;width:100%;padding:60px 24px 22px;background:linear-gradient(transparent,#020815eb);color:white}
.portrait-caption b{display:block;font-size:30px;line-height:1.2}
.portrait-caption span{display:block;margin-top:6px;font-size:16px;color:#d7e6f8}
.portrait.is-small{border-radius:50%}
.portrait.is-small .portrait-caption{opacity:0}
#tile-layer{position:absolute;inset:0;pointer-events:none;z-index:6}
.tile{position:absolute;left:0;top:0;overflow:hidden;border-radius:26px;border:1px solid #81acdf40;background:linear-gradient(140deg,#15223ade,#0c1526ee);color:#eef4ff;box-shadow:0 22px 55px #0004;backdrop-filter:blur(20px);padding:26px 28px;text-align:left;transition:transform 1.28s var(--ease),width 1.28s var(--ease),height 1.28s var(--ease),opacity .7s var(--ease),border-radius 1s var(--ease),background .8s ease,border-color .5s ease;opacity:0;pointer-events:none;will-change:transform,width,height;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.tile.is-visible{opacity:1;pointer-events:auto}
.tile::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse at 100% 0%,#79adff14,transparent 63%);border-radius:inherit}
.tile.blue{background:linear-gradient(135deg,#145ccc,#093da4);border-color:#81b6ff7a;box-shadow:0 24px 60px #063dba38}
.tile.ice{background:linear-gradient(135deg,#f0f6ff,#c9ddfc);color:#0b2447;border-color:#e4f1ff;box-shadow:0 24px 60px #416bc81f}
.tile[data-clickable=true]:hover{border-color:#bfe2ff;box-shadow:0 24px 65px #3184f32b}
.tile .tile-tag{position:relative;display:block;max-width:100%;margin:0 0 16px;color:#92c4fb;font-size:16px;line-height:1.3;font-weight:700;letter-spacing:.035em;text-transform:uppercase}
.tile.blue .tile-tag{color:#e5f1ff}.tile.ice .tile-tag{color:#2d5e9f}
.tile h2{position:relative;margin:0;color:inherit;font-size:31px;font-weight:700;letter-spacing:-.02em;line-height:1.15;overflow-wrap:normal}
.tile p{position:relative;margin:15px 0 0;color:#c0d1e9;font-size:22px;line-height:1.42}
.tile.blue p{color:#e6f0ff}.tile.ice p{color:#2d496f}
.tile p strong{color:#fff}.tile.ice p strong{color:#102d54}
.tile .tile-more{position:absolute;right:15px;top:12px;width:23px;height:23px;display:grid;place-items:center;font-size:23px;font-weight:400;color:#8fbbf7;opacity:.8}
.tile.ice .tile-more{color:#336091}
.tile[data-clickable=false] .tile-more{display:none}
.tile .tile-copy{width:100%;transition:opacity .2s ease,translate .3s var(--ease)}
.tile.copy-out .tile-copy{opacity:0;translate:0 -9px}
.tile.compact{padding:20px 23px;border-radius:23px}
.tile.compact .tile-tag{font-size:15px;margin-bottom:7px}
.tile.compact h2{font-size:27px;line-height:1.12}
.tile.compact p{font-size:20px;line-height:1.32;margin-top:7px}
.tile.narrow{padding:22px 22px}
.tile.narrow h2{font-size:28px}
.tile.narrow p{font-size:21px;line-height:1.39}
.tile.micro{padding:19px 20px}
.tile.micro h2{font-size:25px}.tile.micro p{font-size:20px;line-height:1.3;margin-top:9px}.tile.micro .tile-tag{font-size:16px;margin-bottom:10px}
.focus{left:0;top:0;z-index:8;display:flex;align-items:center;padding:19px 28px;border:1px solid #62b1ff66;border-radius:21px;background:linear-gradient(100deg,#1255b94a,#13316b75);box-shadow:inset 0 1px 0 #cbe9ff14,0 12px 45px #0003;backdrop-filter:blur(14px);overflow:hidden;color:#dcecff;font-size:24px;line-height:1.4;opacity:0}
.focus>div{position:relative;z-index:2;width:100%;transition:opacity .2s ease}
.focus.copy-out>div{opacity:0}
.focus strong{color:white}
.focus span:not(.focus-beam):not(.status-pill){padding:0 8px;color:#84c7ff}
.focus small{display:block;margin-top:8px;color:#b6d0f4;font-size:18px}
.focus-beam{position:absolute;left:-20%;top:0;width:20%;height:100%;background:linear-gradient(90deg,transparent,#86caff0e,transparent);animation:focus-beam 8s linear infinite;pointer-events:none}
@keyframes focus-beam{to{left:120%}}
.status-pill{display:inline-flex;margin-bottom:10px;padding:5px 12px;border-radius:8px;background:#8eddca;color:#0c3e39;font-size:17px;font-weight:700}
.status-pill+strong{display:block;font-size:26px}
.media{position:absolute;left:0;top:0;z-index:9;overflow:hidden;border:1px solid #99bbf45c;border-radius:27px;box-shadow:0 35px 90px #0008,0 0 85px #2166d026;background:#091020;opacity:0}
.media-top{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid #adcfff22;background:#131e31;color:#cfe0f6;font-size:16px}
.media-top button{display:grid;place-items:center;width:30px;height:30px;background:transparent;color:#a5c5ef}
.media-top svg{width:18px;height:18px}
.media-view{position:absolute;top:42px;left:0;width:100%;height:calc(100% - 42px);display:none;overflow:hidden;background:#03060d}
.media-view.is-visible{display:block}
.media-view video{display:block;width:100%;height:100%;object-fit:contain;background:black}
.media:fullscreen{transform:none!important;left:0;top:0;width:100vw!important;height:100vh!important;border-radius:0}
.media:fullscreen .media-view{height:calc(100vh - 42px)}
.focus-small{padding:18px 22px;font-size:25px;text-align:center}
.video-cover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:23px;background:radial-gradient(ellipse at 50% 25%,#204ca487,transparent 68%),linear-gradient(135deg,#101e35,#050b18);font-size:21px;font-weight:400;color:#c9defe}
.video-cover::before{content:"";position:absolute;inset:35px;border:1px solid #80baff25;border-radius:13px;pointer-events:none}
.video-cover-title{font-size:70px;font-weight:700;letter-spacing:-.035em;color:white;line-height:1.1}
.video-cover-title i{font-style:normal;color:#80bdff}
.play-disc{display:grid;place-items:center;width:72px;height:72px;border:1px solid #b8e0ff8a;border-radius:50%;background:#edf7ff;color:#145cbd;font-size:24px;padding-left:4px;box-shadow:0 0 45px #76b9ff35;transition:transform .3s var(--ease)}
.video-cover:hover .play-disc{transform:scale(1.12)}
.course-cover{gap:21px;background:radial-gradient(ellipse at 75% 20%,#128e9e61,transparent 65%),linear-gradient(135deg,#0b263a,#08111f)}
.course-cover .video-cover-title{font-size:47px;text-align:center}
.course-cover .play-disc{width:58px;height:58px;font-size:20px}
.video-cover.is-playing{display:none}
.max-view{background:#bfdcf2;color:#132944}
.max-header{height:84px;background:#fbfdff;display:flex;align-items:center;gap:13px;padding:12px 21px}
.max-header img{width:48px;height:48px;object-fit:cover;object-position:50% 0;border-radius:50%}
.max-header>div{flex:1}.max-header b{display:block;font-size:18px;line-height:1.2}.max-header div span{display:block;font-size:14px;color:#6d849f;margin-top:4px}
.max-scroll{height:calc(100% - 84px);overflow-y:auto;padding:16px 19px;background-image:radial-gradient(#5f9ed51c 2px,transparent 2px);background-size:24px 24px;overscroll-behavior:contain}
.message{padding:18px 19px;width:95%;background:white;border-radius:16px 16px 16px 4px;box-shadow:0 5px 20px #426d9521;font-size:18px;line-height:1.35}
.message p{margin:11px 0 0;font-size:17px}.message strong{color:#17375c}
.max-menu{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;width:95%}
.max-menu button{padding:9px 12px;min-height:42px;border-radius:7px;background:#f6fbff;color:#163755;font-size:17px;line-height:1.2;transition:background .2s,transform .2s}
.max-menu button:hover{background:#eaf7ff;transform:translateY(-1px)}
.max-response{margin-top:10px;width:95%;padding:12px 14px;background:#e6f3ff;color:#23476d;border-radius:13px;font-size:17px;line-height:1.35}
.max-response strong{display:block;margin-bottom:9px;color:#134177}.max-response .route-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.route-options button{background:#167ce1;color:white;font-size:16px;padding:10px 13px;border-radius:10px}
.panel-photo{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.photo-caption{position:absolute;bottom:20px;left:20px;right:20px;padding:18px 21px;border:1px solid #c6e4ff60;border-radius:16px;background:#071526e6;color:#eaf4ff;backdrop-filter:blur(15px);font-size:21px;line-height:1.45}
.presenter{left:0;top:0;width:830px;z-index:7;opacity:0;transform:translate3d(88px,766px,0);line-height:1.4}
.presenter b{display:block;font-size:21px;color:#e5edfa}.presenter span{display:block;font-size:18px;color:#a4b4cc;margin-top:4px}
.intro-actions{position:absolute;left:88px;bottom:79px;z-index:12;display:flex;align-items:center;gap:28px;transition:opacity .5s,transform 1s var(--ease)}
.intro-actions>span{font-size:18px;line-height:1.45;color:#a6b7d0}
.primary,.secondary{min-height:59px;border-radius:32px;padding:0 27px;font-size:19px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:24px;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.primary{background:#eaf3ff;color:#0c2b52;box-shadow:0 10px 40px #3d88f329}.primary:hover{transform:translateY(-3px);background:white;box-shadow:0 15px 50px #3d88f340}
.secondary{background:#19325a9c;color:#d5e9ff;border:1px solid #739ccc5c}.secondary:hover{background:#254c79}
.closing-actions{left:0;top:0;display:flex;gap:14px;opacity:0;z-index:8;transform:translate3d(88px,747px,0)}
.finale{position:absolute;inset:0;z-index:12;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease,visibility .8s;overflow:hidden;text-align:center}
.is-finale .finale{opacity:1;visibility:visible;pointer-events:auto}
.is-finale .reading-shade{background:radial-gradient(ellipse at 50% 46%,#03050bd9 0%,#03050b94 34%,#03050b30 56%,transparent 76%)}
.is-finale .navigation{opacity:0;visibility:hidden;pointer-events:none}
.finale-light{position:absolute;inset:-80px;pointer-events:none;opacity:0;transform-origin:50% 65%}
.finale.run .finale-light{animation:finale-radiance 22.9s cubic-bezier(.19,1,.22,1) both}
.finale-prelude{position:absolute;left:190px;top:312px;width:1220px;font-size:66px;font-weight:700;line-height:1.2;letter-spacing:-.025em;opacity:0;pointer-events:none}
.finale-prelude span,.finale-prelude strong{display:block}
.finale-prelude strong{color:#95cbff}
.finale.run .prelude-one{animation:finale-thought 8.15s ease .65s both}
.finale.run .prelude-two{animation:finale-thought 8.15s ease 8.9s both}
.finale-brand{position:absolute;top:214px;left:200px;width:1200px;font-size:20px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#a6ceff;opacity:0}
.finale.run .finale-brand{animation:finale-arrive 1.1s var(--ease) 17.25s both}
.finale-title{position:absolute;top:285px;left:85px;width:1430px;margin:0;font-size:88px;line-height:1.14;letter-spacing:-.032em;font-weight:700;color:#f6f9ff}
.finale-line{display:block;white-space:nowrap;opacity:0;transform-origin:50% 60%;padding-bottom:9px}
.finale.run .line-one{animation:finale-arrive 1.4s var(--ease) 17.6s both}
.finale-title .line-two{color:transparent;background:linear-gradient(105deg,#78beff 0%,#c6e2ff 42%,#c1afff 74%,#91c8ff 100%);background-clip:text;-webkit-background-clip:text;background-size:160% 100%}
.finale.run .line-two{animation:finale-arrive 1.5s var(--ease) 18.3s both}
.finale-invitation{position:absolute;top:548px;left:130px;width:1340px;margin:0;display:flex;align-items:center;justify-content:center;gap:24px;font-size:26px;line-height:1.4;color:#c7d6ee;opacity:0}
.finale-invitation span{color:#c8def4;font-weight:400}
.finale-invitation span+span::before{content:"·";margin-right:24px;color:#728cac}
.finale.run .finale-invitation{animation:finale-arrive 1.2s var(--ease) 19.65s both}
.finale-rule{position:absolute;top:617px;left:625px;width:350px;height:1px;background:linear-gradient(90deg,transparent,#8ed4ff,transparent);opacity:0;transform:scaleX(0)}
.finale.run .finale-rule{animation:finale-rule-in 1.5s var(--ease) 20.25s both}
.finale-credit{position:absolute;top:657px;left:260px;width:1080px;opacity:0}
.finale-credit-label{display:block;margin-bottom:11px;color:#8baacc;font-size:16px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase}
.finale-credit b{display:block;font-size:30px;line-height:1.25;color:#ecf4ff}
.finale-credit p{font-size:21px;line-height:1.38;margin:9px 0 0;color:#adc1dc}
.finale.run .finale-credit{animation:finale-arrive 1.3s var(--ease) 20.9s both}
.finale-controls{position:absolute;left:88px;right:88px;bottom:20px;display:flex;justify-content:center;gap:13px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .8s ease,visibility .8s}
.finale-controls .secondary{min-height:40px;font-size:15px;font-weight:400;padding:0 18px;border-color:#83b1e72b;background:#0c1b2bb3}
.finale[data-state=settled] .finale-controls{opacity:.68;visibility:visible;pointer-events:auto}
.finale-controls:hover,.finale-controls:focus-within{opacity:1!important}
@keyframes finale-thought{0%{opacity:0;transform:translate3d(0,35px,0) scale(.96)}12%,88%{opacity:1;transform:translate3d(0,0,0) scale(1)}100%{opacity:0;transform:translate3d(0,-27px,0) scale(1.02)}}
@keyframes finale-arrive{from{opacity:0;transform:translate3d(0,40px,0) scale(.965)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes finale-radiance{0%{opacity:0;transform:scale(.4) rotate(-65deg)}24%{opacity:.26;transform:scale(.8) rotate(-38deg)}56%{opacity:.16;transform:scale(1) rotate(0deg)}70%{opacity:.7;transform:scale(1.3) rotate(20deg)}100%{opacity:.12;transform:scale(1.5) rotate(38deg)}}
@keyframes finale-rule-in{to{opacity:.75;transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){.is-finale .finale-prelude,.is-finale .finale-light{display:none}.is-finale .finale-line,.is-finale .finale-brand,.is-finale .finale-invitation,.is-finale .finale-rule,.is-finale .finale-credit{animation:none!important;opacity:1!important;transform:none!important;clip-path:none!important}}
.intro-cycle{position:absolute;left:88px;bottom:182px;display:flex;gap:8px;z-index:9;transition:opacity .4s}
.intro-cycle i{width:23px;height:4px;background:#50769c66;border-radius:4px;transition:width .8s var(--ease),background .8s}
.intro-cycle i.active{width:62px;background:#86caff}
.navigation{position:absolute;bottom:20px;left:56px;right:56px;z-index:20;display:flex;align-items:center;gap:14px;height:47px;transition:opacity .5s,transform .8s var(--ease)}
.nav-arrow{width:42px;height:42px;border:1px solid #adceff36;border-radius:50%;background:#122036a6;color:#e4efff;font-size:24px;transition:background .2s,transform .2s}
.nav-arrow:hover:enabled{background:#23486d;transform:scale(1.08)}
.chapter-nav{display:flex;align-items:center;justify-content:center;gap:7px;flex:1}
.chapter-nav button{width:16px;height:5px;padding:0;background:#7187a958;border-radius:5px;transition:width .8s var(--ease),background .5s;position:relative}
.chapter-nav button::before{content:"";position:absolute;inset:-16px -3px}
.chapter-nav button.is-active{width:58px;background:#c0e2ff;box-shadow:0 0 13px #5699eb64}
.chapter-nav button.is-before{background:#497ebe}
.is-intro .deck-only{opacity:0;pointer-events:none;visibility:hidden}
#stage:not(.is-intro) .intro-actions{opacity:0;pointer-events:none;visibility:hidden;transform:translateY(20px)}
#stage:not(.is-intro) .intro-cycle{opacity:0;visibility:hidden}
.status-message{position:absolute;right:58px;top:108px;z-index:30;font-size:17px;padding:12px 17px;border-radius:15px;background:#193352;opacity:0;transition:opacity .3s;pointer-events:none}
.status-message.show{opacity:1}
dialog{color:#f1f6ff;background:linear-gradient(130deg,#152741,#081220);border:1px solid #8fbcf665;border-radius:26px;padding:46px 49px;box-shadow:0 35px 100px #0009;font-family:Rubik,Arial,sans-serif}
dialog::backdrop{background:#020612c9;backdrop-filter:blur(13px)}
.detail-dialog{width:min(1040px,calc(100vw - 44px));max-height:86svh;overflow:auto}
.close-dialog{position:absolute;right:18px;top:16px;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#bfdcff18;font-size:26px}
dialog h2{font-size:38px;line-height:1.16;letter-spacing:-.02em;margin:0 0 22px}
dialog .eyebrow{font-size:15px;margin-bottom:18px}
#detail-text{font-size:21px;line-height:1.6;color:#c2d3eb}
#detail-text p{margin:0 0 16px}
#detail-text ul{padding-left:25px}#detail-text li{margin:10px 0}
.overview-dialog{width:min(1170px,calc(100vw - 44px));max-height:86svh;overflow:auto}
#overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px}
.overview-card{text-align:left;padding:16px 18px;min-height:96px;border:1px solid #7fadd738;background:#1b304c;border-radius:14px}
.overview-card>span{display:block;font-size:14px;color:#92bef2;margin-bottom:12px}.overview-card>b{font-size:18px;line-height:1.2}.overview-card.active{background:#1568d6;border-color:#9bccff}
.noscript{position:fixed;z-index:999;top:20%;left:10%;right:10%;font-size:26px}
@media (max-width:650px){dialog{padding:36px 23px}dialog h2{font-size:28px}#detail-text{font-size:18px}#overview-grid{grid-template-columns:1fr 1fr}.overview-card>b{font-size:16px}.overview-card{padding:13px;min-height:90px}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Editorial compositions: data, open text, process, film and a single system map. */
#stage{--reveal-x:0px;--reveal-y:24px;--reveal-scale:1}
#stage[data-motion=flow]{--reveal-x:32px;--reveal-y:0px}
#stage[data-motion=gather]{--reveal-x:0px;--reveal-y:12px;--reveal-scale:.975}
#stage[data-motion=orbit]{--reveal-x:-20px;--reveal-y:15px}
#stage[data-motion=rise]{--reveal-y:34px}
#stage[data-motion=branch]{--reveal-x:20px;--reveal-y:8px}
.headline.copy-enter h1>span{animation-name:editorial-reveal;animation-duration:1s}
@keyframes editorial-reveal{from{opacity:0;transform:translate(var(--reveal-x),var(--reveal-y)) scale(var(--reveal-scale));clip-path:inset(0 0 100% 0)}to{opacity:1;transform:translate(0,0) scale(1);clip-path:inset(-12% -3% -12% -3%)}}
#stage[data-motion=aperture] .headline.copy-enter h1>span{animation-name:aperture-reveal}
@keyframes aperture-reveal{from{opacity:0;clip-path:inset(0 50% 0 50%);transform:scale(.96)}to{opacity:1;clip-path:inset(-12% -3% -12% -3%);transform:scale(1)}}
.tile.copy-enter .tile-copy{animation:editorial-reveal .78s var(--ease) both;animation-delay:calc(var(--order,0)*35ms)}
.headline h1>span:empty{display:none}
.headline p{max-width:850px}
#stage[data-layout=case] .headline p{font-size:25px;line-height:1.42}
#stage[data-layout=closing] .headline{filter:drop-shadow(0 7px 25px #03050b)}
#stage[data-layout=panel] .reading-shade{background:linear-gradient(90deg,#03050b33,transparent 40%,#03050bbd 60%,#03050bd1)}
#stage[data-layout=system] .reading-shade{background:linear-gradient(180deg,#03050be0 10%,#03050b30 52%,#03050b80)}
.scene-art{position:absolute;inset:0;z-index:5;pointer-events:none;opacity:0;transition:opacity .65s ease}
.scene-art.active{opacity:1}
.scene-art svg{width:100%;height:100%;overflow:visible}
.flow-base{fill:none;stroke:#80c5fa4a;stroke-width:2}
.flow-light{fill:none;stroke:#a3e2ff;stroke-width:2;stroke-dasharray:22 160;animation:current-flow 5s linear infinite}
.flow-node{fill:#caeeff;stroke:#14283e;stroke-width:4}
.flow-arrow{fill:none;stroke:#a3ddff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
@keyframes current-flow{to{stroke-dashoffset:-364}}
.survey-dot{fill:#35465f}
.survey-dot.lit{fill:#8bd7ff}
.scene-art.active .survey-dot{animation:dot-arrive .65s ease both;animation-delay:calc(var(--dot)*8ms + 250ms)}
@keyframes dot-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.tile[data-variant]{border-radius:0;box-shadow:none;backdrop-filter:none;background:transparent;border:0;padding:0;color:#f3f7fe}
.tile[data-variant]::before{display:none}
.tile[data-variant] h2{white-space:pre-line}
.tile[data-variant] p:empty,.tile[data-variant] .tile-tag:empty{display:none}
.tile[data-variant] .tile-more{top:8px;right:8px}
.tile[data-variant][data-clickable=true]{cursor:pointer}
.tile[data-variant][data-clickable=true]:hover{box-shadow:none}
.tile[data-variant=metric-main] .tile-tag{font-size:17px;margin:0 0 4px;color:#b7d7f3}
.tile[data-variant=metric-main] h2{font-size:172px;line-height:1;letter-spacing:-.065em;color:#f2f8ff}
.tile[data-variant=metric-main] p{font-size:27px;line-height:1.36;margin:14px 0 0;color:#c0d4e9}
.tile[data-variant=metric-main] .tile-more{top:20px;right:50px}
.tile[data-variant=metric]{padding:19px 0;border-top:1px solid #96bade50}
.tile[data-variant=metric] .tile-copy{display:grid;grid-template-columns:230px 1fr;column-gap:22px;row-gap:12px}
.tile[data-variant=metric] .tile-tag{grid-column:2;grid-row:1;font-size:16px;line-height:1.25;margin:0;color:#8ecfff}
.tile[data-variant=metric] h2{grid-column:1;grid-row:1/3;font-size:75px;line-height:1;letter-spacing:-.05em;color:#bddfff}
.tile[data-variant=metric] p{grid-column:2;grid-row:2;font-size:23px;line-height:1.38;margin:0;color:#d1dfef}
.tile[data-variant=editorial-row]{padding:21px 0 18px 82px;border-top:1px solid #8aaac342}
.tile[data-variant=editorial-row] .tile-tag{position:absolute;top:3px;left:-82px;font-size:22px;color:#76c2ff;margin:0}
.tile[data-variant=editorial-row] h2{font-size:33px;line-height:1.13}
.tile[data-variant=editorial-row] p{font-size:23px;line-height:1.39;margin-top:10px;color:#c4d5e8}
.tile[data-variant=callout]{padding:18px 24px;border-left:3px solid #8fd8ff;background:linear-gradient(90deg,#1e568827,transparent)}
.tile[data-variant=callout] .tile-tag{font-size:16px;margin-bottom:12px}
.tile[data-variant=callout] h2{font-size:32px;line-height:1.15}
.tile[data-variant=callout] p{font-size:22px;line-height:1.4;margin-top:12px}
.tile[data-variant=definition]{border-bottom:1px solid #86b9e04a}
.tile[data-variant=definition] .tile-tag{font-size:16px;margin-bottom:12px}
.tile[data-variant=definition] h2{font-size:40px;line-height:1.14}
.tile[data-variant=definition] p{font-size:23px;line-height:1.4;margin-top:10px}
.tile[data-variant=step]{padding:0 17px 0 0}
.tile[data-variant=step] .tile-tag{font-size:24px;margin:0 0 22px;color:#81c9ff}
.tile[data-variant=step] h2{font-size:32px;line-height:1.15}
.tile[data-variant=step] p{font-size:23px;line-height:1.42;margin-top:15px;color:#cad9eb}
.tile[data-variant=band]{padding:19px 25px;border-top:1px solid #8ecbfa66;border-bottom:1px solid #8ecbfa26;background:#1738522b}
.tile[data-variant=band] .tile-copy{display:grid;grid-template-columns:310px 1fr;column-gap:24px;align-items:center}
.tile[data-variant=band] .tile-tag{grid-row:1/3;font-size:16px;margin:0;color:#b4d5f5}
.tile[data-variant=band] h2{font-size:27px;line-height:1.2}
.tile[data-variant=band] p{grid-column:2;font-size:21px;line-height:1.35;margin-top:6px}
.tile[data-variant=verse] .tile-tag{font-size:16px;margin-bottom:31px}
.tile[data-variant=verse] h2{font-size:38px;line-height:1.72;color:#d3eaff}
.tile[data-variant=paper]{padding:26px 28px;border:1px solid #e1efff;border-radius:12px;background:linear-gradient(130deg,#f1f7ff,#d4e4fa);color:#122c4c}
.tile[data-variant=paper] .tile-tag{font-size:16px;color:#366290;margin-bottom:14px}
.tile[data-variant=paper] h2{font-size:31px;line-height:1.16}
.tile[data-variant=paper] p{font-size:22px;line-height:1.42;color:#294966;margin-top:15px}
.tile[data-variant=paper] p strong{color:#122c4c}
.tile[data-variant=paper] .tile-more{color:#306394}
.tile[data-variant=caption] .tile-tag{font-size:16px;margin-bottom:14px}
.tile[data-variant=caption] h2{font-size:28px;line-height:1.16}
.tile[data-variant=caption] p{font-size:22px;line-height:1.4;margin-top:12px}
#stage[data-layout=case] .tile[data-variant=caption] h2{font-size:33px}
.tile[data-variant=endpoint]{border:1px solid #9bcbf565;border-radius:14px;padding:22px;background:#0c1c2df0}
.tile[data-variant=endpoint] .tile-tag{font-size:16px;margin-bottom:12px}
.tile[data-variant=endpoint] h2{font-size:31px;line-height:1.15}
.tile[data-variant=endpoint] p{font-size:21px;line-height:1.4;margin-top:12px}
.tile[data-variant=control-node]{border-top:1px solid #8ec9f365;border-bottom:1px solid #8ec9f32b;background:#0b1d2cd9;padding:18px 28px;text-align:center}
.tile[data-variant=control-node] .tile-tag{font-size:16px;margin-bottom:8px}
.tile[data-variant=control-node] h2{font-size:28px;line-height:1.15}
.tile[data-variant=control-node] p{font-size:22px;line-height:1.4;margin-top:8px}
.tile[data-variant=route]{padding:19px 0 18px 70px;border-bottom:1px solid #89b5d339}
.tile[data-variant=route] .tile-copy{display:grid;grid-template-columns:204px 1fr;gap:18px;align-items:center}
.tile[data-variant=route] .tile-tag{position:absolute;left:-70px;top:4px;font-size:21px;margin:0;color:#7ac6ff}
.tile[data-variant=route] h2{font-size:29px;line-height:1.2}
.tile[data-variant=route] p{font-size:22px;line-height:1.35;margin:0}
.tile[data-variant=table-row]{padding:22px 0;border-top:1px solid #92c9f354}
.tile[data-variant=table-row] .tile-copy{display:grid;grid-template-columns:94px 499px 1fr;column-gap:20px;align-items:center}
.tile[data-variant=table-row] .tile-tag{font-size:24px;margin:0;color:#87c5ff}
.tile[data-variant=table-row] h2{font-size:32px;line-height:1.19}
.tile[data-variant=table-row] p{font-size:26px;line-height:1.38;margin:0;color:#c9d9ec}
.tile[data-variant=blue]{border:1px solid #76b5ff80;border-radius:12px;background:linear-gradient(135deg,#1458bb,#083a91);padding:26px 28px}
.tile[data-variant=blue] .tile-tag{font-size:16px;color:#bfdfff;margin-bottom:16px}
.tile[data-variant=blue] h2{font-size:32px;line-height:1.15}
.tile[data-variant=blue] p{font-size:22px;line-height:1.72;color:#e0efff;margin-top:24px}
.focus[data-variant]{border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;padding:0;color:#bcd4ec}
.focus[data-variant] .focus-beam{display:none}
.focus[data-variant=plain]{font-size:24px;line-height:1.4}
.focus[data-variant=source]{padding:12px 0 0;border-top:1px solid #82b7df4a;font-size:18px;line-height:1.5;color:#a2bad5}
.focus[data-variant=source] strong{font-weight:400;color:#d3e1f2}
.focus[data-variant=signal]{justify-content:center;border-radius:12px;background:#113b54;border:1px solid #70cfc982;text-align:center;font-size:31px;letter-spacing:.015em}
.focus[data-variant=signal] strong{color:#c5f2ed}
.finale-title{font-size:76px}
.finale-prelude{font-size:52px;top:281px}
.finale-prelude strong{margin-top:12px}
.finale-light{background:radial-gradient(ellipse at 45% 70%,#74d9ff58,transparent 46%),radial-gradient(ellipse at 68% 46%,#927dff3d,transparent 48%),radial-gradient(ellipse at 22% 58%,#398fff32,transparent 44%)}
@media(prefers-reduced-motion:reduce){.scene-art .survey-dot,.tile.copy-enter .tile-copy{animation:none!important}.flow-light{stroke-dasharray:none;opacity:.3}}
.tile[data-variant] .tile-copy{position:relative}

/* Linked services and the new faculty study share the continuous stage. */
.tile[data-variant=faculty-metric]{padding:15px 0}
.tile[data-variant=faculty-metric] .tile-copy{display:grid;grid-template-columns:148px 1fr;column-gap:24px;row-gap:9px;align-items:start}
.tile[data-variant=faculty-metric] .tile-tag{grid-row:1/3;font-size:62px;line-height:1.05;letter-spacing:-.04em;color:#b5dcff;margin:0}
.tile[data-variant=faculty-metric] h2{font-size:27px;line-height:1.2}
.tile[data-variant=faculty-metric] p{grid-column:2;font-size:22px;line-height:1.35;margin:0}
.faculty-track,.faculty-bar{fill:none;stroke-width:4;stroke-linecap:round}
.faculty-track{stroke:#80acd12b}
.faculty-bar{stroke:#8dccff;stroke-dasharray:600;stroke-dashoffset:600}
.scene-art.active .faculty-bar{animation:faculty-bar-in 1.7s var(--ease) both;animation-delay:calc(var(--bar-order)*140ms)}
@keyframes faculty-bar-in{to{stroke-dashoffset:0}}
.tile[data-variant=route-card]{padding:0 0 12px 44px;border-bottom:1px solid #89b5d339}
.tile[data-variant=route-card] .tile-tag{position:absolute;left:-44px;top:4px;font-size:20px;color:#81c9ff;margin:0}
.tile[data-variant=route-card] h2{font-size:27px;line-height:1.2}
.tile[data-variant=route-card] p{font-size:21px;line-height:1.35;margin-top:8px}
.max-access{left:0;top:0;z-index:9;opacity:0}
.max-qr-link{display:flex;height:100%;align-items:center;gap:32px;color:#d9eaff;text-decoration:none}
.max-qr-link>img{width:204px;height:204px;flex:none;background:#fff;image-rendering:pixelated;border-radius:8px}
.max-access-copy{display:flex;flex-direction:column;gap:13px}
.max-access-copy>b{font-size:27px;line-height:1.2;color:#f2f7ff}
.max-access-copy>span{font-size:22px;line-height:1.38;color:#c4d5e8}
.max-access-copy>strong{display:flex;align-items:center;align-self:flex-start;gap:24px;border-bottom:1px solid #91caff7a;padding-bottom:6px;color:#a9d8ff;font-size:23px;font-weight:400}
.max-access-copy i{font-style:normal;transition:transform .3s var(--ease)}
.max-qr-link:hover .max-access-copy i{transform:translate(3px,-3px)}
.panel-launch{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:44px 48px;background:radial-gradient(ellipse at 100% 0,#255ba63b,transparent 70%),#0a1424}
.panel-launch .eyebrow{font-size:18px;margin-bottom:26px}
.panel-launch h2{font-size:53px;line-height:1.12;letter-spacing:-.025em;margin:0;color:#eef6ff}
.panel-launch p{font-size:24px;line-height:1.5;margin:28px 0 34px;color:#bdd1e9}
.panel-launch a.primary{display:flex;align-items:center;justify-content:space-between;gap:45px;text-decoration:none;min-height:62px;padding:0 26px;font-size:23px}
.panel-launch-hint{font-size:18px;color:#9ab4d2;line-height:1.4;margin-top:17px}
.media-top button[hidden]{display:none}
.tile[data-variant=proposal-item]{padding:22px 26px;border:1px solid #82bdfc5c;border-radius:12px;background:linear-gradient(120deg,#102945ec,#0b192bec)}
.tile[data-variant=proposal-item] .tile-tag{font-size:16px;line-height:1.3;color:#a6d6ff;margin-bottom:12px}
.tile[data-variant=proposal-item] h2{font-size:31px;line-height:1.16;color:#f0f7ff}
.tile[data-variant=proposal-item] p{font-size:22px;line-height:1.38;margin-top:12px;color:#c4d7ed}
.tile[data-variant=proposal-item] .tile-more{right:16px;top:14px;color:#aed8ff}
@media(prefers-reduced-motion:reduce){.scene-art.active .faculty-bar{animation:none!important;stroke-dashoffset:0}}

/* Cache text and light layers; animate only their transform and opacity. */
.is-intro .headline h1>span{clip-path:none;will-change:transform,opacity;transition:opacity .23s ease,translate .5s var(--ease)}
.is-intro .headline.copy-out h1>span{clip-path:none}
.is-intro .headline.copy-enter h1>span{animation-name:intro-float-in}
@keyframes intro-float-in{from{opacity:0;transform:translate3d(var(--reveal-x),var(--reveal-y),0) scale(var(--reveal-scale))}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.is-intro .control,.is-finale .control{backdrop-filter:none;background:#131e31ed}
.is-finale .finale[data-state=playing] .finale-light,
.is-finale .finale[data-state=playing] .finale-prelude,
.is-finale .finale[data-state=playing] .finale-line,
.is-finale .finale[data-state=playing] .finale-brand,
.is-finale .finale[data-state=playing] .finale-credit,
.is-finale .finale[data-state=playing] .finale-invitation{will-change:transform,opacity}
