.public-site-v3 {
  --navy: #102a43; --navy-deep: #071d2f; --blue: #1167b1; --blue-bright: #2389d7;
  --mint: #31c8a0; --amber: #f2b84b; --ink: #183247; --muted: #5b7083; --line: #dbe6ed;
  --mist: #f2f7fa; --white: #fff; --shadow: 0 24px 70px rgba(16, 42, 67, .13);
  margin: 0; min-width: 320px; overflow-x: visible; color: var(--ink); background: var(--white);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px; line-height: 1.65; -webkit-font-smoothing: antialiased;
}
.public-site-v3 *, .public-site-v3 *::before, .public-site-v3 *::after { box-sizing: border-box; }
.public-site-v3 img { display: block; max-width: 100%; height: auto; }
.public-site-v3 a { color: inherit; text-decoration: none; }
.public-site-v3 button, .public-site-v3 input, .public-site-v3 select, .public-site-v3 textarea { font: inherit; }
.public-site-v3 button, .public-site-v3 summary, .public-site-v3 a { -webkit-tap-highlight-color: transparent; }
.public-site-v3 :focus-visible { outline: 3px solid var(--amber); outline-offset: 3px; }
.public-site-v3 h1, .public-site-v3 h2, .public-site-v3 h3, .public-site-v3 p { margin-top: 0; }
.public-site-v3 h1, .public-site-v3 h2, .public-site-v3 h3 { color: var(--navy); line-height: 1.12; letter-spacing: -.035em; }
.public-site-v3 h1 { max-width: 790px; margin-bottom: 26px; font-size: clamp(3.05rem, 7vw, 6.65rem); font-weight: 780; line-height: .98; }
.public-site-v3 h2 { margin-bottom: 22px; font-size: clamp(2.15rem, 4vw, 4rem); font-weight: 740; }
.public-site-v3 h3 { margin-bottom: 12px; font-size: 1.24rem; }
.public-site-v3 p { color: var(--muted); }
.public-site-v3 .site-shell { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.public-site-v3 .narrow-shell { max-width: 910px; }
.public-site-v3 .section-pad { padding: 112px 0; scroll-margin-top: 92px; }
.public-site-v3 .tone-section { background: var(--mist); }
.public-site-v3 .dark-section { color: #fff; background: var(--navy-deep); }
.public-site-v3 .dark-section h2, .public-site-v3 .dark-section h3 { color: #fff; }
.public-site-v3 .dark-section p { color: #c8d9e5; }
.public-site-v3 .centered-copy { margin-inline: auto; text-align: center; }
.public-site-v3 .section-heading { max-width: 740px; margin-bottom: 56px; }
.public-site-v3 .section-heading > p:last-child { font-size: 1.12rem; }
.public-site-v3 .eyebrow { margin-bottom: 16px; color: var(--blue); font-size: .76rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.public-site-v3 .dark-section .eyebrow { color: #7de1c8; }
.public-site-v3 .skip-link { position: fixed; z-index: 1000; top: 12px; left: 16px; padding: 10px 16px; border-radius: 8px; color: #fff; background: var(--navy); transform: translateY(-160%); }
.public-site-v3 .skip-link:focus { transform: translateY(0); }
.public-site-v3 .utility-bar { color: #d8e8f2; background: var(--navy-deep); font-size: .78rem; }
.public-site-v3 .utility-inner { min-height: 38px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.public-site-v3 .utility-links { display: flex; gap: 22px; }
.public-site-v3 .utility-links a:hover { color: #fff; }
.public-site-v3 .site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(219,230,237,.8); background: rgba(255,255,255,.93); backdrop-filter: blur(16px); }
.public-site-v3 .header-inner { min-height: 82px; display: flex; align-items: center; gap: 34px; }
.public-site-v3 .brand-link { flex: 0 0 auto; width: 157px; }
.public-site-v3 .header-navigation { flex: 1; display: flex; align-items: center; justify-content: flex-end; gap: 28px; }
.public-site-v3 .primary-nav { display: flex; align-items: center; gap: clamp(15px, 1.7vw, 26px); }
.public-site-v3 .primary-nav a { position: relative; padding: 10px 0; color: #334e61; font-size: .88rem; font-weight: 650; }
.public-site-v3 .primary-nav a::after { content: ""; position: absolute; right: 0; bottom: 3px; left: 0; height: 2px; background: var(--blue); transform: scaleX(0); transition: transform .2s ease; }
.public-site-v3 .primary-nav a:hover::after { transform: scaleX(1); }
.public-site-v3 .header-actions, .public-site-v3 .hero-actions { display: flex; align-items: center; gap: 14px; }
.public-site-v3 .button { min-height: 46px; padding: 11px 20px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; border-radius: 999px; font-weight: 750; line-height: 1.2; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.public-site-v3 .button:hover { transform: translateY(-2px); }
.public-site-v3 .button-primary { color: #fff; background: var(--blue); box-shadow: 0 10px 26px rgba(17,103,177,.22); }
.public-site-v3 .button-primary:hover { background: #0b5798; box-shadow: 0 14px 30px rgba(17,103,177,.3); }
.public-site-v3 .button-secondary { border-color: #b7cbd9; color: var(--navy); background: #fff; }
.public-site-v3 .button-large { min-height: 54px; padding-inline: 28px; }
.public-site-v3 .menu-toggle { display: none; border: 0; color: var(--navy); background: transparent; font-weight: 750; }
.public-site-v3 .menu-toggle i { width: 24px; display: grid; gap: 5px; }
.public-site-v3 .menu-toggle b { height: 2px; display: block; border-radius: 2px; background: currentColor; transition: transform .2s ease, opacity .2s ease; }
.public-site-v3 .hero { position: relative; min-height: 720px; display: grid; align-items: center; overflow: hidden; background: radial-gradient(circle at 90% 15%, rgba(49,200,160,.13), transparent 27%), linear-gradient(145deg,#f8fbfd 5%,#fff 58%); }
.public-site-v3 .hero::before { content: ""; position: absolute; top: 0; right: -160px; width: 550px; height: 550px; border: 1px solid rgba(17,103,177,.12); border-radius: 50%; }
.public-site-v3 .hero-grid { display: grid; grid-template-columns: 1.08fr .92fr; align-items: center; gap: clamp(50px,7vw,100px); }
.public-site-v3 .hero-copy { position: relative; z-index: 2; }
.public-site-v3 .hero-lead { max-width: 650px; margin-bottom: 32px; color: #476378; font-size: clamp(1.1rem,2vw,1.3rem); }
.public-site-v3 .text-link { color: var(--blue); font-weight: 750; }
.public-site-v3 .text-link span, .public-site-v3 .email-link span { display: inline-block; transition: transform .2s ease; }
.public-site-v3 .text-link:hover span, .public-site-v3 .email-link:hover span { transform: translateX(5px); }
.public-site-v3 .trust-row { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 10px 24px; color: #526d80; font-size: .82rem; font-weight: 650; }
.public-site-v3 .trust-row span::before { content: "✓"; margin-right: 7px; color: #16896e; }
.public-site-v3 .hero-visual { position: relative; min-height: 520px; display: grid; place-items: center; }
.public-site-v3 .orbit { position: absolute; border: 1px solid rgba(17,103,177,.15); border-radius: 50%; }
.public-site-v3 .orbit-one { width: min(475px, 100%); height: auto; aspect-ratio: 1; }
.public-site-v3 .orbit-two { width: min(355px, 78%); height: auto; aspect-ratio: 1; border-color: rgba(49,200,160,.28); }
.public-site-v3 .conversation-card { position: relative; z-index: 2; width: min(430px,90%); padding: 26px; border: 1px solid rgba(219,230,237,.9); border-radius: 26px; background: rgba(255,255,255,.94); box-shadow: var(--shadow); transform: rotate(1.5deg); }
.public-site-v3 .conversation-topline { margin-bottom: 22px; color: #60798b; font-size: .78rem; font-weight: 700; }
.public-site-v3 .conversation-topline span { width: 8px; height: 8px; margin-right: 7px; display: inline-block; border-radius: 50%; background: var(--mint); box-shadow: 0 0 0 5px rgba(49,200,160,.14); }
.public-site-v3 .message { margin-bottom: 14px; padding: 16px; border-radius: 17px; color: #365366; background: #edf5fa; font-size: .9rem; }
.public-site-v3 .message b { margin-bottom: 5px; display: block; color: var(--blue); font-size: .72rem; text-transform: uppercase; }
.public-site-v3 .student-message { margin-left: 20%; color: #174f43; background: #e6f8f3; }
.public-site-v3 .student-message b { color: #16896e; }
.public-site-v3 .conversation-card > p { margin: 15px 0 0; text-align: center; font-size: .77rem; }
.public-site-v3 .voice-wave { height: 36px; display: flex; align-items: center; justify-content: center; gap: 5px; }
.public-site-v3 .voice-wave i { width: 3px; height: 10px; border-radius: 4px; background: var(--blue); animation: voice-wave 1.2s ease-in-out infinite; }
.public-site-v3 .voice-wave i:nth-child(2n) { height: 23px; animation-delay: -.2s; }.public-site-v3 .voice-wave i:nth-child(3n) { height: 30px; animation-delay: -.45s; }
@keyframes voice-wave { 0%,100% { transform: scaleY(.45); opacity: .5; } 50% { transform: scaleY(1); opacity: 1; } }
.public-site-v3 .problem { background: var(--navy); }
.public-site-v3 .problem h2 { color: #fff; }.public-site-v3 .problem p { color: #c7dae7; font-size: 1.1rem; }.public-site-v3 .problem .eyebrow { color: #72ddc2; }
.public-site-v3 .problem-steps { margin-top: 46px; display: flex; align-items: center; justify-content: center; gap: 18px; flex-wrap: wrap; }
.public-site-v3 .problem-steps span { padding: 11px 17px; border: 1px solid rgba(255,255,255,.16); border-radius: 10px; color: #fff; background: rgba(255,255,255,.06); font-weight: 700; }.public-site-v3 .problem-steps span:last-child { border-color: rgba(49,200,160,.4); color: #a8f1df; }
.public-site-v3 .problem-steps b { color: #7390a4; font-size: 1.3rem; }
.public-site-v3 .split-grid, .public-site-v3 .feature-split, .public-site-v3 .about-grid, .public-site-v3 .contact-grid, .public-site-v3 .faq-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: center; gap: clamp(56px,8vw,110px); }
.public-site-v3 .split-grid > div:first-child { align-self: start; position: sticky; top: 130px; }
.public-site-v3 .principle-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
.public-site-v3 .principle-grid article, .public-site-v3 .learner-grid article, .public-site-v3 .feature-grid article { padding: 28px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.public-site-v3 .principle-grid article:nth-child(even) { transform: translateY(28px); }
.public-site-v3 .principle-grid article > span, .public-site-v3 .feature-grid article > b { display: block; margin-bottom: 28px; color: var(--blue); font-size: .76rem; letter-spacing: .12em; }
.public-site-v3 .principle-grid p, .public-site-v3 .learner-grid p, .public-site-v3 .feature-grid p { margin-bottom: 0; font-size: .91rem; }
.public-site-v3 .feature-split.reverse > :first-child { order: 2; }
.public-site-v3 .curriculum-visual { position: relative; min-height: 430px; display: grid; place-items: center; perspective: 900px; }
.public-site-v3 .book-page { position: absolute; width: min(390px,85%); min-height: 340px; padding: 45px; border: 1px solid #cadce7; border-radius: 8px 22px 22px 8px; background: #fff; box-shadow: var(--shadow); transform: rotateY(-7deg) rotateZ(-2deg); }
.public-site-v3 .book-page-back { background: #d9e8f1; transform: translate(24px,-20px) rotateY(-7deg) rotateZ(3deg); }
.public-site-v3 .book-page small { display: block; color: var(--blue); font-weight: 800; letter-spacing: .12em; }.public-site-v3 .book-page strong { margin: 20px 0 30px; display: block; color: var(--navy); font-family: Georgia,serif; font-size: 2.5rem; }
.public-site-v3 .book-page > i { width: 100%; height: 7px; margin: 10px 0; display: block; border-radius: 4px; background: #e4edf2; }.public-site-v3 .book-page > i:nth-of-type(2) { width: 74%; }
.public-site-v3 .book-page > div { margin-top: 35px; display: flex; gap: 8px; }.public-site-v3 .book-page span { padding: 7px 10px; border-radius: 7px; color: #186858; background: #e3f6f1; font-size: .7rem; font-weight: 700; }
.public-site-v3 .status-label { width: fit-content; padding: 6px 10px; display: inline-flex; border: 1px solid; border-radius: 999px; font-size: .68rem; font-weight: 800; letter-spacing: .035em; line-height: 1.2; text-transform: uppercase; }
.public-site-v3 .status-label.pilot { border-color: #8dd9c5; color: #146b58; background: #e8f8f4; }.public-site-v3 .status-label.development { border-color: #a9ccec; color: #155c96; background: #eaf4fc; }.public-site-v3 .status-label.planned { border-color: #e2c27d; color: #795514; background: #fff7e6; }
.public-site-v3 .status-detail { margin: 12px 0 0; font-size: .86rem; }
.public-site-v3 blockquote { margin: 30px 0; padding: 2px 0 2px 24px; border-left: 3px solid var(--mint); color: var(--navy); font-family: Georgia,serif; font-size: 1.25rem; }
.public-site-v3 .qualified-copy { padding: 16px 18px; border-radius: 10px; background: var(--mist); font-size: .88rem; }
.public-site-v3 .voice-rings { position: relative; min-height: 460px; display: grid; place-items: center; border: 1px solid #dceaf2; border-radius: 50%; background: radial-gradient(circle,#fff 0 20%,#edf8f6 21% 22%,#fff 23% 42%,#e9f2f8 43% 44%,transparent 45%); }
.public-site-v3 .voice-rings > div { width: 130px; height: 130px; display: grid; place-items: center; align-content: center; border-radius: 50%; color: #fff; background: var(--blue); box-shadow: 0 15px 45px rgba(17,103,177,.3); }.public-site-v3 .voice-rings > div span { font-size: 2rem; }.public-site-v3 .voice-rings > div small { font-weight: 800; }
.public-site-v3 .voice-rings > b { position: absolute; padding: 8px 13px; border: 1px solid var(--line); border-radius: 999px; color: var(--navy); background: #fff; font-size: .75rem; }.public-site-v3 .ring-one { top: 19%; left: 9%; }.public-site-v3 .ring-two { top: 17%; right: 7%; }.public-site-v3 .ring-three { right: 14%; bottom: 12%; }
.public-site-v3 .lesson-demo { max-width: 880px; margin-inline: auto; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: #fff; box-shadow: 0 20px 60px rgba(16,42,67,.08); }
.public-site-v3 .lesson-progress { padding: 20px 28px; display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; border-bottom: 1px solid var(--line); color: #7890a1; font-size: .75rem; font-weight: 750; text-align: center; }.public-site-v3 .lesson-progress span { padding: 7px; border-bottom: 3px solid #e6eef3; }.public-site-v3 .lesson-progress .active { border-color: var(--mint); color: var(--navy); }
.public-site-v3 .demo-dialogue { padding: 38px clamp(20px,6vw,70px); display: grid; grid-template-columns: 42px 1fr; gap: 16px; }
.public-site-v3 .avatar { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-size: .8rem; font-weight: 800; }.public-site-v3 .student-avatar { background: #1c8f76; }
.public-site-v3 .demo-bubble { max-width: 650px; padding: 14px 17px; border-radius: 4px 16px 16px; background: #edf5fa; }.public-site-v3 .demo-bubble.student { background: #e9f8f4; }.public-site-v3 .demo-bubble strong { color: var(--blue); font-size: .72rem; text-transform: uppercase; }.public-site-v3 .demo-bubble p { margin: 3px 0 0; color: var(--ink); }
.public-site-v3 .learner-grid, .public-site-v3 .audience-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 18px; }
.public-site-v3 .learner-grid article { border-top: 3px solid var(--blue); }.public-site-v3 .learner-grid i { width: 48px; height: 48px; margin-bottom: 24px; display: grid; place-items: center; border-radius: 12px; color: var(--blue); background: #eaf4fb; font-style: normal; font-weight: 800; }
.public-site-v3 .read-card { padding: 32px; border: 1px solid rgba(255,255,255,.2); border-radius: 20px; color: #fff; background: rgba(255,255,255,.08); box-shadow: 0 30px 70px rgba(0,0,0,.2); }.public-site-v3 .read-card > div:first-child { display: flex; justify-content: space-between; color: #8fa9ba; font-size: .75rem; }.public-site-v3 .read-card > p { margin: 45px 0; color: #fff; font-family: Georgia,serif; font-size: clamp(1.5rem,3vw,2.2rem); line-height: 1.5; }.public-site-v3 .read-card mark { padding: 2px 5px; color: #fff; background: rgba(49,200,160,.35); }.public-site-v3 .read-card > small { color: #9fb8c8; }
.public-site-v3 .audio-track { margin-bottom: 22px; display: flex; align-items: center; gap: 14px; }.public-site-v3 .audio-track button { width: 42px; height: 42px; border: 0; border-radius: 50%; color: var(--navy); background: var(--mint); }.public-site-v3 .audio-track > span { height: 3px; flex: 1; overflow: hidden; background: #496476; }.public-site-v3 .audio-track i { width: 62%; height: 100%; display: block; background: var(--mint); }
.public-site-v3 .feature-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }.public-site-v3 .feature-grid article { display: flex; flex-direction: column; align-items: flex-start; }.public-site-v3 .feature-grid article > b { margin-bottom: 40px; }.public-site-v3 .feature-grid article p { margin-bottom: 24px; flex: 1; }
.public-site-v3 .planned-note { margin-top: 22px; padding: 20px 24px; display: flex; align-items: center; gap: 18px; border: 1px solid #eddda9; border-radius: 14px; background: #fffbef; }.public-site-v3 .planned-note p { margin: 0; font-size: .86rem; }
.public-site-v3 .session-timeline { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); list-style: none; }.public-site-v3 .session-timeline li { position: relative; padding: 0 28px; }.public-site-v3 .session-timeline li:not(:last-child)::after { content: ""; position: absolute; top: 21px; right: -15px; width: 30px; height: 1px; background: #b7cbd7; }.public-site-v3 .session-timeline li > span { width: 43px; height: 43px; margin-bottom: 25px; display: grid; place-items: center; border-radius: 50%; color: #fff; background: var(--blue); font-weight: 800; }.public-site-v3 .session-timeline p { font-size: .9rem; }
.public-site-v3 .audience-grid article { min-height: 210px; padding: 28px; border-radius: 18px; color: #fff; background: var(--navy); }.public-site-v3 .audience-grid article:nth-child(2), .public-site-v3 .audience-grid article:nth-child(4) { background: #175f8f; }.public-site-v3 .audience-grid h3 { color: #fff; }.public-site-v3 .audience-grid p { color: #c9dbe7; }
.public-site-v3 .early-access { color: #fff; background: linear-gradient(135deg,var(--navy-deep),#103f5d); }.public-site-v3 .access-grid { display: grid; grid-template-columns: .8fr 1.2fr; align-items: start; gap: clamp(50px,8vw,100px); }.public-site-v3 .access-copy { padding-top: 30px; }.public-site-v3 .access-copy h2 { color: #fff; }.public-site-v3 .access-copy > p { color: #c4d9e6; }.public-site-v3 .access-copy .eyebrow { color: #7de1c8; }.public-site-v3 .access-copy ul { margin: 32px 0 0; padding: 0; display: grid; gap: 12px; list-style: none; }.public-site-v3 .access-copy li::before { content: "✓"; margin-right: 10px; color: var(--mint); }
.public-site-v3 .interest-form { padding: clamp(24px,4vw,40px); display: grid; gap: 20px; border-radius: 22px; color: var(--ink); background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.22); }.public-site-v3 .form-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; }.public-site-v3 .form-heading h3, .public-site-v3 .form-heading p { margin: 0; }.public-site-v3 .form-heading p { font-size: .76rem; }
.public-site-v3 .form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 17px; }.public-site-v3 .interest-form label { display: grid; gap: 7px; color: #344f62; font-size: .78rem; font-weight: 750; }.public-site-v3 .interest-form input, .public-site-v3 .interest-form select, .public-site-v3 .interest-form textarea { width: 100%; border: 1px solid #becfda; border-radius: 9px; color: var(--ink); background: #fbfdfe; padding: 12px 13px; font-weight: 450; }.public-site-v3 .interest-form textarea { resize: vertical; }.public-site-v3 .interest-form input:focus, .public-site-v3 .interest-form select:focus, .public-site-v3 .interest-form textarea:focus { border-color: var(--blue); outline: 3px solid rgba(17,103,177,.14); }.public-site-v3 .honeypot { position: absolute; left: -9999px; }
.public-site-v3 .form-submit { position: relative; min-width: 170px; justify-self: start; border: 0; }.public-site-v3 .form-submit[disabled] { opacity: .7; cursor: wait; transform: none; }.public-site-v3 .submit-spinner { width: 16px; height: 16px; margin-left: 9px; display: none; border: 2px solid rgba(255,255,255,.45); border-top-color: #fff; border-radius: 50%; animation: spin .75s linear infinite; }.public-site-v3 .form-submit.is-loading .submit-spinner { display: inline-block; } @keyframes spin { to { transform: rotate(360deg); } }
.public-site-v3 .form-message { min-height: 0; padding: 0; border-radius: 8px; font-size: .86rem; }.public-site-v3 .form-message:not(:empty) { padding: 11px 13px; }.public-site-v3 .form-message.success { color: #12634f; background: #e6f7f2; }.public-site-v3 .form-message.error { color: #8e2929; background: #fff0f0; }.public-site-v3 .privacy-note { margin: -7px 0 0; font-size: .72rem; }
.public-site-v3 .about-grid { align-items: stretch; }.public-site-v3 .founder-card { padding: 34px; display: flex; align-items: flex-start; gap: 22px; border-radius: 20px; color: #fff; background: var(--navy); }.public-site-v3 .founder-card > span { width: 54px; height: 54px; flex: 0 0 auto; display: grid; place-items: center; border-radius: 50%; color: var(--navy); background: var(--mint); font-size: 1.4rem; font-weight: 850; }.public-site-v3 .founder-card h3 { color: #fff; }.public-site-v3 .founder-card p { color: #c7d9e5; }.public-site-v3 .founder-card .eyebrow { color: #7de1c8; }
.public-site-v3 .contact-grid { align-items: start; }.public-site-v3 .email-link { color: var(--blue); font-size: clamp(1.25rem,2.5vw,2rem); font-weight: 760; }.public-site-v3 .address-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }.public-site-v3 .address-grid address { padding: 25px; display: grid; border: 1px solid var(--line); border-radius: 16px; color: #607688; background: #fff; font-size: .85rem; font-style: normal; }.public-site-v3 .address-grid strong { margin-bottom: 12px; color: var(--navy); }
.public-site-v3 .faq-grid { align-items: start; }.public-site-v3 .faq-list { border-top: 1px solid var(--line); }.public-site-v3 .faq-list details { border-bottom: 1px solid var(--line); }.public-site-v3 .faq-list summary { padding: 20px 38px 20px 0; position: relative; color: var(--navy); font-weight: 750; cursor: pointer; list-style: none; }.public-site-v3 .faq-list summary::-webkit-details-marker { display: none; }.public-site-v3 .faq-list summary::after { content: "+"; position: absolute; right: 7px; font-size: 1.4rem; font-weight: 400; }.public-site-v3 .faq-list details[open] summary::after { content: "−"; }.public-site-v3 .faq-list details p { padding-right: 35px; margin-bottom: 22px; }.public-site-v3 .faq-list a { color: var(--blue); text-decoration: underline; }
.public-site-v3 .site-footer { padding: 75px 0 24px; color: #bcd0dd; background: var(--navy-deep); }.public-site-v3 .footer-grid { display: grid; grid-template-columns: 1.7fr repeat(3,1fr); gap: 50px; }.public-site-v3 .footer-grid > div { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; }.public-site-v3 .footer-grid strong { margin-bottom: 8px; color: #fff; font-size: .82rem; }.public-site-v3 .footer-grid a { font-size: .84rem; }.public-site-v3 .footer-grid a:hover { color: #fff; }.public-site-v3 .footer-brand img { width: 160px; margin-bottom: 8px; }.public-site-v3 .footer-brand p { max-width: 300px; color: #9eb7c6; font-size: .86rem; }.public-site-v3 .footer-bottom { margin-top: 55px; padding-top: 20px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.12); font-size: .73rem; }
@media (max-width: 1080px) {
  .public-site-v3 .menu-toggle { margin-left: auto; display: flex; align-items: center; gap: 10px; cursor: pointer; }
  .public-site-v3 .header-navigation { position: absolute; top: 100%; right: 0; left: 0; padding: 20px 24px 28px; display: none; align-items: stretch; border-bottom: 1px solid var(--line); background: #fff; box-shadow: 0 18px 30px rgba(16,42,67,.1); }
  .public-site-v3 .header-navigation.is-open { display: grid; }.public-site-v3 .primary-nav { display: grid; gap: 0; }.public-site-v3 .primary-nav a { padding: 12px 0; border-bottom: 1px solid #edf2f5; }.public-site-v3 .header-actions { margin-top: 15px; }
  .public-site-v3 .menu-toggle[aria-expanded="true"] i b:first-child { transform: translateY(7px) rotate(45deg); }.public-site-v3 .menu-toggle[aria-expanded="true"] i b:nth-child(2) { opacity: 0; }.public-site-v3 .menu-toggle[aria-expanded="true"] i b:last-child { transform: translateY(-7px) rotate(-45deg); }
  .public-site-v3 .hero-grid { grid-template-columns: 1fr 0.82fr; }.public-site-v3 .hero-visual { min-height: 450px; }.public-site-v3 .learner-grid, .public-site-v3 .audience-grid { grid-template-columns: repeat(2,1fr); }.public-site-v3 .feature-grid { grid-template-columns: repeat(2,1fr); }.public-site-v3 .footer-grid { grid-template-columns: 1.5fr repeat(3,1fr); gap: 30px; }
}
@media (max-width: 768px) {
  .public-site-v3 .site-shell { width: min(100% - 36px, 680px); }.public-site-v3 .section-pad { padding: 78px 0; }.public-site-v3 .utility-inner > span { display: none; }.public-site-v3 .utility-inner { justify-content: center; }.public-site-v3 .utility-links { width: 100%; justify-content: space-between; gap: 10px; }.public-site-v3 .header-inner { min-height: 72px; }.public-site-v3 .brand-link { width: 145px; }
  .public-site-v3 .hero { min-height: 0; padding-top: 82px; }.public-site-v3 .hero-grid, .public-site-v3 .split-grid, .public-site-v3 .feature-split, .public-site-v3 .about-grid, .public-site-v3 .contact-grid, .public-site-v3 .faq-grid, .public-site-v3 .access-grid { grid-template-columns: 1fr; }.public-site-v3 .hero-grid { gap: 25px; }.public-site-v3 .hero-visual { min-height: 450px; }.public-site-v3 .split-grid > div:first-child { position: static; }.public-site-v3 .feature-split.reverse > :first-child { order: 0; }.public-site-v3 .curriculum-visual { min-height: 380px; }.public-site-v3 .voice-rings { min-height: 410px; max-width: 520px; width: 100%; margin-inline: auto; }
  .public-site-v3 .session-timeline { grid-template-columns: repeat(2,1fr); gap: 35px 0; }.public-site-v3 .session-timeline li:nth-child(2)::after { display: none; }.public-site-v3 .access-copy { padding-top: 0; }.public-site-v3 .footer-grid { grid-template-columns: repeat(2,1fr); }.public-site-v3 .footer-brand { grid-column: 1/-1; }
}
@media (max-width: 520px) {
  .public-site-v3 .site-shell { width: calc(100% - 28px); }.public-site-v3 .section-pad { padding: 66px 0; }.public-site-v3 h1 { font-size: clamp(2.72rem,14vw,4rem); }.public-site-v3 h2 { font-size: clamp(2rem,10vw,2.7rem); }.public-site-v3 .utility-links { font-size: .7rem; }.public-site-v3 .menu-toggle > span { font-size: .78rem; }
  .public-site-v3 .hero-actions, .public-site-v3 .header-actions { align-items: stretch; flex-direction: column; }.public-site-v3 .hero-actions .button, .public-site-v3 .header-actions .button { width: 100%; }.public-site-v3 .text-link { padding: 10px 0; text-align: center; }.public-site-v3 .trust-row { display: grid; }.public-site-v3 .hero-visual { min-height: 405px; }.public-site-v3 .conversation-card { width: 100%; padding: 18px; transform: none; }.public-site-v3 .orbit-one { width: min(380px, 100%); height: auto; aspect-ratio: 1; }.public-site-v3 .orbit-two { width: min(290px, 78%); height: auto; aspect-ratio: 1; }
  .public-site-v3 .problem-steps { align-items: stretch; flex-direction: column; }.public-site-v3 .problem-steps b { transform: rotate(90deg); }.public-site-v3 .principle-grid, .public-site-v3 .learner-grid, .public-site-v3 .audience-grid, .public-site-v3 .feature-grid, .public-site-v3 .form-grid, .public-site-v3 .address-grid { grid-template-columns: 1fr; }.public-site-v3 .principle-grid article:nth-child(even) { transform: none; }.public-site-v3 .book-page { width: 92%; min-height: 310px; padding: 34px 27px; }.public-site-v3 .voice-rings { min-height: 340px; }.public-site-v3 .lesson-progress { padding: 15px 10px; font-size: .62rem; }.public-site-v3 .demo-dialogue { grid-template-columns: 34px 1fr; padding: 22px 15px; }.public-site-v3 .avatar { width: 32px; height: 32px; }.public-site-v3 .read-card { padding: 23px; }.public-site-v3 .planned-note { align-items: flex-start; flex-direction: column; }.public-site-v3 .session-timeline { grid-template-columns: 1fr; }.public-site-v3 .session-timeline li { padding: 0; display: grid; grid-template-columns: 48px 1fr; gap: 14px; }.public-site-v3 .session-timeline li::after { display: none; }.public-site-v3 .session-timeline li > span { grid-row: span 2; }.public-site-v3 .form-heading { align-items: flex-start; flex-direction: column; gap: 4px; }.public-site-v3 .form-submit { width: 100%; }.public-site-v3 .founder-card { padding: 25px; flex-direction: column; }.public-site-v3 .footer-grid { grid-template-columns: 1fr 1fr; }.public-site-v3 .footer-grid > div:last-child { grid-column: 1/-1; }.public-site-v3 .footer-bottom { align-items: flex-start; flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) {
  .public-site-v3 *, .public-site-v3 *::before, .public-site-v3 *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Website V3 additions. This file is intentionally complete for the V3 homepage:
   base layout, typography, navigation, forms and V3-only chapters all live here. */
.public-site-v3 {
  --ink: #09223e;
  --navy: #071d35;
  --navy-deep: #06182c;
  --blue: #1468e8;
  --blue-bright: #2a82ff;
  --mint: #7de1c8;
  --amber: #f48a3c;
  --paper: #f7f5ef;
  --muted: #536b7d;
  --line: #d9e3ea;
  --mist: #f3f8fb;
  --white: #fff;
  --shadow: 0 24px 70px rgba(9, 34, 62, .13);
  overflow-x: visible;
}
.public-site-v3 h1 { max-width: 12ch; letter-spacing: -.05em; }
.public-site-v3 h2 { letter-spacing: -.03em; }
.public-site-v3 .site-header { border-bottom-color: rgba(9,34,62,.08); box-shadow: 0 8px 30px rgba(8,31,56,.04); }
.public-site-v3 .hero { background: radial-gradient(circle at 82% 22%,rgba(20,104,232,.13),transparent 27%),linear-gradient(180deg,#fbfdff,#fff); }
.public-site-v3 .hero-lead { font-size: clamp(1.08rem,2vw,1.3rem); max-width: 690px; }
.public-site-v3 .button-primary { background: var(--blue); box-shadow: 0 14px 32px rgba(20,104,232,.23); }
.public-site-v3 .button-primary:hover { background: #0d57ca; }
.public-site-v3 .textbook-belief { background: linear-gradient(135deg,#071d35,#0b3056); }
.public-site-v3 .belief-diagram,
.public-site-v3 .school-diagram {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 12px;
  align-items: center;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 28px;
  background: rgba(255,255,255,.06);
}
.public-site-v3 .belief-diagram strong,
.public-site-v3 .school-diagram strong {
  grid-column: 1/-1;
  justify-self: center;
  padding: 24px;
  border-radius: 50%;
  background: var(--mint);
  color: var(--navy);
}
.public-site-v3 .belief-diagram span,
.public-site-v3 .school-diagram span {
  padding: 12px;
  text-align: center;
  border-radius: 14px;
  background: rgba(255,255,255,.1);
}
.public-site-v3 .parent-detail .insight-card,
.public-site-v3 .insight-card {
  display: grid;
  gap: 12px;
  padding: clamp(24px,5vw,42px);
  border-radius: 28px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(9,34,62,.12);
}
.public-site-v3 .insight-card small { color: #557084; font-weight: 800; letter-spacing: .12em; }
.public-site-v3 .insight-card strong { font-size: 1.6rem; color: var(--navy); }
.public-site-v3 .insight-card p { margin: 0; padding: 13px 0; border-top: 1px solid var(--line); }
.public-site-v3 .clean-list { display: grid; gap: 10px; padding: 0; list-style: none; }
.public-site-v3 .clean-list li { position: relative; padding-left: 26px; }
.public-site-v3 .clean-list li::before { content: "✓"; position: absolute; left: 0; color: #138269; font-weight: 900; }
.public-site-v3 .command-cloud { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0; }
.public-site-v3 .command-cloud span { padding: 9px 12px; border: 1px solid rgba(255,255,255,.2); border-radius: 999px; font-size: .86rem; font-weight: 750; }
.public-site-v3 .curriculum-hierarchy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 28px; }
.public-site-v3 .curriculum-hierarchy span { padding: 8px 11px; border-radius: 999px; background: #fff; border: 1px solid var(--line); font-size: .82rem; font-weight: 800; }
.public-site-v3 .curriculum-hierarchy i { color: var(--blue); font-style: normal; }
.public-site-v3 .teacher-v3 { background: linear-gradient(145deg,#071d35,#0a2b4d); }
.public-site-v3 .lifecycle { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; padding: 0; list-style: none; }
.public-site-v3 .lifecycle li { position: relative; padding: 20px 12px; border: 1px solid rgba(255,255,255,.18); border-radius: 16px; text-align: center; font-weight: 800; background: rgba(255,255,255,.05); }
.public-site-v3 .lifecycle li:not(:last-child)::after { content: "→"; position: absolute; right: -10px; color: var(--mint); }
.public-site-v3 .teacher-notes { display: grid; gap: 20px; margin: 28px 0; padding: 24px; border-left: 4px solid var(--mint); background: rgba(255,255,255,.06); }
.public-site-v3 .teacher-contribution-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 0 0 24px; }
.public-site-v3 .teacher-contribution-grid span { padding: 14px 16px; border: 1px solid rgba(255,255,255,.16); border-radius: 14px; color: #d9edf7; background: rgba(255,255,255,.05); font-weight: 750; }
.public-site-v3 .school-v3 .school-diagram { border-color: var(--line); background: var(--paper); }
.public-site-v3 .school-v3 .school-diagram span { background: #fff; color: var(--ink); box-shadow: 0 8px 24px rgba(9,34,62,.07); }
.public-site-v3 .technology-grid { display: grid; gap: 14px; margin-top: 34px; }
.public-site-v3 .technology-grid article { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: #fff; transition: transform .25s ease,box-shadow .25s ease; }
.public-site-v3 .technology-grid article:hover { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(9,34,62,.09); }
.public-site-v3 .technology-grid h3 { font-size: 1.05rem; }
.public-site-v3 .technology-grid p { margin-bottom: 0; }
.public-site-v3 .purpose-v3 { background: var(--paper); }
.public-site-v3 .purpose-grid { display: grid; gap: 18px; }
.public-site-v3 .purpose-grid article { padding: clamp(26px,4vw,48px); border-radius: 28px; background: #fff; border: 1px solid #e5e0d6; }
.public-site-v3 .purpose-grid h2 { font-size: clamp(1.45rem,3vw,2.25rem); }
.public-site-v3 .principles-v3 { background: #081f39; }
.public-site-v3 .principles-v3-grid { display: grid; gap: 10px; padding: 0; list-style: none; }
.public-site-v3 .principles-v3-grid li { padding: 18px; border: 1px solid rgba(255,255,255,.16); border-radius: 15px; background: rgba(255,255,255,.05); font-weight: 700; }
.public-site-v3 .founder-v3 { display: grid; gap: 30px; align-items: center; margin-bottom: 60px; }
.public-site-v3 .founder-placeholder { display: grid; place-items: center; aspect-ratio: 4/5; max-width: 380px; border-radius: 28px; background: linear-gradient(145deg,#d8eaf8,#bcebdc); color: var(--navy); font-size: clamp(4rem,10vw,8rem); font-weight: 900; letter-spacing: -.08em; }
.public-site-v3 .founder-v3 blockquote { margin: 24px 0; padding: 20px 0 20px 24px; border-left: 4px solid var(--blue); font-size: 1.18rem; font-weight: 650; }
.public-site-v3 .status-label.controlled { border-color: #efb37c; color: #643611; background: #ffdfbf; }
.public-site-v3 .map-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.public-site-v3 .map-links a { display: inline-flex; min-height: 44px; align-items: center; padding: 10px 14px; border: 1px solid var(--line); border-radius: 12px; font-weight: 800; background: #fff; }
.public-site-v3 .contact-purpose-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.public-site-v3 .contact-purpose-links a { display: inline-flex; min-height: 42px; align-items: center; padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; color: var(--blue); background: #fff; font-size: .84rem; font-weight: 800; }
.public-site-v3 :focus-visible { outline: 3px solid #ff8c42 !important; outline-offset: 4px !important; }
.public-site-v3 .button,
.public-site-v3 button,
.public-site-v3 input,
.public-site-v3 select,
.public-site-v3 textarea { min-height: 44px; }

@media (min-width: 600px) {
  .public-site-v3 .lifecycle { grid-template-columns: repeat(4,1fr); }
  .public-site-v3 .teacher-contribution-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .public-site-v3 .technology-grid,
  .public-site-v3 .principles-v3-grid { grid-template-columns: repeat(2,1fr); }
}
@media (min-width: 768px) {
  .public-site-v3 .founder-v3 { grid-template-columns: minmax(240px,.72fr) 1.28fr; }
  .public-site-v3 .purpose-grid { grid-template-columns: 1fr 1fr; }
  .public-site-v3 .teacher-notes { grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .public-site-v3 .lifecycle { grid-template-columns: repeat(7,1fr); }
  .public-site-v3 .technology-grid { grid-template-columns: repeat(4,1fr); }
  .public-site-v3 .principles-v3-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 1120px) {
  .public-site-v3 .header-navigation { max-height: calc(100vh - 96px); overflow-y: auto; }
}
@media (max-width: 430px) {
  .public-site-v3 .site-shell { width: min(100% - 28px,1180px); }
  .public-site-v3 .section-pad { padding-top: 72px; padding-bottom: 72px; }
  .public-site-v3 .belief-diagram,
  .public-site-v3 .school-diagram { padding: 18px; }
  .public-site-v3 .lifecycle li { font-size: .88rem; }
}
