@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@500;600;700;800;900&family=Space+Grotesk:wght@300;400;500;600&display=swap');

:root {
  --space-black: #05090e;
  --space-night: #08111b;
  --space-panel: #0d1a28;
  --space-cream: #e9e0cb;
  --space-navy: #132c42;
  --space-blue: #53a6ff;
  --space-gold: #d5ad62;
  --space-line: rgba(255,255,255,.11);
}

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { background: var(--space-black); color: #f7f8fa; font-family: 'Space Grotesk', sans-serif; }
.aeon-header { max-width: none; min-height: 86px; padding: 1rem clamp(1.2rem,4vw,4rem); background: rgba(5,9,14,.96); border-bottom: 1px solid var(--space-line); position: relative; z-index: 50; }
.aeon-brand { display: grid; grid-template-columns: 46px minmax(0,1fr); grid-template-rows: auto auto; align-items: center; width: min(48vw,680px); column-gap: .9rem; color: #fff; }
.aeon-brand span { grid-row: 1/3; display: grid; place-items: center; width: 46px; height: 46px; margin: 0; padding: 0; border-radius: 50%; background: var(--space-cream); color: var(--space-navy); font: 800 .75rem 'Orbitron'; box-shadow: 0 0 30px rgba(83,166,255,.16); }
.aeon-brand strong { font: 700 .82rem 'Orbitron'; letter-spacing: .14em; text-transform: uppercase; }
.aeon-brand small { max-width: 620px; color: rgba(255,255,255,.72); font: 500 .78rem/1.5 'Orbitron'; letter-spacing: .055em; text-transform: none; white-space: normal; }
.aeon-header nav a { color: rgba(255,255,255,.62); font-family: 'Orbitron'; font-size: .58rem; letter-spacing: .11em; text-transform: uppercase; transition: color .25s ease; }
.aeon-header nav a:hover { color: var(--space-blue); text-decoration: none; }
.aeon-header .header-cta { border-color: rgba(255,255,255,.3); color: #fff; font-family: 'Orbitron'; font-size: .58rem; letter-spacing: .12em; text-transform: uppercase; }
.mobile-navigation { display:none; }

.mission-hero { min-height: calc(100svh - 104px); position: relative; overflow: hidden; display: grid; place-items: end center; padding: 20rem 1.5rem 5rem; color: var(--space-navy); background: var(--space-cream); isolation: isolate; }
.mission-hero::before { content: ''; position: absolute; inset: 0 0 auto; height: 43%; z-index: -3; background: radial-gradient(circle at 50% -15%,rgba(83,166,255,.28),transparent 45%),linear-gradient(145deg,#102b45 0%,#07111d 52%,#03070b 100%); clip-path: polygon(0 0,100% 0,100% 22%,50% 92%,0 22%); }
.mission-hero::after { content: ''; position: absolute; left: 50%; top: 13%; width: min(42vw,480px); aspect-ratio: 1; border-radius: 50%; transform: translate(-50%,-50%); border: 1px solid rgba(255,255,255,.11); box-shadow: 0 0 0 70px rgba(255,255,255,.025),0 0 0 145px rgba(83,166,255,.035); z-index: -2; }
.star-field { position: absolute; inset: 0 0 auto; height: 30%; z-index: -1; opacity: .85; background-image: radial-gradient(circle,#fff 0 1px,transparent 1.4px),radial-gradient(circle,#53a6ff 0 1px,transparent 1.5px); background-size: 73px 67px,109px 97px; background-position: 15px 8px,42px 30px; mask-image: linear-gradient(#000,transparent); animation: star-drift 28s linear infinite; }
.orbit { position: absolute; left: 50%; top: 13%; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; transform: translate(-50%,-50%); z-index: -1; }
.orbit-one { width: 190px; height: 190px; }.orbit-two { width: 330px; height: 330px; }.orbit-three { width: 520px; height: 520px; opacity: .45; }
.mission-mark { position: absolute; left: 50%; top: 24%; width: 240px; height: 140px; transform: translate(-50%,-50%) rotate(-8deg); display: grid; place-items: center; }
.mission-sphere { position: relative; z-index: 2; width: 128px; height: 128px; display: grid; place-items: center; border-radius: 50%; background: #fff; box-shadow: 0 18px 50px rgba(0,0,0,.32); transform: rotate(8deg); }
.mission-sphere::before { content: ''; position: absolute; inset: 17px; border: 1px solid rgba(19,44,66,.25); border-radius: 50%; }
.mission-sphere b { font: 900 1.5rem 'Orbitron'; letter-spacing: -.05em; color: var(--space-navy); }
.saturn-ring { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; fill: none; pointer-events: none; }
.saturn-ring-back { z-index: 1; }
.saturn-ring-front { z-index: 3; }
.saturn-ring ellipse,.saturn-ring path { stroke: rgba(83,166,255,.55); stroke-width: 1.25; vector-effect: non-scaling-stroke; stroke-linecap: round; }
.saturn-ring-back ellipse { stroke-dasharray: 18 4 3 4; animation: saturn-flow-back 7s linear infinite; }
.saturn-ring-front path { stroke: rgba(19,44,66,.52); stroke-width: 1.6; stroke-dasharray: 12 3 2 3; animation: saturn-flow-front 7s linear infinite; filter: drop-shadow(0 0 3px rgba(83,166,255,.18)); }
.mission-hero-content { max-width: 1000px; text-align: center; animation: mission-rise .9s ease both; }
.mission-code { color: var(--space-blue); font: 600 .65rem 'Orbitron'; letter-spacing: .24em; text-transform: uppercase; }
.mission-hero .mission-code { font-size: clamp(.78rem,1vw,.96rem); letter-spacing: .22em; }
.mission-hero h1 { margin: 1rem 0 1.5rem; font: 800 clamp(2.9rem,7.8vw,7rem)/.9 'Orbitron'; letter-spacing: -.055em; text-transform: uppercase; }
.mission-hero h1 em { color: transparent; font-style: normal; background: linear-gradient(90deg,#176aa8,#8b6630); background-clip: text; -webkit-background-clip: text; }
.mission-hero-content>p:not(.mission-code) { max-width: 720px; margin: 0 auto; color: rgba(19,44,66,.72); font-size: 1.08rem; line-height: 1.8; }
.mission-actions { display: flex; justify-content: center; gap: .8rem; margin-top: 2.2rem; }
.mission-button { min-height: 48px; padding: .9rem 1.4rem; display: inline-flex; align-items: center; justify-content: space-between; gap: 2.2rem; font: 600 .62rem 'Orbitron'; letter-spacing: .15em; text-transform: uppercase; transition: transform .2s,background .2s,color .2s; }
.mission-button:hover { text-decoration: none; transform: translateY(-2px); }.mission-button-dark { background: var(--space-navy); color: var(--space-cream); }.mission-button-line { border: 1px solid rgba(19,44,66,.3); color: var(--space-navy); }.mission-button-light { background: var(--space-cream); color: var(--space-navy); }
.mission-coordinates { position: absolute; bottom: 1.4rem; left: 1.5rem; right: 1.5rem; display: flex; justify-content: space-between; color: rgba(19,44,66,.44); font: 500 .52rem 'Orbitron'; letter-spacing: .17em; }

.mission-section { padding: 7rem max(1.4rem,calc((100% - 1240px)/2)); }.mission-dark { background: var(--space-black); }
.mission-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 3.5rem; }
.mission-section-heading h2,.discovery-copy h2 { margin: .8rem 0 0; font: 800 clamp(2.6rem,5vw,5.5rem)/.9 'Orbitron'; letter-spacing: -.05em; }
.mission-section-heading>a { color: rgba(255,255,255,.55); font: 600 .62rem 'Orbitron'; letter-spacing: .16em; text-transform: uppercase; }
.carousel-toggle { margin: 0; padding: .7rem .9rem; border: 1px solid var(--space-line); background: transparent; color: rgba(255,255,255,.68); font: 600 .58rem 'Orbitron'; letter-spacing: .12em; text-transform: uppercase; }
.carousel-toggle:hover,.carousel-toggle:focus-visible { border-color: var(--space-blue); color: #fff; }
.mission-grid { overflow-x: auto; overflow-y: hidden; overscroll-behavior-inline: contain; padding: .4rem .15rem 1rem; scrollbar-width: none; touch-action: pan-x; cursor: grab; -webkit-overflow-scrolling: touch; }
.mission-grid:active { cursor: grabbing; }
.mission-grid:focus-visible { outline: 2px solid var(--space-blue); outline-offset: 8px; }
.mission-grid::-webkit-scrollbar { display: none; }
.mission-track { display: flex; width: max-content; }
.mission-card-set { display: flex; gap: 1.25rem; padding-right: 1.25rem; }
.mission-card { width: clamp(390px,31vw,470px); min-height: 440px; flex: 0 0 auto; position: relative; display: flex; flex-direction: column; padding: 2rem; overflow: hidden; border: 1px solid var(--space-line); background: linear-gradient(145deg,rgba(18,38,57,.9),rgba(8,17,27,.95)); transition: transform .3s,border-color .3s; }
.mission-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 1px; background: linear-gradient(90deg,transparent,var(--space-blue),transparent); opacity: 0; transition: opacity .3s; }
.mission-card:hover { transform: translateY(-6px); border-color: rgba(83,166,255,.5); }.mission-card:hover::before { opacity: 1; }
.mission-card .mission-icon { color: rgba(255,255,255,.18); font-size: 2rem; }.mission-card small { align-self: end; margin-top: -1.7rem; padding: .3rem .65rem; color: #79d7b4; background: rgba(70,193,148,.1); border-radius: 2rem; font: 600 .55rem 'Orbitron'; letter-spacing: .16em; }
.mission-card h3 { margin: 5rem 0 1.2rem; font: 700 clamp(1.38rem,1.75vw,1.72rem)/1.1 'Orbitron'; letter-spacing: .005em; text-transform: none; }.mission-card p { color: rgba(255,255,255,.62); line-height: 1.8; }.mission-card>a { margin-top: auto; color: rgba(255,255,255,.58); font: 600 .6rem 'Orbitron'; letter-spacing: .18em; text-transform: uppercase; }
.mission-card h3 .mission-card-title { display: inline-block; margin: 0; color: #fff; font: inherit; letter-spacing: inherit; text-transform: inherit; white-space: nowrap; }
.mission-card-title .syntax-paren { color: #c69232; }
.mission-card h3 .mission-card-title:hover { color: var(--space-blue); text-decoration: none; }

.discovery-section { min-height: 860px; display: grid; grid-template-columns: minmax(458px,calc(36% + 1cm)) minmax(0,1fr); align-items: start; background: #07101a; border-block: 1px solid var(--space-line); }
.identity-visual { min-width: 0; height: 760px; margin: 1.75rem 0 0 .5cm; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); background: #03070b; }
.identity-panel { min-width: 0; min-height: 0; margin: 0; display: block; position: relative; overflow: hidden; border-right: 1px solid var(--space-line); background: var(--space-night); }
.identity-panel:last-child { border-right: 0; }
.identity-image-slot { width: 100%; height: 100%; min-height: 0; display: grid; place-items: center; position: relative; overflow: hidden; }
.identity-panel--teacher .identity-image-slot { background: linear-gradient(180deg,rgba(12,30,44,.02),rgba(7,17,27,.75)),radial-gradient(circle at 40% 32%,rgba(213,173,98,.38),transparent 36%),linear-gradient(145deg,#244b65,#102536 70%); }
.identity-panel--developer .identity-image-slot { background: linear-gradient(180deg,rgba(5,9,14,.08),rgba(5,9,14,.88)),radial-gradient(circle at 58% 30%,rgba(83,166,255,.35),transparent 34%),linear-gradient(145deg,#102b45,#03070b 72%); }
.identity-image-slot::before { content: ''; width: min(22vw,285px); aspect-ratio: 1; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; box-shadow: 0 0 0 42px rgba(255,255,255,.018),0 0 72px rgba(83,166,255,.14); }
.identity-image-slot--photo::before { display: none; }
.identity-image-slot--photo::after { content: ''; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(180deg,transparent 50%,rgba(3,7,11,.2) 66%,rgba(3,7,11,.94)); }
.identity-image-slot--photo img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: 54% 46%; }
.identity-panel--developer .identity-image-slot--photo img { object-position: 62% center; }
.identity-panel figcaption { position: absolute; inset: auto 0 0; z-index: 2; min-height: 0; padding: 1.5rem; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: .5rem; color: rgba(255,255,255,.92); font-size: clamp(1.1rem,1.22vw,1.36rem); line-height: 1.38; text-align: justify; text-justify: inter-word; hyphens: auto; }
.identity-panel figcaption strong { display: block; color: var(--space-gold); font-family: 'Orbitron'; font-size: .75em; line-height: 1.2; letter-spacing: .08em; text-transform: uppercase; }
.identity-panel figcaption span { display: block; width: 100%; }
.discovery-visual { min-height: 580px; position: relative; overflow: hidden; background: radial-gradient(circle at 50% 45%,rgba(83,166,255,.22),transparent 34%),linear-gradient(135deg,#03070b,#10283c); }
.discovery-core { position: absolute; left: 50%; top: 50%; width: min(34vw,380px); aspect-ratio: 1; transform: translate(-50%,-50%); border-radius: 50%; background: radial-gradient(circle at 35% 30%,#e9e0cb 0 2%,#6fa9ca 4%,#183d58 25%,#08111b 61%,#020508 72%); box-shadow: 0 0 70px rgba(83,166,255,.3),inset -35px -20px 60px #000; }
.discovery-core::after { content: ''; position: absolute; inset: -18%; border: 1px solid rgba(83,166,255,.25); border-radius: 50%; transform: rotate(-18deg) scaleY(.28); }
.signal { position: absolute; height: 1px; background: linear-gradient(90deg,transparent,var(--space-blue),transparent); opacity: .45; }.s1{left:8%;right:8%;top:32%}.s2{left:18%;right:4%;top:64%}.s3{left:4%;right:24%;top:78%}
.discovery-copy { padding: 1.75rem clamp(2.5rem,5.5vw,7rem) 6rem calc(clamp(2.5rem,5.5vw,7rem) + 1.5cm); display: flex; flex-direction: column; justify-content: flex-start; }.discovery-copy>p:not(.mission-code) { max-width: 520px; color: rgba(255,255,255,.65); font-size: 1.05rem; line-height: 1.9; margin: 2rem 0; }.discovery-copy .mission-button { align-self: start; }
.discovery-copy .transition-title { max-width: 900px; margin: 0 0 2.1rem; font-size: clamp(2.15rem,3.15vw,3.8rem); line-height: 1.06; }
.transition-title span { color: #c69232; }
.transition-story { max-width: 900px; }
.transition-story p { margin: 0 0 .85rem; color: rgba(255,255,255,.76); font-size: clamp(1.15rem,1.45vw,1.5rem); line-height: 1.7; text-align: justify; text-justify: inter-word; hyphens: auto; }
.transition-story p:last-child { margin-bottom: 0; }

.mission-stats { display: grid; grid-template-columns: repeat(4,1fr); background: var(--space-cream); color: var(--space-navy); }.mission-stats div { padding: 4rem 2rem; text-align: center; border-right: 1px solid rgba(19,44,66,.15); }.mission-stats div:last-child{border-right:0}.mission-stats strong { display: block; font: 800 clamp(2.3rem,4vw,4.8rem)/1 'Orbitron'; }.mission-stats span { display: block; margin-top: .8rem; color: rgba(19,44,66,.55); font: 600 .58rem 'Orbitron'; letter-spacing: .14em; text-transform: uppercase; }

.page-hero { max-width: none; padding: 7rem max(1.25rem,calc((100% - 1160px)/2 + 1.25rem)) 4rem; background: radial-gradient(circle at 80% 10%,rgba(83,166,255,.14),transparent 25%),var(--space-night); border-color: var(--space-line); }.page-hero h1 { color:#fff; font-family:'Orbitron'; text-transform:uppercase; letter-spacing:-.05em; }.page-hero>p { color:rgba(255,255,255,.62); }.section { color:#fff; }.section.soft { background:var(--space-cream); color:var(--space-navy); }.content-card { background:var(--space-panel); border-color:var(--space-line); color:#fff; }.content-card p,.content-card small { color:rgba(255,255,255,.58); }.content-card a,.three-up a { color:var(--space-blue); }.tag,.eyebrow { color:var(--space-blue); }.student-review-feature ul { background:var(--space-panel); border:1px solid var(--space-line); }.student-review-feature>div>p:not(.eyebrow) { color:rgba(255,255,255,.62); }

.aeon-footer { max-width:none; padding:6rem max(1.4rem,calc((100% - 1240px)/2)); grid-template-columns:1.5fr .8fr .7fr; gap:4rem; background:#030609; border-color:var(--space-line); color:#fff; }.footer-kicker { color:var(--space-blue)!important; font:600 .57rem 'Orbitron'!important; letter-spacing:.2em; }.footer-title { display:block; margin:1rem 0; color:#fff; font:800 clamp(2.5rem,5vw,5rem)/.85 'Orbitron'; letter-spacing:-.06em; }.footer-statement>p:last-child,.footer-status p:last-child { max-width:440px; color:rgba(255,255,255,.5); }.aeon-footer .footer-links { display:grid; grid-template-columns:1fr 1fr; gap:.8rem; }.aeon-footer .footer-links a { color:rgba(255,255,255,.6); }.footer-status strong { display:block; margin:1.2rem 0; color:#72d2ae; font:600 .72rem 'Orbitron'; letter-spacing:.13em; }.aeon-footer small { border-top:1px solid var(--space-line); padding-top:2rem; color:rgba(255,255,255,.34); }

@keyframes star-drift { to { background-position:88px 75px,151px 127px; } }
@keyframes mission-rise { from { opacity:0; transform:translateY(32px); } }
@keyframes saturn-flow-back { to { stroke-dashoffset:-29; } }
@keyframes saturn-flow-front { to { stroke-dashoffset:-20; } }
@media (prefers-reduced-motion:reduce) { * { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; } }

@media(min-width:681px){.identity-panel figcaption{height:14rem;box-sizing:border-box;justify-content:flex-start}}
@media(min-width:1001px){.aeon-header{min-height:78px;padding-block:.55rem;display:grid;grid-template-columns:minmax(420px,600px) minmax(0,1fr);align-items:center;gap:4rem}.aeon-brand{width:100%;grid-template-columns:40px minmax(0,1fr);column-gap:.75rem;text-align:left}.aeon-brand span{width:40px;height:40px;font-size:.66rem}.aeon-brand strong{font-size:.88rem;line-height:1.15}.aeon-brand small{max-width:560px;font-size:.72rem;line-height:1.32}.aeon-header>nav{width:auto;min-width:0;align-self:center;padding:0}.aeon-header>nav ul{display:grid;grid-template-columns:repeat(4,max-content);justify-content:end;align-items:center;gap:.3rem .72rem}.aeon-header nav a{font-size:.61rem}.mission-mark{width:300px;height:175px}.mission-sphere{width:158px;height:158px}.mission-sphere::before{inset:21px}.mission-sphere b{font-size:1.8rem}}

@media(max-width:1000px){.aeon-header nav{order:3;width:100%;overflow-x:auto}.aeon-header nav ul{width:max-content}.aeon-brand{width:min(58vw,540px)}.mission-card{width:min(72vw,440px)}.discovery-section{grid-template-columns:1fr}.identity-visual{min-height:620px}.identity-panel figcaption{font-size:clamp(1.2rem,2.35vw,1.5rem)}.transition-story p{font-size:clamp(1.35rem,2.7vw,1.75rem)}.mission-stats{grid-template-columns:1fr 1fr}.aeon-footer{grid-template-columns:1fr 1fr}.footer-status{display:none}}
@media(max-width:680px){.aeon-brand small{display:none}.aeon-brand{width:auto;grid-template-rows:1fr}.aeon-header>nav,.aeon-header .header-cta{display:none}.aeon-header{flex-wrap:nowrap}.mobile-navigation{display:block;margin-left:auto;position:relative}.mobile-navigation summary{list-style:none;border:1px solid rgba(255,255,255,.24);padding:.7rem .8rem;color:#fff;font:600 .55rem 'Orbitron';letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation nav{position:absolute;right:0;top:calc(100% + .8rem);width:min(88vw,360px);padding:1.2rem;background:rgba(8,17,27,.98);border:1px solid var(--space-line);box-shadow:0 24px 50px rgba(0,0,0,.4)}.mobile-navigation nav ul{display:grid;width:auto;gap:0}.mobile-navigation nav li{border-bottom:1px solid var(--space-line)}.mobile-navigation nav a{display:block;padding:.9rem .4rem}.mission-hero{min-height:760px;padding-top:16rem}.mission-hero::before{height:35%}.mission-mark{top:20%;width:180px;height:105px}.mission-sphere{width:94px;height:94px}.mission-sphere::before{inset:13px}.mission-sphere b{font-size:1.15rem}.mission-hero h1{font-size:clamp(2rem,10vw,2.6rem);letter-spacing:-.075em}.mission-actions{flex-direction:column}.mission-button{width:100%}.mission-coordinates{display:none}.mission-card{width:86vw;min-height:410px;padding:1.7rem}.mission-card h3{font-size:clamp(1.15rem,5vw,1.45rem)}.mission-section-heading{align-items:start;flex-direction:column}.identity-visual{height:auto;min-height:0;margin:0;grid-template-columns:1fr}.identity-panel{min-height:520px;border-right:0;border-bottom:1px solid var(--space-line)}.identity-panel:last-child{border-bottom:0}.identity-image-slot::before{width:54vw}.identity-panel figcaption{min-height:0;font-size:1.08rem;line-height:1.34}.discovery-copy{padding:4.5rem 1.5rem}.discovery-copy .transition-title{font-size:clamp(2rem,9vw,2.8rem)}.transition-story p{font-size:1.3rem;line-height:1.65}.mission-stats{grid-template-columns:1fr 1fr}.mission-stats div{padding:2.5rem 1rem}.aeon-footer{grid-template-columns:1fr}.footer-directory{display:none}}
