:root{--bg: #f4efe6;--surface: rgba(255, 255, 255, .7);--surface-strong: #fffaf2;--ink: #102033;--muted: #556273;--line: rgba(16, 32, 51, .12);--navy: #16324f;--teal: #14746f;--lime: #d8f171;--orange: #f58b54;--shadow: 0 22px 60px rgba(16, 32, 51, .12);--radius-xl: 28px;--radius-lg: 22px;--radius-md: 16px;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(216,241,113,.36),transparent 28%),radial-gradient(circle at right 20%,rgba(20,116,111,.16),transparent 24%),linear-gradient(180deg,#faf6ee 0%,var(--bg) 100%);color:var(--ink);font-family:IBM Plex Sans,sans-serif}a{color:inherit;text-decoration:none}p,li{color:var(--muted);line-height:1.65}h1,h2,h3,.eyebrow,.button,.panel-chip,.signal-value,.step-index,.footer-brand{font-family:Space Grotesk,sans-serif}.container{width:min(1120px,calc(100% - 40px));margin:0 auto}.hero{position:relative;overflow:hidden;padding:88px 0 44px}.hero-grid{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center}.hero-copy h1{margin:0;font-size:clamp(3.6rem,7vw,6.6rem);line-height:.92;letter-spacing:-.06em}.eyebrow{margin:0 0 14px;color:var(--teal);font-size:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.hero-tagline{max-width:620px;margin:18px 0 14px;color:var(--ink);font-size:clamp(1.2rem,2vw,1.6rem);font-weight:600}.hero-body{max-width:620px;font-size:1.08rem}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;border:1px solid transparent;font-size:.96rem;font-weight:700;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(135deg,var(--navy),#23476d);color:#fff;box-shadow:0 16px 32px #16324f33}.button-secondary{background:#ffffffa3;border-color:var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-panel{position:relative}.panel-shell{position:relative;padding:24px;border:1px solid rgba(255,255,255,.55);border-radius:var(--radius-xl);background:linear-gradient(180deg,#ffffffd1,#fffaf2eb),linear-gradient(135deg,#d8f17138,#14746f24);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.panel-chip{display:inline-flex;margin-bottom:14px;padding:8px 12px;border-radius:999px;background:#d8f17199;color:var(--navy);font-size:.82rem;font-weight:700}.panel-shell h2{margin:0 0 18px;color:var(--ink);font-size:1.9rem;line-height:1.05}.problem-card,.diagnosis-card,.scope-panel,.info-card,.workflow-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffc7}.problem-card,.diagnosis-card{padding:18px}.problem-card{margin-bottom:12px}.problem-label,.panel-title{margin:0 0 8px;color:var(--navy);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.problem-text{margin:0;color:var(--ink);font-size:1.05rem;font-weight:600}.diagnosis-card ul,.scope-list{margin:0;padding-left:18px}.mastery-strip{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.mastery-strip span,.pill{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:#16324f14;color:var(--navy);font-size:.92rem;font-weight:700}.signal-bar{padding:18px 0 10px}.signal-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.signal-grid>div{padding:18px;border:1px solid var(--line);border-radius:var(--radius-md);background:#ffffffc2;box-shadow:0 8px 24px #1020330f}.diagnostic-layout,.mastery-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:24px;align-items:start}.auth-layout{display:grid;grid-template-columns:1fr .95fr;gap:24px;align-items:start}.section-auth{background:linear-gradient(180deg,#14746f0a,#16324f0a)}.auth-strip{border-bottom:1px solid var(--line);background:#fff9;font-size:.9rem}.auth-strip-inner{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:10px 0}.link-button{background:none;border:none;color:var(--ink);cursor:pointer;font:inherit;padding:0;text-decoration:underline;text-underline-offset:3px}.link-button:hover{color:var(--accent, #14746f)}.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px}@media (max-width: 760px){.cta-grid{grid-template-columns:1fr}}.cta-card{display:flex;flex-direction:column;gap:12px;padding:28px;border:1px solid var(--line);border-radius:var(--radius-xl);background:#ffffffd9;box-shadow:0 18px 44px #10203314}.cta-card h3{margin:0;color:var(--ink);font-size:1.4rem}.cta-card .button{align-self:flex-start;margin-top:8px}.how-onboarding-works{margin-top:32px;padding:18px 22px;border:1px solid var(--line);border-radius:var(--radius-xl);background:#fff9}.how-onboarding-works summary{cursor:pointer;-webkit-user-select:none;user-select:none}.how-onboarding-works[open] summary{margin-bottom:12px}.auth-shell,.auth-card{height:100%}.auth-card{display:flex;flex-direction:column;gap:14px;padding:22px;border:1px solid var(--line);border-radius:var(--radius-xl);background:#ffffffd1;box-shadow:0 18px 44px #10203314}.auth-card h3{margin:0;color:var(--ink);font-size:1.6rem}.auth-copy{margin:0}.relationship-list{display:grid;gap:12px}.relationship-card{padding:16px;border:1px solid var(--line);border-radius:18px;background:#ffffffb3}.relationship-card h3{margin:0 0 6px;color:var(--ink);font-size:1.2rem}.teacher-signal-grid,.dashboard-activity-grid{margin-bottom:18px}.teacher-controls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-bottom:18px}.teacher-filter-row{margin-bottom:18px}.teacher-filter-field{max-width:320px}.classroom-grid{margin-bottom:18px}.classroom-pill-row{margin-top:16px}.auth-toggle{display:inline-flex;gap:8px;align-self:flex-start;padding:6px;border-radius:999px;background:#16324f0f}.toggle-chip{min-height:38px;padding:0 14px;border:0;border-radius:999px;background:transparent;color:var(--navy);font:inherit;font-weight:700;cursor:pointer}.toggle-chip-active{background:#fff;box-shadow:0 8px 18px #10203314}.intake-form,.result-shell,.recent-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:#ffffffd1;box-shadow:0 18px 44px #10203314}.intake-form{margin-top:22px;padding:22px}.form-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:14px}.field{display:flex;flex-direction:column;gap:8px}.field span{color:var(--navy);font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid rgba(16,32,51,.16);border-radius:16px;background:#fffdf8;color:var(--ink);font:inherit;padding:14px 16px;outline:none;transition:border-color .16s ease,box-shadow .16s ease}.field input:focus,.field select:focus,.field textarea:focus{border-color:#14746f80;box-shadow:0 0 0 4px #14746f1a}.field-block{margin-top:14px}.field textarea{min-height:180px;resize:vertical}.form-actions{display:flex;align-items:center;gap:16px;margin-top:18px}.button:disabled{opacity:.7;cursor:wait;transform:none}.form-error{margin:0;color:#b42318;font-weight:600}.result-shell{padding:24px;background:linear-gradient(180deg,#ffffffeb,#faf6eef5),linear-gradient(135deg,#14746f1f,#d8f17124)}.result-shell h3,.recent-card h3{margin:0 0 16px;color:var(--ink);font-size:1.5rem;line-height:1.1}.repair-actions{margin-top:16px}.result-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.result-metrics>div,.result-block{padding:14px 16px;border:1px solid var(--line);border-radius:18px;background:#ffffffbd}.metric-label{display:block;margin-bottom:6px;color:var(--navy);font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.result-metrics strong{color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:1.05rem}.result-block+.result-block{margin-top:12px}.result-block p,.empty-state{margin:0}.recent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.recent-card{padding:20px}.recent-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.recent-meta span{padding:7px 10px;border-radius:999px;background:#16324f14;color:var(--navy);font-size:.8rem;font-weight:700}.recent-card p{margin:0}.recent-card-empty{grid-column:1 / -1}.section-repair{background:linear-gradient(180deg,#16324f08,#14746f14)}.repair-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.repair-card,.repair-empty{border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffd1;box-shadow:0 18px 44px #10203314}.repair-card{padding:22px}.repair-card-feature{background:linear-gradient(180deg,#ffffffe0,#fffaf2f0),linear-gradient(135deg,#d8f17129,#14746f1f)}.repair-card p,.repair-empty p{margin:0}.repair-card h3{margin:0 0 10px;color:var(--ink);font-size:1.45rem}.repair-list{margin:0;padding-left:18px;color:var(--muted)}.repair-list li+li{margin-top:10px}.repair-empty{padding:26px;text-align:center}.signal-value{margin:0 0 6px;color:var(--ink);font-size:1.25rem;font-weight:700}.signal-label{margin:0;font-size:.92rem}.section{padding:72px 0}.section-tinted{background:linear-gradient(180deg,#14746f0d,#d8f1710f)}.section-dark{background:linear-gradient(180deg,#12283f,#102033)}.section-dark .eyebrow,.section-dark h2,.section-dark p{color:#f5f1e7}.section-heading{max-width:760px;margin:0 auto 28px;text-align:center}.section-heading.left{margin:0 0 18px;text-align:left}.section-heading h2{margin:0;font-size:clamp(2rem,4vw,3.2rem);line-height:1.02;letter-spacing:-.04em}.section-copy{max-width:620px;margin:0;font-size:1.02rem}.card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card-grid:not(.four-up){grid-template-columns:repeat(2,1fr)}.info-card,.workflow-card{padding:22px}.info-card p,.workflow-card p{margin:0}.workflow-card{position:relative;min-height:210px}.workflow-card h3{margin:0 0 10px;font-size:1.35rem}.step-index{display:inline-flex;margin-bottom:18px;color:var(--orange);font-size:.92rem;font-weight:700}.scope-grid{display:grid;grid-template-columns:1fr .9fr;gap:24px;align-items:start}.pill-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.scope-panel{padding:24px;background:var(--surface-strong);box-shadow:0 16px 36px #10203314}.scope-note{margin-top:18px;padding-top:18px;border-top:1px solid var(--line);color:var(--ink)}.moat-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.moat-item{display:flex;gap:14px;align-items:flex-start;padding:20px;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-md);background:#ffffff0a}.moat-item p{margin:0}.moat-mark{color:var(--lime);font-size:1.4rem;font-weight:700;line-height:1}.site-footer{padding:32px 0 48px}.footer-inner{display:flex;justify-content:space-between;gap:20px;padding-top:16px;border-top:1px solid var(--line)}.footer-brand{margin:0 0 6px;color:var(--ink);font-size:1.2rem;font-weight:700}.footer-copy{margin:0}.footer-meta{display:flex;flex-wrap:wrap;gap:12px;align-content:flex-start}.footer-meta span{padding:8px 12px;border-radius:999px;background:#16324f14;color:var(--navy);font-size:.9rem;font-weight:600}.hero-orbit{position:absolute;border-radius:999px;filter:blur(18px);opacity:.6}.hero-orbit-a{top:-80px;right:8%;width:240px;height:240px;background:#d8f17185;animation:float-slow 14s ease-in-out infinite}.hero-orbit-b{left:-80px;bottom:120px;width:180px;height:180px;background:#14746f2e;animation:float-slow 18s ease-in-out infinite reverse}@keyframes float-slow{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,18px,0)}}@media (max-width: 960px){.hero-grid,.auth-layout,.diagnostic-layout,.mastery-layout,.scope-grid,.card-grid,.card-grid:not(.four-up),.signal-grid,.moat-list,.recent-grid,.repair-grid,.teacher-controls-grid{grid-template-columns:1fr}.hero{padding-top:64px}.hero-copy h1{font-size:clamp(3rem,16vw,4.6rem)}.footer-inner{flex-direction:column}}@media (max-width: 640px){.container{width:min(100% - 24px,1120px)}.section{padding:56px 0}.panel-shell,.intake-form,.result-shell,.scope-panel,.info-card,.workflow-card{padding:18px}.form-grid,.result-metrics{grid-template-columns:1fr}.hero-actions{flex-direction:column}.button{width:100%}.form-actions{flex-direction:column;align-items:stretch}}
