:root{
    --bg:#f7f8fc;
    --bg-soft:#eef1fa;
    --surface:#ffffff;
    --surface-2:#fbfbfe;
    --ink:#13141f;
    --ink-2:rgba(19,20,31,0.66);
    --ink-3:rgba(19,20,31,0.46);
    --indigo:#4f46e5;
    --indigo-2:#6d5ef0;
    --indigo-soft:#eef0ff;
    --indigo-line:rgba(79,70,229,0.22);
    --teal:#0d9488;
    --teal-soft:#e3f6f3;
    --teal-line:rgba(13,148,136,0.22);
    --amber:#b45309;
    --amber-soft:#fef3c7;
    --amber-line:rgba(180,83,9,0.28);
    --rose:#be185d;
    --border:rgba(19,20,31,0.10);
    --border-soft:rgba(19,20,31,0.07);
    --shadow-sm:0 1px 2px rgba(24,29,52,0.05);
    --shadow-md:0 10px 28px rgba(28,34,64,0.08);
    --shadow-lg:0 30px 70px rgba(28,34,64,0.14);
    --h:'Poppins','Inter Tight',sans-serif;
    --serif:'Fraunces',Georgia,serif;
    --body:'Inter',sans-serif;
    --mono:'JetBrains Mono',monospace;
    --av-1:#4f46e5;--av-2:#0d9488;--av-3:#ea580c;--av-4:#db2777;--av-5:#7c3aed;--av-6:#0891b2;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{text-decoration:none;color:inherit}
ul{list-style:none}
img,svg{display:block;max-width:100%}
svg.icon{width:1em;height:1em;max-width:none;flex-shrink:0}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem)}

.bg-dots{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:radial-gradient(circle,rgba(79,70,229,0.05) 1px,transparent 1px);background-size:26px 26px}
.bg-glow{position:fixed;top:-16%;left:50%;transform:translateX(-50%);width:1100px;height:640px;background:radial-gradient(ellipse at center,rgba(79,70,229,0.09) 0%,rgba(13,148,136,0.06) 40%,transparent 72%);pointer-events:none;z-index:0}
header,main,footer{position:relative;z-index:1}

.reveal{opacity:0;transform:translateY(14px);transition:opacity .55s ease,transform .55s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.r1{transition-delay:.04s}.r2{transition-delay:.1s}.r3{transition-delay:.18s}.r4{transition-delay:.27s}.r5{transition-delay:.37s}.r6{transition-delay:.47s}

/* ── NAV ── */
.nav{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1.25rem,5vw,3rem);border-bottom:1px solid var(--border-soft);background:rgba(247,248,252,0.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;z-index:100}
.nav-left{display:flex;align-items:center;gap:2.1rem}
.nav-brand{display:flex;align-items:center;gap:.55rem;flex-shrink:0}
.nav-logo-mark{width:30px;height:30px;border-radius:9px;background:linear-gradient(135deg,var(--indigo),var(--teal));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.nav-logo-mark svg{width:16px;height:16px;stroke:#fff;fill:none;stroke-width:1.8}
.nav-logo-wordmark{font-family:var(--h);font-size:1.05rem;font-weight:600;color:var(--ink);letter-spacing:-0.02em}
.nav-logo-wordmark--solo{font-size:1.2rem;font-weight:700;letter-spacing:-0.03em}
.nav-logo-img{display:block;height:36px;width:auto;max-width:min(188px,52vw);object-fit:contain}
.nav-logo-tag{font-family:var(--mono);font-size:0.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--indigo);background:var(--indigo-soft);border:1px solid var(--indigo-line);border-radius:5px;padding:.2rem .4rem;margin-left:.1rem}
.nav-links{display:flex;align-items:center;gap:.15rem}
.nav-link{font-size:0.87rem;color:var(--ink-2);padding:.5rem .75rem;border-radius:8px;transition:color .15s,background .15s}
.nav-link:hover{color:var(--ink);background:rgba(19,20,31,0.045)}
.nav-right{display:flex;align-items:center;gap:.6rem}
.btn-nav-ghost{font-size:0.84rem;color:var(--ink-2);padding:.5rem .85rem;transition:color .15s}
.btn-nav-ghost:hover{color:var(--ink)}
.btn-nav-primary{display:inline-flex;align-items:center;gap:.35rem;font-size:0.84rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--indigo),var(--indigo-2));border-radius:999px;padding:.55rem 1.15rem;transition:transform .15s,box-shadow .15s;white-space:nowrap;box-shadow:0 6px 18px rgba(79,70,229,0.28)}
.btn-nav-primary:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(79,70,229,0.34)}

.nav-mob-btn{display:none;flex-direction:column;justify-content:center;gap:4.5px;background:none;border:1px solid var(--border);border-radius:8px;padding:.4rem .5rem;cursor:pointer;margin-left:.3rem;flex-shrink:0}
.nav-mob-btn span{display:block;width:18px;height:1.6px;background:var(--ink);border-radius:2px;transition:transform .22s ease,opacity .18s ease}
.nav-mob-btn.open span:nth-child(1){transform:translateY(6px) rotate(45deg)}
.nav-mob-btn.open span:nth-child(2){opacity:0}
.nav-mob-btn.open span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
.nav-mob-menu{position:fixed;top:64px;left:0;right:0;z-index:98;background:rgba(255,255,255,0.98);border-bottom:1px solid var(--border);backdrop-filter:blur(20px);padding:1rem 1.5rem 1.6rem;max-height:calc(100vh - 64px);overflow-y:auto;transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}
.nav-mob-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
.nav-mob-link{display:block;font-size:.95rem;color:var(--ink-2);padding:.65rem .1rem;border-bottom:1px solid var(--border-soft)}
.nav-mob-link:last-child{border-bottom:none}
.nav-mob-ctas{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.nav-mob-cta-primary{display:block;text-align:center;font-size:.9rem;font-weight:600;color:#fff;background:linear-gradient(135deg,var(--indigo),var(--indigo-2));padding:.75rem;border-radius:999px}
@media(max-width:860px){.nav-links{display:none}.nav-mob-btn{display:flex}.btn-nav-ghost{display:none}}

/* ── TYPOGRAPHY ── */
.kicker{display:inline-flex;align-items:center;gap:.42rem;font-family:var(--mono);font-size:0.62rem;letter-spacing:0.18em;text-transform:uppercase;color:var(--indigo);padding:.28rem .6rem;border:1px solid var(--indigo-line);border-radius:999px;background:var(--indigo-soft);font-weight:600;margin-bottom:1rem}
.kicker--teal{color:var(--teal);border-color:var(--teal-line);background:var(--teal-soft)}
.kicker-dot{width:4px;height:4px;border-radius:50%;background:currentColor}
.italic-accent{font-family:var(--serif);font-style:italic;font-weight:500;letter-spacing:-0.01em;background:linear-gradient(120deg,var(--indigo) 0%,var(--teal) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.04em}
.accent-i{background:linear-gradient(120deg,var(--indigo) 10%,var(--indigo-2) 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.accent-t{background:linear-gradient(120deg,var(--teal) 10%,#14b8a6 90%);-webkit-background-clip:text;background-clip:text;color:transparent}
.sh{font-family:var(--h);font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:600;letter-spacing:-0.02em;line-height:1.14;color:var(--ink)}
.sub{font-size:clamp(0.94rem,1.2vw,1.03rem);color:var(--ink-2);line-height:1.65;margin-top:0.7rem}
.sh-center{text-align:center}
.sh-center .sub{max-width:600px;margin-left:auto;margin-right:auto}

/* BUTTONS */
.btn-p{display:inline-flex;align-items:center;gap:.42rem;background:linear-gradient(135deg,var(--indigo),var(--indigo-2));color:#fff;font-weight:600;border-radius:999px;padding:.82rem 1.6rem;font-size:0.9rem;transition:transform .15s,box-shadow .15s;cursor:pointer;border:none;letter-spacing:-0.005em;font-family:var(--body);box-shadow:0 10px 26px rgba(79,70,229,0.26)}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(79,70,229,0.32)}
.btn-s{display:inline-flex;align-items:center;gap:.42rem;color:var(--ink);font-size:0.9rem;border:1px solid var(--border);border-radius:999px;padding:.82rem 1.6rem;background:var(--surface);transition:border-color .15s,background .15s,transform .15s;cursor:pointer;font-family:var(--body)}
.btn-s:hover{border-color:rgba(19,20,31,0.22);transform:translateY(-1px)}

/* ── HERO ── */
.hero{padding:clamp(56px,9vw,110px) 0 clamp(30px,4vw,50px);text-align:center}
.hero-inner{max-width:840px;margin:0 auto;padding:0 clamp(1.25rem,5vw,3rem);display:flex;flex-direction:column;align-items:center;gap:1rem}
.hero-h{font-family:var(--h);font-size:clamp(2.15rem,5.4vw,3.6rem);font-weight:600;letter-spacing:-0.025em;line-height:1.1;color:var(--ink);max-width:22ch;margin:0 auto}
.hero-sub{font-size:clamp(0.98rem,1.4vw,1.1rem);color:var(--ink-2);max-width:600px;line-height:1.6;margin:0 auto}
.hero-ctas{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center;margin-top:.4rem}
.hero-cred{font-family:var(--mono);font-size:0.66rem;color:var(--ink-3);letter-spacing:0.05em;margin-top:0.3rem}

/* ── HERO SPLIT GRAPHIC ── */
.split-wrap{margin:clamp(2.4rem,4vw,3.6rem) auto 0;max-width:1180px;padding:0 clamp(1rem,4vw,2.5rem)}
.split-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(.6rem,2vw,1.6rem);position:relative}
.split-connector{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:0 .2rem}
.split-connector svg{width:26px;height:26px;stroke:var(--indigo);fill:none;stroke-width:1.6;opacity:.8}
.split-connector-lbl{font-family:var(--mono);font-size:0.52rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-3);text-align:center;max-width:9ch;line-height:1.35}

.mockcard{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;text-align:left}
.mockcard-chrome{display:flex;align-items:center;gap:.5rem;padding:.7rem .9rem;border-bottom:1px solid var(--border-soft);background:var(--surface-2)}
.mockcard-dots{display:flex;gap:.32rem}
.mockcard-dots span{width:7px;height:7px;border-radius:50%;background:rgba(19,20,31,0.14)}
.mockcard-chrome-title{font-family:var(--mono);font-size:0.6rem;letter-spacing:.05em;color:var(--ink-3);margin-left:.15rem}
.mockcard-body{padding:1rem 1.1rem 1.15rem}

/* student chat mock */
.chat-assignment{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:0.56rem;letter-spacing:.06em;text-transform:uppercase;color:var(--teal);background:var(--teal-soft);border:1px solid var(--teal-line);border-radius:6px;padding:.24rem .5rem;margin-bottom:.75rem}
.chat-thread{display:flex;flex-direction:column;gap:.55rem}
.bubble{max-width:86%;padding:.5rem .7rem;border-radius:12px;font-size:.76rem;line-height:1.42}
.bubble-student{align-self:flex-end;background:linear-gradient(135deg,var(--indigo),var(--indigo-2));color:#fff;border-bottom-right-radius:4px}
.bubble-ai{align-self:flex-start;background:var(--surface-2);color:var(--ink-2);border:1px solid var(--border-soft);border-bottom-left-radius:4px}
.bubble-ai b{color:var(--ink)}
.draft-skel{margin-top:.85rem;padding-top:.75rem;border-top:1px solid var(--border-soft);display:flex;flex-direction:column;gap:.38rem}
.skel-line{height:6px;border-radius:4px;background:rgba(19,20,31,0.08)}

/* teacher review mock */
.rev-head{display:flex;align-items:center;gap:.55rem;margin-bottom:.85rem}
.avatar{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-family:var(--h);font-size:.72rem;font-weight:600;flex-shrink:0}
.rev-head-name{font-size:.82rem;font-weight:600;color:var(--ink)}
.rev-head-sub{font-family:var(--mono);font-size:.58rem;color:var(--ink-3);margin-top:.1rem}
.rev-rows{display:flex;flex-direction:column;gap:.5rem}
.rev-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-size:.76rem;padding:.4rem 0;border-bottom:1px solid var(--border-soft)}
.rev-row:last-child{border-bottom:none}
.rev-row-lbl{color:var(--ink-2)}
.pill{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--mono);font-size:.58rem;letter-spacing:.04em;text-transform:uppercase;padding:.18rem .48rem;border-radius:999px;border:1px solid;white-space:nowrap;font-weight:600}
.pill--g{color:#15803d;background:#ecfdf3;border-color:rgba(21,128,61,0.24)}
.pill--o{color:var(--amber);background:var(--amber-soft);border-color:var(--amber-line)}
.pill--i{color:var(--indigo);background:var(--indigo-soft);border-color:var(--indigo-line)}
.pill--gray{color:var(--ink-3);background:rgba(19,20,31,0.05);border-color:var(--border)}
.pill-dot{width:4px;height:4px;border-radius:50%;background:currentColor}

/* ── SECTION BASE ── */
.section{padding:clamp(52px,7vw,92px) 0;border-top:1px solid var(--border-soft)}
.section--alt{background:var(--bg-soft)}

/* ── PROBLEM CARDS ── */
.prob-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(.9rem,1.5vw,1.3rem);margin-top:clamp(1.8rem,3vw,2.6rem)}
.prob-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:clamp(1.3rem,1.9vw,1.6rem);box-shadow:var(--shadow-sm);transition:transform .2s,box-shadow .2s}
.prob-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md)}
.prob-icon{width:42px;height:42px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.prob-icon svg{width:20px;height:20px;fill:none;stroke-width:1.7}
.prob-icon--i{background:var(--indigo-soft)}
.prob-icon--i svg{stroke:var(--indigo)}
.prob-icon--t{background:var(--teal-soft)}
.prob-icon--t svg{stroke:var(--teal)}
.prob-icon--o{background:var(--amber-soft)}
.prob-icon--o svg{stroke:var(--amber)}
.prob-title{font-family:var(--h);font-size:1.02rem;font-weight:600;letter-spacing:-0.01em;color:var(--ink);margin-bottom:.4rem;line-height:1.28}
.prob-body{font-size:0.87rem;color:var(--ink-2);line-height:1.58}

/* ── 4-STEP FLOW ── */
.flow-board{margin-top:clamp(1.8rem,3vw,2.6rem);position:relative}
.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.8rem,1.6vw,1.3rem);position:relative}
.flow-grid::before{content:"";position:absolute;left:calc(100%/8);right:calc(100%/8);top:26px;height:1px;background-image:repeating-linear-gradient(90deg,rgba(79,70,229,0.35) 0 6px,transparent 6px 12px);z-index:0}
.flow-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:1.1rem 1.05rem;position:relative;z-index:1;box-shadow:var(--shadow-sm)}
.flow-node{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,var(--indigo),var(--indigo-2));display:flex;align-items:center;justify-content:center;margin-bottom:.85rem;box-shadow:0 8px 18px rgba(79,70,229,0.28)}
.flow-node svg{width:18px;height:18px;stroke:#fff;fill:none;stroke-width:1.7}
.flow-num{font-family:var(--mono);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--indigo);margin-bottom:.35rem;font-weight:600}
.flow-title{font-family:var(--h);font-size:.94rem;font-weight:600;letter-spacing:-0.01em;color:var(--ink);line-height:1.28;margin-bottom:.3rem}
.flow-body{font-size:.79rem;color:var(--ink-2);line-height:1.52}

/* ── CLASS STRUCTURE MINI DIAGRAM ── */
.struct-board{margin-top:clamp(1.6rem,2.6vw,2.2rem);display:flex;align-items:center;justify-content:center;gap:0;flex-wrap:wrap;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:clamp(1.2rem,2vw,1.7rem);box-shadow:var(--shadow-sm)}
.struct-node{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:.4rem 1.1rem;text-align:center}
.struct-node-icon{width:44px;height:44px;border-radius:12px;background:var(--indigo-soft);display:flex;align-items:center;justify-content:center}
.struct-node-icon svg{width:20px;height:20px;stroke:var(--indigo);fill:none;stroke-width:1.7}
.struct-node:nth-child(4n) .struct-node-icon,.struct-node:nth-child(2) .struct-node-icon{background:var(--teal-soft)}
.struct-node:nth-child(4n) .struct-node-icon svg,.struct-node:nth-child(2) .struct-node-icon svg{stroke:var(--teal)}
.struct-lbl{font-size:.78rem;font-weight:600;color:var(--ink)}
.struct-sub{font-family:var(--mono);font-size:.56rem;color:var(--ink-3);letter-spacing:.03em}
.struct-arrow{width:22px;height:22px;stroke:var(--ink-3);fill:none;stroke-width:1.6;flex-shrink:0}

/* ── LARGE MOCKUP SECTIONS ── */
.mock-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,3vw,2.4rem);align-items:center;margin-top:clamp(1.8rem,3vw,2.4rem)}
.mock-layout.rev .mock-visual{order:2}
.mock-layout.rev .mock-copy{order:1}
.mock-copy-list{display:flex;flex-direction:column;gap:.85rem;margin-top:1.3rem}
.mock-copy-item{display:flex;align-items:flex-start;gap:.65rem}
.mock-copy-check{width:20px;height:20px;border-radius:6px;background:var(--indigo-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:.1rem}
.mock-copy-check svg{width:11px;height:11px;stroke:var(--indigo);fill:none;stroke-width:2.4}
.mock-copy-item span{font-size:.87rem;color:var(--ink-2);line-height:1.55}
.mock-caption{display:inline-flex;align-items:center;gap:.4rem;font-family:var(--serif);font-style:italic;font-size:.98rem;color:var(--ink);margin-top:1.2rem;padding-top:1rem;border-top:1px solid var(--border-soft)}

/* teacher dashboard big mock */
.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden}
.dash-topbar{display:flex;align-items:center;justify-content:space-between;padding:.85rem 1.1rem;background:var(--surface-2);border-bottom:1px solid var(--border-soft)}
.dash-topbar-left{display:flex;align-items:center;gap:.6rem}
.dash-body{padding:1.2rem 1.2rem 1.3rem}
.dash-metrics{display:grid;grid-template-columns:1fr 1fr;gap:.55rem .9rem}
.dash-metric{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .7rem;border:1px solid var(--border-soft);border-radius:10px;background:var(--surface-2)}
.dash-metric-lbl{font-size:.74rem;color:var(--ink-2)}
.dash-note{margin-top:1rem;padding:.8rem .9rem;border:1px dashed var(--border);border-radius:10px;background:var(--surface-2)}
.dash-note-lbl{font-family:var(--mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.4rem}
.dash-note-txt{font-size:.78rem;color:var(--ink-2);line-height:1.5;font-style:italic}

/* student workspace big mock */
.sw-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden}
.sw-banner{padding:.85rem 1.1rem;background:linear-gradient(135deg,var(--indigo-soft),var(--teal-soft));border-bottom:1px solid var(--border-soft)}
.sw-banner-lbl{font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--indigo);margin-bottom:.25rem}
.sw-banner-title{font-size:.9rem;font-weight:600;color:var(--ink)}
.sw-body{padding:1.1rem 1.1rem 1.2rem;display:flex;flex-direction:column;gap:.9rem}
.sw-reflect{border-top:1px solid var(--border-soft);padding-top:.9rem;display:flex;flex-direction:column;gap:.6rem}
.sw-reflect-q{font-size:.76rem;font-weight:600;color:var(--ink)}
.sw-reflect-a{margin-top:.3rem}

/* ── AI RULES PANEL ── */
.rules-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);overflow:hidden;max-width:640px;margin:clamp(1.8rem,3vw,2.4rem) auto 0}
.rules-head{padding:.9rem 1.2rem;background:var(--surface-2);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between}
.rules-head-title{font-size:.88rem;font-weight:600;color:var(--ink)}
.rules-list{padding:.4rem 1.2rem}
.rule-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--border-soft)}
.rule-row:last-child{border-bottom:none}
.rule-lbl{font-size:.84rem;color:var(--ink)}
.rule-sub{font-size:.72rem;color:var(--ink-3);margin-top:.1rem}
.toggle{width:38px;height:21px;border-radius:999px;position:relative;flex-shrink:0}
.toggle::after{content:"";position:absolute;top:2px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,0.25)}
.toggle--on{background:linear-gradient(135deg,var(--teal),#14b8a6)}
.toggle--on::after{left:19px}
.toggle--off{background:rgba(19,20,31,0.14)}
.toggle--off::after{left:2px}
.rule-models{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:flex-end}
.model-chip{font-family:var(--mono);font-size:.6rem;padding:.2rem .5rem;border-radius:6px;border:1px solid var(--indigo-line);color:var(--indigo);background:var(--indigo-soft)}

/* ── WHY SCHOOLS GRID ── */
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-top:clamp(1.8rem,3vw,2.4rem)}
.why-item{display:flex;align-items:flex-start;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:.95rem 1.05rem;box-shadow:var(--shadow-sm)}
.why-icon{width:32px;height:32px;border-radius:9px;background:var(--teal-soft);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.why-icon svg{width:15px;height:15px;stroke:var(--teal);fill:none;stroke-width:1.9}
.why-txt-t{font-size:.85rem;font-weight:600;color:var(--ink);margin-bottom:.15rem}
.why-txt-b{font-size:.79rem;color:var(--ink-2);line-height:1.5}

/* ── CLASSROOM FLOW STORY ── */
.story-board{margin-top:clamp(1.8rem,3vw,2.4rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.4rem,3vw,2.4rem);align-items:start}
.story-quote{background:linear-gradient(135deg,var(--indigo-soft),var(--teal-soft));border:1px solid var(--border);border-radius:16px;padding:clamp(1.3rem,2vw,1.8rem)}
.story-quote-lbl{font-family:var(--mono);font-size:.56rem;letter-spacing:.12em;text-transform:uppercase;color:var(--indigo);margin-bottom:.6rem}
.story-quote-txt{font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.6vw,1.25rem);color:var(--ink);line-height:1.4}
.story-steps{display:flex;flex-direction:column;gap:0}
.story-step{display:flex;gap:.9rem;padding-bottom:1.3rem;position:relative}
.story-step:not(:last-child)::before{content:"";position:absolute;left:14px;top:30px;bottom:0;width:1px;background:var(--border)}
.story-step-dot{width:29px;height:29px;border-radius:50%;background:var(--surface);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:var(--mono);font-size:.65rem;font-weight:600;color:var(--indigo)}
.story-step-txt{font-size:.86rem;color:var(--ink-2);line-height:1.55;padding-top:.35rem}
.story-step-txt b{color:var(--ink);font-weight:600}
.reflect-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.7rem}
.reflect-tag{font-size:.72rem;color:var(--ink-2);background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.28rem .65rem}

/* ── PILOT ── */
.pilot-board{border:1px solid var(--indigo-line);border-radius:20px;background:linear-gradient(160deg,var(--indigo-soft) 0%,var(--surface) 55%);padding:clamp(1.8rem,4vw,3rem) clamp(1.4rem,4vw,2.8rem);position:relative;overflow:hidden;text-align:center;box-shadow:var(--shadow-lg)}
.pilot-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1.4rem 0 1.8rem}
.pilot-chip{display:inline-flex;align-items:center;gap:.35rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.03em;color:var(--ink-2);padding:.35rem .7rem;border:1px solid var(--border);border-radius:999px;background:var(--surface)}
.pilot-chip svg{width:11px;height:11px;stroke:var(--indigo);fill:none;stroke-width:2.2}
.pilot-ctas{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}
.pilot-note{font-family:var(--mono);font-size:.64rem;color:var(--ink-3);letter-spacing:.03em;margin-top:1.1rem}

/* ── FINAL CTA ── */
.fcta{text-align:center;padding:clamp(60px,8vw,96px) 0;border-top:1px solid var(--border-soft)}
.fcta-phrase{font-family:var(--serif);font-style:italic;font-size:clamp(1.5rem,3.4vw,2.3rem);color:var(--ink);max-width:22ch;margin:0 auto;line-height:1.32;letter-spacing:-0.01em}
.fcta .sub{max-width:480px;margin:1rem auto 1.8rem}
.fcta-btns{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;justify-content:center}

/* ── FOOTER ── */
footer{border-top:1px solid var(--border-soft);padding:clamp(2.2rem,4vw,3rem) 0 clamp(1.4rem,3vw,2rem);background:var(--surface)}
.footer-top{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem;padding-bottom:1.6rem;border-bottom:1px solid var(--border-soft);margin-bottom:1.3rem}
.footer-links{display:flex;gap:1.4rem;flex-wrap:wrap}
.footer-link{font-size:.85rem;color:var(--ink-2);transition:color .15s}
.footer-link:hover{color:var(--ink)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.8rem}
.footer-note{font-family:var(--mono);font-size:.6rem;color:var(--ink-3)}

/* ── PROBLEM COMPARE ── */
.problem-compare{margin-top:clamp(1.8rem,3vw,2.6rem);display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,1.8vw,1.5rem)}
.compare-card{border:1px solid var(--border);border-radius:18px;background:var(--surface);padding:clamp(1.4rem,2vw,1.8rem);box-shadow:var(--shadow-md)}
.compare-card--bad{border-color:rgba(190,24,93,0.28);background:linear-gradient(165deg,#fff 0%,#fff5f5 100%)}
.compare-card--good{border-color:rgba(13,148,136,0.35);background:linear-gradient(165deg,#fff 0%,#f0fdf9 100%)}
.compare-label{font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:1rem;padding:.3rem .65rem;border-radius:999px;display:inline-block}
.compare-card--bad .compare-label{color:var(--rose);background:rgba(254,242,242,0.9);border:1px solid rgba(190,24,93,0.22)}
.compare-card--good .compare-label{color:var(--teal);background:var(--teal-soft);border:1px solid var(--teal-line)}
.diag-flow{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.45rem .55rem;padding:1rem .85rem;margin-bottom:1rem;background:rgba(19,20,31,0.03);border:1px dashed var(--border);border-radius:12px}
.diag-node{font-family:var(--h);font-size:.78rem;font-weight:600;padding:.5rem .8rem;border-radius:10px;border:1px solid;line-height:1.2;text-align:center}
.diag-node--student{background:var(--indigo-soft);color:var(--indigo);border-color:var(--indigo-line)}
.diag-node--tool{background:#fef2f2;color:var(--rose);border-color:rgba(190,24,93,0.25)}
.diag-node--teacher{background:var(--teal-soft);color:var(--teal);border-color:var(--teal-line)}
.diag-node--ai{background:var(--indigo-soft);color:var(--indigo);border-color:var(--indigo-line)}
.diag-node--result{background:var(--surface);color:var(--ink);border-color:var(--border)}
.diag-arrow{color:var(--ink-3);font-size:1rem;font-weight:600;line-height:1}
.compare-intro{font-size:.86rem;color:var(--ink-2);margin-bottom:.75rem;line-height:1.5}
.compare-list{display:flex;flex-direction:column;gap:.55rem;margin-top:.25rem}
.compare-list-item{display:flex;align-items:flex-start;gap:.55rem;font-size:.84rem;color:var(--ink-2);line-height:1.5;padding:.55rem .7rem;background:var(--surface);border:1px solid var(--border-soft);border-radius:10px}
.compare-list-item::before{content:"✗";flex-shrink:0;width:20px;height:20px;border-radius:6px;background:#fef2f2;color:var(--rose);font-size:.65rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;line-height:1;margin-top:.05rem}
.compare-card--good .compare-body{font-size:.86rem;color:var(--ink-2);line-height:1.6;padding:.85rem 1rem;background:var(--surface);border:1px solid var(--teal-line);border-radius:12px;margin-top:.25rem}
.problem-statement{text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(1.05rem,1.8vw,1.28rem);color:var(--ink);max-width:52ch;margin:clamp(1.8rem,2.8vw,2.4rem) auto 0;line-height:1.45;padding:1.2rem 1.4rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm)}

/* ── TEACHER DESIGNS AI ── */
.design-showcase{max-width:700px;margin:clamp(1.8rem,3vw,2.6rem) auto 0}
.design-mock{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden;width:100%}
.design-mock-head{padding:.9rem 1.2rem;background:linear-gradient(135deg,var(--indigo-soft),var(--surface-2));border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.design-mock-title{font-size:.92rem;font-weight:600;color:var(--ink)}
.design-mock-body{padding:1.15rem 1.25rem 1.35rem;display:flex;flex-direction:column;gap:.9rem}
.design-field{border:1px solid var(--border-soft);border-radius:12px;padding:.9rem 1rem;background:var(--surface-2)}
.design-field-lbl{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.5rem;font-weight:700}
.design-field-val{font-size:.86rem;color:var(--ink);line-height:1.55}
.file-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .75rem;background:var(--indigo-soft);border:1px solid var(--indigo-line);border-radius:9px;font-size:.82rem;color:var(--indigo);font-weight:600;line-height:1.3}
.file-chip-icon{font-size:1.05rem;line-height:1;flex-shrink:0}
.design-field--rule{border-color:var(--teal-line);background:var(--teal-soft);border-width:1.5px}
.design-field--rule .design-field-lbl{color:var(--teal)}
.design-caption{font-family:var(--h);font-size:clamp(1.15rem,2vw,1.45rem);font-weight:600;letter-spacing:-0.02em;color:var(--ink);line-height:1.35;text-align:center;margin-top:clamp(1.3rem,2vw,1.7rem)}
.design-caption-sub{text-align:center;margin-top:.85rem;max-width:540px;margin-left:auto;margin-right:auto}

/* ── DEMO COMPARE ── */
.demo-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,1.8vw,1.5rem);margin-top:clamp(1.8rem,3vw,2.6rem)}
.demo-panel{border:1px solid var(--border);border-radius:18px;background:var(--surface);overflow:hidden;box-shadow:var(--shadow-md)}
.demo-panel-head{padding:.75rem 1rem;border-bottom:1px solid var(--border-soft);font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}
.demo-panel--conv{border-color:rgba(190,24,93,0.22)}
.demo-panel--conv .demo-panel-head{background:#fef2f2;color:var(--rose)}
.demo-panel--mo{border-color:var(--teal-line)}
.demo-panel--mo .demo-panel-head{background:var(--teal-soft);color:var(--teal)}
.demo-panel-body{padding:1rem 1.05rem 1.15rem;display:flex;flex-direction:column;gap:.6rem;background:var(--surface-2)}
.demo-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.55rem;padding-top:.7rem;border-top:1px solid var(--border-soft)}
.demo-tag{font-family:var(--mono);font-size:.58rem;padding:.22rem .5rem;border-radius:999px;border:1px solid;font-weight:700}
.demo-tag--ok{color:#15803d;background:#ecfdf3;border-color:rgba(21,128,61,0.28)}
.demo-tag--no{color:var(--rose);background:#fef2f2;border-color:rgba(190,24,93,0.25)}
.demo-insight{text-align:center;font-family:var(--serif);font-style:italic;font-size:clamp(1rem,1.6vw,1.2rem);color:var(--ink);max-width:48ch;margin:clamp(1.5rem,2.5vw,2.2rem) auto 0;line-height:1.45;padding:1rem 1.2rem;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-sm)}

/* ── CONCEPTUAL CONTROLS ── */
.controls-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(1rem,1.6vw,1.3rem);margin-top:clamp(1.8rem,3vw,2.6rem)}
.control-card{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:clamp(1.2rem,1.8vw,1.5rem);box-shadow:var(--shadow-md);display:flex;flex-direction:column;gap:.35rem}
.control-card:nth-child(1){border-top:3px solid var(--indigo)}
.control-card:nth-child(2){border-top:3px solid var(--indigo-2)}
.control-card:nth-child(3){border-top:3px solid var(--teal)}
.control-card:nth-child(4){border-top:3px solid #14b8a6}
.control-num{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;color:var(--indigo);font-weight:700}
.control-title{font-family:var(--h);font-size:1.05rem;font-weight:600;color:var(--ink);letter-spacing:-0.01em;line-height:1.25}
.control-body{font-size:.85rem;color:var(--ink-2);line-height:1.58;margin-top:.15rem}

/* ── STUDENT FLOW BAR ── */
.student-flow-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.35rem .25rem;margin-top:clamp(1.6rem,2.5vw,2.2rem);padding:clamp(1.1rem,2vw,1.6rem) clamp(1rem,2vw,1.4rem);background:var(--surface);border:1px solid var(--indigo-line);border-radius:16px;box-shadow:var(--shadow-md)}
.flow-step{font-family:var(--h);font-size:clamp(.74rem,1.1vw,.9rem);font-weight:600;color:var(--indigo);padding:.5rem .85rem;background:var(--indigo-soft);border:1px solid var(--indigo-line);border-radius:999px;white-space:nowrap}
.flow-step-arrow{color:var(--indigo);font-size:.95rem;font-weight:700;padding:0 .1rem;opacity:.55}

/* ── INSTITUTION DASHBOARD ── */
.inst-board{margin-top:clamp(1.8rem,3vw,2.6rem);background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-lg);overflow:hidden}
.inst-head{padding:.95rem 1.25rem;background:linear-gradient(135deg,var(--teal-soft),var(--surface-2));border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem}
.inst-head-title{font-size:.92rem;font-weight:600;color:var(--ink)}
.inst-head-period{font-family:var(--mono);font-size:.58rem;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);background:var(--surface);border:1px solid var(--teal-line);padding:.25rem .55rem;border-radius:999px;font-weight:600}
.inst-stats{display:grid;grid-template-columns:repeat(3,1fr)}
.inst-stat{padding:clamp(1.1rem,1.8vw,1.5rem) clamp(.85rem,1.4vw,1.1rem);border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);text-align:center;background:var(--surface)}
.inst-stat:nth-child(3n){border-right:none}
.inst-stat:nth-child(n+4){background:var(--surface-2)}
.inst-stat-val{font-family:var(--h);font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:700;color:var(--indigo);letter-spacing:-0.03em;line-height:1;display:block}
.inst-stat-lbl{font-size:.78rem;color:var(--ink-2);margin-top:.45rem;line-height:1.38;display:block}
.inst-disclaimer{font-family:var(--mono);font-size:.58rem;color:var(--ink-3);letter-spacing:.04em;text-align:center;padding:.85rem 1rem;background:var(--amber-soft);border-top:1px solid var(--amber-line);color:var(--amber);font-weight:600}

/* ── BIG QUESTION ── */
.big-question{padding:clamp(72px,10vw,120px) 0;text-align:center;border-top:1px solid var(--border-soft);background:var(--surface)}
.big-question-h{font-family:var(--serif);font-style:italic;font-size:clamp(1.8rem,4vw,2.8rem);font-weight:500;color:var(--ink);max-width:22ch;margin:0 auto;line-height:1.25;letter-spacing:-0.02em}
.big-question-sub{font-size:clamp(.94rem,1.2vw,1.05rem);color:var(--ink-2);max-width:54ch;margin:1.4rem auto 0;line-height:1.65}

/* ── PILOT STATS ── */
.pilot-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.65rem,1.2vw,1rem);margin:1.7rem auto 1.5rem;max-width:520px}
.pilot-stat{text-align:center;padding:.85rem .65rem;border:1.5px solid var(--indigo-line);border-radius:14px;background:var(--surface);box-shadow:var(--shadow-sm)}
.pilot-stat-num{font-family:var(--h);font-size:clamp(1.6rem,2.5vw,2rem);font-weight:700;color:var(--indigo);letter-spacing:-0.03em;line-height:1;display:block}
.pilot-stat-lbl{font-family:var(--mono);font-size:.56rem;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3);margin-top:.35rem;display:block;font-weight:600}

/* ── CONTACT PAGE ── */
.contact-section{padding-top:clamp(48px,8vw,88px)}
.contact-wrap{max-width:720px}
.contact-form{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:18px;
    padding:clamp(1.25rem,3vw,1.75rem);
    box-shadow:var(--shadow-sm,0 1px 2px rgba(24,29,52,0.05));
}
.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1rem;
    margin-bottom:1rem;
}
.contact-field{display:flex;flex-direction:column;gap:.4rem;font-size:.82rem;font-weight:600;color:var(--ink3,rgba(19,20,31,0.55))}
.contact-field--full{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1.25rem;font-size:.82rem;font-weight:600;color:var(--ink3,rgba(19,20,31,0.55))}
.contact-field input,
.contact-field textarea,
.contact-field--full textarea{
    font-family:var(--body);
    font-size:.95rem;
    font-weight:500;
    color:var(--ink);
    background:#fff;
    border:1px solid var(--border,rgba(19,20,31,0.12));
    border-radius:12px;
    padding:.75rem .9rem;
    outline:none;
    transition:border-color .15s,box-shadow .15s;
}
.contact-field textarea,
.contact-field--full textarea{resize:vertical;min-height:140px}
.contact-field input:focus,
.contact-field textarea:focus,
.contact-field--full textarea:focus{
    border-color:rgba(79,70,229,0.55);
    box-shadow:0 0 0 3px rgba(79,70,229,0.12);
}
@media(max-width:620px){
    .contact-grid{grid-template-columns:1fr}
}

/* ── SPINE TAGLINE ── */
.hero-spine{font-family:var(--mono);font-size:clamp(.62rem,.9vw,.72rem);letter-spacing:.06em;color:var(--teal);background:var(--teal-soft);border:1px solid var(--teal-line);border-radius:999px;padding:.35rem .85rem;margin-bottom:.5rem;display:inline-block}

/* ── RESPONSIVE ── */
@media(max-width:900px){
    .prob-grid{grid-template-columns:1fr}
    .flow-grid{grid-template-columns:1fr 1fr;row-gap:1rem}
    .flow-grid::before{display:none}
    .mock-layout,.mock-layout.rev .mock-visual,.mock-layout.rev .mock-copy{grid-template-columns:1fr;order:unset}
    .mock-layout{grid-template-columns:1fr}
    .story-board{grid-template-columns:1fr}
    .why-grid{grid-template-columns:1fr}
    .split-board{grid-template-columns:1fr}
    .split-connector{flex-direction:row;justify-content:center;padding:.4rem 0}
    .split-connector svg{transform:rotate(90deg)}
    .problem-compare,.demo-split,.controls-grid{grid-template-columns:1fr}
    .inst-stats{grid-template-columns:1fr 1fr}
    .inst-stat:nth-child(3n){border-right:1px solid var(--border-soft)}
    .inst-stat:nth-child(2n){border-right:none}
    .pilot-stats{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
    .dash-metrics{grid-template-columns:1fr}
    .footer-top{flex-direction:column;align-items:flex-start}
    .inst-stats{grid-template-columns:1fr}
    .inst-stat{border-right:none!important}
    .pilot-stats{grid-template-columns:repeat(2,1fr)}
}
