@charset "UTF-8";

:root {
  --ink: #111032;
  --ink-2: #242052;
  --paper: #fbfaf6;
  --white: #fff;
  --muted: #66657a;
  --line: #dedde7;
  --violet: #7668f4;
  --violet-light: #a69cff;
  --coral: #ff806d;
  --peach: #ffb185;
  --mint: #78e6c5;
  --gold: #f4c95d;
  --sky: #77c9f4;
  --soft: #f1efff;
  --radius-sm: 14px;
  --radius: 24px;
  --radius-lg: 38px;
  --shadow: 0 24px 70px rgba(22, 18, 62, .12);
  --font: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: "Avenir Next", "Segoe UI", var(--font);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: var(--font); font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 3px; }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: var(--display); letter-spacing: -.04em; line-height: 1.05; }
h1 { font-size: clamp(3.15rem, 6.4vw, 6rem); margin-bottom: 28px; }
h2 { font-size: clamp(2.25rem, 4.5vw, 4.25rem); margin-bottom: 22px; }
h3 { font-size: 1.35rem; margin-bottom: 12px; }
em { color: var(--violet); font-style: normal; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 999; top: 12px; left: 12px; padding: 10px 15px; background: var(--white); border: 2px solid var(--ink); border-radius: 8px; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.narrow { width: min(780px, calc(100% - 48px)); }
.centered { text-align: center; margin-inline: auto; }

.site-header { position: fixed; z-index: 100; top: 0; left: 0; right: 0; height: 78px; border-bottom: 1px solid transparent; transition: background .25s ease, border-color .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled { background: rgba(251, 250, 246, .92); border-color: rgba(17, 16, 50, .08); box-shadow: 0 8px 24px rgba(17, 16, 50, .06); backdrop-filter: blur(16px); }
.nav-shell { height: 100%; display: flex; align-items: center; justify-content: space-between; }
.brand { display: inline-flex; align-items: center; gap: 10px; color: var(--ink); font: 800 1.45rem/1 var(--display); letter-spacing: -.04em; text-decoration: none; }
.brand img { width: 37px; height: 37px; }
.site-nav { display: flex; align-items: center; gap: 30px; }
.site-nav > a:not(.button) { color: #44425d; font-size: .9rem; font-weight: 650; text-decoration: none; position: relative; }
.site-nav > a:not(.button)::after { content: ""; position: absolute; left: 0; right: 100%; bottom: -7px; height: 2px; background: var(--violet); transition: right .2s; }
.site-nav > a:hover::after, .site-nav > a[aria-current="page"]::after { right: 0; }
.site-nav > a[aria-current="page"] { color: var(--ink); }
.menu-button { display: none; width: 42px; height: 42px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; border: 0; background: transparent; cursor: pointer; }
.menu-button > span:not(.sr-only) { display: block; width: 23px; height: 2px; background: var(--ink); border-radius: 2px; transition: transform .2s, opacity .2s; }
.page-living-worlds .site-header:not(.is-scrolled) .brand,
.page-living-worlds .site-header:not(.is-scrolled) .site-nav > a:not(.button) { color: var(--white); }
.page-living-worlds .site-header:not(.is-scrolled) .site-nav .button { border-color: var(--white); background: var(--white); color: var(--ink); }
.page-living-worlds .site-header:not(.is-scrolled) .menu-button > span:not(.sr-only) { background: var(--white); }

.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; gap: 12px; padding: 0 24px; border: 1px solid var(--ink); border-radius: 999px; background: var(--ink); color: var(--white); box-shadow: 0 8px 0 rgba(17, 16, 50, .14); font-size: .93rem; font-weight: 750; text-decoration: none; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.button:hover { transform: translateY(-2px); box-shadow: 0 10px 0 rgba(17, 16, 50, .12); }
.button:active { transform: translateY(2px); box-shadow: 0 4px 0 rgba(17, 16, 50, .12); }
.button:focus-visible, .text-link:focus-visible, a:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, button:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.button-small { min-height: 42px; padding: 0 19px; box-shadow: none; font-size: .85rem; }
.button-light { background: var(--white); color: var(--ink); border-color: var(--white); }
.button-dark { background: var(--ink); color: var(--white); }
.full-button { width: 100%; }
.text-link { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font-size: .94rem; font-weight: 750; text-decoration: none; }
.text-link span { transition: transform .2s; }
.text-link:hover span { transform: translateX(4px); }
.lead { max-width: 680px; color: #55536d; font-size: clamp(1.08rem, 2vw, 1.27rem); line-height: 1.65; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin-bottom: 22px; color: #55526c; font-size: .73rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.eyebrow span { width: 28px; height: 2px; background: var(--coral); }
.centered .eyebrow, .centered-hero .eyebrow { justify-content: center; }
.note { padding-left: 18px; border-left: 3px solid var(--violet-light); color: var(--muted); font-size: .9rem; }
.note-dark { color: #bbb8d0; }

.hero { position: relative; overflow: hidden; padding-top: 78px; }
.home-hero { min-height: 750px; display: flex; align-items: center; background: linear-gradient(145deg, #fbfaf6 0%, #f5f1ff 64%, #fff3eb 100%); }
.hero-glow { position: absolute; border-radius: 50%; filter: blur(2px); opacity: .35; pointer-events: none; }
.glow-one { width: 480px; height: 480px; right: -210px; top: 60px; background: radial-gradient(circle, var(--violet-light), transparent 70%); }
.glow-two { width: 380px; height: 380px; left: -240px; bottom: -130px; background: radial-gradient(circle, var(--mint), transparent 70%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr); align-items: center; gap: 70px; padding-block: 92px 78px; }
.hero-copy { position: relative; z-index: 1; }
.hero-copy h1 { max-width: 700px; }
.hero-copy h1 em { color: var(--coral); }
.hero-copy .lead { max-width: 640px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 28px; margin-top: 34px; }
.trust-row { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 42px; color: #59576d; font-size: .77rem; font-weight: 700; }
.trust-row span { display: flex; align-items: center; gap: 7px; }
.card-icon { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.trust-row .card-icon { width: 17px; height: 17px; color: var(--violet); }
.hero-visual { position: relative; }
.concept-label { margin: 14px 0 0; color: #747188; font-size: .69rem; letter-spacing: .04em; text-align: center; }

.world-console { position: relative; overflow: hidden; min-height: 500px; border: 1px solid rgba(255,255,255,.22); border-radius: 34px; background: var(--ink); box-shadow: 0 36px 80px rgba(21, 17, 61, .24), inset 0 1px rgba(255,255,255,.2); color: var(--white); transform: rotate(1.5deg); }
.world-console::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 70% 25%, rgba(118,104,244,.4), transparent 45%), linear-gradient(150deg, transparent, rgba(120,230,197,.09)); }
.console-top { position: relative; z-index: 2; height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border-bottom: 1px solid rgba(255,255,255,.11); color: #c4c1dc; font-size: .62rem; font-weight: 800; letter-spacing: .11em; }
.console-top span:first-child { display: flex; align-items: center; gap: 8px; }
.console-top i { width: 7px; height: 7px; border-radius: 50%; background: var(--mint); box-shadow: 0 0 12px var(--mint); }
.world-canvas { position: relative; height: 340px; overflow: hidden; }
.orbit { position: absolute; left: 50%; top: 48%; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; transform: translate(-50%, -50%) rotate(-19deg); }
.orbit-one { width: 390px; height: 132px; }
.orbit-two { width: 455px; height: 190px; transform: translate(-50%, -50%) rotate(29deg); opacity: .55; }
.planet { position: absolute; left: 50%; top: 52%; width: 205px; height: 205px; border-radius: 50%; background: radial-gradient(circle at 32% 25%, #ffb58d 0, #8b7cff 36%, #453c80 73%, #27234f 100%); box-shadow: 0 0 65px rgba(139,124,255,.35); transform: translate(-50%, -50%); overflow: hidden; }
.planet::before { content: ""; position: absolute; width: 150px; height: 55px; left: -20px; top: 85px; border-radius: 50%; background: rgba(120,230,197,.7); transform: rotate(17deg); }
.planet::after { content: ""; position: absolute; width: 110px; height: 42px; right: -32px; top: 48px; border-radius: 50%; background: rgba(244,201,93,.63); transform: rotate(-22deg); }
.planet-land { position: absolute; z-index: 2; border-radius: 50%; background: #63caad; opacity: .8; }
.land-a { width: 56px; height: 22px; top: 40px; left: 35px; transform: rotate(25deg); }
.land-b { width: 70px; height: 28px; bottom: 31px; right: 28px; transform: rotate(-18deg); }
.planet-glow { position: absolute; inset: 9px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; }
.star { position: absolute; z-index: 1; width: 4px; height: 4px; border-radius: 50%; background: var(--white); box-shadow: 0 0 10px var(--white); }
.star-a { left: 12%; top: 17%; }.star-b { right: 12%; top: 22%; }.star-c { left: 19%; bottom: 17%; }
.wovi-agent { position: absolute; z-index: 4; right: 8%; bottom: 22px; width: 104px; height: 120px; filter: drop-shadow(0 16px 18px rgba(0,0,0,.28)); animation: float 4s ease-in-out infinite; }
.agent-face { position: absolute; z-index: 2; top: 12px; left: 15px; width: 76px; height: 65px; border: 5px solid #292354; border-radius: 34px 34px 27px 27px; background: var(--mint); display: flex; align-items: center; justify-content: center; gap: 16px; }
.agent-face i { width: 7px; height: 12px; border-radius: 8px; background: var(--ink); }
.agent-body { position: absolute; left: 24px; bottom: 5px; width: 59px; height: 53px; border: 5px solid #292354; border-radius: 20px 20px 28px 28px; background: var(--violet-light); }
.agent-ear { position: absolute; z-index: 1; top: 29px; width: 18px; height: 28px; border: 4px solid #292354; background: var(--coral); border-radius: 9px; }
.agent-ear.left { left: 3px; }.agent-ear.right { right: 2px; }
.signal { position: absolute; z-index: 4; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; border: 1px solid rgba(255,255,255,.28); background: rgba(255,255,255,.12); backdrop-filter: blur(7px); color: var(--white); font-weight: 800; }
.signal-one { left: 13%; top: 52%; transform: rotate(-8deg); }.signal-two { right: 16%; top: 18%; color: var(--mint); transform: rotate(7deg); }
.console-steps { position: relative; z-index: 3; display: grid; grid-template-columns: repeat(3,1fr); height: 101px; border-top: 1px solid rgba(255,255,255,.1); background: rgba(10,9,33,.45); }
.console-steps > div { display: grid; grid-template-columns: 28px 1fr; grid-template-rows: auto auto; align-content: center; column-gap: 9px; padding: 0 14px; border-right: 1px solid rgba(255,255,255,.08); color: #85819f; }
.console-steps > div:last-child { border: 0; }
.console-steps span { grid-row: 1/3; align-self: center; display: grid; place-items: center; width: 26px; height: 26px; border: 1px solid currentColor; border-radius: 50%; font-size: .58rem; }
.console-steps strong { color: #bdb9d3; font-size: .72rem; line-height: 1.2; }
.console-steps small { font-size: .58rem; }
.console-steps .step-active { background: rgba(139,124,255,.14); color: var(--violet-light); }.console-steps .step-active strong { color: var(--white); }.console-steps .step-done span { border-color: var(--mint); color: var(--mint); }

.ticker { overflow: hidden; padding: 15px 0; border-block: 1px solid var(--ink); background: var(--gold); color: var(--ink); }
.ticker > div { display: flex; justify-content: space-around; gap: 30px; min-width: 980px; font-size: .72rem; font-weight: 850; letter-spacing: .2em; }
.ticker i { font-style: normal; }
.section { position: relative; padding: 118px 0; }
.section-soft { background: var(--soft); }
.section-ink { overflow: hidden; background: var(--ink); color: var(--white); }
.section-ink em { color: var(--peach); }
.section-ink .eyebrow { color: #aaa6c2; }
.section-heading { max-width: 780px; margin-bottom: 62px; }
.section-heading > p:last-child { max-width: 670px; color: var(--muted); font-size: 1.08rem; }
.section-heading.centered > p:last-child { margin-inline: auto; }
.loop-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.loop-card { position: relative; min-height: 315px; padding: 30px 26px 25px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); transition: transform .25s, box-shadow .25s; }
.loop-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }
.loop-card .number { position: absolute; right: 22px; top: 18px; color: #c7c5d3; font-size: .7rem; font-weight: 800; }
.loop-card .card-icon { width: 40px; height: 40px; margin: 19px 0 31px; color: var(--violet); }
.loop-card p { color: var(--muted); font-size: .92rem; }
.card-tag { display: inline-flex; margin-top: 7px; padding: 5px 10px; border-radius: 99px; background: var(--soft); color: #5f55b6; font-size: .62rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.split-section { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); align-items: center; gap: 90px; }
.split-section.reverse > :first-child { order: 2; }.split-section.reverse > :last-child { order: 1; }
.split-copy > p:not(.eyebrow):not(.note) { color: inherit; opacity: .76; font-size: 1.06rem; }
.split-copy .button, .split-copy .text-link { margin-top: 24px; }
.world-number { position: relative; z-index: 2; margin: 0 0 -25px 24px; color: var(--mint); font-size: .7rem; font-weight: 850; letter-spacing: .18em; }
.scenario-orb { position: relative; width: min(430px, 90vw); aspect-ratio: 1; margin: auto; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; background: radial-gradient(circle at 36% 28%, #ffbd90, #6758cf 38%, #29255e 70%); box-shadow: 0 0 100px rgba(118,104,244,.28); display: grid; place-items: center; }
.scenario-orb::before, .scenario-orb::after { content: ""; position: absolute; border: 1px solid rgba(255,255,255,.17); border-radius: 50%; }
.scenario-orb::before { width: 120%; height: 34%; transform: rotate(22deg); }.scenario-orb::after { width: 34%; height: 120%; transform: rotate(-40deg); }
.scenario-orb span { position: relative; z-index: 2; display: grid; place-items: center; width: 145px; height: 145px; border-radius: 50%; background: rgba(120,230,197,.18); font-size: 4.5rem; backdrop-filter: blur(4px); }
.check-list { margin: 28px 0; padding: 0; list-style: none; }
.check-list li { position: relative; padding: 9px 0 9px 32px; color: #d5d2e7; font-size: .94rem; }
.check-list li::before { content: "✓"; position: absolute; left: 0; top: 8px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: rgba(120,230,197,.16); color: var(--mint); font-size: .7rem; font-weight: 900; }
.check-list.dark li { color: #4f4c62; }.check-list.dark li::before { background: #dcf8ef; color: #23876b; }
.world-model-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 65px; align-items: center; }
.world-map { position: relative; min-height: 520px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: radial-gradient(circle at center, #eeebff, transparent 48%), var(--white); box-shadow: 0 30px 90px rgba(27,22,72,.09); }
.world-map::before { content: ""; position: absolute; inset: 23px; border: 1px dashed #d5d2e8; border-radius: 30px; }
.map-node { position: absolute; z-index: 2; width: 190px; min-height: 110px; padding: 18px; border: 1px solid #d9d6ea; border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: 0 10px 25px rgba(26,22,67,.08); }
.map-node span { float: left; display: grid; place-items: center; width: 28px; height: 28px; margin-right: 9px; border-radius: 50%; background: var(--soft); color: var(--violet); font-size: .7rem; font-weight: 800; }
.map-node strong { display: block; font-size: .84rem; }.map-node small { display: block; clear: both; padding-top: 10px; color: var(--muted); font-size: .69rem; }
.node-input { top: 50px; left: 45px; }.node-agent { top: 51px; right: 45px; }.node-world { right: 45px; bottom: 50px; }.node-reflect { left: 45px; bottom: 50px; }
.map-arrow { position: absolute; z-index: 1; color: var(--coral); font: normal 2rem/1 var(--font); }
.arrow-a { top: 87px; left: 48%; }.arrow-b { top: 48%; right: 120px; transform: rotate(90deg); }.arrow-c { bottom: 90px; left: 48%; }
.principles > div { display: flex; gap: 19px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.principles .card-icon { flex: 0 0 auto; width: 34px; height: 34px; color: var(--violet); }
.principles h3 { margin-bottom: 6px; font-size: 1.05rem; }.principles p { margin: 0; color: var(--muted); font-size: .86rem; }.principles .text-link { margin-top: 27px; }
.parent-panel { display: grid; grid-template-columns: 1.12fr .88fr; gap: 60px; padding: 68px; border: 1px solid #d9d5f3; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow); }
.parent-badge { display: inline-flex; margin-bottom: 22px; padding: 7px 12px; border-radius: 99px; background: var(--ink); color: var(--white); font-size: .63rem; font-weight: 850; letter-spacing: .12em; }
.parent-panel h2 { font-size: clamp(2.15rem,4vw,3.6rem); }.parent-panel > div:first-child > p { color: var(--muted); }.parent-panel .button { margin-top: 17px; }
.parent-proof { align-self: center; }
.parent-proof > div { display: grid; grid-template-columns: 43px 1fr; column-gap: 15px; padding: 19px 0; border-bottom: 1px solid var(--line); }
.parent-proof > div:last-child { border: 0; }.parent-proof .card-icon { grid-row: 1/3; width: 39px; height: 39px; padding: 8px; border-radius: 11px; background: var(--soft); color: var(--violet); }.parent-proof strong { font-size: .92rem; }.parent-proof span { color: var(--muted); font-size: .78rem; }
.section-cta { padding-block: 90px; background: var(--paper); }
.cta-panel { position: relative; overflow: hidden; display: grid; grid-template-columns: 1.3fr .7fr; align-items: center; gap: 60px; padding: 65px 70px; border-radius: var(--radius-lg); background: linear-gradient(130deg, #29235e, #111032 65%); color: var(--white); box-shadow: 0 35px 90px rgba(17,16,50,.22); }
.cta-panel::after { content: ""; position: absolute; right: -90px; top: -120px; width: 350px; height: 350px; border: 1px solid rgba(255,255,255,.09); border-radius: 50%; box-shadow: 0 0 0 50px rgba(255,255,255,.03), 0 0 0 100px rgba(255,255,255,.02); }
.cta-panel .eyebrow { color: #bbb7d0; }.cta-panel h2 { position: relative; z-index: 1; max-width: 650px; font-size: clamp(2.1rem,4vw,3.55rem); }.cta-panel p:not(.eyebrow) { max-width: 650px; margin: 0; color: #bbb8ce; }
.cta-actions { position: relative; z-index: 2; text-align: center; }.cta-actions .button { width: 100%; }.microcopy { display: block; margin-top: 14px; color: #9692ae; font-size: .66rem; }

.site-footer { padding: 74px 0 28px; background: #0b0a25; color: var(--white); }
.footer-grid { display: grid; grid-template-columns: 2fr repeat(3,1fr); gap: 60px; padding-bottom: 58px; }
.brand-footer { color: var(--white); margin-bottom: 22px; }.footer-brand > p { margin-bottom: 8px; font-weight: 700; }.footer-brand .fine { max-width: 260px; color: #88859e; font-size: .78rem; font-weight: 400; }
.footer-grid h2 { margin: 7px 0 20px; color: #8f8ca5; font: 800 .67rem/1 var(--font); letter-spacing: .13em; text-transform: uppercase; }.footer-grid > div:not(:first-child) a { display: block; margin-bottom: 12px; color: #cac7db; font-size: .82rem; text-decoration: none; }.footer-grid a:hover { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; padding-top: 23px; border-top: 1px solid rgba(255,255,255,.1); color: #77748e; font-size: .68rem; }

/* Interior page heroes */
.inner-hero { min-height: 690px; display: flex; align-items: center; border-bottom: 1px solid var(--line); }
.inner-hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: 85px; padding-block: 105px 80px; }
.inner-hero h1 { max-width: 780px; font-size: clamp(3rem,5.4vw,5.25rem); }.inner-hero .lead { max-width: 650px; }
.gradient-mint { background: radial-gradient(circle at 86% 20%, rgba(120,230,197,.35), transparent 32%), linear-gradient(150deg,#fbfaf6,#eefbf6); }
.gradient-gold { background: radial-gradient(circle at 82% 18%, rgba(244,201,93,.34), transparent 35%), linear-gradient(150deg,#fbfaf6,#fff8e5); }
.gradient-blue { background: radial-gradient(circle at 84% 15%, rgba(119,201,244,.32), transparent 36%), linear-gradient(150deg,#fbfaf6,#eef7ff); }
.mini-world { min-height: 360px; padding: 42px; border: 1px solid rgba(17,16,50,.12); border-radius: var(--radius-lg); background: rgba(255,255,255,.65); box-shadow: var(--shadow); backdrop-filter: blur(8px); display: flex; flex-direction: column; justify-content: center; }
.mini-label { margin-bottom: 45px; color: var(--violet); font-size: .68rem; font-weight: 850; letter-spacing: .16em; }
.magic-stack { display: flex; align-items: center; justify-content: space-between; gap: 10px; }.magic-stack div { display: grid; place-items: center; width: 85px; aspect-ratio: 1; border: 2px solid var(--ink); border-radius: 50%; background: var(--soft); font-size: .64rem; font-weight: 850; letter-spacing: .08em; }.magic-stack div:nth-child(3) { background: #ffe4db; }.magic-stack div:nth-child(5) { background: #dcf8ef; }.magic-stack > span { font-weight: 800; }.mini-world > p { margin: 40px 0 0; color: var(--muted); font-size: .85rem; text-align: center; }
.feature-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }
.feature-card { min-height: 265px; padding: 29px 25px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }.feature-card .card-icon { width: 42px; height: 42px; margin-bottom: 37px; color: var(--violet); }.feature-card p { color: var(--muted); font-size: .87rem; }
.comparison { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.comparison > div { display: grid; grid-template-columns: .8fr 1fr 1fr; align-items: center; border-bottom: 1px solid var(--line); }.comparison > div:last-child { border: 0; }.comparison > div > * { margin: 0; padding: 22px 27px; }.comparison-head { background: var(--ink); color: var(--white); font-size: .72rem; letter-spacing: .05em; }.comparison > div > span { font-weight: 800; }.comparison > div > p { border-left: 1px solid var(--line); color: var(--muted); font-size: .86rem; }.comparison-wovi { background: #effbf7; }.comparison-wovi > span { color: #176e58; }
.skill-ladder { position: relative; display: flex; flex-direction: column; gap: 14px; }.skill-ladder::before { content: ""; position: absolute; left: 31px; top: 30px; bottom: 30px; width: 2px; background: linear-gradient(var(--coral),var(--violet),var(--mint)); }.skill-ladder > div { position: relative; display: grid; grid-template-columns: 64px 1fr; align-items: center; min-height: 85px; padding: 15px 22px 15px 0; border: 1px solid var(--line); border-radius: 18px; background: var(--white); box-shadow: 0 10px 30px rgba(17,16,50,.06); }.skill-ladder span { z-index: 1; display: grid; place-items: center; width: 42px; height: 42px; margin: auto; border: 3px solid var(--white); border-radius: 50%; background: var(--ink); color: var(--white); font-size: .52rem; font-weight: 850; }.skill-ladder > div:nth-child(2) span { background: var(--violet); }.skill-ladder > div:nth-child(3) span { background: var(--coral); }.skill-ladder > div:nth-child(4) span { background: #288d71; }.skill-ladder strong { font-size: .92rem; }
.section-faq { background: #f4f3ee; }
.faq-list { border-top: 1px solid #cccad7; }.faq { border-bottom: 1px solid #cccad7; }.faq summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 4px; cursor: pointer; font-weight: 750; list-style: none; }.faq summary::-webkit-details-marker { display:none; }.faq summary span { display: grid; place-items: center; width: 29px; height: 29px; flex: 0 0 auto; border: 1px solid var(--line); border-radius: 50%; transition: transform .2s; }.faq[open] summary span { transform: rotate(45deg); }.faq p { max-width: 680px; padding: 0 50px 24px 4px; color: var(--muted); }

/* AI learning game */
.quest-card { position: relative; overflow: hidden; padding: 36px; border: 1px solid var(--ink); border-radius: var(--radius-lg); background: var(--ink); box-shadow: 0 28px 60px rgba(17,16,50,.2); color: var(--white); transform: rotate(2deg); }.quest-card::after { content:""; position:absolute; width:230px; height:230px; right:-70px; bottom:-90px; border: 45px solid rgba(244,201,93,.1); border-radius: 50%; }.quest-top { display:flex; justify-content:space-between; margin-bottom:80px; color:#aaa6c0; font-size:.62rem; font-weight:800; letter-spacing:.13em; }.quest-card h2 { max-width: 330px; margin-bottom: 16px; font-size: 2.8rem; }.quest-card p { color:#c3bfd6; }.quest-progress { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin:42px 0 16px; }.quest-progress span { height:7px; border-radius:10px; background:rgba(255,255,255,.16); }.quest-progress span:nth-child(-n+2) { background:var(--mint); }.quest-card small { color:#8e89a8; }
.game-loop { display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center; gap:14px; }.game-loop > div { min-height:170px; padding:28px 23px; border:1px solid rgba(255,255,255,.16); border-radius:20px; background:rgba(255,255,255,.05); }.game-loop > div span { display:grid; place-items:center; width:32px; height:32px; margin-bottom:28px; border-radius:50%; background:var(--mint); color:var(--ink); font-size:.7rem; font-weight:900; }.game-loop strong,.game-loop small { display:block; }.game-loop strong { margin-bottom:6px; }.game-loop small { color:#918da7; }.game-loop > i { color:var(--coral); font-style:normal; }
.scenario-stack { position:relative; min-height:430px; }.scenario-card { position:absolute; width:78%; min-height:190px; padding:30px; border:2px solid var(--ink); border-radius:25px; box-shadow:8px 9px 0 var(--ink); transform:rotate(-5deg); }.scenario-card span,.scenario-card strong,.scenario-card small { display:block; }.scenario-card span { margin-bottom:42px; font-size:.62rem; font-weight:850; letter-spacing:.13em; }.scenario-card strong { font:800 1.7rem/1 var(--display); }.scenario-card small { margin-top:8px; }.scenario-card.coral { left:0; top:0; background:#ffb199; }.scenario-card.violet { right:0; top:105px; background:#a99fff; transform:rotate(4deg); }.scenario-card.green { left:8%; top:220px; background:#89e9cc; transform:rotate(-1deg); }

/* Agent page */
.agent-hero { background: radial-gradient(circle at 80% 32%,rgba(139,124,255,.25),transparent 35%),linear-gradient(150deg,#fbfaf6,#f4f0ff); }.agent-profile { overflow:hidden; border:1px solid rgba(17,16,50,.18); border-radius:var(--radius-lg); background:var(--ink); box-shadow:var(--shadow); color:var(--white); }.profile-status { display:flex; justify-content:space-between; padding:20px 24px; border-bottom:1px solid rgba(255,255,255,.1); color:#aaa6c2; font-size:.62rem; font-weight:800; letter-spacing:.11em; }.profile-status span:first-child { display:flex; align-items:center; gap:8px; }.profile-status i { width:7px; height:7px; border-radius:50%; background:var(--mint); box-shadow:0 0 9px var(--mint); }.profile-agent { min-height:260px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:radial-gradient(circle,rgba(139,124,255,.35),transparent 60%); }.big-agent { position:relative; width:170px; height:170px; filter:drop-shadow(0 25px 25px rgba(0,0,0,.35)); }.big-face { position:absolute; z-index:2; left:25px; top:10px; width:120px; height:100px; border:7px solid #292354; border-radius:48px 48px 38px 38px; background:var(--mint); display:flex; align-items:center; justify-content:center; gap:28px; }.big-face i { width:10px; height:19px; border-radius:10px; background:var(--ink); }.big-face b { position:absolute; bottom:23px; left:51px; width:16px; height:7px; border-bottom:3px solid var(--ink); border-radius:50%; }.big-body { position:absolute; left:44px; bottom:0; width:84px; height:76px; border:7px solid #292354; border-radius:25px 25px 40px 40px; background:var(--violet-light); }.big-ear { position:absolute; z-index:1; top:42px; width:29px; height:42px; border:6px solid #292354; border-radius:14px; background:var(--coral); }.big-ear.left { left:6px; }.big-ear.right { right:6px; }.profile-traits { display:flex; gap:7px; margin-top:15px; }.profile-traits span { padding:5px 9px; border:1px solid rgba(255,255,255,.18); border-radius:99px; color:#bbb7d0; font-size:.54rem; font-weight:800; letter-spacing:.08em; }.profile-skills { padding:20px 25px 24px; }.profile-skills > div { display:grid; grid-template-columns:70px 1fr; align-items:center; gap:12px; margin-top:10px; color:#bbb7d0; font-size:.65rem; }.profile-skills i { height:6px; overflow:hidden; border-radius:10px; background:rgba(255,255,255,.13); }.profile-skills b { display:block; height:100%; border-radius:10px; background:linear-gradient(90deg,var(--violet),var(--mint)); }.skill-80{width:80%}.skill-55{width:55%}.skill-65{width:65%}
.agent-anatomy { position:relative; min-height:620px; max-width:920px; margin:auto; border:1px solid var(--line); border-radius:50%; background:radial-gradient(circle,#eeeaff,transparent 48%); }.agent-anatomy::before,.agent-anatomy::after { content:""; position:absolute; left:50%; top:50%; border:1px dashed #cac6e1; border-radius:50%; transform:translate(-50%,-50%); }.agent-anatomy::before { width:63%; height:63%; }.agent-anatomy::after { width:35%; height:35%; }.anatomy-center { position:absolute; z-index:3; left:50%; top:50%; width:145px; height:145px; transform:translate(-50%,-50%); border:6px solid var(--ink); border-radius:50%; background:var(--mint); display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 20px 45px rgba(17,16,50,.18); }.anatomy-face { font-size:2rem; letter-spacing:.25em; line-height:1; }.anatomy-center strong { margin-top:14px; font-size:.65rem; letter-spacing:.12em; }.anatomy-item { position:absolute; z-index:3; width:190px; min-height:115px; padding:18px; border:1px solid var(--line); border-radius:18px; background:var(--white); box-shadow:0 12px 30px rgba(17,16,50,.08); }.anatomy-item .card-icon { float:left; width:30px; height:30px; margin:0 10px 10px 0; color:var(--violet); }.anatomy-item strong { font-size:.83rem; }.anatomy-item > span:last-child { display:block; clear:both; color:var(--muted); font-size:.7rem; }.anatomy-goal { left:8%; top:10%; }.anatomy-sense { right:8%; top:10%; }.anatomy-tools { right:2%; bottom:10%; }.anatomy-memory { left:2%; bottom:10%; }.anatomy-rules { left:50%; bottom:-20px; transform:translateX(-50%); }
.growth-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.growth-grid article { min-height:245px; padding:30px; border:1px solid #d9d5ee; border-radius:var(--radius); background:var(--white); }.growth-grid span { color:var(--violet); font-size:.63rem; font-weight:850; letter-spacing:.13em; }.growth-grid h3 { margin-top:48px; }.growth-grid p { color:var(--muted); font-size:.86rem; }
.dialogue-card { padding:34px; border:1px solid rgba(255,255,255,.2); border-radius:var(--radius); background:rgba(255,255,255,.06); box-shadow:0 25px 65px rgba(0,0,0,.17); }.speaker { display:flex; align-items:center; gap:10px; margin-bottom:28px; }.speaker span { font-size:.75rem; font-weight:850; }.speaker i { padding:4px 8px; border-radius:99px; background:rgba(120,230,197,.13); color:var(--mint); font-size:.52rem; font-style:normal; font-weight:800; letter-spacing:.08em; }.dialogue-card > p { font:700 1.65rem/1.4 var(--display); letter-spacing:-.03em; }.dialogue-options { display:grid; gap:9px; margin-top:35px; }.dialogue-options span { padding:13px 16px; border:1px solid rgba(255,255,255,.15); border-radius:12px; color:#cbc7dc; font-size:.79rem; }.dialogue-options span:first-child { border-color:var(--mint); color:var(--white); }

/* Living worlds */
.worlds-hero { min-height:850px; background:var(--ink); color:var(--white); }.worlds-hero em { color:var(--peach); }.worlds-hero .lead { margin-inline:auto; color:#bbb8ce; }.centered-hero { position:relative; z-index:2; padding-block:125px 80px; text-align:center; }.centered-hero h1 { max-width:900px; margin-inline:auto; }.centered-actions { justify-content:center; }.worlds-hero .text-link { color:var(--white); }.world-lines { position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px); background-size:80px 80px; mask-image:linear-gradient(to bottom,transparent,#000 45%,transparent); transform:perspective(500px) rotateX(55deg) scale(1.8) translateY(170px); }
.world-panorama { position:relative; overflow:hidden; height:330px; max-width:920px; margin:65px auto -80px; border:1px solid rgba(255,255,255,.17); border-radius:35px 35px 0 0; background:radial-gradient(circle at 30% 30%,rgba(255,177,133,.25),transparent 30%),linear-gradient(#312b68,#151337); box-shadow:0 -25px 80px rgba(118,104,244,.18); }.moon { position:absolute; border-radius:50%; }.moon-one { width:78px; height:78px; top:48px; right:16%; background:var(--peach); box-shadow:0 0 40px rgba(255,177,133,.3); }.moon-two { width:19px; height:19px; top:45px; left:14%; background:var(--mint); }.panorama-ground { position:absolute; left:-5%; right:-5%; bottom:-40px; height:190px; border-radius:50% 50% 0 0; background:#35316d; }.panorama-ground i { position:absolute; bottom:90px; width:120px; height:90px; clip-path:polygon(50% 0,100% 100%,0 100%); background:#49428b; }.panorama-ground i:nth-child(1){left:9%}.panorama-ground i:nth-child(2){left:38%;height:130px}.panorama-ground i:nth-child(3){right:6%;height:110px}.panorama-city { position:absolute; left:12%; bottom:89px; display:flex; align-items:flex-end; gap:5px; }.panorama-city i { width:26px; height:55px; background:#7b70dd; border-radius:5px 5px 0 0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.12); }.panorama-city i:nth-child(2){height:85px}.panorama-city i:nth-child(3){height:40px}.panorama-city i:nth-child(4){height:70px}.panorama-agent { position:absolute; right:27%; bottom:62px; z-index:3; display:grid; place-items:center; width:58px; height:48px; border:4px solid var(--ink); border-radius:22px; background:var(--mint); color:var(--ink); letter-spacing:.2em; font-weight:900; }.memory-chip { position:absolute; z-index:4; right:20px; top:22px; padding:12px 15px; border:1px solid rgba(255,255,255,.16); border-radius:12px; background:rgba(17,16,50,.65); backdrop-filter:blur(8px); text-align:left; }.memory-chip span,.memory-chip strong { display:block; }.memory-chip span { color:var(--mint); font-size:.5rem; font-weight:850; letter-spacing:.13em; }.memory-chip strong { margin-top:4px; font-size:.66rem; }
.model-definition { position:relative; padding:60px 50px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--white); box-shadow:var(--shadow); }.quote-mark { position:absolute; top:23px; left:30px; color:var(--violet-light); font:800 5rem/1 Georgia,serif; opacity:.5; }.model-definition p { position:relative; z-index:1; font:500 1.65rem/1.5 var(--display); letter-spacing:-.03em; }.model-definition small { color:var(--muted); }
.timeline { display:grid; grid-template-columns:1fr 80px 1fr 80px 1fr; align-items:center; }.timeline > div { min-height:230px; padding:30px; border:1px solid rgba(255,255,255,.16); border-radius:20px; }.timeline span { color:var(--mint); font-size:.62rem; font-weight:850; letter-spacing:.13em; }.timeline strong { display:block; margin:56px 0 8px; font-size:1.05rem; }.timeline p { color:#9995ae; font-size:.8rem; }.timeline i { height:1px; background:linear-gradient(90deg,var(--coral),var(--violet-light)); position:relative; }.timeline i::after { content:"→"; position:absolute; right:-4px; top:-12px; color:var(--violet-light); font-style:normal; }
.boundary-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.boundary-grid > div { min-height:210px; padding:29px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }.boundary-grid .card-icon { width:37px; height:37px; margin-bottom:32px; color:var(--violet); }.boundary-grid strong { display:block; margin-bottom:8px; }.boundary-grid p { color:var(--muted); font-size:.83rem; }

/* Curriculum */
.curriculum-rings { position:relative; width:min(430px,90vw); aspect-ratio:1; margin:auto; border:1px dashed #9ebfd5; border-radius:50%; display:grid; place-items:center; }.curriculum-rings::before,.curriculum-rings::after { content:""; position:absolute; border:1px solid #c2d9e8; border-radius:50%; }.curriculum-rings::before{inset:18%}.curriculum-rings::after{inset:36%}.curriculum-rings > div { position:absolute; z-index:2; display:grid; place-items:center; width:82px; height:82px; border:2px solid var(--ink); border-radius:50%; background:var(--white); box-shadow:4px 5px 0 var(--ink); }.curriculum-rings > div:nth-child(1){top:1%;left:40%}.curriculum-rings > div:nth-child(2){top:40%;right:1%;background:#dcf8ef}.curriculum-rings > div:nth-child(3){bottom:1%;left:40%;background:#ffe1d8}.curriculum-rings > div:nth-child(4){top:40%;left:1%;background:#e2deff}.curriculum-rings span,.curriculum-rings strong{display:block;line-height:1}.curriculum-rings span{font-size:.6rem;color:var(--muted)}.curriculum-rings strong{font-size:.58rem;margin-top:6px}
.learning-path { position:relative; }.learning-path::before { content:""; position:absolute; left:58px; top:60px; bottom:60px; width:2px; background:linear-gradient(var(--coral),var(--violet),var(--mint),var(--sky)); }.path-module { position:relative; display:grid; grid-template-columns:118px 1fr 150px; gap:28px; align-items:start; padding:45px 30px 45px 0; border-bottom:1px solid var(--line); }.module-num { position:relative; z-index:2; display:grid; place-items:center; width:58px; height:58px; margin:auto; border:3px solid var(--paper); border-radius:50%; background:var(--ink); color:var(--white); font-size:.7rem; font-weight:850; }.path-module:nth-child(2) .module-num{background:var(--violet)}.path-module:nth-child(3) .module-num{background:#d85d4c}.path-module:nth-child(4) .module-num{background:#227e66}.path-module h2 { margin-top:17px; font-size:2rem; }.path-module p { color:var(--muted); }.path-module ul { display:flex; flex-wrap:wrap; gap:8px; padding:0; list-style:none; }.path-module li { padding:6px 10px; border:1px solid var(--line); border-radius:99px; color:#615e72; font-size:.68rem; }.module-world { align-self:center; color:#aaa7b8; font-size:.65rem; letter-spacing:.14em; text-align:right; }.centered-note { max-width:700px; margin:40px auto 0; text-align:center; border:0; padding:0; }
.portfolio-card { padding:35px; border:1px solid #d7d3ec; border-radius:var(--radius); background:var(--white); box-shadow:var(--shadow); }.portfolio-card > span { color:var(--violet); font-size:.63rem; font-weight:850; letter-spacing:.13em; }.portfolio-card h3 { margin:18px 0 25px; font-size:1.8rem; }.portfolio-card > div { padding:16px 0; border-top:1px solid var(--line); }.portfolio-card strong { font-size:.76rem; }.portfolio-card p { margin:4px 0 0; color:var(--muted); font-size:.8rem; }

/* Parents */
.parent-hero { background:radial-gradient(circle at 84% 20%,rgba(255,177,133,.28),transparent 36%),linear-gradient(150deg,#fbfaf6,#fff2eb); }.parent-report { padding:34px; border:1px solid var(--ink); border-radius:var(--radius-lg); background:var(--white); box-shadow:9px 10px 0 var(--ink); transform:rotate(1deg); }.report-head { display:flex; justify-content:space-between; color:var(--muted); font-size:.6rem; font-weight:850; letter-spacing:.12em; }.parent-report h2 { margin:55px 0 30px; font-size:2.3rem; }.report-row { padding:17px 0; border-top:1px solid var(--line); }.report-row span,.report-row strong { display:block; }.report-row span { color:var(--muted); font-size:.66rem; }.report-row strong { margin-top:5px; font-size:.86rem; }.parent-report > small { display:block; margin-top:20px; color:#9996aa; font-size:.64rem; }
.promise-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }.promise-grid article { min-height:245px; padding:28px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); }.promise-grid .card-icon { width:38px; height:38px; margin-bottom:34px; color:var(--violet); }.promise-grid p { color:var(--muted); font-size:.84rem; }
.safety-layers { display:flex; flex-direction:column; gap:10px; }.safety-layers > div { display:grid; grid-template-columns:44px 1fr; grid-template-rows:auto auto; column-gap:15px; padding:19px; border:1px solid rgba(255,255,255,.15); border-radius:15px; background:rgba(255,255,255,.045); }.safety-layers span { grid-row:1/3; display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:var(--violet); font-size:.67rem; font-weight:850; }.safety-layers strong { font-size:.83rem; }.safety-layers small { color:#8e8aa4; }.light-link { color:var(--white); }
.thinking-meter { padding:43px; border:1px solid var(--line); border-radius:var(--radius); background:var(--white); box-shadow:var(--shadow); }.thinking-meter > span { color:var(--violet); font-size:.64rem; font-weight:850; letter-spacing:.13em; }.thinking-meter > div { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px; margin:65px 0 22px; }.thinking-meter i { font-size:.62rem; font-style:normal; font-weight:850; }.thinking-meter b { position:relative; height:18px; border-radius:99px; background:linear-gradient(90deg,var(--mint) 0 72%,#dedbe9 72%); }.thinking-meter b::after { content:""; position:absolute; left:69%; top:50%; width:28px; height:28px; border:5px solid var(--white); border-radius:50%; background:var(--ink); box-shadow:0 3px 10px rgba(17,16,50,.25); transform:translateY(-50%); }.thinking-meter > strong { display:block; text-align:center; }

/* Pricing */
.pricing-hero { min-height:510px; background:radial-gradient(circle at 50% 25%,rgba(139,124,255,.2),transparent 38%),linear-gradient(#fbfaf6,#f2efff); }.pricing-hero .centered-hero { padding-top:145px; }.pricing-hero .lead { margin-inline:auto; }.pricing-section { padding-top:0; margin-top:-35px; }.pricing-grid { display:grid; grid-template-columns:repeat(2,minmax(0,450px)); justify-content:center; gap:22px; }.price-card { position:relative; min-height:590px; padding:42px; border:1px solid var(--line); border-radius:var(--radius-lg); background:var(--white); box-shadow:var(--shadow); }.price-card.featured { overflow:hidden; background:var(--ink); color:var(--white); transform:translateY(-18px); }.price-label { font-size:.64rem; font-weight:850; letter-spacing:.14em; }.price-ribbon { position:absolute; right:-43px; top:29px; width:175px; padding:7px; background:var(--mint); color:var(--ink); font-size:.54rem; font-weight:900; letter-spacing:.1em; text-align:center; transform:rotate(40deg); }.price { display:flex; align-items:baseline; margin:50px 0 17px; }.price small { align-self:flex-start; padding-top:13px; font-size:1.2rem; }.price strong { font:800 4.8rem/1 var(--display); letter-spacing:-.07em; }.price span { margin-left:8px; color:var(--muted); font-size:.77rem; }.featured .price span { color:#9894aa; }.price-card > p { min-height:55px; color:var(--muted); }.featured > p { color:#aaa6bd; }.price-card .check-list { min-height:205px; }.price-card.featured .check-list li { color:#d5d2e7; }.price-card.featured .check-list li::before { background:rgba(120,230,197,.14); color:var(--mint); }.pricing-notice { max-width:700px; margin:50px auto 0; padding:25px 30px; border:1px solid var(--line); border-radius:18px; text-align:center; }.pricing-notice strong { font-size:.9rem; }.pricing-notice p { margin:5px 0 0; color:var(--muted); font-size:.77rem; }

/* Waitlist */
.waitlist-section { position:relative; overflow:hidden; min-height:100vh; padding:150px 0 100px; background:linear-gradient(145deg,#f9f8f2,#f1edff 60%,#fff0e8); }.waitlist-glow { position:absolute; right:-220px; top:-160px; width:650px; height:650px; border:1px solid rgba(118,104,244,.12); border-radius:50%; box-shadow:0 0 0 80px rgba(118,104,244,.035),0 0 0 160px rgba(118,104,244,.025); }.waitlist-grid { position:relative; display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }.waitlist-copy { position:sticky; top:130px; }.waitlist-copy h1 { font-size:clamp(3rem,5vw,4.8rem); }.waitlist-benefits { margin:43px 0 35px; }.waitlist-benefits > div { display:flex; gap:15px; padding:15px 0; }.waitlist-benefits .card-icon { flex:0 0 auto; width:36px; height:36px; padding:7px; border-radius:10px; background:var(--white); color:var(--violet); box-shadow:0 5px 16px rgba(17,16,50,.08); }.waitlist-benefits span,.waitlist-benefits strong,.waitlist-benefits small { display:block; }.waitlist-benefits strong { font-size:.88rem; }.waitlist-benefits small { margin-top:2px; color:var(--muted); font-size:.72rem; }.parent-only { max-width:500px; padding:16px 18px; border-left:3px solid var(--coral); background:rgba(255,255,255,.6); color:var(--muted); font-size:.76rem; }
.form-card { padding:38px; border:1px solid rgba(17,16,50,.13); border-radius:var(--radius-lg); background:rgba(255,255,255,.9); box-shadow:0 35px 80px rgba(17,16,50,.13); backdrop-filter:blur(10px); }.form-head { margin-bottom:30px; }.form-head > span { color:var(--violet); font-size:.63rem; font-weight:850; letter-spacing:.13em; }.form-head > strong { display:block; margin-top:9px; font:800 1.8rem/1.2 var(--display); letter-spacing:-.04em; }.form-head > p { margin:6px 0 0; color:var(--muted); font-size:.72rem; }.field { margin-bottom:20px; }.field-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.field label,fieldset legend { display:block; margin-bottom:7px; font-size:.75rem; font-weight:750; }.field input,.field select { width:100%; height:50px; padding:0 14px; border:1px solid #cfccd9; border-radius:12px; background:var(--white); color:var(--ink); outline:none; transition:border-color .2s,box-shadow .2s; }.field input:focus,.field select:focus { border-color:var(--violet); box-shadow:0 0 0 3px rgba(118,104,244,.13); }.field input::placeholder { color:#aaa8b5; }.field-error { display:block; min-height:17px; margin-top:4px; color:#b63d35; font-size:.68rem; }.form-card fieldset { margin:0 0 22px; padding:0; border:0; }.form-card legend span { color:var(--muted); font-weight:400; }.choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:7px; }.choice-grid label { cursor:pointer; }.choice-grid input { position:absolute; opacity:0; pointer-events:none; }.choice-grid span { display:block; padding:10px 7px; border:1px solid #d5d2df; border-radius:10px; color:#696679; font-size:.69rem; text-align:center; transition:all .15s; }.choice-grid input:checked + span { border-color:var(--violet); background:var(--soft); color:#5146ae; font-weight:750; }.choice-grid input:focus-visible + span { outline:3px solid var(--gold); outline-offset:2px; }.consent { display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:start; margin:5px 0 0; cursor:pointer; }.consent input { width:17px; height:17px; margin:3px 0 0; accent-color:var(--violet); }.consent span { color:#5f5c70; font-size:.72rem; }.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }.form-message { min-height:25px; margin:8px 0; font-size:.72rem; }.form-message.is-error { padding:10px 12px; border-radius:9px; background:#fff0ee; color:#a9362f; }.form-card button:disabled { opacity:.65; cursor:wait; }.form-privacy { margin:14px 0 0; color:#858294; font-size:.65rem; text-align:center; }

/* Legal and utility */
.legal-hero { padding:165px 0 70px; background:var(--soft); border-bottom:1px solid #dcd8f1; }.legal-hero h1 { margin-bottom:15px; font-size:clamp(3rem,5vw,4.8rem); }.legal-hero > div > p:last-child { color:var(--muted); }.legal-body { padding:90px 0 120px; }.legal-grid { display:grid; grid-template-columns:180px 1fr; gap:75px; }.legal-grid aside { position:sticky; top:120px; align-self:start; display:flex; flex-direction:column; gap:10px; padding:20px 0; border-block:1px solid var(--line); }.legal-grid aside strong { margin-bottom:8px; font-size:.68rem; letter-spacing:.09em; text-transform:uppercase; }.legal-grid aside a { color:var(--muted); font-size:.76rem; text-decoration:none; }.legal-grid article { min-width:0; }.legal-intro { font-size:1.12rem; color:#45425b; }.legal-grid article h2 { margin:50px 0 14px; font-size:1.65rem; scroll-margin-top:110px; }.legal-grid article p { color:#5e5b6e; }.legal-callout { margin-top:55px; padding:25px 28px; border:1px solid #d7d3ef; border-radius:16px; background:var(--soft); }.legal-callout p { margin:5px 0 0; font-size:.8rem; }
.thank-you-section,.not-found-section { position:relative; overflow:hidden; min-height:760px; padding-top:78px; display:flex; align-items:center; background:linear-gradient(145deg,#fbfaf6,#f0edff); }.success-mark { display:grid; place-items:center; width:78px; height:78px; margin:0 auto 30px; border:3px solid var(--ink); border-radius:50%; background:var(--mint); box-shadow:6px 7px 0 var(--ink); font-size:2rem; font-weight:900; }.thank-you-section h1,.not-found-section h1 { font-size:clamp(3rem,6vw,5rem); }.thank-you-section .lead,.not-found-section .lead { margin-inline:auto; }.next-links { display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:40px; }.next-links a { padding:13px 18px; border:1px solid var(--line); border-radius:99px; background:var(--white); font-size:.75rem; font-weight:750; text-decoration:none; }.thank-orbit { position:absolute; left:50%; top:50%; width:680px; height:300px; border:1px solid rgba(118,104,244,.15); border-radius:50%; transform:translate(-50%,-50%) rotate(-14deg); }.thank-orbit span { position:absolute; width:13px; height:13px; border-radius:50%; background:var(--violet); }.thank-orbit span:nth-child(1){left:5%;top:50%}.thank-orbit span:nth-child(2){right:5%;top:40%;background:var(--coral)}.thank-orbit span:nth-child(3){left:55%;bottom:-6px;background:var(--mint)}.error-code { display:inline-flex; margin-bottom:25px; color:var(--coral); font-size:.7rem; font-weight:850; letter-spacing:.16em; }

.has-reveal .reveal { opacity:0; transform:translateY(24px); transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.25,1); }.has-reveal .reveal.is-visible { opacity:1; transform:none; }.has-reveal .delay-one { transition-delay:.1s; }.has-reveal .delay-two { transition-delay:.18s; }.has-reveal .delay-three { transition-delay:.26s; }
@keyframes float { 0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-10px) rotate(2deg)} }

@media (max-width: 1050px) {
  .site-nav { gap:20px; }.site-nav > a:not(.button) { font-size:.8rem; }
  .hero-grid,.inner-hero-grid { gap:42px; }.home-hero { min-height:auto; }.hero-grid { grid-template-columns:1fr 440px; }
  .loop-grid,.feature-grid { grid-template-columns:repeat(2,1fr); }.loop-card { min-height:270px; }
  .world-model-grid { grid-template-columns:1fr; }.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }.principles > div { border:0; }.principles .text-link { grid-column:1/-1; }
  .parent-panel { padding:50px; }.cta-panel { padding:55px; }
  .game-loop { grid-template-columns:repeat(4,1fr); }.game-loop > i { display:none; }
  .agent-anatomy { min-height:600px; }.anatomy-item { width:170px; }
  .waitlist-grid { gap:50px; }.waitlist-copy h1 { font-size:3.8rem; }
}

@media (max-width: 820px) {
  .shell,.narrow { width:min(100% - 32px, 680px); }
  .site-header { height:70px; }.menu-button { display:flex; }.menu-button[aria-expanded="true"] > span:nth-of-type(2) { transform:translateY(7px) rotate(45deg); }.menu-button[aria-expanded="true"] > span:nth-of-type(3) { opacity:0; }.menu-button[aria-expanded="true"] > span:nth-of-type(4) { transform:translateY(-7px) rotate(-45deg); }
  .site-nav { position:fixed; inset:70px 0 auto; display:none; flex-direction:column; align-items:stretch; gap:0; max-height:calc(100vh - 70px); overflow:auto; padding:16px 22px 28px; border-bottom:1px solid var(--line); background:rgba(251,250,246,.98); box-shadow:0 25px 60px rgba(17,16,50,.15); }.site-nav.is-open { display:flex; }.site-nav > a:not(.button) { padding:15px 4px; border-bottom:1px solid var(--line); font-size:1rem; }.site-nav > a:not(.button)::after { display:none; }.site-nav .button { margin-top:20px; }
  h1 { font-size:clamp(3rem,12vw,4.6rem); }.section { padding:85px 0; }
  .hero-grid,.inner-hero-grid,.split-section,.parent-panel,.cta-panel,.waitlist-grid { grid-template-columns:1fr; }
  .hero-grid { padding-block:115px 65px; }.hero-visual { max-width:570px; width:100%; margin:auto; }.inner-hero { min-height:0; }.inner-hero-grid { padding-block:125px 75px; }.inner-hero-grid > :last-child { max-width:550px; width:100%; margin:auto; }
  .split-section { gap:58px; }.split-section.reverse > :first-child { order:initial; }.split-section.reverse > :last-child { order:initial; }
  .parent-panel { gap:35px; padding:42px; }.cta-panel { gap:34px; padding:45px; }.cta-actions { text-align:left; }.cta-actions .button { width:auto; }
  .footer-grid { grid-template-columns:2fr 1fr 1fr; }.footer-grid > div:nth-child(4) { grid-column:2; }.footer-bottom { gap:20px; }
  .comparison { overflow-x:auto; }.comparison > div { min-width:700px; }
  .game-loop { grid-template-columns:repeat(2,1fr); }.game-loop > div { min-height:150px; }
  .growth-grid,.promise-grid,.boundary-grid { grid-template-columns:repeat(2,1fr); }
  .agent-anatomy { min-height:730px; border-radius:40px; }.agent-anatomy::before,.agent-anatomy::after { display:none; }.anatomy-center { top:50%; }.anatomy-goal{left:5%;top:8%}.anatomy-sense{right:5%;top:8%}.anatomy-tools{right:5%;bottom:8%}.anatomy-memory{left:5%;bottom:8%}.anatomy-rules{bottom:50px}
  .timeline { grid-template-columns:1fr; gap:12px; }.timeline > div { min-height:170px; }.timeline strong { margin-top:35px; }.timeline i { width:1px; height:30px; margin:auto; }.timeline i::after { right:-8px; top:8px; transform:rotate(90deg); }
  .path-module { grid-template-columns:90px 1fr; }.module-world { grid-column:2; text-align:left; }
  .pricing-grid { grid-template-columns:minmax(0,520px); }.price-card.featured { transform:none; }.pricing-section { margin-top:0; }
  .waitlist-copy { position:static; }.waitlist-grid { max-width:650px; }.form-card { padding:35px; }
  .legal-grid { grid-template-columns:1fr; gap:35px; }.legal-grid aside { position:static; flex-direction:row; flex-wrap:wrap; }.legal-grid aside strong { width:100%; }
}

@media (max-width: 560px) {
  body { font-size:15px; }.shell,.narrow { width:calc(100% - 28px); }
  h1 { font-size:clamp(2.65rem,13vw,3.8rem); }.section { padding:72px 0; }.section-heading { margin-bottom:40px; }
  .hero-grid { padding-top:105px; }.hero-actions { align-items:flex-start; flex-direction:column; gap:20px; }.hero-actions .button { width:100%; }.trust-row { gap:12px; }
  .world-console { min-height:430px; border-radius:25px; }.world-canvas { height:285px; }.planet { width:165px; height:165px; }.orbit-one{width:310px}.orbit-two{width:370px}.wovi-agent{right:3%;transform:scale(.83);transform-origin:bottom right}.console-steps{height:87px}.console-steps>div{grid-template-columns:22px 1fr;padding:0 7px;column-gap:5px}.console-steps span{width:21px;height:21px}.console-steps small{display:none}
  .ticker > div { animation:none; }.loop-grid,.feature-grid,.growth-grid,.promise-grid,.boundary-grid { grid-template-columns:1fr; }.loop-card,.feature-card { min-height:230px; }
  .split-section { gap:45px; }.scenario-orb { width:90%; }.world-map { min-height:660px; }.map-node { width:160px; }.node-input{top:42px;left:25px}.node-agent{top:180px;right:25px}.node-world{bottom:170px;right:25px}.node-reflect{bottom:35px;left:25px}.map-arrow{display:none}
  .principles { grid-template-columns:1fr; gap:0; }.principles > div { border-bottom:1px solid var(--line); }.parent-panel { padding:29px; }.cta-panel { padding:34px 25px; }.cta-actions .button { width:100%; }.footer-grid { grid-template-columns:1fr 1fr; gap:35px; }.footer-brand { grid-column:1/-1; }.footer-grid > div:nth-child(4) { grid-column:auto; }.footer-bottom { flex-direction:column; }
  .inner-hero-grid { padding-top:110px; }.mini-world { min-height:300px; padding:28px 20px; }.magic-stack div { width:70px; }.comparison { margin-inline:-14px; border-radius:0; }
  .game-loop { grid-template-columns:1fr; }.scenario-stack { transform:scale(.9); transform-origin:center; margin-inline:-15px; }.agent-profile { border-radius:25px; }
  .agent-anatomy { min-height:850px; padding:20px; }.anatomy-center { width:125px; height:125px; top:50%; }.anatomy-item { width:145px; min-height:110px; padding:15px; }.anatomy-goal{left:2%;top:5%}.anatomy-sense{right:2%;top:21%}.anatomy-tools{right:2%;bottom:5%}.anatomy-memory{left:2%;bottom:21%}.anatomy-rules{bottom:calc(50% - 55px)}
  .worlds-hero { min-height:780px; }.world-panorama { height:270px; margin-top:45px; }.memory-chip { display:none; }.model-definition { padding:48px 28px; }.model-definition p { font-size:1.35rem; }
  .curriculum-rings { transform:scale(.88); }.learning-path::before { left:28px; }.path-module { grid-template-columns:58px 1fr; gap:15px; padding-right:0; }.module-num { width:48px; height:48px; }.path-module h2 { font-size:1.6rem; }.path-module ul { display:block; }.path-module li { width:max-content; margin-bottom:6px; }
  .price-card { min-height:0; padding:32px 25px; }.price strong { font-size:4rem; }.price-card .check-list { min-height:0; }.waitlist-section { padding-top:115px; }.waitlist-copy h1 { font-size:3.2rem; }.form-card { padding:28px 20px; }.field-row { grid-template-columns:1fr; gap:0; }.choice-grid { grid-template-columns:repeat(2,1fr); }
  .legal-hero { padding-top:125px; }.legal-body { padding-top:60px; }.legal-grid aside { display:none; }.thank-orbit { width:500px; }.next-links { flex-direction:column; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}
