@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.2qo5md4hn_gum.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.1d9rlgtqyj_-l.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.32sris142tqlb.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_3306929a-module__ZarzYG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_3306929a-module__ZarzYG__variable{--disp:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_e9e981d2-module__sA4vFa__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_e9e981d2-module__sA4vFa__variable{--body:"Inter", "Inter Fallback"}
@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_6e9631e9-module__M1YgJG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_6e9631e9-module__M1YgJG__variable{--mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--ink:#101b2e;--ink-soft:#4b5568;--paper:#eef0e8;--paper-deep:#e4e7db;--white:#fff;--line:#dcdfd1;--marigold:#e8a33d;--marigold-deep:#c9832a;--forest:#2d5b45;--forest-tint:#e7efe9;--slate:#2e6b8a;--slate-tint:#e6eef2;--plum:#7c5a8c;--plum-tint:#f0e9f2;--rust:#b5694a;--rust-tint:#f5e9e3;--radius:14px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--body);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul{list-style:none}.wrap{max-width:1180px;margin:0 auto;padding:0 32px}.eyebrow{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:18px;font-size:12px;display:flex}.eyebrow:before{content:"";background:var(--marigold-deep);width:18px;height:1px;display:inline-block}h1,h2,h3{font-family:var(--disp);letter-spacing:-.01em;color:var(--ink);font-weight:600}.btn{font-family:var(--body);cursor:pointer;white-space:nowrap;border:1.5px solid #0000;border-radius:9px;align-items:center;gap:8px;padding:13px 24px;font-size:14.5px;font-weight:700;transition:all .15s;display:inline-flex}.btn-primary{background:var(--marigold);color:var(--ink)}.btn-primary:hover{background:var(--marigold-deep);transform:translateY(-1px)}.btn-ghost{border-color:var(--ink);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--ink);color:var(--paper)}.btn-light{color:var(--white);background:0 0;border-color:#ffffff80}.btn-light:hover{background:#ffffff1f}.btn-block{justify-content:center;width:100%}header.site-nav{z-index:200;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#eef0e8e0;position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:18px 32px;display:flex}.logo{font-family:var(--disp);letter-spacing:-.01em;align-items:center;gap:10px;font-size:20px;font-weight:600;display:flex}.logo-mark{flex-shrink:0;width:26px;height:26px}.nav-links{align-items:center;gap:34px;font-size:14.5px;font-weight:600;display:flex}.nav-links a{color:var(--ink-soft);border-bottom:2px solid #0000;padding-bottom:2px;transition:color .15s}.nav-links a:hover{color:var(--ink)}.nav-links a.current{color:var(--ink);border-bottom-color:var(--marigold)}.nav-cta{align-items:center;gap:18px;display:flex}.nav-toggle{cursor:pointer;background:0 0;border:none;display:none}@media (max-width:860px){.nav-links{display:none}.nav-toggle{display:block}.nav-cta .btn-ghost{display:none}}section{padding:96px 0}.section-head{max-width:640px;margin-bottom:52px}.section-head h2{font-size:36px;line-height:1.15}.section-head p{color:var(--ink-soft);margin-top:14px;font-size:16.5px;line-height:1.6}.section-head.center{text-align:center;margin-left:auto;margin-right:auto}.section-head.center .eyebrow{justify-content:center}.page-hero{padding:64px 0 20px}.page-hero h1{max-width:760px;font-size:44px;line-height:1.1}.page-hero p.lede{color:var(--ink-soft);max-width:600px;margin-top:16px;font-size:17px;line-height:1.6}@media (max-width:700px){.page-hero h1{font-size:32px}}.reality-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.reality-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:30px 28px}.reality-card h3{font-size:19px;font-family:var(--body);margin-bottom:18px;font-weight:700}.reality-card.before h3:before{content:"✕ ";color:var(--rust)}.reality-card.after{background:var(--ink);color:var(--white);border-color:var(--ink)}.reality-card.after h3{color:var(--white)}.reality-card.after h3:before{content:"✓ ";color:#8fd6ac}.reality-card li{border-top:1px solid var(--line);color:var(--ink-soft);padding:11px 0;font-size:14.5px;line-height:1.5}.reality-card.after li{color:#c9d2e0;border-top:1px solid #ffffff1f}.reality-card li:first-child{border-top:none}@media (max-width:800px){.reality-grid{grid-template-columns:1fr}}.portals-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.portal-card{border-radius:var(--radius);border:1px solid var(--line);background:var(--white);padding:26px 22px;transition:transform .18s,box-shadow .18s;position:relative;overflow:hidden}.portal-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -18px #101b2e40}.portal-bar{border-radius:4px;width:34px;height:5px;margin-bottom:20px}.portal-card h3{font-family:var(--body);margin-bottom:10px;font-size:17px;font-weight:700}.portal-card p{color:var(--ink-soft);margin-bottom:16px;font-size:13.8px;line-height:1.55}.portal-tag{font-family:var(--mono);border-radius:20px;padding:4px 10px;font-size:11px;display:inline-block}.p-principal .portal-bar,.p-principal .portal-tag{background:var(--forest)}.p-principal .portal-tag{color:var(--white)}.p-teacher .portal-bar,.p-teacher .portal-tag{background:var(--slate)}.p-teacher .portal-tag{color:var(--white)}.p-student .portal-bar,.p-student .portal-tag{background:var(--plum)}.p-student .portal-tag{color:var(--white)}.p-mgmt .portal-bar,.p-mgmt .portal-tag{background:var(--rust)}.p-mgmt .portal-tag{color:var(--white)}@media (max-width:900px){.portals-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.portals-grid{grid-template-columns:1fr}}.feat-list{flex-direction:column;display:flex}.feat-row{border-top:1px solid var(--line);padding:32px 0}.feat-row:last-child{border-bottom:1px solid var(--line)}.feat-icon{background:var(--forest-tint);border-radius:12px;justify-content:center;align-items:center;width:52px;height:52px;font-size:22px;display:flex}.feat-body h3{font-family:var(--body);flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:8px;font-size:18px;font-weight:700;display:flex}.feat-body p{color:var(--ink-soft);max-width:640px;font-size:15px;line-height:1.6}.tag-pill{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;border-radius:20px;padding:3px 9px;font-size:10.5px}.tag-ai{background:var(--plum-tint);color:var(--plum)}.tag-key{background:var(--forest-tint);color:var(--forest)}.tag-pay{background:var(--rust-tint);color:var(--rust)}.tag-offline{background:var(--slate-tint);color:var(--slate)}.tag-new{color:var(--marigold-deep);background:#fbeeda}.security-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.sec-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px}.sec-card h4{font-family:var(--body);margin-bottom:7px;font-size:15px;font-weight:700}.sec-card p{color:var(--ink-soft);font-size:13.5px;line-height:1.55}@media (max-width:760px){.security-grid{grid-template-columns:1fr}}.integrations{background:var(--paper-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.integ-row{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.integ-chip{font-family:var(--mono);background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:30px;padding:10px 18px;font-size:13px}.pricing-band{background:var(--forest);color:var(--white);border-radius:20px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:30px;padding:44px;display:flex}.pricing-band h2{color:var(--white);max-width:480px;font-size:28px}.pricing-band p{color:#cfe3d6;max-width:440px;margin-top:10px;font-size:15px}.final-cta{text-align:center}.final-cta h2{max-width:620px;margin:0 auto 16px;font-size:38px}.final-cta p{color:var(--ink-soft);max-width:520px;margin:0 auto 34px;font-size:16.5px}.final-actions{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.trust-strip{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper-deep)}.trust-inner{max-width:1180px;font-family:var(--mono);color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:36px;margin:0 auto;padding:18px 32px;font-size:12.5px;display:flex}.trust-inner span{align-items:center;gap:8px;display:flex}.rollcard{background:var(--ink);color:var(--white);border-radius:20px;padding:26px 24px 22px;position:relative;overflow:hidden;box-shadow:0 30px 60px -20px #101b2e73}.rollcard:before{content:"";background:radial-gradient(circle,#e8a33d59,#0000 70%);border-radius:50%;width:180px;height:180px;position:absolute;top:-60px;right:-60px}.rollcard-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex;position:relative}.rollcard-title{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#9aa6bc;font-size:11.5px}.rollcard-date{font-family:var(--mono);color:#9aa6bc;font-size:11.5px}.roll-row{opacity:0;border-bottom:1px solid #ffffff14;grid-template-columns:30px 1fr auto;align-items:center;gap:12px;padding:8px 4px;font-size:14px;animation:.5s forwards rollin;display:grid}.roll-row:last-of-type{border-bottom:none}.roll-no{font-family:var(--mono);color:#77839a;font-size:12px}.roll-name{font-weight:600}.roll-status{font-family:var(--mono);text-align:center;color:#77839a;background:#ffffff14;border-radius:20px;padding:4px 9px;font-size:11px}.roll-row.p .roll-status{animation:.3s forwards mark-present;animation-delay:inherit}@keyframes rollin{to{opacity:1}}@keyframes mark-present{to{color:#8fd6ac;background:#2d5b4559}}.roll-row:first-child{animation-delay:.15s}.roll-row:first-child .roll-status{animation-delay:.5s}.roll-row:nth-child(2){animation-delay:.28s}.roll-row:nth-child(2) .roll-status{animation-delay:.63s}.roll-row:nth-child(3){animation-delay:.41s}.roll-row:nth-child(3) .roll-status{animation-delay:.76s}.roll-row:nth-child(4){animation-delay:.54s}.roll-row:nth-child(4) .roll-status{animation-delay:.89s}.roll-row:nth-child(5){animation-delay:.67s}.roll-row:nth-child(5) .roll-status{animation-delay:1.02s}.roll-row.absent .roll-status{color:#f2b79b;background:#b5694a59;animation-delay:1.15s!important}.roll-toast{color:#c9d2e0;opacity:0;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:8px;margin-top:16px;padding:11px 14px;font-size:12.5px;animation:.5s 1.5s forwards toastin;display:flex;position:relative}@keyframes toastin{to{opacity:1}}.roll-toast b{color:var(--white)}.dot-live{background:#4ade80;border-radius:50%;flex-shrink:0;width:7px;height:7px;box-shadow:0 0 0 3px #4ade8033}.day-section{background:var(--ink);color:var(--white)}.day-section .section-head h2{color:var(--white)}.day-section .section-head p{color:#b7c0d2}.day-section .eyebrow{color:#8792a8}.day-section .eyebrow:before{background:var(--marigold)}.timeline{border-left:1px solid #ffffff26;flex-direction:column;gap:38px;margin-left:6px;padding-left:34px;display:flex}.tl-item{position:relative}.tl-item:before{content:"";background:var(--marigold);border-radius:50%;width:11px;height:11px;position:absolute;top:5px;left:-40px;box-shadow:0 0 0 4px #e8a33d2e}.tl-time{font-family:var(--mono);color:var(--marigold);margin-bottom:6px;font-size:13px;display:block}.tl-item h3{font-family:var(--body);color:var(--white);margin-bottom:6px;font-size:16.5px;font-weight:700}.tl-item p{color:#b7c0d2;max-width:560px;font-size:14.5px;line-height:1.6}.tab-bar{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:8px;margin-bottom:0;display:flex}.tab-btn{font-family:var(--body);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;border-bottom:2.5px solid #0000;align-items:center;gap:8px;margin-right:26px;padding:14px 6px;font-size:14.5px;font-weight:700;transition:color .15s;display:flex}.tab-btn:hover,.tab-btn.active{color:var(--ink)}.tab-btn.active.t-principal{border-bottom-color:var(--forest)}.tab-btn.active.t-teacher{border-bottom-color:var(--slate)}.tab-btn.active.t-student{border-bottom-color:var(--plum)}.tab-btn.active.t-mgmt{border-bottom-color:var(--rust)}.portal-panel{display:none}.portal-panel.active{animation:.3s fadein;display:block}@keyframes fadein{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.portal-banner{color:var(--white);border-radius:18px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:36px 0 40px;padding:38px 36px;display:flex}.banner-principal{background:linear-gradient(135deg,#132d22,var(--forest))}.banner-teacher{background:linear-gradient(135deg,#0c222e,var(--slate))}.banner-student{background:linear-gradient(135deg,#2a1938,var(--plum))}.banner-mgmt{background:linear-gradient(135deg,#3a2115,var(--rust))}.banner-left{align-items:center;gap:18px;display:flex}.banner-emoji{background:#ffffff24;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:64px;height:64px;font-size:38px;display:flex}.portal-banner h2{color:var(--white);margin-bottom:6px;font-size:26px}.portal-banner p{color:#ffffffd1;max-width:440px;font-size:14.5px}.banner-stats{gap:14px;display:flex}.banner-stat{text-align:center;background:#ffffff1f;border-radius:12px;min-width:84px;padding:12px 18px}.banner-stat b{font-family:var(--disp);font-size:22px;display:block}.banner-stat span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#ffffffb3;font-size:10.5px}@media (max-width:820px){.modules-grid{grid-template-columns:1fr}}.module-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.module-header .module-title{flex-grow:1;font-size:15px;font-weight:700}.feature-text b{font-size:13.5px;font-weight:600;display:block}.feature-text span{color:var(--ink-soft);margin-top:2px;font-size:12.5px;line-height:1.5;display:block}.included-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:20px;padding:36px}.included-card h3{font-family:var(--body);margin-bottom:18px;font-size:16px}.included-grid{grid-template-columns:1fr 1fr;gap:10px 24px;display:grid}@media (max-width:700px){.included-grid{grid-template-columns:1fr}}.included-item{color:var(--ink-soft);align-items:flex-start;gap:10px;padding:6px 0;font-size:14.5px;display:flex}.included-item .check{color:var(--forest);flex-shrink:0;font-weight:700}.factor-row{border-top:1px solid var(--line);grid-template-columns:180px 1fr;align-items:baseline;gap:24px;padding:22px 0;display:grid}.factor-row:first-child{border-top:none}.factor-label{font-size:15px;font-weight:700}.factor-desc{color:var(--ink-soft);font-size:14.5px;line-height:1.6}@media (max-width:600px){.factor-row{grid-template-columns:1fr;gap:6px}}.quote-form-card{background:var(--ink);color:var(--white);border-radius:20px;padding:40px}.quote-form-card h3{color:var(--white);margin-bottom:8px;font-size:22px}.quote-form-card p.form-note{color:#b7c0d2;margin-bottom:28px;font-size:14px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;margin-bottom:22px;display:grid}@media (max-width:600px){.form-grid{grid-template-columns:1fr}}.form-field{flex-direction:column;gap:7px;display:flex}.form-field.full{grid-column:1/-1}.form-field label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#9aa6bc;font-size:11px}.form-field input,.form-field select,.form-field textarea{color:var(--white);font-family:var(--body);background:#ffffff0f;border:1px solid #ffffff29;border-radius:8px;outline:none;padding:12px 14px;font-size:14.5px;transition:border-color .15s}.form-field input::placeholder,.form-field textarea::placeholder{color:#6b7a94}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--marigold)}.form-field select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.principles-grid{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}@media (max-width:820px){.principles-grid{grid-template-columns:1fr 1fr}}@media (max-width:560px){.principles-grid{grid-template-columns:1fr}}.principle-card h3{font-family:var(--body);color:var(--ink);margin-bottom:8px;font-size:16.5px;font-weight:700}.principle-card p{color:var(--ink-soft);font-size:14px;line-height:1.6}.founder-band{background:var(--paper-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:64px 0}.founder-row{flex-wrap:wrap;align-items:center;gap:28px;display:flex}.founder-photo{background:linear-gradient(135deg,var(--forest),var(--slate));width:88px;height:88px;color:var(--white);font-family:var(--disp);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:28px;display:flex}.founder-text b{margin-bottom:4px;font-size:17px;display:block}.founder-text i{color:var(--ink-soft);max-width:520px;font-size:14.5px;font-style:italic;line-height:1.5;display:block}.origin-block{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-soft);padding:34px 36px;font-size:15.5px;line-height:1.75}.origin-block p+p{margin-top:16px}.demo-grid{grid-template-columns:1fr 1fr;align-items:start;gap:56px;display:grid}@media (max-width:900px){.demo-grid{grid-template-columns:1fr}}.steps-list{flex-direction:column;gap:26px;margin-top:32px;display:flex}.step-item{gap:16px;display:flex}.step-num{font-family:var(--mono);background:var(--white);border:1.5px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;display:flex}.step-text b{margin-bottom:3px;font-size:15.5px;display:block}.step-text span{color:var(--ink-soft);font-size:14px;line-height:1.55}.demo-form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:34px}.demo-form-card h3{margin-bottom:22px;font-size:19px}.demo-form-card .form-field label{color:var(--ink-soft)}.demo-form-card .form-field input,.demo-form-card .form-field select,.demo-form-card .form-field textarea{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.demo-form-card .form-field input::placeholder,.demo-form-card .form-field textarea::placeholder{color:#9aa0a8}.demo-form-card .form-field input:focus,.demo-form-card .form-field select:focus,.demo-form-card .form-field textarea:focus{border-color:var(--marigold)}.form-reassure{font-family:var(--mono);color:var(--ink-soft);text-align:center;margin-top:16px;font-size:12px}.faq-groups{max-width:760px;margin:0 auto}.faq-group{margin-bottom:40px}.faq-group-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--marigold-deep);margin-bottom:6px;font-size:11.5px;display:block}.faq-row{border-bottom:1px solid var(--line)}.faq-q{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:20px 2px;font-size:15.5px;font-weight:700;display:flex}.faq-q .plus{font-family:var(--mono);color:var(--ink-soft);flex-shrink:0;font-size:18px;transition:transform .2s}.faq-row.open .faq-q .plus{color:var(--marigold-deep);transform:rotate(45deg)}.faq-a{max-height:0;transition:max-height .25s;overflow:hidden}.faq-row.open .faq-a{max-height:300px}.faq-a p{color:var(--ink-soft);max-width:640px;padding:0 2px 20px;font-size:14.5px;line-height:1.65}footer{background:var(--ink);color:#b7c0d2;padding:64px 0 30px}.foot-grid{border-bottom:1px solid #ffffff1a;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:44px;display:grid}.foot-brand .logo{color:var(--white);margin-bottom:14px}.foot-brand p{max-width:260px;font-size:13.5px;line-height:1.6}.foot-col h5{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#77839a;margin-bottom:16px;font-size:11.5px}.foot-col a{color:#c9d2e0;margin-bottom:11px;font-size:14px;display:block}.foot-col a:hover{color:var(--white)}.foot-bottom{color:#77839a;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:26px;font-size:12.5px;display:flex}@media (max-width:760px){.foot-grid{grid-template-columns:1fr 1fr}}@media (max-width:600px){section{padding:64px 0}.section-head h2{font-size:28px}.wrap{padding:0 20px}.nav-inner{padding:16px 20px}.feat-row{grid-template-columns:1fr;gap:12px}.pricing-band{padding:32px 24px}.portal-banner{padding:28px 22px}.quote-form-card,.origin-block{padding:26px 22px}}.sol-card p{color:var(--ink-soft);margin-top:8px;font-size:13px;line-height:1.55}.sol-card{background:var(--white);border:1px solid var(--line);border-radius:12px;padding:22px}.sol-card-head{align-items:center;gap:12px;display:flex}.sol-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.sol-title{flex-grow:1;font-size:15px;font-weight:700}.sol-count{font-family:var(--mono);color:var(--ink-soft);font-size:11px}.search-bar{background:var(--white);border:1px solid var(--line);border-radius:30px;align-items:center;gap:10px;max-width:420px;margin-top:28px;padding:12px 20px;display:flex}.search-bar input{font-family:var(--body);width:100%;color:var(--ink);background:0 0;border:none;outline:none;font-size:14.5px}.search-bar input::placeholder{color:#9aa0a8}.expand-all{font-family:var(--mono);color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:20px;margin-top:20px;padding:8px 16px;font-size:12px}.expand-all:hover{border-color:var(--ink);color:var(--ink)}.no-results{text-align:center;color:var(--ink-soft);padding:60px 20px;font-size:14.5px;display:none}.modules-grid{grid-template-columns:1fr;gap:16px;display:grid}.module-card{background:var(--white);border:1px solid var(--line);border-radius:12px;align-self:start;overflow:hidden}.module-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;padding:18px 20px;display:flex}.module-icon{background:var(--paper);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:18px;display:flex}.module-header .module-title{font-family:var(--body);flex-grow:1;font-size:15px;font-weight:700}.module-header .module-count{font-family:var(--mono);color:var(--ink-soft);margin-right:6px;font-size:11.5px}.module-chevron{color:var(--ink-soft);flex-shrink:0;transition:transform .2s}.module-card.open .module-chevron{transform:rotate(180deg)}.module-body{max-height:0;transition:max-height .3s;overflow:hidden}.module-card.open .module-body{max-height:2400px}.module-body-inner{padding:0 20px 20px}.group-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin:14px 0 8px;font-size:10.5px}.group-label:first-child{margin-top:0}.feature-line{border-top:1px solid var(--line);align-items:flex-start;gap:10px;padding:8px 0;display:flex}.feature-line:first-of-type{border-top:none}.f-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:7px}.f-dot.principal{background:var(--forest)}.f-dot.teacher{background:var(--slate)}.f-dot.student{background:var(--plum)}.f-dot.mgmt{background:var(--rust)}.feature-text b{font-family:var(--body);font-size:13.5px;font-weight:600;display:block}.feature-text span{font-family:var(--body);color:var(--ink-soft);margin-top:2px;font-size:12.5px;line-height:1.5;display:block}.feature-tags{flex-shrink:0;gap:5px;margin-left:6px;display:flex}.hero{padding:76px 0 60px}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;gap:56px;display:grid}.hero-h1{margin-bottom:22px;font-size:clamp(26px,6vw,52px);line-height:1.06}.hero-h1 em{color:var(--forest);font-style:italic}.hero-lede{color:var(--ink-soft);max-width:520px;margin-bottom:32px;font-size:18px;line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:14px;display:flex}.hero-reassurance{font-family:var(--mono);color:var(--ink-soft);font-size:12.5px}@media (max-width:900px){.hero{padding:56px 0 40px}.hero-grid{grid-template-columns:1fr;gap:36px}.hero-lede{max-width:100%}}@media (max-width:600px){.hero{padding:40px 0 32px}.hero-lede{font-size:16px}}.portal-card h3{margin-top:14px}.section-cta{text-align:center;margin-top:36px}.faq-card{background:var(--white)}.faq-card h3{font-family:var(--body)}.faq-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.6}.section-head.center{margin:0 auto 44px}.integrations .wrap{padding-top:44px;padding-bottom:44px}.integrations .eyebrow{justify-content:center}@media (max-width:600px){.rollcard{padding:20px 18px 16px}.roll-row{grid-template-columns:24px 1fr auto;gap:8px;padding:6px 2px;font-size:13px}.rollcard-title,.rollcard-date{font-size:10px}.roll-status{padding:3px 7px;font-size:10px}.roll-toast{padding:9px 10px;font-size:11px}}@media (max-width:400px){.roll-row{grid-template-columns:20px 1fr auto;gap:6px;font-size:12px}.rollcard-head{flex-wrap:wrap;gap:4px}}.mobile-menu{background:var(--paper);border-bottom:1px solid var(--line);z-index:199;opacity:0;flex-direction:column;gap:0;max-height:0;transition:max-height .3s,opacity .25s;display:none;position:absolute;top:100%;left:0;right:0;overflow:hidden;box-shadow:0 16px 48px -12px #101b2e2e}.mobile-menu.open{opacity:1;max-height:500px;display:flex}.mobile-menu a{color:var(--ink-soft);border-top:1px solid var(--line);padding:16px 32px;font-size:15px;font-weight:600;transition:background .12s,color .12s;display:block}.mobile-menu a:first-child{border-top:none}.mobile-menu a:hover,.mobile-menu a.current{background:var(--white);color:var(--ink)}.mobile-menu .mobile-cta{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding:16px 32px 20px;display:flex}.mobile-menu .mobile-cta .btn{justify-content:center}.mobile-backdrop{z-index:198;background:0 0;display:none;position:fixed;inset:0}.mobile-backdrop.open{display:block}@media (min-width:861px){.mobile-menu,.mobile-backdrop{display:none!important}}.features-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}@media (max-width:600px){.features-toolbar{flex-direction:column;align-items:stretch}.features-toolbar .tab-bar{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;overflow-x:auto}.features-toolbar .expand-all{margin-top:8px}}.features-content{margin-top:36px}.solutions-cta{text-align:center;margin-top:48px}.solutions-tabs-section{padding-top:36px}.features-tabs-section{padding-top:28px}button.faq-q,button.module-header{all:unset;cursor:pointer;box-sizing:border-box;align-items:center;width:100%;font-family:inherit;display:flex}button.faq-q{justify-content:space-between;gap:16px;min-height:44px;padding:20px 2px;font-size:15.5px;font-weight:700}button.module-header{-webkit-user-select:none;user-select:none;gap:14px;min-height:44px;padding:18px 20px}
