@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap');

:root {
  color-scheme: dark;
  --ink: #10110f;
  --night: #080909;
  --night-soft: #111210;
  --paper: #f1eee5;
  --cream: #e8e3d6;
  --white: #fbfaf5;
  --muted: #a8a69c;
  --gold: #d5ad63;
  --gold-light: #edd18c;
  --serif: 'Playfair Display', 'Times New Roman', serif;
  --sans: 'DM Sans', 'Segoe UI', sans-serif;
  --mono: 'DM Mono', Consolas, monospace;
  --page-gutter: clamp(24px, 7vw, 112px);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 82px; }
body { margin: 0; min-width: 320px; background: var(--night); color: var(--white); font-family: var(--sans); font-size: 15px; -webkit-font-smoothing: antialiased; }
body::after { position: fixed; inset: 0; z-index: 20; pointer-events: none; content: ''; opacity: .045; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.92' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E"); }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
::selection { color: var(--night); background: var(--gold-light); }
.skip-link { position: fixed; z-index: 100; left: 18px; top: 14px; padding: 12px 16px; transform: translateY(-150%); background: var(--gold-light); color: #12120f; }
.skip-link:focus { transform: translateY(0); }
:focus-visible { outline: 2px solid var(--gold-light); outline-offset: 5px; }
.reading-progress { position: fixed; z-index: 60; inset: 0 0 auto; height: 2px; background: transparent; pointer-events: none; }
.reading-progress span { display: block; width: 100%; height: 100%; background: linear-gradient(90deg,#a97c31,#f3d990); transform: scaleX(var(--page-progress,0)); transform-origin: left; box-shadow: 0 0 10px rgba(229,192,113,.6); }

.site-header { position: fixed; z-index: 30; inset: 0 0 auto; height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 26px; padding: 0 var(--page-gutter); border-bottom: 1px solid rgba(255,255,255,.09); background: linear-gradient(180deg, rgba(8,9,9,.88), rgba(8,9,9,.14)); transition: height .3s ease, background .3s ease, border-color .3s ease; }
.site-header.is-scrolled { height: 72px; border-color: rgba(255,255,255,.1); background: rgba(8,9,9,.94); backdrop-filter: blur(18px); }
.brand-lockup { position: relative; display: flex; width: 165px; height: 100px; flex: 0 0 165px; align-items: center; }
.brand-crop { position: relative; display: flex; width: 158px; height: 80px; align-items: center; justify-content: center; overflow: hidden; }
.brand-crop img { display: block; width: 100%; height: 100%; max-width: 100%; object-fit: cover; object-position: top center; }
.brand-fallback { display: none; position: absolute; inset: 0; align-items: center; font: 700 25px var(--sans); letter-spacing: -2px; }
.brand-fallback em, .footer-wordmark em { margin-left: 2px; color: var(--gold-light); font: italic 600 28px var(--serif); letter-spacing: -1px; }
.primary-nav { display: flex; align-items: center; gap: clamp(18px, 2.25vw, 37px); margin-left: auto; }
.primary-nav a { position: relative; color: rgba(255,255,255,.72); font-size: 11px; letter-spacing: .045em; transition: color .2s ease; }
.primary-nav a::after { position: absolute; left: 0; bottom: -8px; width: 100%; height: 1px; background: var(--gold); content: ''; transform: scaleX(0); transform-origin: right; transition: transform .25s ease; }
.primary-nav a:hover, .primary-nav a.is-current { color: var(--white); }
.primary-nav a:hover::after, .primary-nav a.is-current::after { transform: scaleX(1); transform-origin: left; }
.nav-cta { display: flex; min-height: 40px; align-items: center; gap: 14px; padding: 0 15px; border: 1px solid rgba(219,181,107,.53); color: var(--gold-light); font-size: 10px; letter-spacing: .07em; white-space: nowrap; transition: background .2s, color .2s; }
.nav-cta:hover { background: var(--gold-light); color: #17140e; }
.nav-cta span { font-size: 15px; }
.menu-toggle { display: none; }

.hero { position: relative; min-height: min(900px, 100svh); min-height: max(760px, 100svh); overflow: hidden; background: radial-gradient(ellipse at 73% 53%, rgba(114,86,43,.22), transparent 35%), radial-gradient(ellipse at 15% 80%, rgba(66,69,64,.13), transparent 42%), #080909; --dawn-opacity: 0; }
.hero::after { position: absolute; inset: 0; z-index: 0; pointer-events: none; content: ''; background: radial-gradient(ellipse at 72% 65%, rgba(201,154,77,var(--dawn-opacity)), transparent 52%); }
.sky-canvas { position: absolute; z-index: 0; inset: 0; width: 100%; height: 100%; opacity: .77; mix-blend-mode: screen; pointer-events: none; }
.hero::before { position: absolute; top: 10%; right: 13%; width: min(47vw, 700px); aspect-ratio: 1; border: 1px solid rgba(215,180,111,.11); border-radius: 50%; content: ''; box-shadow: 0 0 0 45px rgba(215,180,111,.018), 0 0 0 100px rgba(215,180,111,.012); animation: slow-glow 12s ease-in-out infinite; }
.hero-grain { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(1.5px 1.5px at 18% 31%, rgba(255,255,255,.8), transparent 70%), radial-gradient(1px 1px at 62% 21%, rgba(245,219,164,.8), transparent 70%), radial-gradient(1px 1px at 93% 42%, rgba(255,255,255,.7), transparent 70%), radial-gradient(1.5px 1.5px at 51% 13%, rgba(255,255,255,.55), transparent 70%), radial-gradient(1px 1px at 36% 71%, rgba(241,208,144,.6), transparent 70%), radial-gradient(1px 1px at 83% 82%, rgba(255,255,255,.7), transparent 70%); opacity: .55; }
.hero-orbit { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #f0d795; box-shadow: 0 0 17px 4px rgba(238,203,129,.7); animation: star-drift 7s ease-in-out infinite alternate; }
.hero-orbit { animation-duration: 6s; }
.orbit-one { top: 27%; left: 54%; }
.orbit-two { right: 12%; bottom: 26%; width: 3px; height: 3px; animation-delay: -3.5s; }
.hero-layout { position: relative; z-index: 2; display: grid; width: min(1480px, 100%); min-height: min(900px, 100svh); min-height: max(760px, 100svh); align-items: center; grid-template-columns: minmax(375px, .84fr) minmax(500px, 1.16fr); gap: 12px; margin: 0 auto; padding: 110px var(--page-gutter) 105px; }
.hero-copy { position: relative; z-index: 4; padding: 34px 0 10px; transform: translateY(var(--copy-lift,0px)); opacity: var(--copy-opacity,1); will-change: transform,opacity; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 28px; color: #c9c6b8; font: 400 9px var(--mono); letter-spacing: .2em; line-height: 1.5; }
.eyebrow-line { width: 28px; height: 1px; background: var(--gold); }
.hero h1 { max-width: 700px; margin: 0; color: var(--white); font: 500 clamp(48px, 5.8vw, 83px)/1.03 var(--serif); letter-spacing: -.045em; }
.hero h1 > span { display: inline-block; opacity: 0; animation: line-arrive 1s cubic-bezier(.2,.8,.2,1) forwards; }
.hero h1 > span:nth-of-type(1) { animation-delay: .48s; }
.hero h1 > span:nth-of-type(2) { animation-delay: .68s; }
.hero h1 em, .section-paper em, .section-cream em, .section-night em { color: var(--gold-light); font-weight: 500; }
.hero-intro { max-width: 410px; margin: 28px 0 0; color: rgba(247,245,236,.69); font-size: 14px; line-height: 1.9; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin-top: 34px; }
.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; gap: 27px; padding: 0 21px; border: 1px solid transparent; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; transition: color .25s, background .25s, border-color .25s, transform .25s; }
.button:hover { transform: translateY(-2px); }
.button span { font-size: 17px; line-height: 1; }
.button-light { background: #f3efe5; color: #171814; }
.button-light:hover { border-color: var(--gold); background: var(--gold-light); }
.text-link { color: #e6dfcb; font-size: 10px; letter-spacing: .055em; }
.text-link span { margin-left: 7px; color: var(--gold-light); font-size: 16px; vertical-align: -2px; }
.hero-note { margin: 54px 0 0; color: rgba(219,215,204,.54); font: 400 8px var(--mono); letter-spacing: .14em; }
.hero-copy > .eyebrow, .hero-intro, .hero-actions, .hero-note { opacity: 0; animation: fade-rise .9s cubic-bezier(.2,.8,.2,1) forwards; }
.hero-copy > .eyebrow { animation-delay: .24s; }
.hero-intro { animation-delay: .9s; }
.hero-actions { animation-delay: 1.08s; }
.hero-note { animation-delay: 1.28s; }
.hero-note i { padding: 0 7px; color: var(--gold); font-style: normal; }
.palace-wrap { position: relative; align-self: center; width: 100%; max-width: 790px; margin: 14px -35px 0 -9px; perspective: 1100px; animation: palace-arrive 1.5s cubic-bezier(.16,1,.3,1) both; }
.palace-halo { position: absolute; top: 20%; left: 15%; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(233,198,128,.17) 0, rgba(152,120,68,.07) 38%, transparent 69%); filter: blur(9px); }
.palace-scene { position: relative; transform-style: preserve-3d; transform: translate3d(0,var(--scroll-y,0px),0) rotateX(var(--tilt-y, 0deg)) rotateY(var(--tilt-x, 0deg)) scale(var(--scroll-scale,1)); opacity: var(--scroll-opacity,1); transition: transform .4s cubic-bezier(.2,.7,.2,1), opacity .25s linear; }
.palace-backlight { position: absolute; inset: 17% 10% 1%; border-radius: 50%; background: radial-gradient(ellipse, rgba(232,205,153,.16), transparent 66%); filter: blur(25px); transform: translateZ(-32px); }
.palace-svg { position: relative; display: block; width: 100%; overflow: visible; transform: translateZ(30px); filter: drop-shadow(0 28px 24px rgba(0,0,0,.2)); animation: palace-image-arrive 1.8s cubic-bezier(.16,1,.3,1) .24s both; }
.palace-wing-left, .palace-wing-right { transform-box: fill-box; transform-origin: 50% 100%; opacity: 0; animation: architecture-rise 1.15s cubic-bezier(.16,1,.3,1) .64s both, wing-breathe 6s ease-in-out 1.8s infinite alternate; }
.palace-wing-right { animation-delay: .78s, 2s; }
.palace-core { transform-box: fill-box; transform-origin: 50% 100%; opacity: 0; animation: architecture-rise 1.5s cubic-bezier(.16,1,.3,1) .42s both, core-breathe 7s ease-in-out 1.95s infinite alternate; }
.palace-core > ellipse { animation: door-pulse 3s ease-in-out 1.6s infinite alternate; }
.palace-spires { opacity: 0; animation: spires-arrive 1.15s cubic-bezier(.16,1,.3,1) .95s both; }
.palace-steps { opacity: 0; transform: translateY(9px); animation: step-arrive 1s cubic-bezier(.16,1,.3,1) 1.18s both; }
.palace-lanterns { opacity: 0; animation: lantern-light 1.3s ease 1.45s both, lantern-flicker 4s ease-in-out 2.75s infinite alternate; }
.palace-caption { position: absolute; right: 13%; bottom: 7%; display: flex; align-items: center; gap: 11px; color: rgba(250,247,237,.64); font: 400 8px var(--mono); letter-spacing: .16em; }
.palace-caption span { color: var(--gold-light); }
.palace-caption i { display: block; width: 32px; height: 1px; background: var(--gold); }
.hero-bottom { position: absolute; z-index: 3; right: var(--page-gutter); bottom: 0; left: var(--page-gutter); display: flex; align-items: center; justify-content: space-between; padding: 0 0 22px; color: rgba(231,226,210,.42); font: 400 8px var(--mono); letter-spacing: .16em; }
.scroll-thread { position: absolute; left: 50%; bottom: 0; width: 1px; height: 46px; background: linear-gradient(var(--gold), transparent); transform-origin: bottom; animation: thread-glow 2.2s ease-in-out infinite; }

.section-paper { position: relative; overflow: hidden; background: var(--paper); color: var(--ink); }
.section-cream { position: relative; overflow: hidden; background: var(--cream); color: var(--ink); }
.section-night { position: relative; overflow: hidden; background: var(--night); color: var(--white); }
.section-kicker { position: relative; z-index: 1; display: flex; align-items: center; gap: 17px; color: #77766e; font: 400 8px var(--mono); letter-spacing: .16em; }
.section-kicker > span:first-child, .section-kicker > span:last-child { white-space: nowrap; }
.kicker-rule { width: min(110px, 15vw); height: 1px; background: currentColor; opacity: .44; }
.section-kicker-light { color: rgba(233,229,214,.52); }
.journey { overflow: clip; }
.journey-scroll-space { min-height: 390svh; }
.journey-sticky { position: sticky; top: 0; display: flex; height: 100svh; min-height: 660px; align-items: stretch; overflow: hidden; background: radial-gradient(ellipse at 76% 47%,rgba(113,83,39,.19),transparent 39%),linear-gradient(115deg,#080909 4%,#11120f 56%,#090a09); }
.journey-sky { position: absolute; inset: 0; opacity: .8; background: radial-gradient(1px 1px at 14% 28%,rgba(255,255,255,.8),transparent 2px),radial-gradient(1px 1px at 73% 18%,rgba(228,198,136,.75),transparent 2px),radial-gradient(1px 1px at 88% 71%,rgba(255,255,255,.6),transparent 2px),radial-gradient(1px 1px at 35% 82%,rgba(228,198,136,.6),transparent 2px); }
.journey-inner { position: relative; z-index: 1; display: flex; width: min(1320px,100%); height: 100%; flex-direction: column; justify-content: space-between; margin: 0 auto; padding: 102px var(--page-gutter) 29px; }
.journey-center { display: grid; min-height: 0; flex: 1; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 4%; }
.journey-copy { position: relative; z-index: 2; max-width: 490px; transition: opacity .24s ease,transform .24s ease,filter .24s ease; }
.journey-copy.is-changing { opacity: 0; filter: blur(5px); transform: translateY(12px); }
.journey-copy .eyebrow { margin-bottom: 31px; }
.journey-count { display: block; margin-bottom: 12px; color: var(--gold-light); font: 400 10px var(--mono); letter-spacing: .16em; }
.journey-count i { color: rgba(236,231,217,.42); font-style: normal; }
.journey-copy h2 { margin: 0; color: #f3f0e7; font: 500 clamp(48px,6.4vw,84px)/1.02 var(--serif); letter-spacing: -.05em; }
.journey-copy h2 span { color: var(--gold-light); }
.journey-copy > p:last-child { max-width: 390px; margin: 22px 0 0; color: rgba(233,230,218,.68); font: 500 clamp(16px,1.65vw,21px)/1.65 var(--serif); }
.journey-orbit-scene { position: relative; width: min(100%,660px); aspect-ratio: 1.18; justify-self: center; perspective: 900px; transform: translateY(var(--journey-lift,0px)); transition: transform .2s ease-out; }
.journey-globe { position: absolute; top: 50%; left: 50%; width: 48%; aspect-ratio: 1; border: 1px solid rgba(226,195,130,.4); border-radius: 50%; background: radial-gradient(circle at 36% 29%,rgba(227,198,139,.13),rgba(24,24,20,.06) 46%,rgba(5,6,5,.76) 73%); box-shadow: inset -26px -18px 42px rgba(0,0,0,.52),0 0 70px rgba(202,157,77,.09); transform: translate(-50%,-50%) rotateX(56deg); }
.journey-globe::before,.journey-globe::after { position: absolute; inset: 11%; border: 1px solid rgba(229,199,137,.19); border-radius: 50%; content: ''; }
.journey-globe::after { inset: 24%; border-color: rgba(229,199,137,.12); }
.journey-orbit-line { position: absolute; top: 50%; left: 50%; width: 91%; height: 48%; border: 1px solid rgba(221,189,125,.39); border-radius: 50%; transform: translate(-50%,-50%) rotate(-25deg); }
.journey-orbit-line::after { position: absolute; top: 50%; left: 4%; width: 7px; height: 7px; border-radius: 50%; background: #f0d795; box-shadow: 0 0 22px 5px rgba(238,203,129,.72); content: ''; }
.journey-orbit-line.line-two { width: 72%; height: 89%; border-color: rgba(221,189,125,.21); transform: translate(-50%,-50%) rotate(63deg); }
.journey-gate { position: absolute; top: 50%; left: 50%; display: flex; width: 157px; height: 157px; align-items: center; justify-content: center; border: 1px solid rgba(237,209,140,.55); border-radius: 50%; background: radial-gradient(circle at 36% 25%,#37352b,#11120f 68%); box-shadow: 0 0 62px rgba(212,173,99,.15),inset 0 0 28px rgba(235,208,144,.08); transform: translate(-50%,-50%) translateZ(25px); }
.journey-gate::before,.journey-gate::after { position: absolute; inset: -15px; border: 1px solid rgba(223,191,126,.24); border-radius: 50%; content: ''; animation: gate-breathe 5s ease-in-out infinite alternate; }
.journey-gate::after { inset: -35px; border-color: rgba(223,191,126,.11); animation-delay: -2.5s; }
.journey-gate span { color: #f5f1e5; font: 600 22px var(--sans); letter-spacing: -.07em; }
.journey-gate i { margin: 0 0 -17px 1px; color: var(--gold-light); font: italic 14px var(--serif); }
.journey-node { position: absolute; z-index: 2; display: block; width: 10px; height: 10px; border: 1px solid rgba(248,226,177,.9); border-radius: 50%; background: #d9b568; box-shadow: 0 0 18px 4px rgba(218,177,93,.43); transition: transform .45s ease,background .45s ease,box-shadow .45s ease; }
.node-1 { top: 12%; left: 52%; }.node-2 { top: 25%; right: 10%; }.node-3 { right: 12%; bottom: 24%; }.node-4 { bottom: 11%; left: 48%; }.node-5 { bottom: 27%; left: 8%; }.node-6 { top: 25%; left: 11%; }
.journey-stage[data-step="0"] .node-1,.journey-stage[data-step="1"] .node-2,.journey-stage[data-step="2"] .node-3,.journey-stage[data-step="3"] .node-4,.journey-stage[data-step="4"] .node-5,.journey-stage[data-step="5"] .node-6 { transform: scale(1.85); background: #fff1c3; box-shadow: 0 0 28px 9px rgba(218,177,93,.67); }
.journey-trail { position: absolute; top: 50%; left: 50%; width: 67%; height: 67%; border: 1px dashed rgba(229,197,133,.27); border-radius: 50%; transform: translate(-50%,-50%) rotateX(57deg) rotate(calc(var(--journey-progress,0) * 360deg)); transition: transform .2s linear; }
.journey-rail { position: relative; display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); align-items: center; padding: 18px 0 10px; border-top: 1px solid rgba(240,231,209,.16); }
.journey-rail::before,.journey-rail-fill { position: absolute; top: -1px; left: 0; width: 100%; height: 1px; background: rgba(240,231,209,.15); content: ''; }
.journey-rail-fill { width: 100%; background: var(--gold-light); transform: scaleX(var(--rail-progress,0)); transform-origin: left; box-shadow: 0 0 12px rgba(229,192,113,.55); }
.journey-step { position: relative; z-index: 1; display: flex; min-width: 0; align-items: center; gap: 9px; padding: 8px 7px 8px 0; border: 0; background: transparent; color: rgba(233,230,218,.4); cursor: pointer; text-align: left; font: 400 10px var(--mono); transition: color .2s ease; }
.journey-step > span { color: rgba(233,230,218,.43); font-size: 8px; }
.journey-step.is-current,.journey-step:hover { color: #f5f0e3; }
.journey-step.is-current > span { color: var(--gold-light); }
.journey-scroll-note { display: flex; align-items: center; justify-content: center; gap: 9px; margin: 12px 0 0; color: rgba(233,230,218,.34); font: 400 7px var(--mono); letter-spacing: .17em; }
.journey-scroll-note span { width: 4px; height: 4px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 9px rgba(237,209,140,.65); animation: note-pulse 1.8s ease-in-out infinite; }
.story { min-height: 610px; padding: 92px var(--page-gutter) 110px; }
.story-layout { position: relative; z-index: 1; display: grid; max-width: 1230px; grid-template-columns: 1.25fr .75fr; gap: min(10vw, 150px); margin: 97px auto 0; }
.eyebrow-dark { color: #817c6d; }
.story-quote { position: relative; max-width: 710px; }
.story-quote .eyebrow { margin-bottom: 24px; }
.story h2, .academy h2, .values h2, .finder h2 { margin: 0; font: 500 clamp(38px, 4.7vw, 68px)/1.12 var(--serif); letter-spacing: -.044em; }
.story h2 em, .academy h2 em, .values h2 em, .finder h2 em { color: #a98544; }
.quote-mark { position: absolute; top: -50px; right: 5%; color: rgba(159,128,73,.18); font: 500 150px/.8 var(--serif); }
.story-copy { align-self: end; padding: 12px 0 8px; }
.story-copy p { max-width: 415px; margin: 0 0 20px; color: #68675f; font-size: 13px; line-height: 1.95; }
.story-copy .lead-copy { margin-bottom: 17px; color: #272721; font: 500 17px/1.6 var(--serif); }
.underlined-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 12px; padding-bottom: 7px; border-bottom: 1px solid rgba(53,49,40,.42); color: #24241f; font-size: 10px; letter-spacing: .07em; }
.underlined-link span { color: #a17b36; font-size: 15px; transition: transform .2s; }
.underlined-link:hover span { transform: translate(3px,-3px); }
.story-seal { position: absolute; right: 9%; bottom: 40px; display: flex; width: 73px; height: 73px; flex-direction: column; align-items: center; justify-content: center; gap: 4px; border: 1px solid rgba(125,102,60,.36); border-radius: 50%; color: #81704c; font: 400 7px var(--mono); letter-spacing: .12em; transform: rotate(-13deg); }
.story-seal i { width: 22px; height: 1px; background: #b08a48; }

.academy { min-height: 780px; padding: 91px var(--page-gutter) 108px; }
.academy-orb { position: absolute; top: -260px; right: -230px; width: 680px; height: 680px; border: 1px solid rgba(121,101,65,.15); border-radius: 50%; box-shadow: 0 0 0 55px rgba(121,101,65,.025), 0 0 0 110px rgba(121,101,65,.02); }
.academy-heading { position: relative; z-index: 1; display: flex; align-items: end; justify-content: space-between; gap: 45px; max-width: 1230px; margin: 89px auto 73px; }
.academy-heading .eyebrow { margin-bottom: 25px; }
.academy-intro { width: min(340px, 34%); margin: 0 3% 8px 0; color: #69675d; font-size: 12px; line-height: 1.9; }
.learning-paths { position: relative; z-index: 1; display: grid; max-width: 1230px; grid-template-columns: repeat(3,1fr); margin: 0 auto; border-top: 1px solid rgba(38,37,31,.27); border-bottom: 1px solid rgba(38,37,31,.27); }
.path-tab { display: flex; min-height: 68px; align-items: center; gap: 14px; padding: 0 18px 0 0; border: 0; background: transparent; color: #817f75; cursor: pointer; text-align: left; font-size: 11px; transition: color .2s ease; }
.path-tab + .path-tab { padding-left: 22px; border-left: 1px solid rgba(38,37,31,.17); }
.path-tab > span { color: #a18c65; font: 400 9px var(--mono); }
.path-tab > i { margin-left: auto; color: #aaa493; font-style: normal; font-size: 15px; opacity: 0; transform: translate(-5px,5px); transition: opacity .2s, transform .2s; }
.path-tab.is-active, .path-tab:hover { color: #161710; }
.path-tab.is-active > i, .path-tab:hover > i { opacity: 1; transform: translate(0,0); }
.path-panel { position: relative; display: grid; max-width: 1230px; min-height: 255px; grid-template-columns: 90px 1fr 210px; align-items: center; gap: 30px; margin: 0 auto; padding: 35px 0; border-bottom: 1px solid rgba(38,37,31,.27); }
.path-number { align-self: start; color: rgba(133,111,72,.32); font: 500 45px/.95 var(--serif); }
.path-panel-copy { max-width: 615px; }
.eyebrow-gold { color: #b38b46; }
.path-panel-copy .eyebrow { margin-bottom: 15px; }
.path-panel-copy h3 { margin: 0 0 15px; color: #171812; font: 500 clamp(27px, 3vw, 42px)/1.13 var(--serif); letter-spacing: -.03em; }
.path-panel-copy h3 em { color: #a98544; }
.path-panel-copy > p:last-child { max-width: 490px; margin: 0; color: #737067; font-size: 11px; line-height: 1.8; }
.path-drawing { position: relative; display: grid; width: 168px; height: 168px; place-items: center; justify-self: center; }
.drawing-ring { position: absolute; inset: 7px; border: 1px solid rgba(161,128,72,.42); border-radius: 50%; animation: ring-turn 28s linear infinite; }
.drawing-ring::before, .drawing-ring::after { position: absolute; width: 7px; height: 7px; border: 1px solid #b79250; border-radius: 50%; background: var(--cream); content: ''; }
.drawing-ring::before { top: 10px; left: 30px; }
.drawing-ring::after { right: 15px; bottom: 26px; width: 4px; height: 4px; }
.ring-b { inset: 23px; border-color: rgba(161,128,72,.24); animation-duration: 20s; animation-direction: reverse; }
.drawing-glyph { color: #a17d3f; font: italic 500 78px/.9 var(--serif); }
.drawing-star { position: absolute; top: 28px; right: 13px; color: #b99353; font-size: 15px; }

.program { padding: 91px var(--page-gutter) 120px; }
.program-stars { position: absolute; inset: 0; pointer-events: none; opacity: .4; background: radial-gradient(1px 1px at 14% 17%, #fff, transparent 65%), radial-gradient(1px 1px at 78% 13%, #fff, transparent 65%), radial-gradient(1.5px 1.5px at 93% 48%, #f1d38f, transparent 65%), radial-gradient(1px 1px at 64% 56%, #fff, transparent 65%), radial-gradient(1px 1px at 23% 69%, #d5ad63, transparent 65%); }
.program-layout { position: relative; display: grid; max-width: 1230px; min-height: 570px; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 30px; margin: 33px auto 0; }
.program-copy { position: relative; z-index: 1; padding: 28px 0 46px; }
.program-copy .eyebrow { margin-bottom: 38px; }
.program-overline { margin: 0 0 -5px; color: #c8c0ab; font: 400 12px var(--mono); letter-spacing: .36em; }
.program h2 { margin: 0; color: #f1eee5; font: 500 clamp(67px, 9vw, 127px)/1 var(--serif); letter-spacing: -.06em; }
.program-period { color: var(--gold-light); }
.program-intro { max-width: 420px; margin: 28px 0 13px; color: #efede5; font: 500 18px/1.58 var(--serif); }
.program-detail { max-width: 410px; margin: 0; color: #a7a69d; font-size: 11px; line-height: 1.85; }
.button-gold { margin-top: 30px; background: var(--gold-light); color: #15140f; }
.button-gold:hover { background: #fae8b5; }
.program-practice-link { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 0 16px; color: #d8d2c3; font-size: 9px; letter-spacing: .06em; }
.program-practice-link span { color: var(--gold-light); font-size: 14px; }
.program-art { position: relative; display: grid; min-height: 500px; place-items: center; overflow: hidden; }
.program-core { position: relative; z-index: 2; display: flex; width: 170px; height: 170px; flex-direction: column; align-items: center; justify-content: center; gap: 0; border: 1px solid rgba(237,209,140,.7); border-radius: 50%; background: radial-gradient(circle at 38% 32%, #4f4938, #171814 68%); box-shadow: 0 0 58px rgba(212,173,99,.16), inset 0 0 28px rgba(235,208,144,.08); transform: translateZ(24px); animation: core-orbit-pulse 4.5s ease-in-out infinite alternate; }
.program-core::before, .program-core::after { position: absolute; inset: -16px; border: 1px solid rgba(223,191,126,.25); border-radius: 50%; content: ''; }
.program-core::after { inset: -34px; border-color: rgba(223,191,126,.12); }
.program-core span { color: #f5f1e5; font: 500 27px var(--sans); letter-spacing: -.07em; }
.program-core i { color: var(--gold-light); font: italic 14px var(--serif); }
.program-core b { color: #e7c16e; font: 400 29px var(--serif); }
.program-orbit { position: absolute; top: 50%; left: 50%; width: 390px; height: 215px; border: 1px solid rgba(220,188,122,.34); border-radius: 50%; transform: translate(-50%,-50%) rotate(-25deg); animation: orbital-turn 36s linear infinite; }
.orbit-small { width: 480px; height: 135px; border-color: rgba(220,188,122,.17); transform: translate(-50%,-50%) rotate(32deg); animation-direction: reverse; animation-duration: 48s; }
.program-token { position: absolute; z-index: 3; display: grid; width: 57px; height: 57px; place-items: center; border: 1px solid rgba(237,209,140,.58); border-radius: 50%; background: #171814; color: var(--gold-light); box-shadow: 0 0 30px rgba(213,173,99,.13); font: 500 15px var(--mono); transform-style: preserve-3d; }
.token-java { top: 18%; left: 26%; animation: float-token 5s ease-in-out infinite alternate; }
.token-dsa { right: 15%; top: 43%; animation: float-token 6s -2s ease-in-out infinite alternate; }
.token-leet { left: 32%; bottom: 15%; animation: float-token 6.5s -1s ease-in-out infinite alternate; }
.program-trajectory { position: absolute; z-index: 1; width: 1px; height: 230px; background: linear-gradient(transparent, rgba(228,193,119,.6), transparent); transform: rotate(62deg); }
.trajectory-one { left: 37%; top: 19%; }
.trajectory-two { right: 28%; bottom: 13%; height: 290px; transform: rotate(-67deg); opacity: .5; }
.art-caption { position: absolute; right: 2%; bottom: 12%; color: rgba(234,228,212,.43); font: 400 7px/1.8 var(--mono); letter-spacing: .17em; }
.curriculum { position: relative; max-width: 1230px; margin: 48px auto 0; }
.curriculum-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; padding: 0 0 24px; border-bottom: 1px solid rgba(240,235,221,.17); }
.curriculum-heading .eyebrow { margin-bottom: 15px; }
.curriculum-heading h3 { margin: 0; font: 500 clamp(34px, 4vw, 53px)/1.1 var(--serif); letter-spacing: -.035em; }
.curriculum-heading p:last-child { max-width: 230px; margin: 0 0 3px; color: #92938b; font-size: 10px; line-height: 1.8; }
.curriculum-list { border-bottom: 1px solid rgba(240,235,221,.17); }
.curriculum-item { border-top: 1px solid rgba(240,235,221,.17); }
.curriculum-trigger { display: grid; width: 100%; min-height: 72px; grid-template-columns: 48px minmax(200px,1fr) 180px 20px; align-items: center; gap: 15px; border: 0; background: transparent; cursor: pointer; text-align: left; }
.curriculum-trigger:hover .curriculum-name { color: var(--gold-light); }
.curriculum-index { color: #b9914e; font: 400 9px var(--mono); }
.curriculum-name { color: #f2f0e8; font: 500 17px var(--serif); transition: color .2s; }
.curriculum-meta { color: #91928a; font-size: 9px; text-align: right; }
.curriculum-plus { color: var(--gold-light); font-size: 19px; text-align: right; }
.curriculum-content { display: flex; align-items: start; justify-content: space-between; gap: 25px; padding: 0 36px 25px 63px; }
.curriculum-content p { max-width: 500px; margin: 0; color: #a9aaa1; font-size: 10px; line-height: 1.85; }
.topic-list { display: flex; flex-wrap: wrap; justify-content: end; gap: 7px; }
.topic-list span { padding: 6px 8px; border: 1px solid rgba(237,209,140,.2); color: #d5c9ac; font: 400 7px var(--mono); }

.workshop { padding: 91px var(--page-gutter) 112px; }
.workshop-layout { display: grid; max-width: 1230px; grid-template-columns: .78fr 1.22fr; align-items: center; gap: 9%; margin: 83px auto 0; }
.workshop-copy .eyebrow { margin-bottom: 23px; }
.workshop-copy h2 { max-width: 470px; margin: 0; color: #191a15; font: 500 clamp(39px,4.6vw,63px)/1.12 var(--serif); letter-spacing: -.04em; }
.workshop-copy h2 em { color: #a98544; }
.workshop-copy > p:last-of-type { max-width: 395px; margin: 22px 0 0; color: #747168; font-size: 11px; line-height: 1.9; }
.workshop-next { display: inline-flex; align-items: center; gap: 14px; margin-top: 23px; padding: 0 0 7px; border: 0; border-bottom: 1px solid rgba(53,49,40,.42); background: transparent; color: #24241f; cursor: pointer; font-size: 10px; letter-spacing: .07em; }
.workshop-next span { color: #a17b36; font-size: 15px; transition: transform .2s; }
.workshop-next:hover span { transform: translate(3px,-3px); }
.exercise-card { padding: 25px 28px 19px; background: #151713; color: #f6f2e8; box-shadow: 0 18px 34px rgba(35,33,26,.15); }
.exercise-topline { display: flex; justify-content: space-between; padding-bottom: 17px; border-bottom: 1px solid rgba(255,255,255,.17); color: #d0af6f; font: 400 8px var(--mono); letter-spacing: .15em; }
.exercise-topline span:last-child { color: #8e9086; }
.exercise-card h3 { max-width: 530px; margin: 22px 0 18px; color: #f5f1e6; font: 500 22px/1.4 var(--serif); }
.exercise-options { display: grid; gap: 7px; }
.exercise-option { display: flex; min-height: 47px; align-items: center; justify-content: space-between; padding: 0 13px; border: 1px solid rgba(242,237,222,.18); background: rgba(255,255,255,.015); color: #ddd9ce; cursor: pointer; text-align: left; transition: border-color .18s, background .18s, color .18s; }
.exercise-option:hover, .exercise-option[aria-pressed="true"] { border-color: rgba(224,187,113,.8); background: rgba(224,187,113,.09); color: #fff8e8; }
.exercise-option code { font: 400 11px var(--mono); }
.exercise-option > span { color: #a99b7a; font: 400 8px var(--mono); }
.exercise-feedback { margin-top: 14px; padding: 11px 12px; border-left: 2px solid #cbab66; background: rgba(222,189,123,.08); color: #d5d2c8; font-size: 10px; line-height: 1.7; }
.exercise-feedback.is-correct { border-left-color: #9cb297; }
.exercise-foot { display: flex; align-items: center; justify-content: space-between; margin-top: 18px; color: #92938a; font: 400 8px var(--mono); letter-spacing: .06em; }
.exercise-diamond { color: var(--gold-light); font-size: 17px; }

.values { padding: 91px var(--page-gutter) 87px; }
.values-heading { max-width: 1230px; margin: 80px auto 46px; }
.values-heading .eyebrow { margin-bottom: 22px; }
.value-columns { display: grid; max-width: 1230px; grid-template-columns: repeat(5,1fr); margin: 0 auto; border-top: 1px solid rgba(38,37,31,.32); border-bottom: 1px solid rgba(38,37,31,.32); }
.value-card { position: relative; min-height: 205px; padding: 25px 19px 21px 0; }
.value-card + .value-card { padding-left: 20px; border-left: 1px solid rgba(38,37,31,.2); }
.value-letter { display: block; color: #a98241; font: italic 500 30px var(--serif); }
.value-card h3 { margin: 19px 0 9px; color: #1c1c17; font: 500 22px var(--serif); }
.value-card p { margin: 0; color: #78766d; font-size: 10px; line-height: 1.7; }
.value-card i { position: absolute; right: 17px; bottom: 19px; color: rgba(125,111,80,.51); font: 400 8px var(--mono); font-style: normal; }
.values-signoff { max-width: 1230px; margin: 25px auto 0; color: #77756d; font: 400 8px var(--mono); letter-spacing: .12em; text-align: right; }
.values-signoff span, .values-signoff em { padding: 0 5px; color: #af8b4e; font-style: normal; }

.services { position: relative; overflow: hidden; padding: 93px var(--page-gutter) 105px; }
.services::before { position: absolute; top: 10%; right: -16%; width: 55vw; aspect-ratio: 1; border: 1px solid rgba(221,185,111,.08); border-radius: 50%; content: ""; box-shadow: 0 0 0 70px rgba(221,185,111,.018), 0 0 0 140px rgba(221,185,111,.012); pointer-events: none; }
.services-heading { position: relative; z-index: 1; display: grid; max-width: 1220px; grid-template-columns: 1fr minmax(240px,.65fr); align-items: end; gap: 10px 50px; margin: 77px auto 53px; }
.services-heading .eyebrow { grid-column: 1 / -1; margin: 0 0 13px; }
.services-heading h2 { margin: 0; color: #f3efe4; font: 500 clamp(42px,5.2vw,69px)/1.1 var(--serif); letter-spacing: -.04em; }
.services-heading h2 em { color: var(--gold-light); font-weight: 400; }
.services-heading > p:last-child { max-width: 300px; margin: 0 0 8px; color: rgba(239,235,222,.66); font: 500 16px/1.7 var(--serif); }
.service-grid { position: relative; z-index: 1; display: grid; max-width: 1220px; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0 auto; border-top: 1px solid rgba(242,237,222,.18); border-left: 1px solid rgba(242,237,222,.18); }
.service-card { position: relative; display: flex; min-height: 248px; flex-direction: column; padding: 24px 25px 22px; border-right: 1px solid rgba(242,237,222,.18); border-bottom: 1px solid rgba(242,237,222,.18); background: rgba(255,255,255,.012); color: inherit; text-decoration: none; transition: background .25s ease, transform .25s ease, border-color .25s ease; }
.service-card:hover, .service-card:focus-visible { z-index: 2; border-color: rgba(227,190,116,.48); background: rgba(227,190,116,.07); transform: translateY(-4px); outline: none; }
.service-index { color: #aa8b52; font: 400 9px var(--mono); letter-spacing: .12em; }
.service-glyph { position: absolute; top: 20px; right: 24px; display: grid; width: 39px; height: 39px; place-items: center; border: 1px solid rgba(226,190,117,.37); border-radius: 50%; color: #e1bd75; font: 500 15px var(--serif); }
.service-card h3 { margin: 28px 0 8px; color: #f1eddf; font: 500 23px/1.2 var(--serif); }
.service-card p { max-width: 295px; margin: 0; color: rgba(238,234,220,.63); font-size: 11px; line-height: 1.8; }
.service-action { display: flex; align-items: center; justify-content: space-between; margin-top: auto; padding-top: 24px; color: #e2c17d; font: 400 8px var(--mono); letter-spacing: .08em; text-transform: uppercase; }
.service-action i { font-size: 15px; font-style: normal; transition: transform .2s ease; }
.service-card:hover .service-action i, .service-card:focus-visible .service-action i { transform: translate(3px,-3px); }
.service-card[data-status="COMING_SOON"] { opacity: .72; }
.service-card[data-status="COMING_SOON"] .service-action::before { content: "COMING SOON"; margin-right: auto; color: #a5a094; }

.finder { padding: 91px var(--page-gutter) 112px; }
.finder-layout { display: grid; max-width: 1230px; grid-template-columns: .9fr 1.1fr; gap: 10%; margin: 79px auto 0; }
.finder-copy .eyebrow { margin-bottom: 23px; }
.finder-copy > p:last-child { max-width: 390px; margin: 22px 0 0; color: #757269; font-size: 11px; line-height: 1.85; }
.finder-widget { align-self: center; padding: 25px 29px 26px; border: 1px solid rgba(39,37,30,.26); background: rgba(249,247,240,.25); }
.finder-prompt { margin: 0 0 15px; color: #787267; font: 400 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.finder-options { display: flex; flex-wrap: wrap; gap: 7px; }
.finder-option { padding: 9px 10px; border: 1px solid rgba(39,37,30,.2); background: transparent; color: #66635b; cursor: pointer; font-size: 9px; transition: all .2s ease; }
.finder-option:hover, .finder-option.is-selected { border-color: #9f7d42; background: #25241e; color: #f3eee0; }
.finder-answer { display: grid; grid-template-columns: 105px 1fr; align-items: start; gap: 10px 14px; margin-top: 28px; padding-top: 21px; border-top: 1px solid rgba(39,37,30,.2); }
.answer-stamp { padding-top: 3px; color: #a27e42; font: 400 7px var(--mono); letter-spacing: .12em; }
.finder-answer p { grid-column: 2; margin: 0; color: #414038; font: 500 16px/1.58 var(--serif); }
.finder-answer .underlined-link { grid-column: 2; justify-self: start; margin-top: 4px; }

.founder { padding: 91px var(--page-gutter) 118px; }
.founder-layout { display: grid; max-width: 1230px; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 12%; margin: 88px auto 0; }
.founder-emblem { position: relative; display: grid; min-height: 340px; place-items: center; overflow: hidden; background: radial-gradient(ellipse, rgba(183,151,91,.2), transparent 57%); }
.emblem-ring { position: relative; display: flex; width: 245px; height: 245px; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(140,111,61,.54); border-radius: 50%; color: #1e1c16; transform: rotate(-8deg); }
.emblem-ring::before, .emblem-ring::after { position: absolute; inset: 14px; border: 1px solid rgba(140,111,61,.27); border-radius: 50%; content: ''; }
.emblem-ring::after { inset: -20px; border-style: dashed; opacity: .4; }
.emblem-ring span { font: 600 36px var(--sans); letter-spacing: -.09em; }
.emblem-ring b { margin-top: -8px; color: #a67c35; font: italic 500 34px var(--serif); }
.emblem-ring i { margin-top: 2px; color: #b08a4c; font-size: 17px; font-style: normal; }
.emblem-ring small { margin-top: 19px; color: #827862; font: 400 6px var(--mono); letter-spacing: .14em; }
.emblem-shadow { position: absolute; bottom: 40px; width: 210px; height: 22px; border-radius: 50%; background: rgba(33,29,18,.16); filter: blur(15px); }
.founder-copy .eyebrow { margin-bottom: 22px; }
.founder-copy h2 { margin: 0; color: #171811; font: 500 clamp(38px,4.2vw,57px)/1.14 var(--serif); letter-spacing: -.04em; }
.founder-role { margin: 9px 0 27px; color: #8c713f; font: 400 9px var(--mono); letter-spacing: .1em; text-transform: uppercase; }
.founder-copy .founder-thought { max-width: 565px; margin: 0 0 18px; padding-left: 17px; border-left: 1px solid #ad8a4d; color: #292820; font: italic 500 21px/1.55 var(--serif); }
.founder-copy > p:not(.eyebrow):not(.founder-role):not(.founder-thought) { max-width: 555px; margin: 0; color: #706e65; font-size: 11px; line-height: 1.95; }
.founder-copy .underlined-link { margin-top: 22px; }

.closing { display: flex; min-height: 620px; flex-direction: column; justify-content: space-between; padding: 95px var(--page-gutter) 0; }
.closing-rings { position: absolute; top: -290px; left: 50%; width: min(750px,75vw); aspect-ratio: 1; border: 1px solid rgba(218,183,115,.18); border-radius: 50%; transform: translateX(-50%); box-shadow: 0 0 0 55px rgba(218,183,115,.025), 0 0 0 110px rgba(218,183,115,.018), 0 0 0 166px rgba(218,183,115,.012); }
.closing-rings span { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--gold-light); box-shadow: 0 0 20px 4px rgba(238,203,129,.7); }
.closing-rings span:nth-child(1) { top: 30%; left: 5%; }
.closing-rings span:nth-child(2) { right: 8%; bottom: 26%; width: 3px; height: 3px; }
.closing-rings span:nth-child(3) { top: 50%; right: 16%; width: 2px; height: 2px; }
.closing-content { position: relative; z-index: 1; width: min(800px, 100%); align-self: center; padding: 20px 0 105px; text-align: center; }
.closing-content .eyebrow { justify-content: center; }
.closing-content h2 { margin: 31px 0 19px; color: #f8f5ec; font: 500 clamp(62px,8vw,105px)/.99 var(--serif); letter-spacing: -.055em; }
.closing-content > p:not(.eyebrow) { margin: 0 auto 29px; color: #aaa99f; font: 500 16px/1.65 var(--serif); }
.closing-content .button { margin: 0 auto; }
.closing-footer { position: relative; z-index: 1; display: flex; min-height: 88px; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.14); }
.footer-wordmark { display: flex; align-items: baseline; font: 700 21px var(--sans); letter-spacing: -1.7px; }
.footer-wordmark em { font-size: 24px; }
.closing-footer p, .back-top { color: rgba(233,229,216,.55); font: 400 7px var(--mono); letter-spacing: .15em; }
.closing-footer p span { padding: 0 3px; color: var(--gold); }
.back-top { display: inline-flex; align-items: center; gap: 13px; }
.back-top span { color: var(--gold-light); font-size: 14px; }
.brand-endcap { display: grid; min-height: 260px; place-items: center; padding: 38px var(--page-gutter) 56px; border-top: 1px solid rgba(255,255,255,.1); }
.brand-endcap img { display: block; width: min(320px, 78vw); max-height: 220px; object-fit: contain; }

.registration { padding: 91px var(--page-gutter) 118px; }
.registration::before { position: absolute; top: 17%; right: -15%; width: 670px; height: 670px; border: 1px solid rgba(153,123,69,.13); border-radius: 50%; content: ''; box-shadow: 0 0 0 55px rgba(153,123,69,.025), 0 0 0 110px rgba(153,123,69,.018); }
.registration-layout { position: relative; z-index: 1; display: grid; max-width: 1230px; grid-template-columns: .72fr 1.28fr; align-items: start; gap: 9%; margin: 78px auto 0; }
.registration-copy { position: sticky; top: 112px; }
.registration-copy .eyebrow { margin-bottom: 22px; }
.registration-copy h2 { max-width: 440px; margin: 0; color: #171812; font: 500 clamp(39px,4.5vw,62px)/1.12 var(--serif); letter-spacing: -.04em; }
.registration-copy h2 em { color: #a98544; }
.registration-copy > p:not(.eyebrow) { max-width: 370px; margin: 21px 0 0; color: #747168; font-size: 11px; line-height: 1.9; }
.registration-promise { display: flex; align-items: start; gap: 13px; max-width: 375px; margin-top: 34px; padding-top: 20px; border-top: 1px solid rgba(45,43,35,.19); }
.promise-mark { color: #ad8848; font-size: 20px; }
.registration-promise p { margin: 0; color: #757269; font-size: 10px; line-height: 1.8; }
.registration-promise strong { color: #27271f; font: 500 16px var(--serif); }
.registration-copy .registration-privacy { max-width: 355px; margin-top: 25px; color: #89867d; font-size: 9px; line-height: 1.75; }
.registration-form-wrap { min-width: 0; padding: 30px 33px 27px; border: 1px solid rgba(54,51,42,.2); background: rgba(250,248,242,.72); box-shadow: 0 22px 55px rgba(38,35,26,.075); }
.registration-form[aria-busy="true"] { opacity: .72; }
.form-honey { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 21px 18px; }
.form-wide { grid-column: 1 / -1; }
.form-field { display: flex; min-width: 0; flex-direction: column; gap: 9px; }
.form-field > span { color: #817d70; font: 400 7px var(--mono); letter-spacing: .16em; }
.form-field > span i { color: #a67937; font-style: normal; }
.form-field input, .form-field select, .form-field textarea { width: 100%; min-height: 42px; padding: 10px 1px; border: 0; border-bottom: 1px solid rgba(48,46,39,.25); border-radius: 0; background: transparent; color: #1b1b16; font: 400 11px var(--sans); outline: none; }
.form-field textarea { min-height: 76px; resize: vertical; }
.form-field select { color: #4f4d45; }
.form-field input::placeholder, .form-field textarea::placeholder { color: #aaa69b; opacity: 1; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-bottom-color: #a17b3c; box-shadow: 0 1px #a17b3c; }
.form-field input[aria-invalid="true"], .form-field select[aria-invalid="true"], .form-field textarea[aria-invalid="true"] { border-bottom-color: #ae4e3f; }
.registration-submit-row { display: flex; align-items: center; gap: 17px; margin-top: 24px; }
.registration-submit { margin: 0; cursor: pointer; }
.registration-submit:disabled { opacity: .55; cursor: wait; transform: none; }
.form-required-note { color: #8b877c; font: 400 7px var(--mono); }
.form-status { min-height: 19px; margin-top: 13px; color: #9b4538; font-size: 9px; line-height: 1.7; }
.form-status:empty { display: none; }
.registration-success { min-height: 420px; flex-direction: column; align-items: flex-start; justify-content: center; }
.registration-success:not([hidden]) { display: flex; }
.success-star { margin-bottom: 26px; color: #b58d4a; font-size: 26px; animation: success-turn 8s linear infinite; }
.registration-success .eyebrow { margin-bottom: 15px; }
.registration-success h3 { max-width: 480px; margin: 0; color: #f3efe4; font: 500 clamp(35px,4vw,51px)/1.13 var(--serif); }
.registration-success > p:not(.eyebrow) { max-width: 410px; margin: 17px 0 0; color: #aaa99f; font: 500 14px/1.75 var(--serif); }
.registration-success .application-reference { margin-top: 28px; color: rgba(239,229,205,.52); font: 400 8px var(--mono); letter-spacing: .13em; }
.application-reference strong { display: block; margin-top: 8px; color: var(--gold-light); font: 500 15px var(--mono); letter-spacing: .08em; }
.registration-success .application-delivery-note { max-width: 420px; margin-top: 13px; color: #a6a499; font: 400 10px/1.7 var(--sans); }
.success-reset { margin-top: 23px; padding: 0 0 7px; border: 0; border-bottom: 1px solid rgba(244,238,220,.35); background: transparent; color: #eee9dc; cursor: pointer; }

.reveal { opacity: 1; transform: none; }
.js .reveal { opacity: 0; transform: translateY(42px) rotateX(2deg); clip-path: inset(0 0 9% 0); transition: opacity .85s ease, transform 1s cubic-bezier(.16,1,.3,1), clip-path 1s cubic-bezier(.16,1,.3,1); transform-origin: 50% 100%; }
.js .reveal.is-visible { opacity: 1; transform: translateY(0) rotateX(0); clip-path: inset(0); }
.value-card.reveal:nth-child(2) { transition-delay: .07s; }
.value-card.reveal:nth-child(3) { transition-delay: .14s; }
.value-card.reveal:nth-child(4) { transition-delay: .21s; }
.value-card.reveal:nth-child(5) { transition-delay: .28s; }

@keyframes star-drift { from { transform: translate3d(-4px,2px,0); opacity: .42; } to { transform: translate3d(6px,-12px,0); opacity: 1; } }
@keyframes palace-arrive { from { opacity: 0; transform: translateY(27px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes palace-image-arrive { from { opacity: 0; filter: blur(10px) drop-shadow(0 28px 24px rgba(0,0,0,.2)); } to { opacity: 1; filter: blur(0) drop-shadow(0 28px 24px rgba(0,0,0,.2)); } }
@keyframes line-arrive { from { opacity: 0; transform: translateY(34px) rotateX(-9deg); filter: blur(7px); } to { opacity: 1; transform: translateY(0) rotateX(0); filter: blur(0); } }
@keyframes fade-rise { from { opacity: 0; transform: translateY(22px); filter: blur(4px); } to { opacity: 1; transform: translateY(0); filter: blur(0); } }
@keyframes architecture-rise { from { opacity: 0; transform: translateY(28px) scale(.94); filter: brightness(.6); } to { opacity: 1; transform: translateY(0) scale(1); filter: brightness(1); } }
@keyframes spires-arrive { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes step-arrive { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } }
@keyframes lantern-light { from { opacity: 0; } to { opacity: 1; } }
@keyframes lantern-flicker { 0%,100% { filter: drop-shadow(0 0 2px rgba(223,190,119,.15)); } 50% { filter: drop-shadow(0 0 8px rgba(223,190,119,.7)); } }
@keyframes door-pulse { from { opacity: .42; } to { opacity: .84; } }
@keyframes core-orbit-pulse { from { box-shadow: 0 0 34px rgba(212,173,99,.08), inset 0 0 18px rgba(235,208,144,.04); } to { box-shadow: 0 0 72px rgba(212,173,99,.23), inset 0 0 34px rgba(235,208,144,.14); } }
@keyframes orbital-turn { from { transform: translate(-50%,-50%) rotate(-25deg); } to { transform: translate(-50%,-50%) rotate(335deg); } }
@keyframes success-turn { to { transform: rotate(360deg); } }
@keyframes slow-glow { 0%,100% { opacity: .12; transform: scale(.96); } 50% { opacity: .29; transform: scale(1.05); } }
@keyframes wing-breathe { from { transform: translateY(1px); } to { transform: translateY(-2px); } }
@keyframes core-breathe { from { transform: translateY(1px); } to { transform: translateY(-3px); } }
@keyframes thread-glow { 0%,100% { opacity: .45; transform: scaleY(.64); } 50% { opacity: 1; transform: scaleY(1); } }
@keyframes ring-turn { to { transform: rotate(360deg); } }
@keyframes float-token { from { transform: translateY(-5px); } to { transform: translateY(7px); } }
@keyframes gate-breathe { from { transform: scale(.98); opacity: .7; } to { transform: scale(1.04); opacity: .22; } }
@keyframes note-pulse { 0%,100% { opacity: .35; transform: scale(.8); } 50% { opacity: 1; transform: scale(1.25); } }

@media (min-width: 1600px) {
  .hero-layout { grid-template-columns: minmax(450px,.85fr) minmax(690px,1.15fr); }
  .hero-copy { padding-left: 2%; }
  .palace-wrap { max-width: 850px; }
}
@media (max-width: 1120px) {
  :root { --page-gutter: clamp(27px,5vw,58px); }
  .site-header { gap: 16px; }
  .brand-lockup { width: 135px; flex-basis: 135px; }
  .primary-nav { gap: 18px; }
  .primary-nav a { font-size: 10px; }
  .nav-cta { padding: 0 11px; gap: 8px; font-size: 9px; }
  .hero-layout { grid-template-columns: minmax(340px,.88fr) minmax(430px,1.12fr); gap: 0; }
  .hero h1 { font-size: clamp(50px,6vw,72px); }
  .palace-wrap { margin-right: -50px; margin-left: -15px; }
  .story-layout { gap: 8vw; }
}
@media (max-width: 820px) {
  html { scroll-padding-top: 70px; }
  .site-header { height: 72px; }
  .site-header.is-scrolled { height: 66px; }
  .brand-lockup { width: 145px; height: 57px; flex-basis: 145px; }
  .brand-crop { width: 141px; height: 51px; }
  .primary-nav { position: absolute; top: 71px; right: 0; left: 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 7px var(--page-gutter) 18px; border-bottom: 1px solid rgba(255,255,255,.12); background: rgba(8,9,9,.98); opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity .22s, transform .22s; }
  .primary-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .primary-nav a { padding: 14px 0; border-bottom: 1px solid rgba(255,255,255,.075); font-size: 12px; }
  .primary-nav a::after { display: none; }
  .nav-cta { margin-left: auto; }
  .menu-toggle { display: flex; width: 40px; height: 40px; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1px solid rgba(255,255,255,.23); background: transparent; cursor: pointer; }
  .menu-toggle span { width: 15px; height: 1px; background: #f1eddf; transition: transform .2s; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .hero, .hero-layout { min-height: 900px; min-height: max(850px,100svh); }
  .hero-layout { grid-template-columns: 1fr; align-content: start; padding-top: 148px; }
  .hero-copy { padding-top: 10px; }
  .hero h1 { max-width: 580px; font-size: clamp(54px,10vw,77px); }
  .hero-intro { max-width: 450px; }
  .hero-note { margin-top: 35px; }
  .palace-wrap { width: min(100%,690px); justify-self: center; margin: -38px -6% 10px; }
  .hero::before { top: 38%; right: -18%; width: 95vw; }
  .hero-bottom { padding-bottom: 19px; }
  .journey-scroll-space { min-height: 350svh; }
  .journey-sticky { min-height: 620px; }
  .journey-inner { padding-top: 91px; padding-bottom: 22px; }
  .journey-center { grid-template-columns: .9fr 1.1fr; gap: 0; }
  .journey-orbit-scene { width: 114%; margin-left: -7%; }
  .journey-gate { width: 130px; height: 130px; }
  .journey-gate span { font-size: 19px; }
  .journey-step { gap: 5px; font-size: 8px; }
  .journey-step > span { font-size: 7px; }
  .story-layout { grid-template-columns: 1fr; gap: 42px; margin-top: 70px; }
  .story-copy { max-width: 530px; justify-self: end; }
  .story-seal { right: 5%; bottom: 27px; }
  .academy-heading { align-items: start; flex-direction: column; gap: 23px; margin-top: 72px; }
  .academy-intro { width: min(460px,100%); margin: 0; }
  .path-panel { grid-template-columns: 55px 1fr 135px; gap: 19px; }
  .path-drawing { width: 130px; height: 130px; }
  .drawing-glyph { font-size: 63px; }
  .program-layout { grid-template-columns: 1fr .85fr; gap: 0; }
  .program-art { min-height: 380px; margin: 0 -25px; }
  .program-orbit { width: 300px; height: 170px; }
  .orbit-small { width: 350px; height: 100px; }
  .program-core { width: 135px; height: 135px; }
  .workshop-layout { grid-template-columns: 1fr; gap: 33px; }
  .workshop-copy { display: grid; grid-template-columns: 1fr .9fr; align-items: end; gap: 16px 25px; }
  .workshop-copy .eyebrow { grid-column: 1 / -1; }
  .workshop-copy > p:last-of-type { margin: 0; }
  .workshop-next { justify-self: start; }
  .token-java { left: 15%; }
  .token-dsa { right: 7%; }
  .token-leet { left: 20%; }
  .finder-layout { grid-template-columns: 1fr; gap: 36px; }
  .finder-widget { max-width: 650px; }
  .founder-layout { gap: 7%; }
  .registration-layout { grid-template-columns: 1fr; gap: 35px; margin-top: 60px; }
  .registration-copy { position: static; }
  .registration-copy h2 { max-width: 590px; }
  .registration-copy > p:not(.eyebrow) { max-width: 520px; }
  .registration-promise { margin-top: 22px; }
  .registration-form-wrap { max-width: 760px; }
}
@media (max-width: 600px) {
  :root { --page-gutter: 22px; }
  .site-header { gap: 9px; padding-right: var(--page-gutter); }
  .brand-lockup { width: 122px; flex-basis: 122px; }
  .brand-crop { width: 119px; height: 46px; }
  .nav-cta { min-height: 36px; gap: 6px; padding: 0 8px; font-size: 8px; letter-spacing: .035em; }
  .nav-cta span { font-size: 13px; }
  .menu-toggle { width: 36px; height: 36px; flex: 0 0 36px; }
  .primary-nav { top: 71px; }
  .hero, .hero-layout { min-height: 840px; min-height: max(830px,100svh); }
  .hero-layout { padding-top: 128px; padding-bottom: 100px; }
  .hero-copy { padding-top: 0; }
  .hero .eyebrow { margin-bottom: 20px; font-size: 8px; }
  .hero h1 { font-size: clamp(47px,13.2vw,68px); }
  .hero-intro { max-width: 350px; margin-top: 20px; font-size: 12px; line-height: 1.8; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 18px; margin-top: 23px; }
  .button { min-height: 46px; }
  .hero-note { margin-top: 24px; font-size: 6.5px; letter-spacing: .09em; }
  .hero-note i { padding: 0 3px; }
  .palace-wrap { width: 124%; max-width: none; margin: -5px -12% 8px; }
  .palace-caption { right: 14%; bottom: 6%; font-size: 6px; }
  .hero-bottom { font-size: 6px; letter-spacing: .11em; }
  .scroll-thread { height: 28px; }
  .journey-scroll-space { min-height: 430svh; }
  .journey-sticky { height: 100svh; min-height: 700px; max-height: 900px; }
  .journey-inner { padding-top: 100px; padding-bottom: 24px; }
  .journey-inner > .section-kicker { gap: 7px; font-size: 5.5px; }
  .journey-inner > .section-kicker .kicker-rule { width: 20px; }
  .journey-center { display: flex; flex-direction: column; justify-content: center; gap: 5px; padding-bottom: 3px; }
  .journey-copy { width: 100%; flex: 0 0 auto; }
  .journey-copy .eyebrow { margin-bottom: 20px; font-size: 7px; }
  .journey-count { margin-bottom: 8px; font-size: 8px; }
  .journey-copy h2 { font-size: clamp(44px,12vw,60px); }
  .journey-copy > p:last-child { max-width: 330px; margin-top: 12px; font-size: 16px; }
  .journey-orbit-scene { width: 106%; max-width: 440px; flex: 0 0 auto; margin: -4px -3% -12px; }
  .journey-gate { width: 110px; height: 110px; }
  .journey-gate span { font-size: 17px; }
  .journey-gate i { font-size: 12px; }
  .journey-step { justify-content: center; flex-direction: column; gap: 5px; padding: 9px 0 7px; font-size: 7px; text-align: center; }
  .journey-step > span { font-size: 6px; }
  .journey-rail { padding-top: 13px; }
  .journey-scroll-note { margin-top: 9px; font-size: 6px; }
  .section-kicker { gap: 10px; font-size: 6px; letter-spacing: .1em; }
  .kicker-rule { width: 24px; }
  .story { min-height: 0; padding-top: 65px; padding-bottom: 94px; }
  .story-layout { gap: 33px; margin-top: 65px; }
  .story h2, .academy h2, .values h2, .finder h2 { font-size: clamp(38px,10vw,54px); }
  .story-quote .eyebrow { margin-bottom: 18px; }
  .quote-mark { top: -43px; right: 0; font-size: 110px; }
  .story-copy { justify-self: stretch; }
  .story-copy p { font-size: 11px; }
  .story-copy .lead-copy { font-size: 16px; }
  .story-seal { right: 22px; bottom: 12px; width: 54px; height: 54px; font-size: 5px; }
  .story-seal i { width: 15px; }
  .academy { min-height: 0; padding-top: 66px; padding-bottom: 76px; }
  .academy-heading { gap: 19px; margin: 62px auto 45px; }
  .academy-heading .eyebrow { margin-bottom: 18px; }
  .academy-intro { font-size: 11px; }
  .learning-paths { grid-template-columns: 1fr; }
  .path-tab { min-height: 52px; padding-right: 4px; font-size: 10px; }
  .path-tab + .path-tab { padding-left: 0; border-top: 1px solid rgba(38,37,31,.13); border-left: 0; }
  .path-tab > i { opacity: 1; transform: none; }
  .path-panel { min-height: 0; grid-template-columns: 43px 1fr; gap: 13px; padding: 26px 0 28px; }
  .path-number { font-size: 35px; }
  .path-panel-copy .eyebrow { margin-bottom: 11px; font-size: 7px; }
  .path-panel-copy h3 { font-size: 28px; }
  .path-panel-copy > p:last-child { font-size: 10px; }
  .path-drawing { display: none; }
  .program { padding-top: 66px; padding-bottom: 75px; }
  .program-layout { grid-template-columns: 1fr; margin-top: 54px; }
  .program-copy { padding: 0; }
  .program-copy .eyebrow { margin-bottom: 27px; font-size: 7px; }
  .program-overline { font-size: 9px; }
  .program h2 { font-size: clamp(64px,18vw,95px); }
  .program-intro { max-width: 355px; margin-top: 20px; font-size: 16px; }
  .program-detail { max-width: 345px; font-size: 10px; }
  .program-practice-link { margin-left: 10px; font-size: 8px; }
  .program-art { min-height: 325px; margin: -7px -11% 0; }
  .program-core { width: 126px; height: 126px; }
  .program-orbit { width: 270px; height: 150px; }
  .orbit-small { width: 315px; height: 90px; }
  .token-java { top: 15%; left: 13%; }
  .token-dsa { right: 13%; top: 40%; }
  .token-leet { left: 24%; bottom: 12%; }
  .art-caption { right: 2%; bottom: 5%; font-size: 6px; }
  .curriculum { margin-top: 33px; }
  .curriculum-heading { align-items: start; flex-direction: column; gap: 11px; padding-bottom: 19px; }
  .curriculum-heading .eyebrow { margin-bottom: 12px; font-size: 7px; }
  .curriculum-heading h3 { font-size: 38px; }
  .curriculum-heading p:last-child { max-width: 240px; font-size: 9px; }
  .curriculum-trigger { min-height: 68px; grid-template-columns: 26px 1fr 18px; gap: 7px; }
  .curriculum-index { font-size: 7px; }
  .curriculum-name { font-size: 14px; }
  .curriculum-meta { display: none; }
  .curriculum-content { flex-direction: column; gap: 13px; padding: 0 20px 20px 33px; }
  .curriculum-content p { font-size: 9px; }
  .topic-list { justify-content: start; }
  .workshop { padding-top: 66px; padding-bottom: 77px; }
  .workshop-layout { gap: 26px; margin-top: 61px; }
  .workshop-copy { display: block; }
  .workshop-copy .eyebrow { margin-bottom: 18px; }
  .workshop-copy h2 { font-size: clamp(39px,10vw,54px); }
  .workshop-copy > p:last-of-type { margin-top: 18px; font-size: 10px; }
  .workshop-next { margin-top: 17px; }
  .exercise-card { padding: 18px 15px 16px; }
  .exercise-card h3 { margin: 17px 0 14px; font-size: 19px; }
  .exercise-option { min-height: 43px; }
  .exercise-option code { font-size: 10px; }
  .exercise-foot { font-size: 7px; }
  .values { padding-top: 66px; padding-bottom: 67px; }
  .values-heading { margin: 61px auto 36px; }
  .values-heading .eyebrow { margin-bottom: 17px; }
  .value-columns { grid-template-columns: repeat(2,1fr); }
  .value-card { min-height: 165px; padding: 20px 15px 18px 0; }
  .value-card:nth-child(2n) { padding-left: 17px; border-left: 1px solid rgba(38,37,31,.2); }
  .value-card:nth-child(n+3) { border-top: 1px solid rgba(38,37,31,.2); }
  .value-card:last-child { grid-column: 1 / 3; min-height: 145px; padding-left: 0; border-left: 0; }
  .value-letter { font-size: 26px; }
  .value-card h3 { margin: 14px 0 7px; font-size: 19px; }
  .value-card p { font-size: 9px; }
  .values-signoff { max-width: 270px; margin-top: 19px; font-size: 6px; line-height: 2; text-align: left; }
  .finder { padding-top: 66px; padding-bottom: 75px; }
  .finder-layout { gap: 28px; margin-top: 60px; }
  .finder-copy .eyebrow { margin-bottom: 18px; }
  .finder-copy > p:last-child { font-size: 10px; }
  .finder-widget { padding: 18px 15px 20px; }
  .finder-option { font-size: 8px; }
  .finder-answer { grid-template-columns: 1fr; gap: 10px; margin-top: 20px; padding-top: 17px; }
  .finder-answer p, .finder-answer .underlined-link { grid-column: 1; }
  .founder { padding-top: 66px; padding-bottom: 81px; }
  .founder-layout { grid-template-columns: 1fr; gap: 20px; margin-top: 42px; }
  .founder-emblem { min-height: 255px; }
  .emblem-ring { width: 190px; height: 190px; }
  .emblem-ring span { font-size: 30px; }
  .emblem-ring b { font-size: 28px; }
  .emblem-ring small { font-size: 5px; }
  .emblem-shadow { bottom: 24px; width: 160px; }
  .founder-copy .eyebrow { margin-bottom: 16px; font-size: 7px; }
  .founder-copy h2 { font-size: 42px; }
  .founder-role { margin: 7px 0 21px; font-size: 7px; }
  .founder-copy .founder-thought { font-size: 18px; }
  .founder-copy > p:not(.eyebrow):not(.founder-role):not(.founder-thought) { font-size: 10px; }
  .registration { padding-top: 66px; padding-bottom: 80px; }
  .registration-layout { gap: 25px; margin-top: 56px; }
  .registration-copy .eyebrow { margin-bottom: 17px; font-size: 7px; }
  .registration-copy h2 { font-size: clamp(39px,10vw,54px); }
  .registration-copy > p:not(.eyebrow) { margin-top: 17px; font-size: 10px; }
  .registration-promise { margin-top: 19px; padding-top: 15px; }
  .registration-promise p { font-size: 9px; }
  .registration-copy .registration-privacy { font-size: 8px; }
  .registration-form-wrap { padding: 20px 15px 19px; }
  .form-grid { grid-template-columns: 1fr; gap: 17px; }
  .form-wide { grid-column: 1; }
  .form-field input, .form-field select, .form-field textarea { font-size: 10px; }
  .registration-submit-row { align-items: flex-start; flex-direction: column; gap: 10px; }
  .registration-submit { min-height: 46px; }
  .registration-success { min-height: 360px; }
  .registration-success h3 { font-size: 37px; }
  .registration-success > p:not(.eyebrow) { font-size: 13px; }
  .closing { min-height: 555px; padding-top: 80px; }
  .closing-content { padding-bottom: 75px; }
  .closing-content .eyebrow { font-size: 7px; }
  .closing-content h2 { margin-top: 24px; font-size: clamp(65px,17vw,86px); }
  .closing-content > p:not(.eyebrow) { max-width: 300px; font-size: 14px; }
  .closing-footer { min-height: 73px; flex-wrap: wrap; gap: 4px 15px; padding: 12px 0; }
  .closing-footer p { order: 3; width: 100%; margin: 0; font-size: 6px; }
  .back-top { font-size: 6px; }
}
@media (max-width: 360px) {
  .site-header { gap: 5px; }
  .brand-lockup { width: 102px; flex-basis: 102px; }
  .brand-crop { width: 100px; height: 42px; }
  .nav-cta { max-width: 112px; gap: 3px; padding: 0 6px; font-size: 7px; letter-spacing: 0; }
  .menu-toggle { width: 32px; height: 34px; flex-basis: 32px; }
}
/* Bright, illustrated landing-page theme inspired by the reference's sales flow. */
.platform-page:not(.theme-dark) {
  color-scheme: light;
  --ink: #17313b;
  --night: #17313b;
  --night-soft: #254b55;
  --paper: #fffaf0;
  --cream: #dff1e8;
  --white: #fffdf7;
  --muted: #5b6d70;
  --gold: #ec6844;
  --gold-light: #ffd04f;
  --serif: 'Outfit', 'Avenir Next', sans-serif;
  --sans: 'DM Sans', 'Avenir Next', sans-serif;
  --mono: 'DM Mono', Consolas, monospace;
  color: var(--ink);
  background: var(--paper);
  font-family: var(--sans);
}
.platform-page:not(.theme-dark) h1, .platform-page:not(.theme-dark) h2, .platform-page:not(.theme-dark) h3, .platform-page:not(.theme-dark) h4 { font-family: var(--serif); font-weight: 650; letter-spacing: 0; }
.platform-page:not(.theme-dark) .site-header { color: var(--ink); border-color: rgba(23,49,59,.12); background: rgba(255,250,240,.94); box-shadow: 0 5px 22px rgba(23,49,59,.06); }
.platform-page:not(.theme-dark) .site-header.is-scrolled { background: rgba(255,250,240,.97); }
.platform-page:not(.theme-dark) .primary-nav a { color: rgba(23,49,59,.78); }
.platform-page:not(.theme-dark) .primary-nav a:hover, .platform-page:not(.theme-dark) .primary-nav a.is-current { color: var(--ink); }
.platform-page:not(.theme-dark) .primary-nav a::after { background: var(--gold); }
.platform-page:not(.theme-dark) .nav-cta { border-color: var(--gold); border-radius: 4px; background: var(--gold); color: #fffdf7; font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .02em; text-transform: none; }
.platform-page:not(.theme-dark) .nav-cta:hover { border-color: var(--ink); background: var(--ink); color: #fffdf7; }
.platform-page:not(.theme-dark) .menu-toggle { border-color: rgba(23,49,59,.35); }
.platform-page:not(.theme-dark) .menu-toggle span { background: var(--ink); }
.platform-page:not(.theme-dark) .primary-nav.is-open { background: #fffaf0; }

.platform-page:not(.theme-dark) .hero { background: linear-gradient(155deg,#b9e8e3 0%,#e3f0d9 60%,#f8d376 100%); color: var(--ink); }
.platform-page:not(.theme-dark) .hero::before { top: auto; right: 0; bottom: 0; width: 100%; height: 25%; aspect-ratio: auto; border: 0; background: #f5bc54; box-shadow: none; clip-path: polygon(0 48%,100% 0,100% 100%,0 100%); animation: none; }
.platform-page:not(.theme-dark) .hero::after { background: linear-gradient(180deg,rgba(255,255,255,.16),transparent 54%); }
.platform-page:not(.theme-dark) .sky-canvas { opacity: .18; mix-blend-mode: multiply; }
.platform-page:not(.theme-dark) .hero-grain { opacity: .14; }
.platform-page:not(.theme-dark) .hero h1 { max-width: 690px; color: var(--ink); font-family: var(--serif); font-size: 76px; font-weight: 700; line-height: .98; letter-spacing: 0; }
.platform-page:not(.theme-dark) .hero h1 em { color: #df633b; font-style: normal; }
.platform-page:not(.theme-dark) .hero-intro { max-width: 470px; color: rgba(23,49,59,.8); font-size: 16px; line-height: 1.7; }
.platform-page:not(.theme-dark) .hero-note, .platform-page:not(.theme-dark) .hero-bottom { color: rgba(23,49,59,.64); }
.platform-page:not(.theme-dark) .hero-note i { color: #e6613d; }
.platform-page:not(.theme-dark) .palace-wrap { filter: drop-shadow(0 26px 24px rgba(45,70,56,.14)); }
.platform-page:not(.theme-dark) .button { min-height: 52px; border-radius: 4px; font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .03em; }
.platform-page:not(.theme-dark) .button-light { background: var(--ink); color: #fffdf7; }
.platform-page:not(.theme-dark) .button-light:hover { background: #e45f3c; color: #fffdf7; }
.platform-page:not(.theme-dark) .button-gold { background: var(--gold); color: #fffdf7; }
.platform-page:not(.theme-dark) .button-gold:hover { background: #d85334; }
.platform-page:not(.theme-dark) .text-link { color: var(--ink); font-size: 12px; font-weight: 700; }

.platform-page:not(.theme-dark) .section-paper { background: var(--paper); color: var(--ink); }
.platform-page:not(.theme-dark) .section-cream { background: var(--cream); color: var(--ink); }
.platform-page:not(.theme-dark) .section-night { background: var(--night); color: var(--white); }
.platform-page:not(.theme-dark) .section-kicker { color: #677b78; font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: .07em; }
.platform-page:not(.theme-dark) .section-kicker-light { color: rgba(255,253,247,.65); }
.platform-page:not(.theme-dark) .eyebrow { font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: .08em; }
.platform-page:not(.theme-dark) .eyebrow-dark { color: #667875; }
.platform-page:not(.theme-dark) .eyebrow-gold { color: #f3c949; }
.platform-page:not(.theme-dark) .story h2, .platform-page:not(.theme-dark) .academy h2, .platform-page:not(.theme-dark) .values h2, .platform-page:not(.theme-dark) .finder h2 { color: var(--ink); font-size: 58px; font-weight: 650; line-height: 1.04; letter-spacing: 0; }
.platform-page:not(.theme-dark) .story h2 em, .platform-page:not(.theme-dark) .academy h2 em, .platform-page:not(.theme-dark) .values h2 em, .platform-page:not(.theme-dark) .finder h2 em { color: #df633b; }
.platform-page:not(.theme-dark) .story-copy p, .platform-page:not(.theme-dark) .academy-intro, .platform-page:not(.theme-dark) .finder-copy > p:last-child { color: #596b6b; }
.platform-page:not(.theme-dark) .story-copy .lead-copy { color: var(--ink); font-family: var(--sans); font-size: 19px; font-weight: 700; }
.platform-page:not(.theme-dark) .story-seal { border-color: rgba(23,49,59,.3); color: #536964; }
.platform-page:not(.theme-dark) .story-seal i { background: var(--gold); }

.platform-page:not(.theme-dark) .journey-sticky { background: linear-gradient(125deg,#17313b,#24545c 65%,#287a78); }
.platform-page:not(.theme-dark) .journey-copy h2 { color: var(--white); font-size: 76px; font-weight: 700; letter-spacing: 0; }
.platform-page:not(.theme-dark) .journey-copy > p:last-child { font-family: var(--sans); font-size: 18px; }
.platform-page:not(.theme-dark) .journey-gate { border-color: #f3c949; background: radial-gradient(circle at 36% 25%,#ffe17a,#ec6844 72%); box-shadow: 0 16px 50px rgba(236,104,68,.26); }
.platform-page:not(.theme-dark) .journey-gate span { color: var(--ink); }
.platform-page:not(.theme-dark) .journey-gate i { color: #a63c2d; }
.platform-page:not(.theme-dark) .journey-node { border-color: #fff1b0; background: #ffd04f; box-shadow: 0 0 20px 5px rgba(255,208,79,.38); }
.platform-page:not(.theme-dark) .journey-step.is-current, .platform-page:not(.theme-dark) .journey-step:hover { color: #fffdf7; }
.platform-page:not(.theme-dark) .journey-step.is-current > span { color: #ffd04f; }

.platform-page:not(.theme-dark) .academy-orb, .platform-page:not(.theme-dark) .services::before, .platform-page:not(.theme-dark) .registration::before { display: none; }
.platform-page:not(.theme-dark) .academy-heading h2, .platform-page:not(.theme-dark) .academy-intro { color: var(--ink); }
.platform-page:not(.theme-dark) .learning-paths { border-color: rgba(23,49,59,.23); }
.platform-page:not(.theme-dark) .path-tab { color: #647674; font-family: var(--sans); font-weight: 600; }
.platform-page:not(.theme-dark) .path-tab + .path-tab { border-color: rgba(23,49,59,.2); }
.platform-page:not(.theme-dark) .path-tab.is-active, .platform-page:not(.theme-dark) .path-tab:hover { color: #d95836; }
.platform-page:not(.theme-dark) .path-panel { border-color: rgba(23,49,59,.23); }
.platform-page:not(.theme-dark) .path-number { color: rgba(236,104,68,.45); }
.platform-page:not(.theme-dark) .path-panel-copy h3 { color: var(--ink); font-family: var(--serif); font-size: 38px; letter-spacing: 0; }
.platform-page:not(.theme-dark) .path-panel-copy h3 em { color: #df633b; }
.platform-page:not(.theme-dark) .path-panel-copy > p:last-child { color: #596b6b; }
.platform-page:not(.theme-dark) .drawing-ring { border-color: rgba(236,104,68,.55); }
.platform-page:not(.theme-dark) .drawing-ring::before, .platform-page:not(.theme-dark) .drawing-ring::after { border-color: #df633b; background: var(--cream); }
.platform-page:not(.theme-dark) .drawing-glyph, .platform-page:not(.theme-dark) .drawing-star { color: #df633b; }

.platform-page:not(.theme-dark) .program { background: #17313b; }
.platform-page:not(.theme-dark) .program-stars { opacity: .16; }
.platform-page:not(.theme-dark) .program h2 { color: #fffdf7; font-size: 112px; font-weight: 700; letter-spacing: 0; }
.platform-page:not(.theme-dark) .program-overline { color: #ffd04f; }
.platform-page:not(.theme-dark) .program-period { color: #ffd04f; }
.platform-page:not(.theme-dark) .program-intro { color: #fffdf7; font-family: var(--sans); font-size: 20px; font-weight: 600; }
.platform-page:not(.theme-dark) .program-detail, .platform-page:not(.theme-dark) .curriculum-heading p:last-child { color: rgba(255,253,247,.69); }
.platform-page:not(.theme-dark) .program-core { border-color: #ffd04f; background: radial-gradient(circle at 38% 32%,#3b6e6e,#17313b 70%); }
.platform-page:not(.theme-dark) .program-core::before, .platform-page:not(.theme-dark) .program-core::after { border-color: rgba(255,208,79,.4); }
.platform-page:not(.theme-dark) .program-core span, .platform-page:not(.theme-dark) .program-core b { color: #ffd04f; }
.platform-page:not(.theme-dark) .program-orbit { border-color: rgba(255,208,79,.5); }
.platform-page:not(.theme-dark) .program-token { border-color: #ffd04f; background: #f47746; color: #fffdf7; }
.platform-page:not(.theme-dark) .curriculum-heading, .platform-page:not(.theme-dark) .curriculum-item, .platform-page:not(.theme-dark) .curriculum-list { border-color: rgba(255,253,247,.2); }
.platform-page:not(.theme-dark) .curriculum-heading h3, .platform-page:not(.theme-dark) .curriculum-name { color: #fffdf7; font-family: var(--serif); }
.platform-page:not(.theme-dark) .curriculum-trigger:hover .curriculum-name { color: #ffd04f; }
.platform-page:not(.theme-dark) .curriculum-index, .platform-page:not(.theme-dark) .curriculum-plus { color: #ffd04f; }
.platform-page:not(.theme-dark) .curriculum-content p, .platform-page:not(.theme-dark) .curriculum-meta { color: rgba(255,253,247,.68); }
.platform-page:not(.theme-dark) .topic-list span { border-color: rgba(255,208,79,.42); color: #fff0ad; }

.platform-page:not(.theme-dark) .workshop { background: #fffaf0; }
.platform-page:not(.theme-dark) .workshop-copy h2 { color: var(--ink); font-size: 54px; font-weight: 650; letter-spacing: 0; }
.platform-page:not(.theme-dark) .workshop-copy h2 em { color: #df633b; }
.platform-page:not(.theme-dark) .workshop-copy > p:last-of-type { color: #596b6b; }
.platform-page:not(.theme-dark) .workshop-next { border-color: rgba(23,49,59,.4); color: var(--ink); font-weight: 700; }
.platform-page:not(.theme-dark) .workshop-next span { color: #df633b; }
.platform-page:not(.theme-dark) .exercise-card { border-radius: 6px; background: #21434d; color: #fffdf7; box-shadow: 0 20px 42px rgba(23,49,59,.18); }
.platform-page:not(.theme-dark) .exercise-topline { border-color: rgba(255,253,247,.2); color: #ffd04f; }
.platform-page:not(.theme-dark) .exercise-card h3 { color: #fffdf7; font-family: var(--sans); font-size: 23px; font-weight: 600; }
.platform-page:not(.theme-dark) .exercise-option { border-color: rgba(255,253,247,.25); border-radius: 3px; color: #fffdf7; }
.platform-page:not(.theme-dark) .exercise-option:hover, .platform-page:not(.theme-dark) .exercise-option[aria-pressed="true"] { border-color: #ffd04f; background: rgba(255,208,79,.13); }
.platform-page:not(.theme-dark) .exercise-feedback { border-left-color: #ffd04f; background: rgba(255,208,79,.12); color: #fffdf7; }
.platform-page:not(.theme-dark) .exercise-feedback.is-correct { border-left-color: #9ddb9b; }
.platform-page:not(.theme-dark) .exercise-diamond { color: #ffd04f; }

.platform-page:not(.theme-dark) .values { background: #ffd04f; }
.platform-page:not(.theme-dark) .values-heading h2, .platform-page:not(.theme-dark) .value-card h3 { color: var(--ink); }
.platform-page:not(.theme-dark) .value-columns { border-color: rgba(23,49,59,.28); }
.platform-page:not(.theme-dark) .value-card + .value-card { border-color: rgba(23,49,59,.22); }
.platform-page:not(.theme-dark) .value-letter { color: #d95836; }
.platform-page:not(.theme-dark) .value-card p, .platform-page:not(.theme-dark) .values-signoff { color: rgba(23,49,59,.7); }
.platform-page:not(.theme-dark) .value-card i { color: rgba(23,49,59,.45); }
.platform-page:not(.theme-dark) .values-signoff span, .platform-page:not(.theme-dark) .values-signoff em { color: #d95836; }

.platform-page:not(.theme-dark) .services { background: #267780; }
.platform-page:not(.theme-dark) .services-heading h2 { color: #fffdf7; font-size: 64px; font-weight: 650; letter-spacing: 0; }
.platform-page:not(.theme-dark) .services-heading h2 em { color: #ffd04f; }
.platform-page:not(.theme-dark) .services-heading > p:last-child { color: rgba(255,253,247,.82); font-family: var(--sans); }
.platform-page:not(.theme-dark) .service-grid { border-color: rgba(255,253,247,.35); }
.platform-page:not(.theme-dark) .service-card { min-height: 255px; border-color: rgba(23,49,59,.12); border-radius: 5px; background: #fffaf0; color: var(--ink); transition: transform .3s cubic-bezier(.2,.8,.2,1), background .25s, box-shadow .25s; }
.platform-page:not(.theme-dark) .service-card:nth-child(3n + 2) { background: #dff1e8; }
.platform-page:not(.theme-dark) .service-card:nth-child(3n) { background: #ffd04f; }
.platform-page:not(.theme-dark) .service-card:hover, .platform-page:not(.theme-dark) .service-card:focus-visible { border-color: rgba(23,49,59,.18); background: #fffdf7; box-shadow: 0 15px 28px rgba(14,47,54,.15); transform: translateY(-5px); }
.platform-page:not(.theme-dark) .service-index { color: #d95836; }
.platform-page:not(.theme-dark) .service-glyph { border-color: rgba(23,49,59,.25); color: #d95836; }
.platform-page:not(.theme-dark) .service-card h3 { color: var(--ink); font-family: var(--serif); font-size: 24px; }
.platform-page:not(.theme-dark) .service-card p { color: #586c6d; }
.platform-page:not(.theme-dark) .service-action { color: #d95836; font-family: var(--sans); font-size: 10px; font-weight: 700; }
.platform-page:not(.theme-dark) .service-card[data-status="COMING_SOON"] .service-action::before { color: #536964; }

.platform-page:not(.theme-dark) .finder { background: #dff1e8; }
.platform-page:not(.theme-dark) .finder-widget { border-color: rgba(23,49,59,.16); border-radius: 6px; background: #fffdf7; box-shadow: 0 16px 36px rgba(23,49,59,.08); }
.platform-page:not(.theme-dark) .finder-prompt, .platform-page:not(.theme-dark) .finder-option { color: #596d6d; }
.platform-page:not(.theme-dark) .finder-option { border-radius: 3px; border-color: rgba(23,49,59,.18); }
.platform-page:not(.theme-dark) .finder-option:hover, .platform-page:not(.theme-dark) .finder-option.is-selected { border-color: var(--ink); background: var(--ink); color: #fffdf7; }
.platform-page:not(.theme-dark) .finder-answer { border-color: rgba(23,49,59,.18); }
.platform-page:not(.theme-dark) .answer-stamp { color: #d95836; }
.platform-page:not(.theme-dark) .finder-answer p { color: var(--ink); font-family: var(--sans); font-weight: 600; }
.platform-page:not(.theme-dark) .founder { background: #fffaf0; }
.platform-page:not(.theme-dark) .founder-emblem { background: radial-gradient(ellipse,#f4d47e,transparent 64%); }
.platform-page:not(.theme-dark) .emblem-ring { border-color: rgba(23,49,59,.4); }
.platform-page:not(.theme-dark) .emblem-ring::before, .platform-page:not(.theme-dark) .emblem-ring::after { border-color: rgba(23,49,59,.2); }
.platform-page:not(.theme-dark) .emblem-ring b, .platform-page:not(.theme-dark) .emblem-ring i { color: #df633b; }
.platform-page:not(.theme-dark) .founder-copy h2 { color: var(--ink); font-size: 52px; font-weight: 650; letter-spacing: 0; }
.platform-page:not(.theme-dark) .founder-role { color: #d95836; }
.platform-page:not(.theme-dark) .founder-copy .founder-thought { border-color: #df633b; color: var(--ink); font-family: var(--sans); font-style: normal; font-weight: 600; }
.platform-page:not(.theme-dark) .founder-copy > p:not(.eyebrow):not(.founder-role):not(.founder-thought) { color: #596b6b; }

.platform-page:not(.theme-dark) .registration { background: #f6c84f; }
.platform-page:not(.theme-dark) .registration-copy h2 { color: var(--ink); font-size: 55px; font-weight: 650; letter-spacing: 0; }
.platform-page:not(.theme-dark) .registration-copy h2 em { color: #d95836; }
.platform-page:not(.theme-dark) .registration-copy > p:not(.eyebrow), .platform-page:not(.theme-dark) .registration-promise p { color: #536769; }
.platform-page:not(.theme-dark) .registration-promise { border-color: rgba(23,49,59,.2); }
.platform-page:not(.theme-dark) .promise-mark { color: #d95836; }
.platform-page:not(.theme-dark) .registration-form-wrap { border: 0; border-radius: 7px; background: #fffdf7; box-shadow: 0 18px 45px rgba(23,49,59,.14); }
.platform-page:not(.theme-dark) .form-field > span { color: #536769; font-family: var(--sans); font-size: 9px; font-weight: 700; letter-spacing: .07em; }
.platform-page:not(.theme-dark) .form-field input, .platform-page:not(.theme-dark) .form-field select, .platform-page:not(.theme-dark) .form-field textarea { border-color: rgba(23,49,59,.22); border-radius: 3px; background: #fffdf7; color: var(--ink); }
.platform-page:not(.theme-dark) .form-field input:focus, .platform-page:not(.theme-dark) .form-field select:focus, .platform-page:not(.theme-dark) .form-field textarea:focus { border-color: #df633b; box-shadow: 0 0 0 3px rgba(223,99,59,.12); }
.platform-page:not(.theme-dark) .form-required-note, .platform-page:not(.theme-dark) .registration-privacy { color: #617372; }
.platform-page:not(.theme-dark) .closing { min-height: 550px; background: #e96742; color: var(--ink); }
.platform-page:not(.theme-dark) .closing-rings { display: none; }
.platform-page:not(.theme-dark) .closing-content h2 { color: var(--ink); font-size: 82px; font-weight: 700; letter-spacing: 0; }
.platform-page:not(.theme-dark) .closing-content h2 em { color: #fff4c7; }
.platform-page:not(.theme-dark) .closing-content > p:not(.eyebrow) { color: rgba(23,49,59,.8); font-family: var(--sans); }
.platform-page:not(.theme-dark) .closing-footer { border-color: rgba(23,49,59,.25); }
.platform-page:not(.theme-dark) .footer-wordmark { color: var(--ink); }
.platform-page:not(.theme-dark) .footer-wordmark em { color: #fff4c7; }
.platform-page:not(.theme-dark) .closing-footer p, .platform-page:not(.theme-dark) .back-top { color: rgba(23,49,59,.75); }
.platform-page:not(.theme-dark) .back-top span { color: #fff4c7; }
.platform-page:not(.theme-dark) .brand-endcap { border-color: rgba(23,49,59,.12); background: #fffaf0; }

@media (max-width: 820px) {
  .platform-page:not(.theme-dark) .hero-layout { grid-template-columns: 1fr; gap: 0; align-content: center; padding-top: 120px; }
  .platform-page:not(.theme-dark) .hero-copy { text-align: center; }
  .platform-page:not(.theme-dark) .hero-copy > .eyebrow { justify-content: center; }
  .platform-page:not(.theme-dark) .hero h1 { max-width: 720px; margin: 0 auto; font-size: 60px; }
  .platform-page:not(.theme-dark) .hero-intro { margin-right: auto; margin-left: auto; }
  .platform-page:not(.theme-dark) .hero-actions { justify-content: center; }
  .platform-page:not(.theme-dark) .hero-note { margin-top: 28px; }
  .platform-page:not(.theme-dark) .palace-wrap { width: min(620px,100%); margin: -4px auto 0; }
  .platform-page:not(.theme-dark) .story-layout, .platform-page:not(.theme-dark) .program-layout, .platform-page:not(.theme-dark) .workshop-layout, .platform-page:not(.theme-dark) .finder-layout, .platform-page:not(.theme-dark) .founder-layout, .platform-page:not(.theme-dark) .registration-layout { grid-template-columns: 1fr; gap: 36px; }
  .platform-page:not(.theme-dark) .story-layout { margin-top: 58px; }
  .platform-page:not(.theme-dark) .academy-heading { align-items: flex-start; flex-direction: column; gap: 24px; margin-top: 60px; }
  .platform-page:not(.theme-dark) .academy-intro { width: min(520px,100%); margin: 0; }
  .platform-page:not(.theme-dark) .journey-inner { padding-top: 88px; }
  .platform-page:not(.theme-dark) .journey-center { grid-template-columns: 1fr; }
  .platform-page:not(.theme-dark) .journey-copy { max-width: 650px; text-align: center; }
  .platform-page:not(.theme-dark) .journey-copy .eyebrow { justify-content: center; }
  .platform-page:not(.theme-dark) .journey-orbit-scene { width: min(60%,420px); }
  .platform-page:not(.theme-dark) .path-panel { grid-template-columns: 60px 1fr; }
  .platform-page:not(.theme-dark) .path-drawing { grid-column: 2; width: 132px; height: 132px; }
  .platform-page:not(.theme-dark) .program-layout { padding-top: 38px; }
  .platform-page:not(.theme-dark) .program-art { min-height: 420px; }
  .platform-page:not(.theme-dark) .registration-copy { position: static; }
  .platform-page:not(.theme-dark) .value-columns { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .platform-page:not(.theme-dark) .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .platform-page:not(.theme-dark) .site-header { gap: 8px; }
  .platform-page:not(.theme-dark) .hero, .platform-page:not(.theme-dark) .hero-layout { min-height: 850px; }
  .platform-page:not(.theme-dark) .hero-layout { padding: 112px var(--page-gutter) 74px; }
  .platform-page:not(.theme-dark) .hero h1 { font-size: 43px; line-height: 1.02; }
  .platform-page:not(.theme-dark) .hero-intro { font-size: 14px; }
  .platform-page:not(.theme-dark) .hero-actions { gap: 16px; }
  .platform-page:not(.theme-dark) .hero-actions .button { width: 100%; }
  .platform-page:not(.theme-dark) .hero-note { font-size: 7px; }
  .platform-page:not(.theme-dark) .hero-bottom { font-size: 7px; }
  .platform-page:not(.theme-dark) .story h2, .platform-page:not(.theme-dark) .academy h2, .platform-page:not(.theme-dark) .values h2, .platform-page:not(.theme-dark) .finder h2 { font-size: 39px; }
  .platform-page:not(.theme-dark) .section-kicker { flex-wrap: wrap; gap: 8px; font-size: 8px; }
  .platform-page:not(.theme-dark) .kicker-rule { width: 30px; }
  .platform-page:not(.theme-dark) .journey-sticky { min-height: 720px; }
  .platform-page:not(.theme-dark) .journey-inner { padding: 82px var(--page-gutter) 22px; }
  .platform-page:not(.theme-dark) .journey-center { grid-template-columns: 1fr; }
  .platform-page:not(.theme-dark) .journey-copy h2 { font-size: 52px; }
  .platform-page:not(.theme-dark) .journey-orbit-scene { width: min(82%,330px); }
  .platform-page:not(.theme-dark) .journey-rail { grid-template-columns: repeat(3,minmax(0,1fr)); row-gap: 2px; }
  .platform-page:not(.theme-dark) .journey-step { gap: 5px; font-size: 9px; }
  .platform-page:not(.theme-dark) .journey-scroll-note { font-size: 6px; }
  .platform-page:not(.theme-dark) .learning-paths { grid-template-columns: 1fr; }
  .platform-page:not(.theme-dark) .path-tab, .platform-page:not(.theme-dark) .path-tab + .path-tab { min-height: 54px; padding: 0 8px; border-left: 0; border-bottom: 1px solid rgba(23,49,59,.16); }
  .platform-page:not(.theme-dark) .path-panel { grid-template-columns: 1fr; gap: 10px; }
  .platform-page:not(.theme-dark) .path-number { display: none; }
  .platform-page:not(.theme-dark) .path-panel-copy h3 { font-size: 30px; }
  .platform-page:not(.theme-dark) .path-drawing { grid-column: 1; justify-self: start; width: 100px; height: 100px; }
  .platform-page:not(.theme-dark) .program { padding-top: 74px; }
  .platform-page:not(.theme-dark) .program h2 { font-size: 68px; }
  .platform-page:not(.theme-dark) .program-layout { min-height: 0; gap: 4px; }
  .platform-page:not(.theme-dark) .program-copy .eyebrow { margin-bottom: 23px; }
  .platform-page:not(.theme-dark) .program-art { min-height: 320px; }
  .platform-page:not(.theme-dark) .program-core { width: 130px; height: 130px; }
  .platform-page:not(.theme-dark) .program-orbit { width: 280px; }
  .platform-page:not(.theme-dark) .orbit-small { width: 320px; }
  .platform-page:not(.theme-dark) .curriculum-heading { align-items: flex-start; flex-direction: column; gap: 14px; }
  .platform-page:not(.theme-dark) .curriculum-trigger { grid-template-columns: 30px minmax(0,1fr) 18px; gap: 8px; }
  .platform-page:not(.theme-dark) .curriculum-name { font-size: 15px; }
  .platform-page:not(.theme-dark) .curriculum-meta { display: none; }
  .platform-page:not(.theme-dark) .curriculum-content { flex-direction: column; padding: 0 10px 20px 38px; }
  .platform-page:not(.theme-dark) .topic-list { justify-content: flex-start; }
  .platform-page:not(.theme-dark) .workshop-copy h2, .platform-page:not(.theme-dark) .services-heading h2 { font-size: 39px; }
  .platform-page:not(.theme-dark) .exercise-card { padding: 21px 17px; }
  .platform-page:not(.theme-dark) .value-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .platform-page:not(.theme-dark) .value-card { min-height: 175px; padding-right: 10px; }
  .platform-page:not(.theme-dark) .value-card + .value-card { padding-left: 12px; }
  .platform-page:not(.theme-dark) .service-grid { grid-template-columns: 1fr; }
  .platform-page:not(.theme-dark) .service-card { min-height: 215px; }
  .platform-page:not(.theme-dark) .finder-widget { padding: 20px 17px; }
  .platform-page:not(.theme-dark) .finder-answer { grid-template-columns: 1fr; }
  .platform-page:not(.theme-dark) .finder-answer p, .platform-page:not(.theme-dark) .finder-answer .underlined-link { grid-column: 1; }
  .platform-page:not(.theme-dark) .founder-copy h2, .platform-page:not(.theme-dark) .registration-copy h2 { font-size: 41px; }
  .platform-page:not(.theme-dark) .founder-emblem { min-height: 280px; }
  .platform-page:not(.theme-dark) .emblem-ring { width: 210px; height: 210px; }
  .platform-page:not(.theme-dark) .registration-form-wrap { padding: 22px 16px; }
  .platform-page:not(.theme-dark) .form-grid { grid-template-columns: 1fr; }
  .platform-page:not(.theme-dark) .form-wide { grid-column: 1; }
  .platform-page:not(.theme-dark) .closing { min-height: 520px; padding-top: 70px; }
  .platform-page:not(.theme-dark) .closing-content { padding-bottom: 64px; }
  .platform-page:not(.theme-dark) .closing-content h2 { font-size: 55px; }
  .platform-page:not(.theme-dark) .closing-footer { flex-wrap: wrap; min-height: 76px; gap: 8px 12px; padding: 12px 0; }
  .platform-page:not(.theme-dark) .closing-footer p { order: 3; width: 100%; margin: 0; font-size: 6px; }
  .platform-page:not(.theme-dark) .back-top { font-size: 6px; }
  .platform-page:not(.theme-dark) .brand-endcap { min-height: 220px; }
  .platform-page:not(.theme-dark) .brand-endcap img { width: min(260px,78vw); }
}

.theme-toggle { display: inline-grid; width: 38px; height: 38px; flex: 0 0 38px; place-items: center; padding: 0; border: 1px solid currentColor; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.theme-toggle svg { display: none; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.7; }
.platform-page:not(.theme-dark) .theme-icon-moon, .platform-page.theme-dark .theme-icon-sun { display: block; }
.platform-page:not(.theme-dark) .theme-toggle { border-color: rgba(23,49,59,.28); background: rgba(255,253,247,.58); color: #17313b; }
.platform-page:not(.theme-dark) .theme-toggle:hover { border-color: #17313b; background: #17313b; color: #fffdf7; }
.platform-page.theme-dark .theme-toggle { border-color: rgba(239,234,219,.35); color: #fbfaf5; }
.platform-page.theme-dark .theme-toggle:hover { border-color: #edd18c; background: #edd18c; color: #11120f; }
.platform-page:not(.theme-dark) .primary-nav .nav-login { display: inline-flex; min-height: 34px; align-items: center; padding: 0 12px; border: 1px solid rgba(23,49,59,.3); border-radius: 4px; background: rgba(255,253,247,.58); color: #17313b; font-size: 10px; font-weight: 700; white-space: nowrap; }
.platform-page:not(.theme-dark) .primary-nav .nav-login::after { display: none; }
.platform-page:not(.theme-dark) .primary-nav .nav-login:hover { border-color: #17313b; background: #17313b; color: #fffdf7; }
.platform-page.theme-dark .primary-nav .nav-login { display: inline-flex; min-height: 34px; align-items: center; padding: 0 12px; border: 1px solid rgba(239,234,219,.3); border-radius: 4px; color: #fbfaf5; font-size: 10px; font-weight: 600; white-space: nowrap; }
.platform-page.theme-dark .primary-nav .nav-login::after { display: none; }
@media (max-width: 820px) {
  .platform-page:not(.theme-dark) .primary-nav .nav-login, .platform-page.theme-dark .primary-nav .nav-login { justify-content: flex-start; min-height: 46px; padding: 14px 0; border: 0; border-bottom: 1px solid rgba(23,49,59,.14); border-radius: 0; background: transparent; color: inherit; font-size: 12px; }
}
@media (max-width: 560px) { .theme-toggle { width: 34px; height: 34px; flex-basis: 34px; } .theme-toggle svg { width: 16px; height: 16px; } }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal, .js .reveal { opacity: 1; transform: none; clip-path: none; }
  .hero-copy { opacity: 1; transform: none; }
  .palace-scene { opacity: 1; transform: none; }
  .journey-orbit-scene { transform: none; }
}
