/* Original blue/white brand palette, with the refreshed layout and motion retained. */
.public-site { --public-navy:#072f63; --public-blue:#0768d7; --public-teal:#00a994; --public-ink:#10243c; background:#fff; }
.public-site .public-header { background:#fffffff2; border-bottom:1px solid #dce7ef; padding-block:12px; }
.public-site .public-brand { letter-spacing:-.04em; }
.public-site .public-nav a { color:#38506b; font-size:12px; }
.public-site :is(button,a,input,select):focus-visible { outline:3px solid #0768d7; outline-offset:4px; }
.public-site :is(.public-cta,.public-secondary) { border-radius:12px; min-height:48px; padding:12px 20px; font-size:14px; font-weight:700; gap:16px; }
.public-site .public-cta { background:linear-gradient(135deg,#0768d7,#087a6b); color:#fff; box-shadow:0 4px 0 #064b9b,0 10px 20px #0768d714; }
.public-site .public-secondary { color:#38506b; border-color:#b9ccda; background:#ffffffa8; box-shadow:none; }
.public-site .public-actions .public-cta { min-height:42px; padding:8px 15px; font-size:12px; }
.public-site .public-hero { position:relative; isolation:isolate; grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr); max-width:1440px; min-height:720px; padding:72px clamp(24px,5vw,80px) 80px; gap:clamp(28px,5vw,80px); background:radial-gradient(ellipse at 92% 40%,#e3fbf4,transparent 50%),radial-gradient(ellipse at 3% 0,#edf3ff,transparent 48%),#fff; }
.public-site .public-hero::before { content:""; position:absolute; z-index:-1; width:430px; height:430px; right:-140px; top:64px; border:1px solid #93b5dc3d; border-radius:50%; box-shadow:0 0 0 48px #93b5dc10,0 0 0 96px #93b5dc08; pointer-events:none; }
.public-site .hero-copy { min-width:0; }
.public-site .hero-copy .public-eyebrow { display:flex; align-items:center; gap:9px; color:#087a6b; font-size:10px; letter-spacing:.13em; margin-bottom:26px; }
.hero-status-dot { flex:0 0 auto; width:7px; height:7px; border-radius:50%; background:#087a6b; box-shadow:0 0 0 5px #087a6b12; }
.public-site .public-hero h1 { font-size:clamp(46px,5.1vw,74px); line-height:1.035; letter-spacing:-.065em; font-weight:750; color:#072f63; }
.public-site .public-hero h1 em { display:block; color:#0768d7; font-weight:500; }
.public-site .hero-lead { max-width:465px; margin-top:25px; font-size:16px; line-height:1.8; color:#52677d; }
.public-site .hero-actions { margin-top:28px; gap:12px; }
.hero-benefits { display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:27px; font-size:11px; color:#52677d; }
.hero-benefits span::before { content:"✓"; color:#087a6b; margin-right:6px; }
.public-site .hero-tagline { margin-top:23px; font-size:11px; font-weight:500; color:#52677d; }
.public-site .intelligence-preview { min-width:0; padding:27px; background:#fff; border:1px solid #dce7ef; border-radius:24px; box-shadow:0 24px 55px -25px #123b5d50,0 3px 9px #123b5d08; transform:rotate(1deg); }
.public-site .intelligence-preview::before { display:none; }
.public-site .preview-top { align-items:center; gap:12px; font-size:9px; color:#52677d; letter-spacing:.1em; }
.public-site .preview-top>span { display:flex; gap:6px; align-items:center; }
.preview-top i { width:6px; height:6px; background:#087a6b; border-radius:50%; }
.public-site .preview-top strong { font-weight:500; letter-spacing:0; padding:5px 8px; background:#eef8f6; color:#52677d; border-radius:6px; }
.public-site .intelligence-preview h2 { color:#072f63; font-size:30px; letter-spacing:-.045em; line-height:1.2; margin:24px 0 7px; font-weight:650; }
.public-site .preview-subtitle { font-size:12px; color:#52677d; margin:0; }
.public-site .preview-score { padding:16px 0 12px; margin:4px 0 0; background:none; }
.public-site .preview-score>div:first-child>span { color:#52677d; font-size:8px; font-weight:650; letter-spacing:.13em; }
.public-site .preview-score strong { color:#072f63; font-size:55px; line-height:1.18; font-weight:600; letter-spacing:-.05em; }
.public-site .preview-score strong span { font-size:24px; color:#0768d7; }
.public-site .preview-score small { font-size:9px; color:#52677d; }
.public-site .progress-ring { width:82px; height:82px; background:conic-gradient(from -100deg,#00a994 72%,#dce8eb 0); }
.public-site .progress-ring::before { background:#fff; width:65px; height:65px; }
.public-site .progress-ring span { font-size:29px; font-weight:400; color:#0768d7; }
.preview-trajectory { margin:9px 0 16px; }
.preview-trajectory>div { display:flex; justify-content:space-between; gap:8px; font-size:9px; color:#52677d; }
.preview-trajectory>div>span:last-child { color:#087a6b; }
.preview-trajectory svg { width:100%; height:72px; display:block; margin-top:10px; overflow:visible; }
.trajectory-guide { stroke:#dce8eb; stroke-width:1; stroke-dasharray:3 5; }
.trajectory-area { fill:#edf6ff; }
.trajectory-line { stroke:#0768d7; stroke-width:3; stroke-linecap:round; }
.insight-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:4px; gap:3px; border-radius:10px; background:#edf6ff; }
.public-site .insight-tabs button { min-width:0; padding:8px 3px; min-height:39px; font-size:11px; border:0; border-radius:7px; background:transparent; color:#52677d; box-shadow:none; transition:none; }
.public-site .insight-tabs button[aria-selected="true"] { background:#fff; color:#072f63; box-shadow:0 1px 4px #123b5d15; }
.public-site .preview-insight { min-height:100px; padding:16px 2px 4px; border:0; background:transparent; }
.public-site .preview-insight span { font-size:13px; text-transform:none; color:#52677d; font-weight:700; }
.public-site .preview-insight p { color:#52677d; font-size:12px; line-height:1.65; }
.public-site .intelligence-preview>button { display:flex; align-items:center; justify-content:space-between; border:1px solid #dce7ef; background:#edf3ff; color:#38506b; min-height:44px; border-radius:9px; padding:10px 13px; font-size:11px; margin-top:8px; }
.public-site .trust-ribbon { padding:25px; background:#072f63; color:#e3eefb; font-size:11px; letter-spacing:.13em; gap:clamp(12px,4vw,58px); }
.public-site .trust-ribbon b { color:#9cdce4; font-weight:400; }
.public-site .public-section { padding-block:76px; }
.public-site :is(.story-lead h2,.tutor-copy h2,.verified-section h2,.section-intro h2) { font-weight:650; line-height:1.15; letter-spacing:-.045em; }
.public-site .story-section { gap:clamp(28px,5vw,72px); }
.public-site .public-eyebrow { color:#087a6b; font-size:10px; }
.public-site .signal-stack article { background:#fff; border-color:#dce7ef; border-radius:16px; padding:21px; }
.public-site .signal-stack article>span { background:#edf3ff; color:#087a6b; font-size:12px; }
.public-site :is(.signal-stack p,.story-lead>p:last-child,.tutor-copy>p) { color:#52677d; }
.public-site .public-tint { background:#f5f9fc; }
.public-site .tutor-board { border-color:#d6e5ec; box-shadow:0 20px 45px -25px #123b5d55; }
.public-site .board-toolbar { background:#214b3d; }
.public-site .board-canvas { background-color:#153d31; background-image:radial-gradient(#ffffff07 .8px,transparent .8px); background-size:5px 5px; }
.public-site :is(.board-note,.fraction-row,.board-canvas p) { color:#e3eefb; }
.public-site .board-canvas svg { stroke:#d1e5a9; fill:#ffffff0a; }
.public-site .board-actions { background:#edf3ff; }
.public-site .board-actions span { border-color:#cbddee; color:#38586c; background:#fff; }
.public-site .intelligence-cards article { border-color:#dce7ef; box-shadow:none; background:#fff; }
.public-site .intelligence-cards .feature-major { background:#072f63; }
.public-site :is(.feature-major .mini-metrics b) { color:#e3eefb; }
.public-site .intelligence-cards .feature-major>span { color:#9cdce4; }
.public-site .intelligence-cards .feature-major p { color:#e3eefb; }
.public-site :is(.public-exam-card,.program-product-card,.audience-grid article,.plan-grid article) { background:#fff; border-color:#dce7ef; border-radius:17px; box-shadow:0 5px 20px #123b5d05; }
.public-site :is(.plan-grid .featured-plan,.readiness-callout) { background:#072f63; }
.public-site .plan-grid .featured-plan :is(h3,p) { color:#e3eefb; }
.public-site .readiness-bars b { background:#0768d7; }
.public-site .readiness-bars small { color:#fff; text-shadow:0 1px 3px #072f63; }
.public-site .readiness-callout h3 { color:#e3eefb; }
.public-site .readiness-callout p { color:#e3eefb; }
.public-site .public-final { background:linear-gradient(120deg,#07366d,#056b88,#087a6b); padding-block:64px; }
.public-site .public-final :is(h2,p) { color:#e3eefb; }
.public-site :is(.public-final,.featured-plan) .public-cta { background:#fff; color:#072f63; border-color:#fff; box-shadow:0 4px 0 #b9ccda; }
.public-site .public-footer { background:#f5f9fc; border-top:1px solid #dce7ef; }
.public-site .public-footer :is(p,a) { color:#38506b; }
.public-site .public-footer :is(h3,.public-brand) { color:#072f63; }
.motion-toggle { white-space:nowrap; font:inherit; cursor:pointer; }
.public-site .motion-toggle { min-height:38px; font-size:10px; padding:7px 10px; color:#38506b; background:#edf3ff; border:1px solid #dce7ef; border-radius:8px; box-shadow:none; }
.public-site .motion-toggle:disabled { opacity:1; cursor:default; }
@keyframes experience-enter { from { opacity:.55; transform:translateY(12px); } to { opacity:1; transform:none; } }
@keyframes experience-line { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@keyframes experience-preview { from { opacity:.4; transform:translateY(18px) rotate(0); } to { opacity:1; transform:translateY(0) rotate(1deg); } }
@media (prefers-reduced-motion:no-preference) {
  html[data-motion="on"] .public-site .experience-enter { animation:experience-enter .65s ease-out both; }
  html[data-motion="on"] .public-site .intelligence-preview.experience-enter { animation:experience-preview .8s ease-out both; }
  html[data-motion="on"] .public-site .experience-enter .trajectory-line { stroke-dasharray:1; animation:experience-line 1.5s ease-out both; }
  html[data-motion="on"] .public-site :is(.public-cta,.public-secondary,.signal-stack article,.intelligence-cards article,.program-product-card,.public-exam-card) { transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; }
  @media(hover:hover) {
    html[data-motion="on"] .public-site :is(.public-cta,.public-secondary):hover { transform:translateY(-2px); }
    html[data-motion="on"] .public-site :is(.signal-stack article,.intelligence-cards article,.program-product-card,.public-exam-card):hover { transform:translateY(-3px); border-color:#97b8da; box-shadow:0 12px 28px #123b5d12; }
  }
}
html[data-motion="off"] .public-site .experience-enter { animation:none; }
@media(max-width:1200px) { .public-site .public-header { gap:12px; } .public-site .public-nav { gap:10px; } .public-site .public-nav a { font-size:11px; } }
@media(max-width:1050px) { .public-site .public-hero { grid-template-columns:minmax(0,1fr) minmax(320px,.9fr); padding:55px 26px; gap:28px; min-height:0; } .public-site .public-hero h1 { font-size:clamp(45px,6vw,64px); } .public-site .intelligence-preview { padding:22px; } }
@media(max-width:800px) { .public-site .public-hero { grid-template-columns:1fr; padding:48px 24px; gap:40px; } .public-site .hero-break { display:none; } .public-site .public-hero h1 { font-size:clamp(46px,8.7vw,65px); } .public-site .hero-lead { max-width:540px; } .public-site .intelligence-preview { width:100%; max-width:480px; justify-self:center; transform:none; } .public-site .public-section { padding-block:48px; } .public-site .trust-ribbon { gap:18px; font-size:9px; } }
@media(max-width:480px) { .public-site .public-header { gap:9px; padding:8px 14px; } .public-site .public-brand img { width:36px; height:36px; } .public-site .public-actions { margin-left:auto; gap:5px; } .public-site .public-login { padding:7px 8px!important; font-size:12px; } .public-site .motion-toggle { font-size:9px; padding:7px; } .public-site .hero-actions { align-items:stretch; } .public-site .hero-actions :is(a,button) { flex:1 1 170px; } .public-site .hero-copy .public-eyebrow { font-size:8px; } .public-site .public-hero { padding-inline:20px; } .public-site .preview-top { font-size:8px; gap:5px; } .public-site .intelligence-preview { padding:20px; } }
@media print { .motion-toggle { display:none!important; } .public-site .experience-enter { animation:none!important; transform:none!important; } }
