:root{--mono:var(--sans);--disp:var(--display);--serif:var(--display);--hand:var(--sans);--body:var(--sans);--ink:#101b2e;--ink-2:#1a2740;--ink-soft:#4b5568;--ink-mute:#6b7486;--paper:#eef0e8;--paper-deep:#e4e7db;--paper-warm:#f6f4ec;--white:#fff;--line:#dcdfd1;--line-strong:#c9cdbd;--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;--gold-1:#f1dca0;--gold-2:#d2ae5f;--gold-3:#a98232;--logo-green:#1d8a3c;--logo-blue:#1a6fb0;--radius:8px;--radius-sm:6px;--gutter:clamp(18px, 4.2vw, 44px);--container:1240px;--section:clamp(68px, 9vw, 128px);--ease:cubic-bezier(.2, .7, .2, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--shadow-sm:0 1px 2px #101b2e0f, 0 2px 8px -2px #101b2e0f;--shadow-md:0 2px 4px #101b2e0a, 0 18px 40px -18px #101b2e47;--shadow-lg:0 40px 80px -30px #101b2e73;--nav-h:76px}@media (min-width:1600px){:root{--container:1360px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}html{scroll-padding-top:calc(var(--nav-h) + 12px);-webkit-text-size-adjust:100%}body{font-family:var(--body), system-ui, sans-serif;font-optical-sizing:auto;background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:16.5px;line-height:1.55;overflow-x:hidden}body:before{content:"";pointer-events:none;z-index:1000;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.06 0 0 0 0 0.1 0 0 0 0 0.18 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}ul,ol{list-style:none}button{font:inherit;color:inherit}::selection{background:var(--marigold);color:var(--ink)}:focus-visible{outline:2.5px solid var(--marigold-deep);outline-offset:3px;border-radius:6px}.skip-link{z-index:500;background:var(--ink);color:var(--white);border-radius:4px;padding:10px 16px;font-weight:600;position:absolute;top:-60px;left:12px}.skip-link:focus{top:12px}.mono{font-family:var(--mono)}.wrap{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding:0 var(--gutter);margin:0 auto}h1,h2,h3{font-family:var(--disp), system-ui, sans-serif;letter-spacing:-.004em;color:var(--ink);font-variation-settings:"wdth" 90;text-wrap:balance;font-weight:720}h2{font-size:clamp(30px,3.8vw,52px);line-height:1.08}p{text-wrap:pretty}.dots{flex-shrink:0;align-items:center;gap:3px;display:inline-flex}.dots i{background:var(--logo-green);border-radius:50%;width:7px;height:7px;box-shadow:inset 0 0 0 1.2px #d2ae5fe6}.dots i:nth-child(2){background:var(--logo-blue);transform:translateY(2px)}.kicker{font-family:var(--mono);font-variation-settings:"wdth" 87;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);align-items:center;gap:10px;margin-bottom:18px;font-size:11px;display:flex}.kicker-num{font-family:var(--serif);letter-spacing:0;text-transform:none;color:var(--marigold-deep);border-right:1px solid var(--line-strong);padding-right:10px;font-size:19px;font-style:normal}.hand{font-family:var(--hand), cursive;text-transform:none;letter-spacing:0}.text-link{color:var(--marigold-deep);transition:background-size .3s var(--ease);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1.5px;font-weight:600}.text-link:hover{background-size:100% 1.5px}.btn{--btn-y:0px;font-family:var(--body);cursor:pointer;transition:background-color .2s, color .2s, border-color .2s, box-shadow .25s, transform .25s var(--spring);white-space:nowrap;transform:translate(var(--mgx,0px), calc(var(--btn-y) + var(--mgy,0px)));isolation:isolate;border:1.5px solid #0000;border-radius:4px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:13px 22px;font-size:15px;font-weight:600;line-height:1.2;display:inline-flex;position:relative}.btn svg{transition:transform .25s var(--spring)}.btn:hover svg{transform:translate(3px)}.btn:active{--btn-y:1px}.btn-sm{min-height:40px;padding:9px 18px;font-size:14px}.btn-lg{padding:15px 26px;font-size:16px}.btn-primary{background:var(--marigold);color:var(--ink);box-shadow:inset 0 -2px #0000001f,0 6px 16px -8px #c9832ab3}.btn-primary:hover{--btn-y:-2px;background:#f0ad48;box-shadow:inset 0 -2px #0000001f,0 12px 24px -10px #c9832acc}.btn-ghost{color:var(--ink);background:0 0;border-color:#101b2ecc}.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-link{color:var(--ink);background-image:linear-gradient(var(--marigold), var(--marigold));background-position:0 calc(100% - 8px);background-repeat:no-repeat;background-size:100% 2px;border-radius:0;padding-left:6px;padding-right:6px}.btn-link:hover{background-size:100% 8px}.btn-block{width:100%}.btn:disabled{cursor:not-allowed;opacity:.7;--btn-y:0px}.btn-spinner{border:2px solid #101b2e47;border-top-color:var(--ink);border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease), transform .9s var(--ease);transition-delay:var(--d,0s);transform:translateY(26px)}.js [data-reveal=left]{transform:translate(-30px)rotate(-1deg)}.js [data-reveal=right]{transform:translate(30px)}.js [data-reveal=scale]{transform:scale(.96)translateY(14px)}.js [data-reveal].is-in{opacity:1;transform:none}.scroll-progress{z-index:300;pointer-events:none;background:var(--marigold);transform-origin:0;height:3px;transform:scaleX(var(--scroll,0));position:fixed;top:0;left:0;right:0}[data-spot]{position:relative}[data-spot]:after{content:"";border-radius:inherit;pointer-events:none;opacity:0;background:0 0;transition:opacity .3s;position:absolute;inset:0}[data-spot]:hover:after{opacity:1}header.site-nav{z-index:200;-webkit-backdrop-filter:saturate(1.4)blur(14px);background:#eef0e8d1;border-bottom:1px solid #0000;transition:border-color .3s,box-shadow .3s,background-color .3s;position:sticky;top:0}[data-scrolled] header.site-nav{border-bottom-color:var(--line);background:#eef0e8f2;box-shadow:0 10px 30px -24px #101b2e80}header.site-nav.menu-open{background:var(--paper)}.nav-inner{height:var(--nav-h);max-width:calc(var(--container) + var(--gutter) * 2);padding:0 var(--gutter);transition:height .3s var(--ease);justify-content:space-between;align-items:center;gap:20px;margin:0 auto;display:flex}[data-scrolled] .nav-inner{height:64px}.logo{flex-shrink:0;align-items:center;gap:11px;line-height:1;display:inline-flex}.logo-mark{filter:drop-shadow(0 2px 3px #101b2e2e);flex-shrink:0;width:44px;height:auto;overflow:visible}.logo-mark .lm-dot{transform-box:fill-box;transform-origin:50%;transition:transform .45s var(--spring)}.logo:hover .lm-dot-top{transform:translateY(-14px)}.logo:hover .lm-dot-left{transition-delay:50ms;transform:translate(-8px,6px)}.logo:hover .lm-dot-right{transition-delay:.1s;transform:translate(8px,6px)}.wordmark{flex-direction:column;gap:4px;display:flex}.wordmark-name{font-family:var(--brand);letter-spacing:-.012em;color:#b7862c;filter:drop-shadow(0 1px #fff9);font-size:25px;font-weight:600;line-height:.95}.wordmark-tag{font-family:var(--brand);letter-spacing:.135em;text-transform:uppercase;color:#9a7428;white-space:nowrap;font-size:7.6px;font-weight:500}.logo-dark .wordmark-name{filter:none;color:#e0b252}.logo-dark .wordmark-tag{color:var(--gold-2)}.nav-links{align-items:center;gap:clamp(18px,2.4vw,34px);font-size:15px;font-weight:500;display:none}.nav-links a{color:var(--ink-soft);padding:8px 0;transition:color .2s;position:relative}.nav-links a:after{content:"";clip-path:inset(0 100% 0 0);height:7px;transition:clip-path .35s var(--ease);background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 8' preserveAspectRatio='none'%3E%3Cpath d='M1 5.5C15 2 33 1.5 59 4' fill='none' stroke='%23e8a33d' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E") 50%/100% 100% no-repeat;position:absolute;bottom:2px;left:-2px;right:-2px}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after,.nav-links a.current:after{clip-path:inset(0)}.nav-links a.current{color:var(--ink)}.nav-cta{align-items:center;gap:10px;display:flex}.nav-contact,.nav-demo{display:none}.nav-toggle{border:1px solid var(--line-strong);background:var(--white);cursor:pointer;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s;display:grid}.burger{width:18px;height:12px;position:relative}.burger i{background:var(--ink);height:1.8px;transition:transform .35s var(--ease), opacity .2s, width .3s var(--ease);border-radius:2px;position:absolute;left:0}.burger i:first-child{width:100%;top:0}.burger i:nth-child(2){width:70%;top:5px}.burger i:nth-child(3){width:85%;top:10px}.nav-toggle:hover .burger i{width:100%}.menu-open .burger i:first-child{width:100%;transform:translateY(5px)rotate(45deg)}.menu-open .burger i:nth-child(2){opacity:0}.menu-open .burger i:nth-child(3){width:100%;transform:translateY(-5px)rotate(-45deg)}.mobile-menu{top:var(--nav-h);height:calc(100dvh - var(--nav-h));background:var(--paper);padding:12px var(--gutter) max(24px, env(safe-area-inset-bottom));visibility:hidden;opacity:0;transition:opacity .3s var(--ease), transform .35s var(--ease), visibility 0s .35s;flex-direction:column;justify-content:space-between;display:flex;position:fixed;left:0;right:0;overflow-y:auto;transform:translateY(-8px)}[data-scrolled] .mobile-menu{height:calc(100dvh - 64px);top:64px}.mobile-menu.open{visibility:visible;opacity:1;transition:opacity .3s var(--ease), transform .35s var(--ease);transform:none}.mobile-links a{border-bottom:1px solid var(--line);opacity:0;transition:opacity .4s var(--ease), transform .5s var(--ease);grid-template-rows:auto auto;grid-template-columns:40px 1fr;align-items:baseline;padding:16px 0;display:grid;transform:translateY(14px)}.mobile-menu.open .mobile-links a{opacity:1;transition-delay:calc(var(--i) * 55ms + 80ms);transform:none}.ml-num{font-family:var(--mono);color:var(--marigold-deep);grid-row:span 2;font-size:12px}.ml-label{font-family:var(--disp);font-variation-settings:"wdth" 88;letter-spacing:-.005em;font-size:clamp(26px,7vw,34px);font-weight:720;line-height:1.1}.ml-note{color:var(--ink-mute);margin-top:2px;font-size:13.5px}.mobile-links a.current .ml-label{color:var(--forest);font-family:var(--serif);font-weight:inherit;font-style:normal}.mobile-cta{gap:10px;padding-top:24px;display:grid}.mobile-mail{text-align:center;font-family:var(--mono);color:var(--ink-soft);padding:8px;font-size:13px}@media (min-width:480px){.nav-demo{display:inline-flex}}@media (min-width:1000px){.nav-links{display:flex}.nav-toggle,.mobile-menu{display:none}}@media (min-width:1200px){.nav-contact{display:inline-flex}}@media (max-width:400px){.logo-mark{width:38px}.wordmark-name{font-size:22px}.wordmark-tag{font-size:6.6px}}main{overflow-x:clip}.cv{content-visibility:auto;contain-intrinsic-size:auto 900px}section{padding:var(--section) 0;position:relative}.split-head{gap:18px;margin-bottom:clamp(36px,5vw,64px);display:grid}.split-head>p:not(.kicker){color:var(--ink-soft);max-width:560px;font-size:clamp(16px,1.3vw,18px);line-height:1.6}@media (min-width:900px){.split-head{grid-template-columns:1.25fr 1fr;align-items:end;gap:64px}.split-head>p:not(.kicker){padding-bottom:6px}}.section-cta{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px 28px;margin-top:clamp(32px,4vw,52px);display:flex}.tag-pill{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;border-radius:4px;padding:3px 8px;font-size:10.5px;font-weight:500;line-height:1.4;display:inline-block}.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}.hero{padding:clamp(36px,6vw,84px) 0 clamp(56px,7vw,100px);overflow:hidden}.hero-bg{pointer-events:none;z-index:-1;position:absolute;inset:0}.blob{filter:blur(60px);opacity:.5;border-radius:50%;animation:18s ease-in-out infinite alternate drift;position:absolute}.b1{background:#f3d9a8;width:420px;height:420px;top:-80px;right:6%}.b2{background:#cfe1d3;width:320px;height:320px;animation-delay:-6s;bottom:-60px;right:30%}.b3{background:#cfdfe8;width:260px;height:260px;animation-delay:-12s;top:30%;left:-80px}@keyframes drift{to{transform:translate(40px,30px)scale(1.08)}}.hero-grid{align-items:center;gap:clamp(40px,6vw,72px);display:grid}@media (min-width:1000px){.hero-grid{grid-template-columns:1.08fr .92fr}}.hero-h1{letter-spacing:-.008em;font-variation-settings:"wdth" 86;margin-bottom:28px;font-size:clamp(44px,6.4vw,92px);font-weight:760;line-height:1}.line-in{display:block}.js .line-in{animation:rise .9s var(--ease) both;animation-delay:var(--d)}@keyframes rise{0%{opacity:0;filter:blur(6px);transform:translateY(.4em)}}.hero-h1 .muted{color:var(--ink-soft);font-family:var(--serif);font-style:normal;font-weight:inherit;letter-spacing:-.01em;margin-top:.22em;font-size:.66em;line-height:1.05}.scribble{color:var(--forest);font-family:var(--serif);font-weight:inherit;letter-spacing:-.005em;font-size:1.06em;font-style:normal;line-height:.9;display:inline-block;position:relative}.scribble svg{width:104%;height:.36em;position:absolute;bottom:-.16em;left:-2%;overflow:visible}.scribble path{fill:none;stroke:var(--marigold);stroke-width:4.5px;stroke-linecap:round;stroke-dasharray:260;stroke-dashoffset:260px;animation:draw 1.1s .7s var(--ease) forwards}.scribble path+path{stroke-width:3px;opacity:.6;animation-delay:1.1s}@keyframes draw{to{stroke-dashoffset:0}}.hero-lede{color:var(--ink-soft);max-width:540px;margin-bottom:32px;font-size:clamp(16.5px,1.4vw,19px);line-height:1.6}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px 18px;display:flex}.hero-proof{border-top:1px dashed var(--line-strong);grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:540px;margin-top:clamp(32px,4vw,48px);padding-top:24px;display:grid}.hero-proof dt{font-family:var(--disp);color:var(--ink);font-size:clamp(28px,3vw,38px);line-height:1}.hero-proof dt small{font-family:var(--mono);color:var(--marigold-deep);margin-left:4px;font-size:12px}.hero-proof dd{color:var(--ink-mute);margin-top:6px;font-size:13px;line-height:1.35}.hero-visual{perspective:1200px;justify-self:center;width:100%;max-width:520px;padding:34px 0 30px;position:relative}.float-chip{z-index:3;background:var(--white);border:1px solid var(--line);color:var(--ink-soft);box-shadow:var(--shadow-md);white-space:nowrap;border-radius:4px;align-items:center;gap:9px;padding:9px 13px 9px 9px;font-size:13px;animation:6s ease-in-out infinite bob;display:flex;position:absolute}.float-chip b{color:var(--ink)}.chip-ico{background:var(--forest-tint);width:28px;height:28px;color:var(--forest);border-radius:4px;place-items:center;display:grid}.chip-fee{top:0;right:-6px;transform:rotate(2deg)}.chip-bus{animation-delay:-3s;bottom:0;left:-10px}.chip-bus .chip-ico{background:var(--slate-tint);color:var(--slate)}@keyframes bob{50%{translate:0 -8px}}.rollcard{--rx:0deg;--ry:0deg;background:var(--ink);color:var(--white);box-shadow:var(--shadow-lg);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .4s var(--ease);border-radius:8px;padding:22px 20px 18px;position:relative;overflow:visible}.rollcard:before{content:"";border-radius:inherit;pointer-events:none;background:0 0;position:absolute;inset:0}.rollcard-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex;position:relative}.rollcard-title{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#aab4c8;font-size:11.5px;display:block}.rollcard-date{color:#77839a;margin-top:4px;font-size:13px;display:block}.rollcard-count{font-family:var(--disp);color:#8792a8;text-align:right;font-size:26px;line-height:1}.rollcard-count b{color:var(--white);font-weight:500}.rollcard-count span{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;font-size:10px;display:block}.rollcard-bar{background:#ffffff14;border-radius:3px;height:3px;margin:14px 0 8px;position:relative;overflow:hidden}.rollcard-bar i{background:var(--logo-green);transition:width .4s var(--ease);border-radius:3px;position:absolute;inset:0 auto 0 0}.roll-list{position:relative}.roll-row{all:unset;box-sizing:border-box;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;grid-template-columns:22px 32px 1fr auto;align-items:center;gap:10px;width:calc(100% + 16px);margin:0 -8px;padding:8px;font-size:14.5px;transition:background .2s;display:grid}.roll-row:hover{background:#ffffff0d}.roll-row:focus-visible{outline:2px solid var(--marigold);outline-offset:-2px}.roll-list li+li .roll-row{box-shadow:inset 0 1px #ffffff0f}.roll-no{font-family:var(--mono);color:#6b7891;font-size:11.5px}.roll-avatar{color:#c9d2e0;width:32px;height:32px;transition:background .3s, color .3s, transform .4s var(--spring);background:#ffffff14;border-radius:50%;place-items:center;font-size:11.5px;font-weight:600;display:grid}.roll-name{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.roll-status{font-family:var(--mono);text-align:center;color:#77839a;background:#ffffff12;border-radius:8px;min-width:70px;padding:4px 10px;font-size:11px;transition:background .3s,color .3s}.roll-row.is-present .roll-status{color:#8fd6ac;background:#2d5b4573}.roll-row.is-present .roll-avatar{color:#b8ecc8;animation:pop .45s var(--spring);background:#1d8a3c4d}.roll-row.is-absent .roll-status{color:#f6c0a5;background:#b5694a66}.roll-row.is-absent .roll-avatar{color:#f6c0a5;background:#b5694a4d;animation:.45s shake}@keyframes pop{50%{transform:scale(1.18)}}@keyframes shake{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.roll-toast-slot{min-height:58px;margin-top:12px;position:relative}.roll-toast{color:#c9d2e0;animation:toast-in .45s var(--spring);background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;align-items:center;gap:10px;padding:11px 13px;font-size:13px;line-height:1.4;display:flex}.roll-toast b{color:var(--white);font-weight:600}.wa-icon{width:26px;height:26px;color:var(--white);background:#25d366;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.tone-undo .wa-icon{background:#5d6b84}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)scale(.97)}}.roll-hint{font-family:var(--hand), cursive;color:var(--marigold-deep);pointer-events:none;white-space:nowrap;align-items:flex-end;gap:2px;font-size:22px;transition:opacity .4s,transform .4s;display:flex;position:absolute;top:-40px;left:-6px;transform:rotate(-4deg)}.roll-hint svg{transform:translateY(16px)}.roll-hint.is-done{opacity:0;transform:rotate(-4deg)translateY(-6px)}@media (max-width:999px){.roll-hint{flex-direction:row-reverse;top:-36px;left:auto;right:4px}.roll-hint svg{transform:translateY(16px)scaleX(-1)}.chip-fee{display:none}}@media (max-width:420px){.rollcard{padding:18px 14px 14px}.roll-row{grid-template-columns:18px 28px 1fr auto;gap:8px;font-size:13.5px}.roll-avatar{width:28px;height:28px;font-size:10.5px}.roll-status{min-width:58px;padding:3px 7px;font-size:10.5px}.hero-proof dd{font-size:12px}}.ticker{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--ink);color:#c9d2e0;overflow:hidden;-webkit-mask:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.ticker-track{width:max-content;animation:40s linear infinite marquee;display:flex}.ticker:hover .ticker-track{animation-play-state:paused}.ticker ul{display:flex}.ticker li{font-family:var(--mono);letter-spacing:.03em;white-space:nowrap;align-items:center;gap:14px;padding:16px 28px 16px 0;font-size:12.5px;display:flex}@keyframes marquee{to{transform:translate(-50%)}}.compare{align-items:stretch;gap:22px;display:grid}@media (min-width:900px){.compare{grid-template-columns:1fr 64px 1fr;gap:0}}.compare-card{border-radius:var(--radius);padding:clamp(24px,3vw,36px)}.register-head{font-family:var(--disp);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:22px;display:flex}.register-head .hand{color:var(--rust);font-size:22px;transform:rotate(-6deg)}.compare-card.before{border:1px solid var(--line);box-shadow:var(--shadow-sm);background-color:#fbfaf4;background-image:linear-gradient(90deg,#0000 38px,#b5694a59 38px 39.5px,#0000 39.5px),repeating-linear-gradient(#0000 0 39px,#d9e1ea 39px 40px);background-position:0 30px;padding-left:56px;rotate:-.6deg}.compare-card.before li{min-height:40px;color:var(--ink-soft);padding:9px 0;font-size:15px;line-height:1.45;position:relative}.compare-card.before li span{-webkit-box-decoration-break:clone;box-decoration-break:clone;transition:background-size .7s var(--ease), color .5s;background-image:linear-gradient(#b5694ab3,#b5694ab3);background-position:0 58%;background-repeat:no-repeat;background-size:0% 2px}.compare-card.before.is-in li span{color:var(--ink-mute);background-size:100% 2px}.compare-card.before.is-in li:first-child span{transition-delay:.7s}.compare-card.before.is-in li:nth-child(2) span{transition-delay:.95s}.compare-card.before.is-in li:nth-child(3) span{transition-delay:1.2s}.compare-card.before.is-in li:nth-child(4) span{transition-delay:1.45s}.compare-card.before.is-in li:nth-child(5) span{transition-delay:1.7s}.compare-arrow{color:var(--marigold-deep);place-self:center;display:none}.compare-arrow svg{fill:none;stroke:currentColor;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;width:60px}@media (min-width:900px){.compare-arrow{display:block}}.compare-card.after{background:var(--ink);color:var(--white);box-shadow:var(--shadow-lg);rotate:.4deg}.compare-card.after .register-head{color:var(--white)}.compare-card.after li{color:#d3dae6;border-top:1px solid #ffffff1a;align-items:flex-start;gap:12px;padding:12px 0;font-size:15px;line-height:1.45;display:flex}.compare-card.after li:first-child{border-top:none}.compare-card.after li svg{color:#8fd6ac;flex-shrink:0;margin-top:1px}.js .compare-card.after li{opacity:0;transition:opacity .5s var(--ease), transform .5s var(--ease);transform:translate(10px)}.js .compare-card.after.is-in li{opacity:1;transform:none}.compare-card.after.is-in li:nth-child(2){transition-delay:.1s}.compare-card.after.is-in li:nth-child(3){transition-delay:.2s}.compare-card.after.is-in li:nth-child(4){transition-delay:.3s}.compare-card.after.is-in li:nth-child(5){transition-delay:.4s}.portals{background:var(--paper-warm);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.bento{gap:16px;display:grid}@media (min-width:700px){.bento{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.bento{grid-template-columns:repeat(12,1fr);gap:20px}.span-7{grid-column:span 7}.span-5{grid-column:span 5}}.bento-card{--accent:var(--forest);--tint:var(--forest-tint);background:var(--white);border:1px solid var(--line);min-height:300px;transition:transform .35s var(--ease), box-shadow .35s var(--ease), border-color .3s;border-radius:8px;flex-direction:column;justify-content:space-between;gap:24px;padding:clamp(22px,2.4vw,32px);display:flex;overflow:hidden}.bento-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-4px)}.p-teacher{--accent:var(--slate);--tint:var(--slate-tint)}.p-student{--accent:var(--plum);--tint:var(--plum-tint)}.p-mgmt{--accent:var(--rust);--tint:var(--rust-tint)}.p-admin{--accent:#8a6a1f;--tint:#f5ecd5}@media (min-width:700px) and (max-width:1023px){.bento-5 .span-7,.bento-5>:last-child{grid-column:1/-1}}@media (min-width:1024px){.span-4{grid-column:span 4}}.viz-approvals{gap:8px;margin:0;padding:0;list-style:none;display:grid}.viz-approvals li{border:1px solid var(--line);background:var(--paper);color:var(--ink-soft);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;font-size:13px;display:flex}.viz-approvals li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.viz-approvals i{font-style:normal;font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;background:var(--forest-tint);color:var(--forest);opacity:0;transition:opacity .3s, transform .45s var(--spring);transition-delay:var(--d);border-radius:4px;flex:none;padding:3px 8px;font-size:10.5px;transform:scale(.6)}.is-in .viz-approvals i{opacity:1;transform:none}.viz-kids{flex-wrap:wrap;gap:8px;display:flex}.kid{border:1px solid var(--line);color:var(--ink-soft);border-radius:4px;padding:7px 12px;font-size:13px}.kid.on{background:var(--rust);border-color:var(--rust);color:var(--white)}.kid-alert{font-family:var(--mono);font-variation-settings:"wdth" 82;color:var(--forest);background:var(--forest-tint);opacity:0;transition:opacity .4s, transform .5s var(--spring);border-radius:10px;flex-basis:100%;align-items:center;gap:8px;padding:9px 12px;font-size:12px;transition-delay:.5s;display:flex;transform:translateY(8px)}.kid-alert:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.is-in .kid-alert{opacity:1;transform:none}.portal-tag{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;background:var(--tint);color:var(--accent);border-radius:4px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-block}.bento-text h3{margin:14px 0 10px;font-size:clamp(21px,2vw,26px);line-height:1.15}.bento-text p{color:var(--ink-soft);max-width:420px;font-size:15px;line-height:1.55}.bento-go{border:1px solid var(--line);width:38px;height:38px;color:var(--ink-soft);transition:background .3s, color .3s, transform .4s var(--spring), border-color .3s;border-radius:50%;place-items:center;display:grid;position:absolute;top:clamp(20px,2.2vw,28px);right:clamp(20px,2.2vw,28px)}.bento-card:hover .bento-go{background:var(--accent);border-color:var(--accent);color:var(--white);transform:rotate(-45deg)}.bento-viz{position:relative}@media (min-width:1024px){.span-7{flex-direction:row;align-items:stretch;gap:36px}.span-7 .bento-text{flex:55%;padding-right:8px}.span-7 .bento-viz{flex:45%;align-self:flex-end;padding-top:56px}}.viz-score{align-items:flex-end;gap:20px;display:flex}.score-ring{flex-shrink:0;width:112px;height:112px;position:relative}.score-ring svg,.fv-ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring-bg{fill:none;stroke:var(--forest-tint);stroke-width:10px}.ring-fg{fill:none;stroke:var(--forest);stroke-width:10px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset 1.6s var(--ease) .2s}.is-in .score-ring .ring-fg{stroke-dashoffset:14px}.score-ring b{font-family:var(--disp);place-items:center;font-size:34px;font-weight:500;display:grid;position:absolute;inset:0}.score-bars{flex:1;align-items:flex-end;gap:6px;max-width:300px;height:100px;display:flex}.score-bars i{height:var(--h);background:var(--forest);transform-origin:bottom;transition:transform .8s var(--spring);transition-delay:calc(var(--d) + .3s);border-radius:5px 5px 2px 2px;flex:1;transform:scaleY(0)}.score-bars i:last-child{background:var(--marigold)}.is-in .score-bars i{transform:scaleY(1)}.viz-seats{grid-template-columns:repeat(10,1fr);gap:6px;max-width:300px;display:grid}.viz-seats i{aspect-ratio:1;background:var(--line);transition:background .3s, transform .4s var(--spring);transition-delay:calc(var(--d) + .3s);border-radius:50%}.is-in .viz-seats i{background:var(--slate)}.is-in .viz-seats i.abs{background:var(--rust);transform:scale(.8)}.seats-label{font-family:var(--mono);color:var(--ink-mute);grid-column:1/-1;margin-top:8px;font-size:12px}.seats-label b{color:var(--slate);font-size:15px}.viz-subjects{gap:12px;display:grid}.subj{color:var(--ink-soft);grid-template-columns:66px 1fr 28px;align-items:center;gap:12px;font-size:13px;display:grid}.subj b{font-family:var(--mono);color:var(--plum);text-align:right;font-size:13px;font-weight:500}.subj-bar{background:var(--plum-tint);border-radius:8px;height:8px;overflow:hidden}.subj-bar i{height:100%;width:var(--w);background:var(--plum);transform-origin:0;transition:transform 1s var(--ease);transition-delay:calc(var(--d) + .3s);border-radius:8px;display:block;transform:scaleX(0)}.is-in .subj-bar i{transform:scaleX(1)}.viz-route svg{width:100%;max-width:360px;overflow:visible}.route-line{fill:none;stroke:var(--rust);stroke-width:3px;stroke-dasharray:2 8;stroke-linecap:round;opacity:.6}.route-stop{fill:var(--white);stroke:var(--rust);stroke-width:2.5px}.route-stop.home{fill:var(--rust)}.route-bus{fill:var(--marigold);stroke:var(--white);stroke-width:3px}.route-eta{font-family:var(--mono);color:var(--ink-mute);margin-top:12px;font-size:12px;display:inline-block}.route-eta b{color:var(--rust)}.showcase{gap:32px;display:grid}@media (min-width:1024px){.showcase{grid-template-columns:1fr 1.05fr;align-items:start;gap:56px}}.showcase-list>li{border-top:1px solid var(--line-strong);position:relative}.showcase-list>li:last-child{border-bottom:1px solid var(--line-strong)}.showcase-list>li>button{all:unset;box-sizing:border-box;cursor:pointer;align-items:baseline;gap:18px;width:100%;padding:20px 0;display:flex}.showcase-list>li>button:focus-visible{outline:2px solid var(--marigold-deep);outline-offset:2px}.sc-num{font-family:var(--mono);color:var(--ink-mute);font-size:12px;transition:color .3s}.sc-title{font-family:var(--disp);color:var(--ink-soft);transition:color .3s, transform .4s var(--ease);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:clamp(19px,1.7vw,23px);line-height:1.25;display:inline-flex}.showcase-list>li>button:hover .sc-title{color:var(--ink);transform:translate(4px)}.is-active .sc-title{color:var(--ink)}.is-active .sc-num{color:var(--marigold-deep)}.sc-body{transition:grid-template-rows .45s var(--ease);grid-template-rows:0fr;padding-left:38px;display:grid}.is-active .sc-body{grid-template-rows:1fr}.sc-body-inner{min-height:0;overflow:hidden}.sc-body-inner>p{color:var(--ink-soft);max-width:480px;padding-bottom:22px;font-size:15.5px;line-height:1.6}.sc-visual-inline{padding-bottom:24px}@media (max-width:480px){.sc-body{padding-left:0}}.sc-progress{background:var(--marigold);transform-origin:0;width:100%;height:2px;position:absolute;top:-1px;left:0;transform:scaleX(0)}@media (min-width:1024px){.sc-visual-inline{display:none}.js .showcase .sc-progress{animation:11s linear forwards grow}.showcase:hover .sc-progress{animation-play-state:paused}}@keyframes grow{to{transform:scaleX(1)}}.showcase-stage{display:none}@media (min-width:1024px){.showcase-stage{top:calc(var(--nav-h) + 24px);background:var(--paper-deep);border:1px solid var(--line);border-radius:8px;place-items:center;min-height:460px;padding:48px 40px;display:grid;position:sticky;overflow:hidden}.showcase-stage:before{content:"";background-image:radial-gradient(#101b2e1f 1px,#0000 1px);background-size:18px 18px;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#000 30%,#0000 75%);mask:radial-gradient(circle,#000 30%,#0000 75%)}}.stage-frame{width:100%;max-width:500px;animation:stage-in .6s var(--ease);position:relative}.stage-hint{text-align:center;font-family:var(--hand);color:var(--ink-mute);margin-top:14px;font-size:17px}.showcase.is-touched .stage-hint{visibility:hidden}@keyframes stage-in{0%{opacity:0;transform:translateY(16px)scale(.98)}}.fv{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:8px;padding:22px;font-size:14px;position:relative}.fv-health{grid-template-columns:120px 1fr;align-items:center;gap:22px;display:grid}.fv-ring{width:120px;height:120px;position:relative}.fv-ring .ring-fg{animation:ring 1.4s var(--ease) both}@keyframes ring{0%{stroke-dashoffset:100px}}.fv-ring-num{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.fv-ring-num b{font-family:var(--disp);font-size:36px;font-weight:500;line-height:1}.fv-ring-num span{font-family:var(--mono);color:var(--ink-mute);text-transform:uppercase;letter-spacing:.08em;font-size:10px}.fv-metrics li{color:var(--ink-soft);grid-template-columns:1fr auto;gap:4px;padding:7px 0;font-size:13px;display:grid}.fv-metrics b{font-family:var(--mono);color:var(--ink);font-size:12.5px;font-weight:500}.fv-metrics i{background:var(--forest);height:4px;animation:bar 1s var(--ease) both;transform-origin:0;border-radius:4px;grid-column:1/-1}.fv-metrics li:nth-child(2) i{animation-delay:.1s}.fv-metrics li:nth-child(3) i{animation-delay:.2s}.fv-metrics li.warn i{background:var(--marigold);animation-delay:.3s}@keyframes bar{0%{transform:scaleX(0)}}@media (max-width:420px){.fv-health{grid-template-columns:1fr;justify-items:center}.fv-metrics{width:100%}}.fv-chat{background:#efe7dc radial-gradient(#0000000a 1px,#0000 1px) 0 0/14px 14px;padding:0 0 16px;overflow:hidden}.chat-head{color:var(--white);background:#1f5c4b;align-items:center;gap:10px;margin-bottom:14px;padding:12px 16px;display:flex}.chat-head b{font-size:14px;font-weight:600;display:block}.chat-head span{opacity:.75;font-size:11.5px}.chat-av{background:var(--ink);width:34px;height:34px;color:var(--gold-2);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.chat-bubble{max-width:84%;animation:toast-in .5s var(--spring) both;border-radius:10px;margin:0 14px 10px;padding:9px 12px 20px;font-size:13.5px;line-height:1.45;position:relative;box-shadow:0 1px 1px #00000014}.chat-bubble.in{background:var(--white);border-top-left-radius:2px}.chat-bubble.out{background:#d9fdd3;border-top-right-radius:2px;margin-left:auto;animation-delay:.9s}.chat-time{color:#7b8a8f;font-size:10.5px;position:absolute;bottom:4px;right:10px}.chat-bubble.out .chat-time{color:#4fa3d9}.chat-typing{background:var(--white);border-radius:10px;gap:4px;width:54px;margin:0 14px;padding:10px 12px;animation:.4s 1.6s both toast-in;display:flex}.chat-typing i{background:#9aa5a8;border-radius:50%;width:6px;height:6px;animation:1.2s infinite typing}.chat-typing i:nth-child(2){animation-delay:.15s}.chat-typing i:nth-child(3){animation-delay:.3s}@keyframes typing{30%{opacity:.6;transform:translateY(-4px)}}.fv-receipt{border-style:dashed;border-color:var(--line-strong);background:#fffdf6;font-size:13.5px;overflow:hidden}.rc-top{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);justify-content:space-between;font-size:11.5px;display:flex}.rc-amt{font-family:var(--disp);margin:14px 0 16px;font-size:44px;line-height:1.1}.rc-row{border-top:1px dashed var(--line-strong);color:var(--ink-soft);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.rc-row b{color:var(--ink);text-align:right;font-weight:500}.rc-stamp{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--forest);border:2px solid var(--forest);opacity:.85;animation:stamp .5s .4s var(--spring) both;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:500;position:absolute;top:50px;right:18px;rotate:-12deg}@keyframes stamp{0%{opacity:0;transform:scale(1.8)}}.rc-foot{color:var(--forest);font-size:12px;font-family:var(--mono);margin-top:12px}.rm-head{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);justify-content:space-between;align-items:center;margin-bottom:14px;font-size:11.5px;display:flex}.rm-name{margin-bottom:8px;font-size:15px;display:block}.rm-text{font-family:var(--serif);color:var(--ink-soft);font-size:16px;font-style:normal;line-height:1.55}.caret{background:var(--plum);vertical-align:text-bottom;width:2px;height:1.1em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.rm-actions{gap:8px;margin-top:16px;display:flex}.btn-mini{border:1px solid var(--line-strong);border-radius:4px;padding:7px 14px;font-size:12.5px;font-weight:600}.btn-mini.ok{background:var(--forest);border-color:var(--forest);color:var(--white)}.fv-bus{background:#f4f6f1;padding:18px}.bus-map{width:100%;overflow:visible}.bus-road{fill:none;stroke:#dfe4da;stroke-width:16px;stroke-linecap:round}.bus-route{fill:none;stroke:var(--slate);stroke-width:3px;stroke-dasharray:6 7;stroke-linecap:round;animation:1.2s linear infinite dash}@keyframes dash{to{stroke-dashoffset:-13px}}.bus-stop{fill:var(--white);stroke:var(--slate);stroke-width:3px}.bus-stop.home{fill:var(--marigold);stroke:var(--white)}.bus-dot circle{fill:var(--ink);stroke:var(--white);stroke-width:3px}.bus-dot .bus-dot-core{fill:var(--marigold);stroke:none}.bus-card{background:var(--white);border:1px solid var(--line);border-radius:12px;margin-top:8px;padding:12px 14px}.bus-card b{font-size:15px;display:block}.bus-card span{color:var(--ink-mute);font-size:13px}.au-head{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink-mute);justify-content:space-between;margin-bottom:10px;font-size:11.5px;display:flex}.au-row{border-top:1px solid var(--line);color:var(--ink-soft);animation:toast-in .5s var(--ease) both;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:10px 0;font-size:13px;display:grid}.au-row .mono{color:var(--ink-mute);font-size:11.5px}.au-row b{color:var(--ink);font-weight:600}.au-diff{font-family:var(--mono);background:var(--forest-tint);color:var(--forest);white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:11.5px}.day-section{background:var(--ink);color:var(--white);overflow:clip}.day-section:before{content:"";pointer-events:none;background:0 0;position:absolute;inset:0}.on-dark h2{color:var(--white)}.on-dark p:not(.kicker){color:#b7c0d2}.on-dark .kicker{color:#8792a8}.on-dark .kicker-num{color:var(--marigold);border-color:#fff3}.day-grid{gap:40px;display:grid;position:relative}@media (min-width:960px){.day-grid{grid-template-columns:.85fr 1.15fr;gap:80px}}.day-clock{display:none}@media (min-width:960px){.day-clock{display:block}.clock-inner{background:#ffffff08;border:1px solid #ffffff1a;border-radius:24px;padding:32px;position:sticky;top:calc(50vh - 150px)}}.day-arc{width:100%;max-width:260px;overflow:visible}.arc-bg{fill:none;stroke:#ffffff1f;stroke-width:2px;stroke-dasharray:3 5}.arc-fg{fill:none;stroke:var(--marigold);stroke-width:2.5px;stroke-dasharray:100;transition:stroke-dashoffset .8s var(--ease)}.arc-sun{fill:var(--marigold);filter:drop-shadow(0 0 10px #e8a33dcc);transition:cx .8s var(--ease), cy .8s var(--ease)}.arc-horizon{stroke:#ffffff2e;stroke-width:1px}.clock-time{font-family:var(--disp);letter-spacing:-.018em;font-variant-numeric:tabular-nums;animation:clock-in .5s var(--ease);margin-top:18px;font-size:clamp(72px,7vw,108px);line-height:1}.clock-time small{font-family:var(--mono);letter-spacing:.08em;color:var(--marigold);margin-left:10px;font-size:16px}@keyframes clock-in{0%{opacity:0;filter:blur(4px);transform:translateY(14px)}}.clock-day{font-family:var(--hand), cursive;color:#8792a8;margin-top:8px;font-size:24px}.timeline{--tl-progress:0;flex-direction:column;gap:clamp(34px,5vw,64px);padding-left:36px;display:flex;position:relative}.timeline:before,.timeline:after{content:"";background:#ffffff1f;border-radius:2px;width:2px;position:absolute;top:6px;bottom:6px;left:5px}.timeline:after{background:var(--marigold);transform-origin:top;transform:scaleY(var(--tl-progress))}.tl-item{opacity:.45;transition:opacity .4s;position:relative}.tl-item.is-past{opacity:.8}.tl-item.is-active{opacity:1}.tl-item:before{content:"";background:var(--ink);z-index:1;width:12px;height:12px;transition:background .3s, border-color .3s, box-shadow .3s, transform .4s var(--spring);border:2px solid #ffffff4d;border-radius:50%;position:absolute;top:4px;left:-36px}.tl-item.is-past:before{background:var(--marigold);border-color:var(--marigold)}.tl-item.is-active:before{transform:scale(1.3);box-shadow:0 0 0 6px #e8a33d33}.tl-time{font-family:var(--mono);color:var(--marigold);margin-bottom:8px;font-size:13px;display:block}.tl-item h3{font-family:var(--disp);color:var(--white);margin-bottom:8px;font-size:clamp(20px,2vw,26px);line-height:1.2}.tl-item p{color:#b7c0d2;max-width:540px;font-size:15.5px;line-height:1.6}@media (min-width:960px){.tl-time{display:none}.timeline{padding-top:4vh;padding-bottom:6vh}}.security-grid{gap:40px;display:grid}@media (min-width:1000px){.security-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:72px}.security-intro{top:calc(var(--nav-h) + 32px);position:sticky}}.security-intro h2{margin-bottom:18px}.security-intro>p:not(.kicker){color:var(--ink-soft);max-width:520px;font-size:clamp(16px,1.3vw,17.5px);line-height:1.6}.audit-mini{background:var(--white);border:1px solid var(--line);max-width:480px;box-shadow:var(--shadow-sm);border-radius:8px;margin-top:28px;padding:6px 18px}.audit-mini .au-row:first-child{border-top:none}.sec-cards{gap:16px;display:grid}@media (min-width:640px){.sec-cards{grid-template-columns:1fr 1fr}}.sec-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:transform .35s var(--ease), box-shadow .35s;padding:26px 24px}.sec-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}@media (min-width:640px){.sec-card:nth-child(2){margin-top:36px}.sec-card:nth-child(4){margin-top:36px;margin-bottom:-36px}}.sec-ico{background:var(--forest-tint);width:44px;height:44px;color:var(--forest);border-radius:12px;place-items:center;margin-bottom:18px;display:grid}.sec-card:nth-child(2) .sec-ico{background:var(--slate-tint);color:var(--slate)}.sec-card:nth-child(3) .sec-ico{background:var(--plum-tint);color:var(--plum)}.sec-card:nth-child(4) .sec-ico{background:var(--rust-tint);color:var(--rust)}.sec-card h3{font-family:var(--body);letter-spacing:0;margin-bottom:8px;font-size:17px;font-weight:600}.sec-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.55}.integrations{background:var(--paper-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 0 48px;overflow:hidden}.integ-head .kicker{justify-content:center;margin-bottom:24px}.marquee{gap:12px;display:grid;-webkit-mask:linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask:linear-gradient(90deg,#0000,#000 10% 90%,#0000)}.marquee-row{width:max-content;animation:50s linear infinite marquee;display:flex}.marquee-row.reverse{animation-duration:60s;animation-direction:reverse}.marquee:hover .marquee-row{animation-play-state:paused}.marquee ul{gap:12px;padding-right:12px;display:flex}.integ-chip{font-family:var(--mono);background:var(--white);border:1px solid var(--line);color:var(--ink);white-space:nowrap;transition:border-color .2s, transform .3s var(--spring);border-radius:4px;padding:10px 18px;font-size:13px}.integ-chip:hover{border-color:var(--marigold);transform:translateY(-2px)}.pricing-band{background:var(--forest);color:var(--white);border-radius:8px;gap:28px;padding:clamp(28px,4.5vw,56px);display:grid;position:relative;overflow:hidden}@media (min-width:960px){.pricing-band{grid-template-columns:1.3fr 1fr auto;align-items:center;gap:48px}}.pricing-band .kicker{color:#b9d4c3}.pricing-band h2{color:var(--white);font-size:clamp(26px,2.8vw,36px)}.pricing-band p:not(.kicker){color:#cfe3d6;max-width:480px;margin-top:14px;font-size:15.5px;line-height:1.6}.pb-list{z-index:1;gap:10px;display:grid;position:relative}.pb-list li{color:#e3efe7;align-items:center;gap:10px;font-size:15px;display:flex}.pb-list svg{color:var(--marigold)}.pricing-band .btn{z-index:1;justify-self:start;position:relative}.pb-dots{pointer-events:none;opacity:.16;width:260px;height:220px;position:absolute;bottom:-60px;right:-40px}.pb-dots i{border:3px solid var(--gold-2);border-radius:50%;width:90px;height:90px;animation:9s ease-in-out infinite orbit;position:absolute}.pb-dots i:first-child{top:0;left:85px}.pb-dots i:nth-child(2){animation-delay:-3s;top:120px;left:0}.pb-dots i:nth-child(3){animation-delay:-6s;top:120px;left:170px}@keyframes orbit{50%{transform:translate(10px,-12px)}}.faq-teaser{padding-top:0}.faq-teaser-grid{gap:32px;display:grid}.faq-teaser-grid h2{margin-bottom:24px}@media (min-width:900px){.faq-teaser-grid{grid-template-columns:.8fr 1.2fr;gap:64px}}.qa{border-bottom:1px solid var(--line-strong)}.qa:first-child{border-top:1px solid var(--line-strong)}.qa summary{cursor:pointer;font-family:var(--disp);justify-content:space-between;align-items:center;gap:18px;padding:22px 0;font-size:clamp(18px,1.6vw,21px);line-height:1.3;list-style:none;display:flex}.qa summary::-webkit-details-marker{display:none}.qa summary:after{content:"";border:1px solid var(--line-strong);background:linear-gradient(var(--ink), var(--ink)) center / 11px 1.6px no-repeat, linear-gradient(var(--ink), var(--ink)) center / 1.6px 11px no-repeat;width:30px;height:30px;transition:transform .35s var(--spring), background-color .2s;border-radius:50%;flex-shrink:0}.qa[open] summary:after{background-color:var(--marigold);border-color:var(--marigold);transform:rotate(135deg)}.qa p{color:var(--ink-soft);animation:toast-in .4s var(--ease);padding:0 48px 22px 0;font-size:15.5px;line-height:1.65}.final-cta{padding-top:0}.cta-card{background:var(--ink);color:var(--white);border-radius:4px;align-items:center;gap:32px;padding:clamp(32px,5vw,72px);display:grid;position:relative;overflow:hidden}.cta-card:before{content:"";pointer-events:none;background:0 0;width:70%;height:160%;position:absolute;top:-40%;right:-10%}@media (min-width:900px){.cta-card{grid-template-columns:1.5fr 1fr}}.cta-card h2{color:var(--white);margin-bottom:16px;font-size:clamp(28px,3.4vw,46px)}.cta-card p{color:#b7c0d2;max-width:540px;margin-bottom:30px;font-size:clamp(16px,1.3vw,18px);line-height:1.6}.final-actions{flex-wrap:wrap;gap:12px;display:flex}.cta-card .btn-ghost{color:var(--white);border-color:#ffffff73}.cta-card .btn-ghost:hover{background:var(--white);color:var(--ink)}.cta-mark{justify-self:center;width:min(280px,60vw);position:relative}.cta-logo{filter:drop-shadow(0 30px 40px #0006);width:100%;height:auto;overflow:visible}.cta-logo .lm-dot{transform-box:fill-box;transform-origin:50%}.is-in .cta-logo .lm-dot{animation:hop 3.2s var(--ease) infinite}.is-in .cta-logo .lm-dot-left{animation-delay:.25s}.is-in .cta-logo .lm-dot-right{animation-delay:.5s}@keyframes hop{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-14px)}}@media (max-width:899px){.cta-mark{display:none}}.cta-dots{justify-self:center;width:220px;height:190px;position:relative}.cta-dots i{border:5px solid var(--gold-2);background:#1d8a3c;border-radius:50%;width:84px;height:84px;position:absolute;box-shadow:0 20px 30px -12px #00000080}.cta-dots i:first-child{top:0;left:68px}.cta-dots i:nth-child(2){background:#1a6fb0;top:106px;left:0}.cta-dots i:nth-child(3){top:106px;left:136px}.is-in .cta-dots i{animation:hop 3.2s var(--ease) infinite}.is-in .cta-dots i:nth-child(2){animation-delay:.25s}.is-in .cta-dots i:nth-child(3){animation-delay:.5s}@media (max-width:899px){.cta-dots{display:none}}.site-foot{background:var(--ink);color:#b7c0d2;padding:clamp(56px,7vw,88px) 0 28px;position:relative}.foot-top{border-bottom:1px solid #ffffff1a;grid-template-columns:1fr 1fr;gap:40px 24px;padding-bottom:44px;display:grid}.foot-brand{grid-column:1/-1}@media (min-width:900px){.foot-top{grid-template-columns:1.5fr repeat(4,1fr)}.foot-brand{grid-column:auto}}.foot-brand .logo-mark{filter:none;width:54px}.foot-brand .wordmark-name{font-size:30px}.foot-brand .wordmark-tag{font-size:9.1px}.foot-brand p{max-width:340px;margin-top:20px;font-size:14.5px;line-height:1.6}.foot-mail{font-family:var(--mono);color:var(--gold-2);margin-top:10px;padding:8px 0;font-size:13.5px;display:inline-block}.foot-mail:hover{color:var(--gold-1)}.foot-col h5{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:#77839a;margin-bottom:16px;font-size:11.5px;font-weight:400}.foot-col a{color:#c9d2e0;transition:color .2s, transform .3s var(--ease);padding:5px 0;font-size:15px;display:block}.foot-col a:hover{color:var(--white);transform:translate(3px)}.foot-bottom{color:#77839a;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:24px;font-size:13px;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-hero{padding:clamp(44px,7vw,104px) 0 clamp(36px,5vw,72px);overflow:hidden}.page-hero-grid{gap:40px;display:grid;position:relative}@media (min-width:1000px){.has-aside .page-hero-grid{grid-template-columns:1.4fr .8fr;align-items:end;gap:72px}}.page-title{letter-spacing:-.008em;font-variation-settings:"wdth" 86;max-width:980px;font-size:clamp(42px,6vw,86px);font-weight:760;line-height:1.02}.page-title em{color:var(--forest);font-family:var(--serif);font-style:normal;font-weight:inherit;letter-spacing:-.01em;font-size:1.08em}.js .page-title{animation:rise .9s var(--ease) both}.lede{color:var(--ink-soft);max-width:640px;margin-top:22px;font-size:clamp(16.5px,1.4vw,19px);line-height:1.6}.js .page-hero .lede,.js .page-hero .kicker,.js .page-hero .hero-actions,.js .page-hero .search-bar,.js .page-hero-aside{animation:rise .9s var(--ease) both;animation-delay:.12s}.page-hero .hero-actions{margin-top:32px}.is-center{text-align:center}.is-center .page-title,.is-center .lede{margin-left:auto;margin-right:auto}.is-center .kicker{justify-content:center}.hero-stats{border-top:1px solid var(--line-strong);grid-template-columns:repeat(3,1fr);display:grid}.hero-stats div{padding:18px 12px 0 0}.hero-stats div+div{border-left:1px solid var(--line);padding-left:16px}.hero-stats dt{font-family:var(--disp);font-size:clamp(34px,3.6vw,48px);line-height:1}.hero-stats dd{color:var(--ink-mute);margin-top:8px;font-size:13.5px;line-height:1.35}@media (min-width:1000px){.hero-stats{border-top:none;border-left:1px solid var(--line-strong);grid-template-columns:1fr}.hero-stats div,.hero-stats div+div{border-left:none;align-items:baseline;gap:14px;padding:14px 0 14px 24px;display:flex}.hero-stats div+div{border-top:1px dashed var(--line)}.hero-stats dt{min-width:96px}}.tabs-section{padding-top:0}.seg-wrap{z-index:50;margin:0 calc(var(--gutter) * -1);padding:12px 0;padding-left:var(--gutter);padding-right:var(--gutter);background:var(--paper);position:sticky;top:64px}.seg{--i:0;background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:4px;grid-template-columns:repeat(2,1fr);gap:4px;padding:5px;display:grid;position:relative}.seg-ind{display:none}.seg-btn{all:unset;z-index:1;color:var(--ink-soft);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;border-radius:4px;justify-content:center;align-items:center;gap:8px;padding:11px 10px;font-size:14.5px;font-weight:600;transition:color .25s,background .25s;display:flex;position:relative}.seg-btn:focus-visible{outline:2px solid var(--marigold-deep)}.seg-btn:hover{color:var(--ink)}.seg-btn.active{color:var(--white);background:var(--ink)}.seg-dot{background:var(--forest);border-radius:50%;flex-shrink:0;width:8px;height:8px}.t-teacher .seg-dot{background:var(--slate)}.t-student .seg-dot{background:var(--plum)}.t-mgmt .seg-dot{background:var(--rust)}.seg-btn.active .seg-dot{box-shadow:0 0 0 3px #ffffff40}@media (min-width:640px){.seg{border-radius:4px;grid-template-columns:repeat(4,1fr);max-width:720px}.seg-btn{border-radius:4px}.seg-btn.active{background:0 0}.seg-ind{background:var(--ink);width:calc(25% - 5.5px);transform:translateX(calc(var(--i) * (100% + 4px)));transition:transform .5s var(--spring);border-radius:4px;display:block;position:absolute;top:5px;bottom:5px;left:5px}}[data-active-portal] [data-portal-panel]{display:none}[data-active-portal=admin] [data-portal-panel=admin],[data-active-portal=principal] [data-portal-panel=principal],[data-active-portal=teacher] [data-portal-panel=teacher],[data-active-portal=student] [data-portal-panel=student],[data-active-portal=parent] [data-portal-panel=parent]{display:block}[data-portal-panel]{animation:panel-in .5s var(--ease)}@keyframes panel-in{0%{opacity:0;transform:translateY(12px)}}.pp-principal{--accent:var(--forest);--tint:var(--forest-tint)}.pp-teacher{--accent:var(--slate);--tint:var(--slate-tint)}.pp-student{--accent:var(--plum);--tint:var(--plum-tint)}.pp-mgmt{--accent:var(--rust);--tint:var(--rust-tint)}.portal-banner{color:var(--white);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin:24px 0 28px;padding:clamp(24px,3.5vw,44px);display:flex;position:relative;overflow:hidden}.portal-banner:after{content:"";pointer-events:none;border:40px solid #ffffff0f;border-radius:50%;width:280px;height:280px;position:absolute;top:-80px;right:-60px}.banner-principal{background:var(--forest)}.banner-teacher{background:var(--slate)}.banner-student{background:var(--plum)}.banner-mgmt,.banner-parent{background:var(--rust)}.banner-admin{background:#6e5418}.portal-banner .banner-who{color:#ffffffa6;margin-top:8px;font-size:13.5px}.banner-left{flex:420px;align-items:center;gap:20px;display:flex}.banner-icon{background:#ffffff1f;border:1px solid #ffffff2e;border-radius:8px;flex-shrink:0;place-items:center;width:64px;height:64px;display:grid}.portal-banner h2{color:var(--white);margin-bottom:6px;font-size:clamp(22px,2.4vw,30px)}.portal-banner p{color:#ffffffd1;max-width:520px;font-size:15px;line-height:1.55}.banner-stats{z-index:1;gap:12px;display:flex;position:relative}.banner-stat{text-align:center;background:#ffffff1a;border:1px solid #ffffff24;border-radius:8px;min-width:92px;padding:12px 20px}.banner-stat b{font-family:var(--disp);font-size:28px;font-weight:500;line-height:1.1;display:block}.banner-stat span{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:#ffffffb3;font-size:10.5px}@media (max-width:560px){.banner-left{flex-direction:column;align-items:flex-start}.banner-stats{width:100%}.banner-stat{flex:1}}.sol-grid{gap:16px;display:grid}@media (min-width:640px){.sol-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.sol-grid{grid-template-columns:repeat(3,1fr);gap:20px}}.sol-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:transform .35s var(--ease), box-shadow .35s, border-color .3s;animation:panel-in .6s var(--ease) both;animation-delay:calc(var(--i) * 60ms);padding:24px}.sol-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-4px)}.sol-card-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px;display:flex}.sol-icon{background:var(--tint);width:48px;height:48px;color:var(--accent);transition:transform .4s var(--spring);border-radius:8px;place-items:center;display:grid}.sol-card:hover .sol-icon{transform:none}.sol-count{font-family:var(--mono);color:var(--ink-mute);border:1px solid var(--line);border-radius:4px;padding:4px 10px;font-size:11.5px}.sol-title{font-family:var(--disp);margin-bottom:8px;font-size:21px;line-height:1.2}.sol-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.55}a.sol-card{flex-direction:column;display:flex}.sol-features{flex-wrap:wrap;flex:1;align-content:flex-start;gap:4px;margin:4px 0 14px;display:flex}.sol-features li{background:var(--paper);color:var(--ink-soft);border-radius:4px;padding:3px 9px;font-size:12.5px}.sol-go{color:var(--accent);align-items:center;gap:6px;font-size:14px;font-weight:650;display:inline-flex}.sol-go svg{transition:transform .3s var(--spring)}.sol-card:hover .sol-go svg{transform:translate(4px)}.dm-loading{border:1px solid var(--line);background:var(--paper);background-size:200% 100%;border-radius:8px;min-height:320px;animation:1.1s linear infinite dm-load}@keyframes dm-load{to{background-position:-200% 0}}.pa-admin{--accent:#8a6a1f;--tint:#f5ecd5}.pa-principal{--accent:var(--forest);--tint:var(--forest-tint)}.pa-teacher{--accent:var(--slate);--tint:var(--slate-tint)}.pa-student{--accent:var(--plum);--tint:var(--plum-tint)}.pa-parent{--accent:var(--rust);--tint:var(--rust-tint)}.seg.seg-5{scrollbar-width:none;border-radius:4px;max-width:none;display:flex;overflow-x:auto}.seg.seg-5::-webkit-scrollbar{display:none}.seg-5 .seg-btn{border-radius:4px;flex:1 0 auto;padding:10px 14px}.seg-5 .seg-btn.active{background:var(--ink)}.seg-5 .seg-ind{display:none}.seg-count{font-family:var(--mono);font-variation-settings:"wdth" 82;opacity:.6;font-size:11px;font-weight:400}.t-admin .seg-dot{background:#8a6a1f}.t-parent .seg-dot{background:var(--rust)}@media (min-width:760px){.seg.seg-5{grid-template-columns:repeat(var(--n), 1fr);border-radius:4px;display:grid;position:relative;overflow:visible}.seg-5 .seg-btn{border-radius:4px}.seg-5 .seg-btn.active{background:0 0}.seg-5 .seg-ind{width:calc((100% - 10px - (var(--n) - 1) * 4px) / var(--n));background:var(--ink);transform:translateX(calc(var(--i) * (100% + 4px)));transition:transform .5s var(--spring);border-radius:4px;display:block;position:absolute;top:5px;bottom:5px;left:5px}}.search-bar{background:var(--white);border:1.5px solid var(--line);max-width:520px;color:var(--ink-mute);box-shadow:var(--shadow-sm);border-radius:4px;align-items:center;gap:12px;margin-top:30px;padding:6px 8px 6px 20px;transition:border-color .2s,box-shadow .2s;display:flex}.search-bar:focus-within{border-color:var(--marigold);box-shadow:0 0 0 4px #e8a33d2e}.search-bar input{font-family:var(--body);width:100%;color:var(--ink);background:0 0;border:none;outline:none;min-width:0;padding:10px 0;font-size:16px}.search-bar input::-webkit-search-cancel-button{display:none}.search-bar input::placeholder{color:#9aa0a8}.search-clear{all:unset;cursor:pointer;width:34px;height:34px;color:var(--ink-soft);background:var(--paper);border-radius:50%;flex-shrink:0;place-items:center;font-size:20px;display:grid}.features-tabs-section{padding-top:0}.features-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.features-toolbar .seg{flex:100%}.features-toolbar .expand-all{margin-left:auto}@media (min-width:1000px){.features-toolbar{flex-wrap:nowrap}.features-toolbar .seg{flex:0 720px}}.seg-btn{white-space:nowrap}.expand-all{font-family:var(--mono);color:var(--ink-soft);background:var(--white);border:1px solid var(--line);cursor:pointer;border-radius:4px;min-height:40px;padding:10px 18px;font-size:12.5px;transition:border-color .2s,color .2s}.expand-all:hover:not(:disabled){border-color:var(--ink);color:var(--ink)}.expand-all:disabled{opacity:.5;cursor:not-allowed}.features-content{margin-top:20px}.modules-grid{align-items:start;gap:14px;display:grid}@media (min-width:900px){.modules-grid{grid-template-columns:1fr 1fr;gap:16px}}.module-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:box-shadow .3s,border-color .3s;overflow:hidden}.module-card:hover{border-color:var(--line-strong)}.module-card.open{box-shadow:var(--shadow-md);border-color:var(--line-strong)}button.module-header{all:unset;box-sizing:border-box;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:14px;width:100%;min-height:64px;padding:16px 18px;display:flex}button.module-header:focus-visible{outline:2px solid var(--marigold-deep);outline-offset:-2px}.module-icon{background:var(--tint);width:42px;height:42px;color:var(--accent);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.module-title{overflow-wrap:anywhere;flex:auto;min-width:0;font-size:16px;font-weight:600}@media (max-width:360px){button.module-header{gap:10px;padding:14px}.module-icon{width:36px;height:36px}}.module-count{font-family:var(--mono);color:var(--ink-mute);background:var(--paper);border-radius:4px;padding:3px 9px;font-size:11.5px}.module-chevron{width:30px;height:30px;color:var(--ink-soft);transition:transform .35s var(--spring), background .2s;border-radius:50%;flex-shrink:0;place-items:center;display:grid}.module-card.open .module-chevron{background:var(--paper);transform:rotate(180deg)}.module-body{transition:grid-template-rows .4s var(--ease);grid-template-rows:0fr;display:grid}.module-card.open .module-body{grid-template-rows:1fr}.module-body-inner{min-height:0;padding:0 18px;overflow:hidden}.module-card.open .module-body-inner{padding-bottom:18px}.group-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin:18px 0 6px;font-size:10.5px}[data-feature-group]:first-child .group-label{margin-top:4px}.feature-line{border-top:1px solid var(--line);align-items:flex-start;gap:12px;padding:10px 0;display:flex}.group-label+.feature-line{border-top:none}.f-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:8px}.feature-text b{font-size:14.5px;font-weight:600;line-height:1.4;display:block}.feature-text>span{color:var(--ink-soft);margin-top:3px;font-size:13.5px;line-height:1.5;display:block}.feature-tags{vertical-align:1px;gap:5px;margin-left:8px;display:inline-flex}.no-results{text-align:center;color:var(--ink-soft);padding:60px 20px;font-size:15px;display:none}.no-results.is-visible{display:block}.is-hidden{display:none!important}.price-sticker{--rx:0deg;--ry:0deg;background:var(--marigold);width:min(300px,100%);color:var(--ink);box-shadow:var(--shadow-lg);rotate:3deg;transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .4s var(--ease);border-radius:8px;justify-self:center;padding:28px 28px 24px;position:relative}.price-sticker:before{content:"";background:#ffffff8c;border-radius:3px;width:90px;height:26px;margin-left:-45px;position:absolute;top:-12px;left:50%;rotate:-4deg}.ps-top,.ps-mid{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.price-sticker>b{font-family:var(--serif);margin:4px 0 16px;font-size:52px;font-style:normal;font-weight:500;line-height:1;display:block}.price-sticker ul{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.price-sticker li{font-family:var(--hand), cursive;padding:2px 6px;font-size:22px;line-height:1;position:relative}.price-sticker li:after{content:"";background:var(--ink);height:2px;position:absolute;top:52%;left:0;right:0;rotate:-4deg}.pricing-detail{padding-top:0}.pricing-grid{align-items:start;gap:20px;display:grid}@media (min-width:1000px){.pricing-grid{grid-template-columns:1fr 1fr;gap:24px}}.included-card,.factors{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:clamp(24px,3vw,40px)}.included-card h2,.factors h2{margin-bottom:22px;font-size:clamp(22px,2.2vw,28px)}.included-card{background:var(--ink);border-color:var(--ink);color:var(--white)}.included-card h2{color:var(--white)}.included-grid{gap:4px;display:grid}.included-item{color:#d3dae6;border-top:1px solid #ffffff1a;align-items:flex-start;gap:14px;padding:12px 0;font-size:15px;line-height:1.45;display:flex}.included-item:first-child{border-top:none}.included-item .check{color:#8fd6ac;background:#8fd6ac26;border-radius:50%;flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.factor-row{border-top:1px solid var(--line);padding:18px 0}.factor-row:first-of-type{border-top:none;padding-top:0}.factor-label{align-items:center;gap:12px;margin-bottom:6px;font-size:16px;font-weight:600;display:flex}.factor-num{border:1.5px solid var(--marigold-deep);width:26px;height:26px;color:var(--marigold-deep);font-family:var(--mono);border-radius:50%;place-items:center;font-size:12px;display:grid}.factor-desc{color:var(--ink-soft);padding-left:38px;font-size:14.5px;line-height:1.6}.estimator{background:var(--paper);border:1px dashed var(--line-strong);border-radius:8px;margin-top:18px;padding:20px}.est-head .kicker{margin-bottom:6px}.est-head p{color:var(--ink-soft);margin-bottom:14px;font-size:13.5px}.est-field{color:var(--ink-soft);justify-content:space-between;margin-top:12px;font-size:14px;display:flex}.est-field b{font-family:var(--mono);color:var(--ink)}:is(.estimator,.timesaved) input[type=range]{--fill:50%;appearance:none;cursor:pointer;touch-action:pan-y;background:0 0;width:100%;height:32px;margin:2px 0}:is(.estimator,.timesaved) input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, var(--marigold) var(--fill), var(--line) var(--fill));border-radius:4px;height:6px}:is(.estimator,.timesaved) input[type=range]::-moz-range-track{background:var(--line);border-radius:4px;height:6px}:is(.estimator,.timesaved) input[type=range]::-moz-range-progress{background:var(--marigold);border-radius:4px;height:6px}:is(.estimator,.timesaved) input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--white);border:2px solid var(--marigold-deep);width:24px;height:24px;box-shadow:var(--shadow-sm);transition:transform .2s var(--spring);border-radius:50%;margin-top:-9px}:is(.estimator,.timesaved) input[type=range]:hover::-webkit-slider-thumb{transform:scale(1.15)}:is(.estimator,.timesaved) input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}:is(.estimator,.timesaved) input[type=range]::-moz-range-thumb{background:var(--white);border:2px solid var(--marigold-deep);border-radius:50%;width:22px;height:22px}:is(.estimator,.timesaved) input[type=range]:focus-visible{outline:none}:is(.estimator,.timesaved) input[type=range]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 4px #e8a33d59}.est-out{border-top:1px dashed var(--line-strong);color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin-top:16px;padding-top:14px;font-size:13.5px;display:flex}.est-out b{font-family:var(--disp);color:var(--ink);font-size:34px;font-weight:500;line-height:1}.quote-section{padding-top:0;scroll-margin-top:80px}.quote-grid{align-items:start;gap:32px;display:grid}@media (min-width:1000px){.quote-grid{grid-template-columns:.85fr 1.15fr;align-items:center;gap:64px}}.quote-intro h2{margin-bottom:16px}.quote-intro>p:not(.kicker){color:var(--ink-soft);max-width:460px;font-size:16.5px;line-height:1.6}.quote-points{gap:12px;margin-top:26px;display:grid}.quote-points li{align-items:center;gap:12px;font-size:15px;display:flex}.quote-points svg{color:var(--forest)}.quote-form-card{background:var(--ink);color:var(--white);box-shadow:var(--shadow-lg);border-radius:8px;padding:clamp(24px,3.5vw,44px)}.quote-form-card h3{color:var(--white);margin-bottom:6px;font-size:24px}.quote-form-card p.form-note{color:#b7c0d2;margin-bottom:26px;font-size:14px}.mini-faq{gap:16px;display:grid}@media (min-width:800px){.mini-faq{grid-template-columns:repeat(3,1fr);gap:24px}}.mini-faq-item{border-top:2px solid var(--ink);padding:24px 0 0}.mini-faq-item h3{margin-bottom:10px;font-size:20px}.mini-faq-item p{color:var(--ink-soft);font-size:15px;line-height:1.6}.pricing-faq{padding-top:0}.form-grid{gap:16px;margin-bottom:22px;display:grid}@media (min-width:560px){.form-grid{grid-template-columns:1fr 1fr;gap:18px}}.form-field{flex-direction:column;gap:7px;min-width:0;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:12px;outline:none;width:100%;padding:13px 14px;font-size:16px;transition:border-color .2s,box-shadow .2s,background .2s}.form-field textarea{resize:vertical;min-height:110px}.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);box-shadow:0 0 0 4px #e8a33d2e}.form-field select{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.form-success{text-align:center;animation:stage-in .5s var(--ease);padding:40px 20px}.form-success-icon{background:var(--forest);width:64px;height:64px;color:var(--white);animation:pop .6s var(--spring);border-radius:50%;place-items:center;margin:0 auto 16px;font-size:30px;display:grid}.form-success h3{color:inherit;margin-bottom:8px}.form-success p{opacity:.8;font-size:15px;line-height:1.6}.quote-form-card .form-success .btn-ghost{color:var(--white);border-color:#ffffff73}.form-reset-btn{margin-top:18px}.form-error{color:#e2705a;font-size:13px;font-family:var(--mono);margin-bottom:12px}.form-pending-note,.form-reassure{font-family:var(--mono);color:var(--ink-mute);text-align:center;margin-top:14px;font-size:12px}.quote-form-card .form-pending-note{color:#9aa6bc}.demo-form-card .form-field label,.contact-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,.contact-form-card .form-field input,.contact-form-card .form-field select,.contact-form-card .form-field textarea{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.demo-form-card .form-field select,.contact-form-card .form-field select{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.demo-form-card .form-field input::placeholder,.demo-form-card .form-field textarea::placeholder,.contact-form-card .form-field input::placeholder,.contact-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,.contact-form-card .form-field input:focus,.contact-form-card .form-field select:focus,.contact-form-card .form-field textarea:focus{background:var(--white);border-color:var(--marigold)}.origin{padding-top:0}.origin-grid{gap:36px;display:grid}@media (min-width:960px){.origin-grid{grid-template-columns:.9fr 1.1fr;align-items:start;gap:80px}.origin-quote{top:calc(var(--nav-h) + 40px);position:sticky}}.origin-quote{font-family:var(--serif);font-weight:inherit;color:var(--ink);padding-top:40px;font-size:clamp(26px,3vw,40px);font-style:normal;line-height:1.2;position:relative}.quote-mark{color:var(--marigold);font-size:120px;font-style:normal;line-height:1;position:absolute;top:-20px;left:-6px}.origin-quote cite{margin-top:18px;font-style:normal;display:block}.origin-quote cite .hand{color:var(--marigold-deep);font-size:26px}.origin-body p{color:var(--ink-soft);font-size:clamp(16px,1.3vw,18px);line-height:1.75}.origin-body p+p{margin-top:20px}.drop{float:left;font-family:var(--disp);color:var(--forest);padding:8px 10px 0 0;font-size:74px;line-height:.8}.principles{background:var(--paper-warm);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles-grid{gap:16px;display:grid}@media (min-width:640px){.principles-grid{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.principles-grid{grid-template-columns:repeat(3,1fr);gap:20px}}.principle-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:transform .35s var(--ease), box-shadow .35s;padding:28px 26px}.principle-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.pc-num{font-family:var(--serif);color:var(--marigold);margin-bottom:18px;font-size:40px;font-style:normal;line-height:1;display:block}.principle-card h3{margin-bottom:10px;font-size:20px;line-height:1.25}.principle-card p{color:var(--ink-soft);font-size:15px;line-height:1.6}.founder-band{padding:var(--section) 0}.founder-row{align-items:center;gap:32px;display:grid}@media (min-width:800px){.founder-row{grid-template-columns:240px 1fr;gap:64px}}.founder-mark{aspect-ratio:1;background:var(--ink);width:180px;box-shadow:var(--shadow-lg);transition:rotate .5s var(--spring);border-radius:8px;place-items:center;padding:28px;display:grid;rotate:-3deg}@media (min-width:800px){.founder-mark{width:240px}}.founder-mark:hover{rotate:2deg}.founder-logo{width:100%;overflow:visible}.founder-logo .lm-dot{transform-box:fill-box;transform-origin:50%;transition:transform .45s var(--spring)}.founder-mark:hover .lm-dot-top{transform:translateY(-16px)}.founder-text h2{margin-bottom:16px}.founder-text p:not(.kicker){color:var(--ink-soft);max-width:620px;font-size:clamp(16px,1.3vw,18px);line-height:1.7}.demo-section{padding-top:clamp(40px,6vw,88px)}.demo-grid{align-items:start;gap:44px;display:grid}@media (min-width:1000px){.demo-grid{grid-template-columns:1fr 1fr;gap:72px}}.steps-list{gap:28px;margin-top:40px;display:grid;position:relative}.steps-list:before{content:"";border-left:2px dashed var(--line-strong);position:absolute;top:20px;bottom:20px;left:17px}.step-item{gap:18px;display:flex;position:relative}.step-num{background:var(--marigold);width:36px;height:36px;color:var(--ink);font-family:var(--disp);box-shadow:0 0 0 6px var(--paper);border-radius:50%;flex-shrink:0;place-items:center;font-size:17px;font-weight:600;display:grid}.step-text b{margin-bottom:4px;font-size:17px;font-weight:600;display:block}.step-text span{color:var(--ink-soft);font-size:15px;line-height:1.55}.demo-note{color:var(--marigold-deep);margin-top:28px;padding-left:54px;font-size:24px;rotate:-2deg}.demo-form-card,.contact-form-card{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-md);border-radius:8px;padding:clamp(24px,3.5vw,40px)}.demo-form-card h2{margin-bottom:24px;font-size:clamp(22px,2.2vw,28px)}@media (min-width:1000px){.demo-form-card{top:calc(var(--nav-h) + 20px);position:sticky}}.contact-section{padding-top:0}.contact-layout{align-items:start;gap:24px;display:grid}@media (min-width:900px){.contact-layout{grid-template-columns:1.5fr 1fr;gap:32px}}.contact-info{gap:14px;display:grid}@media (min-width:600px) and (max-width:899px){.contact-info{grid-template-columns:repeat(3,1fr)}}.contact-info-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:transform .35s var(--ease), box-shadow .35s, border-color .3s;align-items:flex-start;gap:16px;padding:22px;display:flex}.contact-info-card.is-link:hover{box-shadow:var(--shadow-md);border-color:var(--marigold);transform:translateY(-3px)}@media (min-width:600px) and (max-width:899px){.contact-info-card{flex-direction:column}}.ci-ico{background:var(--forest-tint);width:44px;height:44px;color:var(--forest);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.contact-info-card:nth-child(2) .ci-ico{background:var(--slate-tint);color:var(--slate)}.contact-info-card:nth-child(3) .ci-ico{background:var(--plum-tint);color:var(--plum)}.contact-info-card h2{font-family:var(--body);letter-spacing:0;margin-bottom:4px;font-size:16px;font-weight:600}.contact-info-card p{color:var(--ink-soft);font-size:14.5px;line-height:1.55}.ci-mail{font-family:var(--mono);color:var(--marigold-deep);word-break:break-all;font-size:14px}.faq-section{padding-top:0}.faq-layout{gap:28px;display:grid}@media (min-width:960px){.faq-layout{grid-template-columns:240px 1fr;align-items:start;gap:72px}}.faq-nav{scrollbar-width:none;margin:0 calc(var(--gutter) * -1);padding:2px var(--gutter);gap:8px;display:flex;overflow-x:auto}.faq-nav::-webkit-scrollbar{display:none}.faq-nav a{white-space:nowrap;background:var(--white);border:1px solid var(--line);border-radius:4px;align-items:center;gap:8px;padding:9px 14px;font-size:14px;font-weight:500;transition:border-color .2s,background .2s;display:inline-flex}.faq-nav a span{font-family:var(--mono);color:var(--ink-mute);font-size:11px}.faq-nav a:hover{border-color:var(--ink)}.faq-nav-label,.faq-nav-note{display:none}@media (min-width:960px){.faq-nav{top:calc(var(--nav-h) + 24px);flex-direction:column;gap:2px;margin:0;padding:0;position:sticky;overflow:visible}.faq-nav-label{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-mute);margin-bottom:10px;font-size:11.5px;display:block}.faq-nav a{background:0 0;border:none;border-radius:10px;justify-content:space-between;padding:10px 12px;font-size:15px}.faq-nav a:hover{background:var(--white)}.faq-nav-note{border-top:1px dashed var(--line-strong);gap:2px;margin-top:24px;padding:16px 12px 0;display:grid}.faq-nav-note .hand{color:var(--ink-mute);font-size:22px}}.faq-groups{min-width:0}.faq-group{margin-bottom:48px;scroll-margin-top:90px}.faq-group-label{font-family:var(--disp);margin-bottom:8px;font-size:clamp(24px,2.4vw,30px)}.faq-row{border-bottom:1px solid var(--line-strong)}button.faq-q{all:unset;box-sizing:border-box;cursor:pointer;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:44px;padding:20px 0;font-size:16.5px;font-weight:600;line-height:1.4;display:flex}button.faq-q:focus-visible{outline:2px solid var(--marigold-deep);outline-offset:2px}.faq-q .plus{border:1px solid var(--line-strong);background:linear-gradient(var(--ink), var(--ink)) center / 11px 1.6px no-repeat, linear-gradient(var(--ink), var(--ink)) center / 1.6px 11px no-repeat;width:30px;height:30px;transition:transform .35s var(--spring), background-color .2s, border-color .2s;border-radius:50%;flex-shrink:0}.faq-row.open .plus{background-color:var(--marigold);border-color:var(--marigold);transform:rotate(135deg)}.faq-a{transition:grid-template-rows .4s var(--ease);grid-template-rows:0fr;display:grid}.faq-row.open .faq-a{grid-template-rows:1fr}.faq-a-inner{min-height:0;overflow:hidden}.faq-a p{color:var(--ink-soft);max-width:680px;padding:0 48px 22px 0;font-size:15.5px;line-height:1.65}.role-jump{color:var(--ink-mute);flex-wrap:wrap;align-items:center;gap:8px;margin-top:22px;font-size:14px;display:flex}.role-jump>span{font-family:var(--hand), cursive;color:var(--marigold-deep);margin-right:2px;font-size:19px}.rj{--c:var(--forest);border:1px solid var(--line-strong);color:var(--ink);min-height:36px;transition:background .25s, color .25s, border-color .25s, transform .3s var(--spring);background:#fff9;border-radius:4px;align-items:center;gap:7px;padding:7px 14px 7px 11px;font-weight:560;display:inline-flex;position:relative}.rj:before{content:"";background:var(--c);width:8px;height:8px;transition:transform .3s var(--spring);border-radius:50%}.rj:hover{background:var(--c);border-color:var(--c);color:var(--white);transform:translateY(-2px)}.rj:hover:before{background:var(--white);transform:scale(1.3)}.rj-teacher{--c:var(--slate)}.rj-student{--c:var(--plum)}.rj-mgmt{--c:var(--rust)}.rj-admin{--c:#8a6a1f}.rj-principal{--c:var(--forest)}.timesaved-section{padding-top:0}.timesaved{align-items:stretch;gap:20px;display:grid}@media (min-width:900px){.timesaved{grid-template-columns:1fr 1fr;gap:24px}}.ts-inputs,.ts-result{border-radius:8px;padding:clamp(22px,3vw,36px)}.ts-inputs{background:var(--white);border:1px solid var(--line)}.ts-field{color:var(--ink-soft);justify-content:space-between;align-items:baseline;gap:12px;margin-top:6px;font-size:15px;display:flex}.ts-field b{font-family:var(--sans);font-variation-settings:"wdth" 82;color:var(--ink);font-size:clamp(30px,3.4vw,42px);font-weight:760;line-height:1}.ts-math .ts-field b{font-size:18px}.ts-presets{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.ts-presets button,.quick-chips button{font-family:var(--mono);font-variation-settings:"wdth" 82;border:1px solid var(--line-strong);background:var(--paper);min-height:36px;color:var(--ink-soft);cursor:pointer;transition:background .2s, color .2s, border-color .2s, transform .25s var(--spring);border-radius:4px;padding:8px 14px;font-size:12.5px}.ts-presets button:hover,.quick-chips button:hover{border-color:var(--ink);color:var(--ink);transform:translateY(-1px)}.ts-presets button.on,.quick-chips button.on{background:var(--ink);border-color:var(--ink);color:var(--white)}.ts-math-toggle{all:unset;cursor:pointer;color:var(--marigold-deep);align-items:center;gap:6px;margin-top:22px;padding:6px 0;font-size:14.5px;font-weight:600;display:inline-flex}.ts-math-toggle svg{transition:transform .3s var(--spring)}.ts-math-toggle[aria-expanded=true] svg{transform:rotate(90deg)}.ts-math-toggle:focus-visible{outline:2px solid var(--marigold-deep);outline-offset:2px}.ts-math{border-top:1px dashed var(--line-strong);animation:toast-in .4s var(--ease);margin-top:8px;padding-top:14px}.ts-math p{color:var(--ink-mute);margin-top:12px;font-size:13px;line-height:1.55}.ts-result{background:var(--ink);color:var(--white);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.ts-result:before{content:"";pointer-events:none;background:0 0;border-radius:50%;width:260px;height:260px;position:absolute;top:-80px;right:-80px}.ts-label{font-family:var(--hand), cursive;color:var(--marigold);font-size:22px}.ts-total{align-items:flex-end;gap:14px;margin:4px 0 8px;display:flex}.ts-total b{font-variation-settings:"wdth" 76;letter-spacing:-.012em;font-variant-numeric:tabular-nums;font-size:clamp(64px,8vw,104px);font-weight:800;line-height:.9}.ts-total span{color:#c9d2e0;padding-bottom:8px;font-size:15px;line-height:1.25}.ts-sub{color:#b7c0d2;font-size:15px}.ts-sub b{color:var(--white)}.ts-bars{gap:12px;margin:22px 0 24px;display:grid}.ts-bars li{color:#c9d2e0;grid-template-columns:1fr auto;gap:6px;font-size:14px;display:grid}.ts-bars b{font-family:var(--mono);color:var(--white);font-size:13px;font-weight:400}.ts-bars i{min-width:6px;height:6px;transition:width .5s var(--ease);border-radius:6px;grid-column:1/-1}.ts-result .btn{white-space:normal;text-align:center;margin-top:auto}.ts-fine{color:#77839a;text-align:center;margin-top:10px;font-size:12px}.form-progress{align-items:center;gap:12px;margin:-6px 0 16px;display:flex}.fp-bar{background:var(--paper-deep);border-radius:6px;flex:1;height:6px;overflow:hidden}.fp-bar i{background:var(--marigold);height:100%;transition:width .45s var(--spring);border-radius:6px;display:block}.fp-text{font-family:var(--mono);font-variation-settings:"wdth" 82;color:var(--ink-mute);white-space:nowrap;font-size:11.5px}.form-success-icon{position:relative}.celebrate{pointer-events:none;width:0;height:0;position:absolute;inset:50% auto auto 50%}.celebrate i{background:var(--logo-green);width:8px;height:8px;transform:rotate(var(--a)) translateY(0);opacity:0;animation:burst .9s var(--ease) forwards;animation-delay:var(--d);border-radius:50%;position:absolute}.celebrate i:nth-child(3n+1){background:var(--marigold);border-radius:2px}.celebrate i:nth-child(3n+2){background:var(--logo-blue)}@keyframes burst{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(1)}to{opacity:0;transform:rotate(var(--a)) translateY(-70px) scale(.6)}}.sticky-cta{left:12px;right:12px;bottom:max(12px, env(safe-area-inset-bottom));z-index:150;-webkit-backdrop-filter:blur(12px);color:var(--white);transition:transform .45s var(--spring);background:#101b2ef0;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 16px;display:flex;position:fixed;transform:translateY(140%);box-shadow:0 20px 40px -16px #101b2e99}.sticky-cta.is-on{transform:none}.sticky-cta-text{min-width:0}.sticky-cta-text b{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:650;display:block;overflow:hidden}.sticky-cta-text small{color:#9aa6bc;white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.sticky-cta .btn{flex-shrink:0}@media (min-width:700px){.sticky-cta{display:none}}.to-top{right:18px;bottom:max(18px, env(safe-area-inset-bottom));z-index:140;background:var(--white);width:48px;height:48px;box-shadow:var(--shadow-md);cursor:pointer;opacity:0;pointer-events:none;transition:opacity .3s, transform .4s var(--spring), bottom .4s var(--spring);border:none;border-radius:50%;place-items:center;display:grid;position:fixed;transform:translateY(16px)scale(.85)}.to-top.is-on{opacity:1;pointer-events:auto;transform:none}.to-top svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.tt-track{fill:none;stroke:var(--line);stroke-width:3px}.tt-fill{fill:none;stroke:var(--marigold);stroke-width:3px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--scroll,0) * 100)}.tt-arrow{transition:transform .3s var(--spring);transform:rotate(-90deg)}.to-top:hover .tt-arrow{transform:rotate(-90deg)translate(3px)}@media (max-width:699px){.to-top{width:44px;height:44px;right:14px}.to-top.above-cta{bottom:calc(max(12px, env(safe-area-inset-bottom)) + 84px)}}.quick-chips{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.quick-chips>span{color:var(--ink-mute);margin-right:2px;font-size:13px}.js .page-hero .quick-chips{animation:rise .9s var(--ease) both;animation-delay:.18s}.faq-filter{margin-bottom:28px}.faq-filter .search-bar{max-width:none;margin-top:0}.faq-filter-count{min-height:22px;font-family:var(--mono);font-variation-settings:"wdth" 82;color:var(--ink-mute);margin-top:10px;font-size:12px}.seo-hero{padding-top:clamp(20px,3vw,36px)}.crumbs ol{color:var(--ink-mute);flex-wrap:wrap;gap:4px 0;margin-bottom:clamp(24px,4vw,48px);font-size:13.5px;display:flex}.crumbs li{align-items:center;display:inline-flex}.crumbs li+li:before{content:"/";color:var(--line-strong);margin:0 10px}.crumbs a{color:var(--ink-soft);padding:10px 2px;display:inline-block}.crumbs a:hover{color:var(--ink);text-underline-offset:3px;text-decoration:underline}.crumbs [aria-current]{color:var(--ink);font-weight:560}.seo-features{padding-top:0}.seo-feature-grid{gap:14px;display:grid}@media (min-width:640px){.seo-feature-grid{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.seo-feature-grid{grid-template-columns:repeat(3,1fr);gap:18px}}.seo-feature{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;align-items:flex-start;gap:14px;padding:20px;display:flex}.seo-feature:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-3px)}.sf-check{background:var(--forest-tint);width:26px;height:26px;color:var(--forest);border-radius:50%;flex-shrink:0;place-items:center;margin-top:1px;display:grid}.seo-feature h3{font-family:var(--body);letter-spacing:0;font-variation-settings:"wdth" 96;margin-bottom:4px;font-size:16px;font-weight:640}.seo-feature p{color:var(--ink-soft);font-size:14px;line-height:1.5}.seo-body{padding-top:0}.seo-body-grid{align-items:start;gap:40px;display:grid}@media (min-width:1000px){.seo-body-grid{grid-template-columns:minmax(0,1fr) 320px;gap:72px}.seo-aside{top:calc(var(--nav-h) + 24px);position:sticky}}.seo-article{max-width:760px}.seo-section+.seo-section{margin-top:clamp(40px,5vw,64px)}.seo-section h2{margin-bottom:16px;font-size:clamp(26px,3vw,38px)}.seo-section>p{color:var(--ink-soft);font-size:clamp(16px,1.25vw,17.5px);line-height:1.75}.seo-section>p+p{margin-top:14px}.seo-section>ul{gap:10px;margin-top:18px;display:grid}.seo-section>ul li{color:var(--ink);align-items:flex-start;gap:12px;font-size:16px;line-height:1.55;display:flex}.seo-section>ul svg{color:var(--forest);flex-shrink:0;margin-top:4px}.seo-section .qa-list{margin-top:8px}.seo-aside-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:22px}.seo-aside-card ul{gap:4px;margin:4px 0 18px;display:grid}.seo-aside-card a:not(.btn){--accent:var(--forest);--tint:var(--forest-tint);border-radius:4px;align-items:center;gap:12px;margin:0 -8px;padding:8px;font-weight:560;transition:background .2s;display:flex}.seo-aside-card a:not(.btn)>span:nth-child(2){flex:1}.seo-aside-card a:not(.btn) .sol-icon{border-radius:4px;width:38px;height:38px}.seo-aside-card a:not(.btn)>svg{color:var(--ink-mute);transition:transform .3s var(--spring)}.seo-aside-card a:not(.btn):hover{background:var(--paper)}.seo-aside-card a:not(.btn):hover>svg{color:var(--ink);transform:translate(3px)}.foot-col .foot-sub{margin-top:22px}.blog-hero{padding-bottom:clamp(24px,4vw,48px)}.blog-list{padding-top:0}.blog-cat{font-family:var(--mono);font-variation-settings:"wdth" 82;letter-spacing:.04em;text-transform:uppercase;background:var(--forest-tint);color:var(--forest);border-radius:6px;padding:4px 10px;font-size:11px;display:inline-block}.cat-teaching{background:var(--plum-tint);color:var(--plum)}.cat-fees{background:var(--rust-tint);color:var(--rust)}.cat-operations{background:var(--slate-tint);color:var(--slate)}.cat-communication{color:var(--marigold-deep);background:#fbeeda}.cat-data{color:#4b4a8c;background:#e8e6f3}.blog-meta{color:var(--ink-mute);font-size:13px}.blog-featured{background:var(--ink);color:var(--white);transition:transform .4s var(--ease), box-shadow .4s;border-radius:8px;gap:28px;margin-bottom:clamp(32px,4vw,48px);padding:clamp(26px,4vw,52px);display:grid;position:relative;overflow:hidden}.blog-featured:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}@media (min-width:900px){.blog-featured{grid-template-columns:1.2fr 1fr;align-items:center;gap:56px}}.blog-featured .blog-cat{color:var(--marigold);background:#ffffff1a}.blog-featured h2{color:var(--white);margin:16px 0 14px;font-size:clamp(28px,3.4vw,46px)}.blog-featured p{color:#b7c0d2;max-width:560px;margin-bottom:18px;font-size:clamp(15.5px,1.3vw,17.5px);line-height:1.6}.blog-featured .blog-meta{color:#8792a8}.bf-read{color:var(--marigold);align-items:center;gap:8px;margin-top:22px;font-weight:650;display:flex}.bf-read svg{transition:transform .3s var(--spring)}.blog-featured:hover .bf-read svg{transform:translate(5px)}.bf-art ol{gap:8px;display:grid}.bf-art li{color:#d3dae6;background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;grid-template-columns:28px 1fr auto;align-items:center;gap:10px;padding:11px 14px;font-size:14.5px;display:grid}.bf-art li span{font-family:var(--mono);color:#6b7891;font-size:11px}.bf-art li svg{color:#8fd6ac;opacity:0;transition:opacity .3s, transform .4s var(--spring);transition-delay:calc(var(--i) * .12s + .3s);transform:scale(.5)}.is-in .bf-art li svg{opacity:1;transform:none}.blog-cats{scrollbar-width:none;margin:0 calc(var(--gutter) * -1) 24px;padding:2px var(--gutter);gap:8px;display:flex;overflow-x:auto}.blog-cats::-webkit-scrollbar{display:none}.blog-cats button{white-space:nowrap;font:inherit;border:1px solid var(--line-strong);background:var(--white);min-height:40px;color:var(--ink-soft);cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:9px 16px;font-size:14px;font-weight:560;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.blog-cats button span{font-family:var(--mono);opacity:.7;font-size:11px}.blog-cats button:hover{border-color:var(--ink);color:var(--ink)}.blog-cats button.on{background:var(--ink);border-color:var(--ink);color:var(--white)}.blog-grid{gap:16px;display:grid}@media (min-width:640px){.blog-grid{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.blog-grid:not(.two){grid-template-columns:repeat(3,1fr);gap:20px}.blog-grid.two{gap:20px}}.blog-card-wrap{animation:panel-in .5s var(--ease) both;animation-delay:calc(var(--i,0) * 60ms)}.blog-card{background:var(--white);border:1px solid var(--line);height:100%;transition:transform .35s var(--ease), box-shadow .35s, border-color .3s;border-radius:8px;flex-direction:column;gap:12px;padding:24px;display:flex}.blog-card:hover{box-shadow:var(--shadow-md);border-color:var(--line-strong);transform:translateY(-4px)}.blog-card .blog-cat{align-self:flex-start}.blog-card h2{font-size:clamp(20px,1.8vw,24px);line-height:1.15}.blog-card p{color:var(--ink-soft);flex:1;font-size:15px;line-height:1.55}.post-head{padding:clamp(20px,3vw,36px) 0 clamp(28px,4vw,48px)}.post-head-inner{max-width:calc(860px + var(--gutter) * 2)}.post-head .crumbs ol{margin-bottom:24px}.post-title{font-variation-settings:"wdth" 86;letter-spacing:-.012em;margin:16px 0 6px;font-size:clamp(34px,4.6vw,62px);font-weight:760;line-height:1.04}.post-meta{border-top:1px dashed var(--line-strong);color:var(--ink-mute);flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:22px;padding-top:18px;font-size:14px;display:flex}.post-author{color:var(--ink);align-items:center;gap:8px;font-weight:600;display:inline-flex}.post-grid{grid-template-columns:minmax(0,1fr);gap:28px;padding-bottom:clamp(48px,6vw,80px);display:grid}@media (min-width:1100px){.post-grid{grid-template-columns:240px minmax(0,720px);justify-content:center;gap:72px}.post-side{top:calc(var(--nav-h) + 28px);align-self:start;gap:28px;display:grid;position:sticky}}@media (max-width:1099px){.post-side{display:none}}.toc-label{font-family:var(--mono);font-variation-settings:"wdth" 82;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);margin-bottom:12px;font-size:11px;display:block}.toc ol{border-left:2px solid var(--line);gap:2px;display:grid}.toc li a{color:var(--ink-mute);border-left:2px solid #0000;margin-left:-2px;padding:7px 0 7px 14px;font-size:14px;line-height:1.35;transition:color .2s,border-color .2s;display:block}.toc li a:hover{color:var(--ink)}.toc li.is-active a{color:var(--ink);border-left-color:var(--marigold);font-weight:600}.share{flex-wrap:wrap;align-items:center;gap:8px;display:flex;position:relative}.share-label{font-family:var(--mono);font-variation-settings:"wdth" 82;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-mute);margin-right:4px;font-size:11px}.share-btn{border:1px solid var(--line-strong);background:var(--white);width:40px;height:40px;color:var(--ink-soft);cursor:pointer;transition:background .2s, color .2s, border-color .2s, transform .3s var(--spring);border-radius:50%;place-items:center;display:grid}.share-btn:hover{color:var(--white);background:var(--ink);border-color:var(--ink);transform:translateY(-2px)}.share-btn.wa:hover{background:#25d366;border-color:#25d366}.share-btn.li:hover{background:#0a66c2;border-color:#0a66c2}.share-btn.is-copied{background:var(--forest);border-color:var(--forest);color:var(--white)}.share-toast{color:var(--forest);font-size:12.5px;font-weight:600}.prose{width:100%;min-width:0;max-width:720px;color:var(--ink-soft);font-size:clamp(16.5px,1.3vw,18px);line-height:1.75}@media (max-width:1099px){.prose{margin:0 auto}}.prose>h2{scroll-margin-top:calc(var(--nav-h) + 20px);margin:2.2em 0 .6em;font-size:clamp(25px,2.6vw,34px);line-height:1.12}.prose>h2:first-child{margin-top:0}.prose>h3{font-family:var(--body);letter-spacing:0;font-variation-settings:"wdth" 94;color:var(--ink);margin:1.8em 0 .4em;font-size:clamp(18px,1.5vw,20px);font-weight:680}.prose>p+p{margin-top:1em}.prose strong{color:var(--ink);font-weight:650}.prose>ul,.prose>ol{gap:.55em;margin:1em 0;display:grid}.prose>ul li{padding-left:26px;position:relative}.prose>ul li:before{content:"";background:var(--marigold);border-radius:50%;width:7px;height:7px;position:absolute;top:.72em;left:6px}.prose>ol{counter-reset:step}.prose>ol li{counter-increment:step;padding-left:40px;position:relative}.prose>ol li:before{content:counter(step);width:26px;height:26px;font-family:var(--mono);background:var(--ink);color:var(--white);border-radius:50%;place-items:center;font-size:12px;display:grid;position:absolute;top:.15em;left:0}.prose blockquote{border-left:3px solid var(--marigold);font-family:var(--serif);color:var(--ink);margin:1.5em 0;padding-left:20px;font-size:1.25em;font-style:normal}.prose-tip{background:#fbf3e2;border:1px solid #f0dcae;border-radius:8px;gap:14px;margin:1.6em 0;padding:18px 20px;display:flex}.prose-tip-ico{background:var(--marigold);width:34px;height:34px;color:var(--ink);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.prose-tip b{color:var(--ink);margin-bottom:2px;font-weight:650;display:block}.prose-tip p{font-size:.94em;line-height:1.6}.prose-table{border:1px solid var(--line);background:var(--white);border-radius:4px;margin:1.6em 0;overflow-x:auto}.prose-table:focus-visible{outline:2px solid var(--marigold-deep)}.prose table{border-collapse:collapse;width:100%;min-width:480px;font-size:.9em;line-height:1.5}.prose table.cols-2{min-width:0}.prose table.cols-2 td:first-child{white-space:nowrap}.prose th{text-align:left;color:var(--ink);background:var(--paper);border-bottom:1px solid var(--line);padding:12px 16px;font-weight:650}.prose td{border-bottom:1px solid var(--line);vertical-align:top;padding:12px 16px}.prose tr:last-child td{border-bottom:none}.post-cta{background:var(--white);border:1px solid var(--line);box-shadow:var(--shadow-sm);--accent:var(--plum);--tint:var(--plum-tint);border-radius:4px;grid-template-columns:auto 1fr;align-items:center;gap:14px 16px;margin:2.4em 0;padding:22px;display:grid}.post-cta b{color:var(--ink);font-size:16px;font-weight:650;line-height:1.3;display:block}.post-cta p{margin-top:4px;font-size:14.5px;line-height:1.5}.post-cta .btn{grid-column:1/-1;justify-self:start}@media (min-width:640px){.post-cta{grid-template-columns:auto 1fr auto}.post-cta .btn{grid-column:auto}}.post-end{border-top:1px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:3em;padding-top:24px;display:flex}.post-end .text-link{padding:8px 0;font-size:15px}.post-related{background:var(--paper-warm);border-top:1px solid var(--line)}.post-bottom-cta{background:var(--ink);color:var(--white);border-radius:4px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:32px;padding:26px 28px;display:flex}.post-bottom-cta b{font-size:18px;font-weight:650}.post-bottom-cta p{color:#b7c0d2;margin-top:4px;font-size:14.5px}.nf{padding-top:clamp(40px,6vw,96px)}.nf-grid{align-items:center;gap:48px;display:grid}@media (min-width:960px){.nf-grid{grid-template-columns:1.2fr 1fr;gap:72px}}.nf-links{gap:12px;margin-top:32px;display:grid}@media (min-width:560px){.nf-links{grid-template-columns:1fr 1fr}}.nf-link{--accent:var(--forest);--tint:var(--forest-tint);background:var(--white);border:1px solid var(--line);transition:transform .3s var(--ease), box-shadow .3s, border-color .3s;border-radius:4px;align-items:center;gap:14px;padding:14px 16px;display:flex}.nf-link:hover{box-shadow:var(--shadow-md);border-color:var(--marigold);transform:translateY(-3px)}.nf-link>span:nth-child(2){flex:1;min-width:0}.nf-link b{font-weight:650;display:block}.nf-link small{color:var(--ink-mute);font-size:13px}.nf-link>svg{color:var(--ink-mute);transition:transform .3s var(--spring)}.nf-link:hover>svg{color:var(--ink);transform:translate(4px)}.nf-visual{justify-items:center;gap:24px;display:grid}.nf-mark{--rx:0deg;--ry:0deg;width:min(220px,50vw);transform:rotateX(var(--rx)) rotateY(var(--ry));transition:transform .4s var(--ease)}.nf-logo{filter:drop-shadow(0 24px 30px #101b2e40);width:100%;overflow:visible}.nf-logo .lm-dot{transform-box:fill-box;transform-origin:50%;animation:hop 3.2s var(--ease) infinite}.nf-logo .lm-dot-left{animation-delay:.25s}.nf-logo .lm-dot-right{animation-delay:.5s}.absent-card{background:var(--ink);width:100%;max-width:440px;color:var(--white);box-shadow:var(--shadow-lg);border-radius:8px;padding:18px}.absent-head{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:#8792a8;justify-content:space-between;margin-bottom:10px;font-size:11px;display:flex}.absent-row{all:unset;box-sizing:border-box;cursor:pointer;background:#ffffff0d;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:12px;display:grid}.absent-row:hover{background:#ffffff17}.absent-row:focus-visible{outline:2px solid var(--marigold)}.absent-row.is-nudged{animation:.45s shake}.absent-path{font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.absent-status{font-family:var(--mono);color:#f6c0a5;white-space:nowrap;background:#b5694a66;border-radius:8px;padding:4px 10px;font-size:11px}.absent-note{color:#b7c0d2;margin-top:12px;font-size:14px;line-height:1.5}.absent-note .text-link{color:var(--marigold)}.au-diff,.au-head,.banner-stat span,.ci-mail,.clock-time small,.est-field b,.expand-all,.factor-num,.faq-nav a span,.faq-nav-label,.foot-col h5,.foot-mail,.form-error,.form-field label,.form-reassure,.fv-metrics b,.fv-ring-num span,.group-label,.hero-proof dt small,.integ-chip,.kicker,.ml-num,.mobile-mail,.module-count,.mono,.portal-tag,.ps-mid,.rc-foot,.rc-stamp,.rc-top,.rm-head,.roll-no,.roll-status,.rollcard-count span,.rollcard-title,.route-eta,.sc-num,.seats-label,.sol-count,.subj b,.tag-pill,.ticker li,.tl-time{font-variation-settings:"wdth" 82;letter-spacing:.01em}.kicker{font-variation-settings:"wdth" 82}.sc-title,.register-head,.qa summary,.faq-group-label,.sol-title,.bento-text h3,.tl-item h3,.principle-card h3,.mini-faq-item h3,.portal-banner h2,.included-card h2,.factors h2,.demo-form-card h2,.quote-form-card h3,.rm-name{font-variation-settings:"wdth" 94;letter-spacing:0;font-weight:660}.sc-title{font-size:clamp(19px,1.6vw,22px)}.is-active .sc-title{font-weight:760}.cta-card h2,.pricing-band h2{font-variation-settings:"wdth" 88;font-weight:740;line-height:1.08}.hero-proof dt,.rollcard-count,.score-ring b,.fv-ring-num b,.rc-amt,.est-out b,.banner-stat b,.hero-stats dt,.clock-time,.step-num{font-variation-settings:"wdth" 82;letter-spacing:-.005em;font-weight:720}.clock-time{font-weight:800}.drop{font-family:var(--serif);font-size:86px;font-style:normal}.origin-quote{font-size:clamp(30px,3.4vw,46px);line-height:1.12}.hand,.roll-hint,.clock-day{letter-spacing:0}.roll-hint{font-size:19px}.clock-day{font-size:20px}.register-head .hand,.origin-quote cite .hand,.demo-note,.faq-nav-note .hand{font-size:19px}.price-sticker li{font-size:18px}.btn{letter-spacing:-.005em;font-weight:650}.nav-links{font-weight:560}h1.kicker{font-family:var(--mono);letter-spacing:.04em;color:var(--ink-soft);font-variation-settings:"wdth" 82;text-wrap:pretty;font-size:11px;font-weight:400;line-height:1.5}p.hero-h1,p.page-title{font-family:var(--disp), system-ui, sans-serif;color:var(--ink);text-wrap:balance}@media (prefers-reduced-motion:reduce){.ticker-track,.marquee-row,.blob,.float-chip,.pb-dots i,.cta-dots i,.cta-logo .lm-dot,.bus-route,.chat-typing i{animation:none!important}.rollcard,.price-sticker{transform:none!important}}.section-cta .text-link{padding:10px 0}.seo-feature h3 a{color:inherit;text-decoration:none}.seo-feature h3 a:hover{color:var(--marigold-deep)}.ls-skeleton{background:var(--paper-deep);opacity:.6;border-radius:8px;min-height:560px;animation:1.4s ease-in-out infinite alternate ls-pulse}@keyframes ls-pulse{to{opacity:.25}}@media (max-width:819px){.ls-skeleton{min-height:640px}}html,body{overscroll-behavior-x:none}
