@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{--kim-primary: #1ca5bd;--kim-primary-dark: #0e6f80;--kim-primary-light: #cef2f7;--kim-primary-faint: #e8f8fa;--kim-lila: #7a5fb8;--kim-lila-faint: #f0ecf8;--kim-bg: #fcfbf7;--kim-card-bg: #ffffff;--kim-text: #0f172a;--kim-text-soft: #3a414f;--kim-text-muted: #6a7281;--kim-text-faint: #9aa3b0;--kim-border: #e6e8ec;--kim-border-soft: #f0f1f4;--kim-success: #2f7d4f;--kim-success-soft: #e6f1ea;--kim-warning: #f59e0b;--kim-error: #c83e2a;--kim-error-soft: #fbe7e2;--shadow-sm: 0 1px 2px rgba(15,23,42,.04);--shadow-md: 0 6px 24px -10px rgba(15,23,42,.12);--shadow-lg: 0 20px 60px -24px rgba(15,23,42,.2);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem}*{box-sizing:border-box}html,body{margin:0;padding:0;font-family:IBM Plex Sans,Helvetica Neue,system-ui,sans-serif;background:var(--kim-bg);color:var(--kim-text);line-height:1.55;font-size:16px;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column}.serif{font-family:"Instrument Serif",Georgia,serif;font-weight:400;letter-spacing:-.005em;line-height:1.05}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--kim-primary);outline-offset:2px;border-radius:4px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.8rem 1.5rem;border-radius:var(--radius-md);border:1px solid transparent;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;text-decoration:none;transition:background .15s,transform .1s,border-color .15s;min-height:44px}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--kim-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--kim-primary-dark);color:#fff}.btn-secondary{background:#fff;color:var(--kim-text);border-color:var(--kim-border)}.btn-secondary:hover:not(:disabled){background:var(--kim-bg);border-color:var(--kim-text)}.btn-dark{background:var(--kim-text);color:#fff}.btn-dark:hover:not(:disabled){background:#1f2735;color:#fff}.btn-arrow:after{content:"→";margin-left:.15rem}.link-button{background:none;border:none;color:var(--kim-primary-dark);cursor:pointer;text-decoration:underline;font-family:inherit;font-size:inherit;padding:0 .15rem}.link-button:hover{color:var(--kim-primary)}.site-header{position:sticky;top:0;z-index:50;background:#ffffffeb;backdrop-filter:saturate(140%) blur(8px);-webkit-backdrop-filter:saturate(140%) blur(8px);border-bottom:1px solid var(--kim-border);box-shadow:0 2px 0 var(--kim-primary-faint)}.site-header:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--kim-primary) 0%,var(--kim-primary-dark) 50%,var(--kim-lila) 100%)}.site-header-inner{max-width:1100px;margin:0 auto;padding:.6rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:1rem}.site-wordmark{display:flex;align-items:center;height:48px;flex-shrink:0}.site-wordmark img{height:100%;width:auto}.site-back-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--kim-text-muted);font-size:.88rem;font-weight:500;white-space:nowrap;text-decoration:none;min-height:44px;padding:0 .5rem}.site-back-link:hover{color:var(--kim-primary-dark)}.site-back-link:before{content:"← "}@media(max-width:480px){.site-header-inner{padding:.5rem 1rem}.site-wordmark{height:40px}.site-back-link{font-size:.82rem}}.layout-main{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:2rem 1.25rem 3rem}.layout-footer{border-top:1px solid var(--kim-border);padding:1.25rem 1rem;text-align:center;font-size:.88rem;color:var(--kim-text-muted);background:#fff}.layout-footer a{color:var(--kim-text-soft);margin:0 .65rem;text-decoration:none;transition:color .15s}.layout-footer a:hover{color:var(--kim-primary-dark)}.staging-banner{background:var(--kim-warning);color:#000;text-align:center;font-weight:700;padding:.4rem .5rem;font-size:.88rem}.landing-hero{text-align:center;padding:1.5rem 0 2.5rem}.landing-hero-mascot{width:140px;height:auto;margin:0 auto 1.25rem;display:block;filter:drop-shadow(0 12px 28px rgba(15,23,42,.12))}.landing-hero h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(2rem,5vw,2.8rem);line-height:1.05;letter-spacing:-.015em;margin:0 0 .5rem;color:var(--kim-text)}.landing-hero h1 em{font-style:italic;color:var(--kim-primary-dark)}.landing-hero .deck{color:var(--kim-text-soft);font-size:1.05rem;line-height:1.5;max-width:36rem;margin:0 auto 1.25rem}.landing-hero-credentials{display:flex;justify-content:center;flex-wrap:wrap;gap:.5rem 1.25rem;font-size:.9rem;color:var(--kim-text-muted);margin-bottom:1.25rem}.landing-hero-credentials span{display:inline-flex;align-items:center;gap:.4rem}.landing-hero-credentials span:before{content:"";width:5px;height:5px;background:var(--kim-primary);border-radius:50%}.page-header{text-align:center;margin:.5rem 0 1.5rem}.page-header h1{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:clamp(1.85rem,4vw,2.4rem);line-height:1.05;letter-spacing:-.015em;margin:0 0 .4rem}.page-header .user-line{font-size:.95rem;color:var(--kim-text-soft);margin:0}.page-header .user-line strong{color:var(--kim-text)}.section{margin-top:2.5rem}.section-title{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:1.75rem;line-height:1.1;letter-spacing:-.005em;margin:0 0 .5rem;color:var(--kim-text)}.section-title.center{text-align:center;margin-left:auto;margin-right:auto}.section-deck{color:var(--kim-text-muted);font-size:1rem;line-height:1.5;margin:0 0 1.5rem;max-width:48rem}.section-deck.center{text-align:center;margin-left:auto;margin-right:auto}.card{background:var(--kim-card-bg);border:1px solid var(--kim-border);border-radius:var(--radius-lg);padding:1.75rem 1.5rem;box-shadow:var(--shadow-sm)}.card-title{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:1.45rem;line-height:1.1;margin:0 0 .75rem;color:var(--kim-text)}.card-deck{color:var(--kim-text-soft);font-size:.95rem;line-height:1.55;margin:0 0 1rem}.usps{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:1rem}@media(max-width:720px){.usps{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.usps{grid-template-columns:1fr}}.usp{background:#fff;border:1px solid var(--kim-border);border-radius:var(--radius-md);padding:1.4rem 1.2rem;transition:transform .15s,box-shadow .15s}.usp:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.usp-icon{width:40px;height:40px;border-radius:var(--radius-md);background:var(--kim-primary-faint);color:var(--kim-primary-dark);display:flex;align-items:center;justify-content:center;margin-bottom:.85rem}.usp.lila .usp-icon{background:var(--kim-lila-faint);color:var(--kim-lila)}.usp h3{font-size:.98rem;font-weight:600;margin:0 0 .3rem;color:var(--kim-text)}.usp p{color:var(--kim-text-muted);font-size:.88rem;line-height:1.5;margin:0}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-top:1.25rem}@media(max-width:720px){.steps{grid-template-columns:1fr 1fr}}@media(max-width:480px){.steps{grid-template-columns:1fr}}.step{background:#fff;border:1px solid var(--kim-border);border-radius:var(--radius-md);padding:1.4rem 1.2rem}.step-no{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--kim-primary);color:#fff;border-radius:50%;font-family:IBM Plex Mono,monospace;font-size:.85rem;font-weight:600;margin-bottom:.7rem}.step h3{font-size:.98rem;font-weight:600;margin:0 0 .3rem;line-height:1.3}.step p{color:var(--kim-text-soft);font-size:.88rem;line-height:1.5;margin:0}.price-card-single{background:#fff;border:1.5px solid var(--kim-primary);border-radius:var(--radius-lg);padding:2.25rem 1.75rem;box-shadow:var(--shadow-md);max-width:560px;margin:0 auto}.price-card-single h2{font-family:"Instrument Serif",Georgia,serif;font-size:1.85rem;font-weight:400;margin:0 0 .3rem;text-align:center}.price-card-single .for{text-align:center;color:var(--kim-text-muted);font-size:.92rem;margin:0 0 1.25rem}.price-main{display:flex;align-items:baseline;justify-content:center;gap:.6rem;margin-bottom:.4rem}.price-num{font-family:"Instrument Serif",Georgia,serif;font-size:3rem;font-weight:400;color:var(--kim-text);line-height:1}.price-unit{font-size:.92rem;color:var(--kim-text-muted);line-height:1.35}.price-note{text-align:center;color:var(--kim-text-muted);font-size:.9rem;margin:0 0 1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--kim-border)}.price-features{list-style:none;padding:0;margin:0 0 1.5rem}.price-features li{display:flex;gap:.55rem;padding:.3rem 0;font-size:.94rem;line-height:1.45;color:var(--kim-text-soft)}.price-features li:before{content:"✓";color:var(--kim-primary);font-weight:700;flex-shrink:0}.price-cta{display:flex;flex-direction:column;gap:.5rem}.price-cta .btn{justify-content:center;padding:.85rem 1rem}.price-foot{text-align:center;margin-top:1rem;font-size:.85rem;color:var(--kim-text-muted)}.avv-box{background:linear-gradient(135deg,var(--kim-primary-faint) 0%,var(--kim-lila-faint) 100%);border:1px solid var(--kim-primary-light);border-radius:var(--radius-lg);padding:1.75rem;display:grid;grid-template-columns:1fr auto;gap:1.25rem;align-items:center;margin-top:1.5rem}@media(max-width:560px){.avv-box{grid-template-columns:1fr;text-align:center}}.avv-box h3{font-family:"Instrument Serif",Georgia,serif;font-size:1.3rem;font-weight:400;color:var(--kim-primary-dark);margin:0 0 .4rem}.avv-box p{color:var(--kim-text-soft);font-size:.92rem;margin:0}.auth-toggle-row{display:flex;gap:.5rem;margin:1rem 0 1.5rem}.auth-toggle-row .btn{flex:1;max-width:200px;padding:.65rem 1rem}.signedin-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem}.signedin-bar p{margin:0}.signedin-bar strong{color:var(--kim-text)}.klassen-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-top:1rem}.klasse-card{background:#fff;border:1px solid var(--kim-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);position:relative}.klasse-card.archived{opacity:.6}.klasse-card-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.3rem;margin-bottom:.25rem}.klasse-card-head h3{margin:0;font-size:1.15rem;font-weight:600;color:var(--kim-text)}.klasse-status-pill{font-family:IBM Plex Mono,monospace;font-size:.72rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--kim-text-muted);background:var(--kim-border-soft);padding:.1rem .45rem;border-radius:999px}.klasse-status-pill.trialing{background:var(--kim-primary-faint);color:var(--kim-primary-dark)}.klasse-status-pill.active{background:var(--kim-success-soft);color:var(--kim-success)}.klasse-status-pill.past_due{background:var(--kim-error-soft);color:var(--kim-error)}.klasse-status-pill.waived{background:var(--kim-lila-faint);color:var(--kim-lila)}.klasse-school-line{color:var(--kim-text-muted);font-size:.88rem;margin:.2rem 0 0}.klasse-detail-line{font-size:.92rem;margin:.4rem 0}.klasse-detail-line.muted{color:var(--kim-text-muted)}.klasse-detail-line strong{color:var(--kim-text)}.klasse-invite-section{margin:.85rem 0;padding-top:.85rem;border-top:1px dashed var(--kim-border)}.klasse-invite-section .invite-label{font-size:.82rem;color:var(--kim-text-muted);margin:0 0 .4rem}.klasse-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.85rem}.klasse-actions .btn{padding:.45rem .9rem;font-size:.9rem;min-height:36px}.archived-badge{position:absolute;top:.6rem;right:.6rem;background:#9ca3af;color:#fff;padding:.1rem .55rem;border-radius:4px;font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.form-grid{display:flex;flex-direction:column;gap:1rem}.form-row label{display:block;font-weight:600;font-size:.94rem;color:var(--kim-text);margin-bottom:.35rem}.form-row input,.form-row textarea,.form-row select{width:100%;padding:.65rem .85rem;border:1px solid #cbd5e1;border-radius:var(--radius-md);font-size:1rem;font-family:inherit;background:#fff;color:var(--kim-text);transition:border-color .15s,box-shadow .15s;min-height:44px}.form-row input:focus,.form-row textarea:focus{outline:none;border-color:var(--kim-primary);box-shadow:0 0 0 3px #1ca5bd26}.form-row input:disabled{background:var(--kim-border-soft);opacity:.7}.form-row-error{color:var(--kim-error);font-size:.85rem;margin:.3rem 0 0}.checkbox-row{display:flex;gap:.75rem;align-items:flex-start;margin:.85rem 0}.checkbox-row input[type=checkbox]{margin-top:.2rem;width:1.15rem;height:1.15rem;cursor:pointer;flex-shrink:0;accent-color:var(--kim-primary)}.checkbox-row label{font-size:.94rem;color:var(--kim-text);cursor:pointer;line-height:1.5}.submit-btn-large{width:100%;padding:1rem;font-size:1rem;margin-top:1rem}.alert-error{background:var(--kim-error-soft);border:1px solid #f0c0b3;color:#841a09;padding:.75rem 1rem;border-radius:var(--radius-md);margin:1rem 0;font-size:.92rem;line-height:1.5}.alert-info{background:var(--kim-primary-faint);border:1px solid var(--kim-primary-light);color:var(--kim-primary-dark);padding:.85rem 1.1rem;border-radius:var(--radius-md);margin:1rem 0;line-height:1.55}.alert-info strong{color:var(--kim-text)}.alert-warn{background:#fef3c7;border:1px solid #fcd34d;color:#78350f;padding:.75rem 1rem;border-radius:var(--radius-md);margin:1rem 0}.alert-warn strong{color:#5a2a0a}.faq{padding:1.5rem 1.5rem .75rem}.faq h2{font-family:"Instrument Serif",Georgia,serif;font-weight:400;font-size:1.5rem;margin:0 0 1rem}.faq details{margin-bottom:.75rem;border-bottom:1px solid var(--kim-border-soft);padding-bottom:.75rem}.faq details:last-child{border-bottom:none}.faq summary{cursor:pointer;font-weight:600;font-size:.98rem;color:var(--kim-text);list-style:none;padding:.3rem 2rem .3rem 0;position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";position:absolute;right:.25rem;top:50%;transform:translateY(-50%);color:var(--kim-primary-dark);font-size:1.4rem;font-weight:300;line-height:1;transition:transform .15s}.faq details[open] summary:after{transform:translateY(-50%) rotate(45deg)}.faq details p{margin:.6rem 0 0;font-size:.93rem;line-height:1.6;color:var(--kim-text-soft)}.faq details p strong{color:var(--kim-text)}.text-muted{color:var(--kim-text-muted)}.text-soft{color:var(--kim-text-soft)}.text-center{text-align:center}.text-sm{font-size:.875rem}.mt-1{margin-top:.5rem}.mt-2{margin-top:1rem}.mt-3{margin-top:1.5rem}.mt-4{margin-top:2rem}.mt-5{margin-top:2.5rem}
