:root{--ink:#172554;--indigo:#1e3072;--indigo-soft:#2f4595;--gold:#f97360;--gold-soft:#ff9b8b;--paper:#fffdf7;--paper-dim:#f1f5f9;--paper-lav:#e0e7ff;--ink-soft:#4c5a73;--white:#fff}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;font-family:IBM Plex Sans,sans-serif;line-height:1.5}.display{font-family:Fraunces,serif}.mono{letter-spacing:.06em;text-transform:uppercase;font-family:IBM Plex Mono,monospace}a{color:inherit}img,svg{max-width:100%;display:block}.wrap{max-width:1120px;margin:0 auto;padding:0 28px}.devnote{background:var(--gold);color:var(--ink);text-align:center;padding:8px 16px;font-size:12.5px;font-weight:600}header{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--paper-dim);background:#eff1eeeb;position:sticky;top:0}nav{justify-content:space-between;align-items:center;max-width:1120px;margin:0 auto;padding:18px 28px;display:flex}.logo{letter-spacing:.01em;color:inherit;align-items:center;gap:8px;font-family:Fraunces,serif;font-size:20px;font-weight:600;text-decoration:none;display:inline-flex}.logo-mark{width:28px;height:28px;display:block}.logo-text{letter-spacing:-.01em;display:inline-block}.logo-d{color:var(--gold);font-style:italic}.navlinks{gap:32px;font-size:14.5px;font-weight:500;display:flex}.navlinks a{opacity:.8;text-decoration:none;transition:opacity .2s}.navlinks a:hover{opacity:1}.nav-cta{background:var(--ink);color:var(--white);border-radius:3px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;transition:background .2s}.nav-cta:hover{background:var(--indigo)}@media (width<=760px){.navlinks{display:none}}.hero{background:linear-gradient(180deg, var(--ink) 0%, var(--indigo) 100%);color:var(--white);padding:88px 0 96px;position:relative;overflow:hidden}.hero-grid{grid-template-columns:1.15fr 1fr;align-items:center;gap:64px;display:grid}@media (width<=880px){.hero-grid{grid-template-columns:1fr}}.eyebrow{color:var(--gold-soft);align-items:center;gap:10px;margin-bottom:22px;font-size:12px;display:flex}.eyebrow .dot{background:var(--gold);border-radius:50%;width:6px;height:6px;display:inline-block}.hero h1{letter-spacing:-.01em;font-size:clamp(34px,5vw,56px);font-weight:500;line-height:1.08}.hero h1 em{color:var(--gold-soft);font-style:italic;font-weight:500}.hero p{color:#c7d0e0;max-width:460px;margin-top:22px;font-size:17px}.hero-ctas{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.btn-primary{background:var(--gold);color:var(--ink);border-radius:3px;padding:14px 26px;font-size:14.5px;font-weight:700;text-decoration:none;transition:transform .15s,background .2s;display:inline-block}.btn-primary:hover{background:var(--gold-soft);transform:translateY(-1px)}.btn-secondary{color:var(--white);border:1px solid #ffffff4d;border-radius:3px;padding:14px 26px;font-size:14.5px;font-weight:600;text-decoration:none;transition:border-color .2s,background .2s;display:inline-block}.btn-secondary:hover{border-color:var(--gold-soft);background:#ffffff0d}.route-box{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:6px;padding:28px 24px 22px}.route-label{color:#9aa8c4;margin-bottom:18px;font-size:11px}.route-path{stroke-dasharray:6 7;animation:3.2s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-130px}}.pin-city{fill:#c7d0e0;font-family:IBM Plex Mono,monospace;font-size:12px}.pin-time{fill:#7e8caa;font-family:IBM Plex Mono,monospace;font-size:10.5px}@media (prefers-reduced-motion:reduce){.route-path{animation:none}}section{padding:88px 0}.section-head{max-width:560px;margin-bottom:52px}.kicker{color:var(--gold);margin-bottom:14px;font-size:12px}.section-head h2{letter-spacing:-.01em;font-size:clamp(26px,3.4vw,36px);font-weight:500}.section-head p{color:var(--ink-soft);margin-top:14px;font-size:16px}.steps{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}@media (width<=820px){.steps{grid-template-columns:1fr}}.step{background:var(--white);border:1px solid var(--paper-dim);border-radius:6px;padding:30px 26px;position:relative}.step-num{color:var(--gold);margin-bottom:16px;font-family:Fraunces,serif;font-size:34px;font-style:italic;display:block}.step h3{margin-bottom:10px;font-size:18px;font-weight:600}.step p{color:var(--ink-soft);font-size:14.5px}.subjects-band{background:var(--ink);color:var(--white)}.subjects-band .section-head p{color:#b7c1d6}.subject-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=820px){.subject-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.subject-grid{grid-template-columns:1fr}}.subject-card{background:#ffffff0a;border:1px solid #ffffff1a;border-radius:5px;padding:22px;transition:border-color .2s,background .2s}.subject-card:hover{border-color:var(--gold);background:#ffffff12}.subject-card .tag{color:var(--gold-soft);margin-bottom:8px;font-size:10.5px}.subject-card h4{margin-bottom:6px;font-size:17px;font-weight:600}.subject-card p{color:#9aa8c4;font-size:13.5px}.teacher-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}@media (width<=880px){.teacher-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=520px){.teacher-grid{grid-template-columns:1fr}}.teacher-card{background:var(--white);border:1px solid var(--paper-dim);text-align:center;border-radius:6px;padding-bottom:20px;overflow:hidden}.teacher-avatar{background:linear-gradient(135deg, var(--indigo-soft), var(--ink));height:130px;color:var(--gold-soft);justify-content:center;align-items:center;font-family:Fraunces,serif;font-size:26px;display:flex}.teacher-card h4{margin-top:16px;font-size:15.5px;font-weight:600}.teacher-card .role{color:var(--ink-soft);margin-top:3px;font-size:12.5px}.teacher-card .status{background:var(--paper-dim);color:var(--ink-soft);border-radius:20px;margin-top:12px;padding:4px 10px;font-size:10.5px;display:inline-block}.vetting{grid-template-columns:1fr 1fr;align-items:center;gap:64px;display:grid}@media (width<=820px){.vetting{grid-template-columns:1fr;gap:36px}}.vetting-list{margin-top:24px;list-style:none}.vetting-list li{border-top:1px solid var(--paper-dim);color:var(--ink-soft);gap:14px;padding:16px 0;font-size:14.5px;display:flex}.vetting-list li:last-child{border-bottom:1px solid var(--paper-dim)}.vetting-list strong{color:var(--ink);font-weight:600}.vetting-mark{color:var(--gold);font-weight:700}.quote-card{background:var(--white);border:1px solid var(--paper-dim);border-radius:6px;padding:36px 32px}.quote-card p{color:var(--ink);font-family:Fraunces,serif;font-size:20px;font-style:italic;line-height:1.5}.quote-card .attrib{color:var(--ink-soft);margin-top:20px;font-size:13px}.region-strip{flex-wrap:wrap;gap:14px;display:flex}.region-pill{background:var(--white);border:1px solid var(--paper-dim);border-radius:20px;align-items:center;gap:8px;padding:10px 18px;font-size:13.5px;display:flex}.region-pill .dot{background:var(--gold);border-radius:50%;width:6px;height:6px}.cta-band{background:linear-gradient(135deg, var(--indigo) 0%, var(--ink) 100%);color:var(--white);text-align:center;padding:96px 0}.cta-band h2{font-size:clamp(28px,4vw,42px);font-weight:500}.cta-band p{color:#c7d0e0;max-width:480px;margin-top:16px;margin-left:auto;margin-right:auto}.signup-form{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:36px;display:flex}.signup-form input{color:var(--white);background:#ffffff0f;border:1px solid #ffffff40;border-radius:3px;outline:none;min-width:260px;padding:14px 16px;font-size:14.5px}.signup-form input::placeholder{color:#8e9bb8}.signup-form input:focus{border-color:var(--gold)}.form-note{color:#8e9bb8;margin-top:14px;font-size:12.5px}.form-success{color:var(--gold-soft);margin-top:20px;font-size:14.5px}footer{background:var(--paper-dim);color:var(--ink-soft);padding:40px 0;font-size:13px}.footer-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.apply-wrap{background:var(--bg,#faf9f7);justify-content:center;align-items:center;min-height:100vh;padding:40px 16px;display:flex}.apply-card{background:#fff;border:1px solid #e5e1d8;border-radius:12px;width:100%;max-width:520px;padding:40px;box-shadow:0 2px 12px #0000000f}.apply-progress{gap:6px;margin-bottom:20px;display:flex}.apply-step-dot{background:#e5e1d8;border-radius:2px;flex:1;height:4px;transition:background .2s}.apply-step-dot.done{background:#c89b3c}.apply-step-dot.active{background:#1a1a1a}.apply-kicker{color:#888;letter-spacing:.08em;margin-bottom:6px;font-size:12px}.apply-title{margin:0 0 28px;font-size:clamp(20px,4vw,28px);font-weight:500}.apply-fields{flex-direction:column;gap:18px;display:flex}.apply-fields label{color:#333;flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.apply-fields input,.apply-fields select,.apply-fields textarea{background:#faf9f7;border:1px solid #d8d4cb;border-radius:6px;outline:none;padding:10px 12px;font-family:inherit;font-size:15px;transition:border-color .15s}.apply-fields input:focus,.apply-fields select:focus,.apply-fields textarea:focus{border-color:#1a1a1a}.apply-fields textarea{resize:vertical}.apply-days{background:#faf9f7;border:1px solid #d8d4cb;border-radius:6px;padding:12px}.apply-days legend{padding:0 4px;font-size:14px;font-weight:500}.apply-day-grid{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.day-chip{cursor:pointer;background:#fff;border:1px solid #d8d4cb;border-radius:20px;align-items:center;gap:0;padding:6px 14px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.day-chip input{display:none}.day-chip.selected{color:#fff;background:#1a1a1a;border-color:#1a1a1a}.apply-next{margin-top:4px}.apply-nav{justify-content:space-between;gap:12px;display:flex}.apply-nav .btn-primary,.apply-nav .btn-secondary{flex:1}.apply-summary{background:#faf9f7;border:1px solid #e5e1d8;border-radius:8px;flex-direction:column;gap:14px;padding:20px;display:flex}.summary-section{flex-direction:column;gap:2px;font-size:14px;line-height:1.5;display:flex}.summary-label{letter-spacing:.08em;color:#888;text-transform:uppercase;margin-bottom:2px;font-size:11px}.summary-goal{color:#555;font-style:italic}.consent-label{color:#555;cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;line-height:1.5;display:flex}.consent-label input{flex-shrink:0;margin-top:3px}.consent-label a{color:#1a1a1a}.apply-error{color:#b02a37;background:#fff0f0;border:1px solid #f5c2c7;border-radius:6px;padding:10px 14px;font-size:14px}.apply-success{text-align:center;max-width:420px;margin:0 auto;padding:40px 20px}.apply-success-icon{color:#fff;background:#1a1a1a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 20px;font-size:28px;display:flex}.apply-success h2{margin:0 0 12px}.apply-success p{color:#555;margin-bottom:24px}.admin-login-wrap{background:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;display:flex}.admin-login-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;flex-direction:column;gap:16px;width:100%;max-width:360px;padding:36px;display:flex}.admin-login-card h2{margin:0 0 4px;font-size:22px}.admin-login-card label{flex-direction:column;gap:6px;font-size:14px;font-weight:500;display:flex}.admin-login-card input{border:1px solid #d0d0d0;border-radius:6px;outline:none;padding:9px 12px;font-family:inherit;font-size:15px}.admin-login-card input:focus{border-color:#1a1a1a}.admin-error{color:#c0392b;font-size:13px}.admin-wrap{height:100vh;font-family:inherit;display:flex;overflow:hidden}.admin-sidebar{background:#fafafa;border-right:1px solid #e0e0e0;flex-shrink:0;width:320px;overflow-y:auto}.admin-header{background:#fafafa;border-bottom:1px solid #e0e0e0;justify-content:space-between;align-items:center;padding:16px;display:flex;position:sticky;top:0}.admin-title{font-size:15px;font-weight:600}.admin-refresh{cursor:pointer;background:0 0;border:1px solid #d0d0d0;border-radius:4px;padding:4px 8px;font-size:16px}.admin-loading,.admin-empty{color:#888;padding:20px 16px;font-size:14px}.admin-row{cursor:pointer;border-bottom:1px solid #ececec;padding:12px 16px;transition:background .1s}.admin-row:hover{background:#f0f0f0}.admin-row.active{background:#e8eaf6}.admin-row-name{font-size:14px;font-weight:600}.admin-row-meta{color:#666;margin-top:2px;font-size:12px}.admin-row-date{color:#999;margin-top:2px;font-size:11px}.admin-badge{text-transform:uppercase;letter-spacing:.05em;border-radius:10px;margin-top:6px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.admin-detail{flex:1;padding:32px;overflow-y:auto}.admin-placeholder{color:#aaa;text-align:center;margin-top:40px;font-size:14px}.admin-detail-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.admin-detail-header h2{margin:0;font-size:22px}.admin-status-select{cursor:pointer;border:1px solid #d0d0d0;border-radius:6px;padding:6px 12px;font-family:inherit;font-size:14px}.admin-sections{flex-direction:column;gap:20px;display:flex}.admin-section{background:#fafafa;border:1px solid #ececec;border-radius:8px;flex-direction:column;gap:4px;padding:16px;font-size:14px;line-height:1.6;display:flex}.admin-section-label{letter-spacing:.08em;text-transform:uppercase;color:#888;margin-bottom:4px;font-size:11px}.admin-goal{color:#555;font-style:italic}.admin-section a{color:#1a1a1a}.legal-wrap{background:var(--paper);min-height:100vh}.legal-nav{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--paper-dim);background:#eff1eeeb;padding:18px 28px}.legal-nav-inner{justify-content:space-between;align-items:center;max-width:760px;margin:0 auto;display:flex}.legal-nav .logo{color:var(--ink);font-family:Fraunces,serif;font-size:20px;font-weight:600;text-decoration:none}.legal-nav .logo span{color:var(--gold)}.legal-back{color:var(--ink-soft);align-items:center;gap:6px;font-size:13.5px;text-decoration:none;transition:color .2s;display:flex}.legal-back:hover{color:var(--ink)}.legal-body{max-width:760px;margin:0 auto;padding:56px 28px 96px}.legal-eyebrow{letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;font-family:IBM Plex Mono,monospace;font-size:11px}.legal-body h1{color:var(--ink);margin-bottom:8px;font-family:Fraunces,serif;font-size:clamp(28px,4vw,40px);font-weight:500;line-height:1.15}.legal-meta{color:var(--ink-soft);border-bottom:1px solid var(--paper-dim);margin-bottom:48px;padding-bottom:24px;font-size:13px}.legal-body h2{color:var(--ink);margin:40px 0 12px;font-size:18px;font-weight:600}.legal-body h3{color:var(--ink);margin:24px 0 8px;font-size:15px;font-weight:600}.legal-body p{color:var(--ink-soft);margin-bottom:14px;font-size:15px;line-height:1.7}.legal-body ul{margin:0 0 14px 20px}.legal-body ul li{color:var(--ink-soft);margin-bottom:6px;font-size:15px;line-height:1.7}.legal-body strong{color:var(--ink);font-weight:600}.legal-body a{color:var(--indigo-soft);text-underline-offset:2px;text-decoration:underline}.legal-callout{background:var(--white);border:1px solid var(--paper-dim);border-left:3px solid var(--gold);border-radius:4px;margin:24px 0;padding:16px 20px}.legal-callout p{margin-bottom:0;font-size:14px}.legal-footer{border-top:1px solid var(--paper-dim);color:var(--ink-soft);flex-wrap:wrap;gap:20px;margin-top:56px;padding-top:24px;font-size:13px;display:flex}.legal-footer a{color:var(--ink-soft);text-decoration:none}.legal-footer a:hover{color:var(--ink)}
