.nn-l-header{position:sticky;top:0;z-index:var(--z-sticky);width:100%;padding:0;pointer-events:none;transition:padding var(--dur-base) var(--ease-out-quart)}.nn-l-header-inner{position:relative;pointer-events:auto;max-width:var(--content-max);margin:0 auto;padding:var(--space-5) var(--section-pad-x);display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);border:1px solid transparent;border-radius:0;transition-property:padding,background-color,backdrop-filter,-webkit-backdrop-filter,border-color,border-radius,box-shadow;transition-duration:var(--dur-base);transition-timing-function:var(--ease-out-quart)}.nn-l-brand{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-header);font-size:var(--fs-md);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);color:var(--text);text-decoration:none;line-height:1}.nn-l-brand-mark{width:30px;height:30px;border-radius:8px;display:block;object-fit:contain}.nn-l-brand-divider{color:var(--text-faint);font-weight:var(--fw-regular);margin:0 2px}.nn-l-brand-suffix{color:var(--text-muted);font-weight:var(--fw-regular)}.nn-l-header-cta{display:inline-flex;align-items:center;gap:var(--space-3)}.nn-l-header.is-scrolled{padding:clamp(14px,1.8vw,24px) clamp(12px,1.6vw,24px) 0}.nn-l-header.is-scrolled .nn-l-header-inner{max-width:var(--content-max);padding:12px clamp(20px,2vw,28px);border-radius:999px;background:rgba(255,255,255,.55);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-color:rgba(255,255,255,.7);box-shadow:0 1px 2px rgba(0,0,0,.04),0 8px 24px rgba(0,0,0,.06),0 24px 56px rgba(0,0,0,.06),inset 0 1px 0 rgba(255,255,255,.7),inset 0 -1px 0 rgba(0,0,0,.04)}.nn-l-header.is-scrolled .nn-l-header-inner::before{content:'';position:absolute;inset:0;border-radius:inherit;corner-shape:inherit;pointer-events:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:160px 160px;opacity:.45;mix-blend-mode:overlay}@media (prefers-color-scheme:dark){.nn-l-header.is-scrolled .nn-l-header-inner::before{mix-blend-mode:soft-light;opacity:.55}}@media (max-width:640px){.nn-l-brand-divider,.nn-l-brand-suffix{display:none}}@media (prefers-reduced-motion:reduce){.nn-l-header,.nn-l-header-inner{transition:none}}.nn-l-hero{position:relative;padding-top:clamp(80px,10vw,140px);padding-bottom:clamp(48px,7vw,96px);isolation:isolate;overflow:hidden}.nn-l-hero-aurora{position:absolute;inset:0;z-index:0;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 90%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 90%,transparent 100%)}.nn-l-hero-aurora canvas{width:100%;height:100%;display:block}.nn-l-hero>.nn-l-container{position:relative;z-index:1}.nn-l-hero-faces{position:absolute;inset:0;z-index:0;pointer-events:none}.nn-l-face-slot{position:absolute;width:clamp(64px,13vw,230px);aspect-ratio:1;pointer-events:none}.nn-l-face-slot-1{top:5%;right:clamp(8px,calc(50% - 540px),5vw)}.nn-l-face-slot-2{top:9%;left:clamp(8px,calc(50% - 540px),5vw)}@media (max-width:600px){.nn-l-face-slot{width:clamp(52px,16vw,90px)}.nn-l-face-slot-1{top:2%;right:4px}.nn-l-face-slot-2{top:7%;left:4px}}.nn-l-face{position:absolute;inset:0;z-index:2;border-radius:40%;corner-shape:squircle;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05),0 12px 32px rgba(0,0,0,.12),0 24px 64px rgba(0,0,0,.08);pointer-events:auto;transition-property:transform,box-shadow;transition-duration:var(--dur-base);transition-timing-function:var(--ease-out-quart);will-change:transform}.nn-l-face img{width:100%;height:100%;object-fit:cover;display:block;object-position:center 25%}.nn-l-face:hover{transform:scale(1.04) rotate(-2deg);box-shadow:0 2px 4px rgba(0,0,0,.06),0 18px 48px rgba(0,0,0,.15),0 32px 80px rgba(0,0,0,.1)}.nn-l-face-1.nn-l-reveal{transform:rotate(5deg);filter:none;opacity:0;clip-path:inset(0 0 100% 0 round 40%);transition:opacity .7s var(--ease-out-quart),clip-path .8s var(--ease-out-quart),transform var(--dur-base) var(--ease-out-quart)}.nn-l-face-1.nn-l-reveal.is-visible{opacity:1;clip-path:inset(0 0 0 0 round 40%);transform:rotate(5deg)}.nn-l-face-1 img{object-position:78% 35%}.nn-l-face-2.nn-l-reveal{transform:rotate(-4deg);filter:none;opacity:0;clip-path:inset(0 0 100% 0 round 40%);transition:opacity .7s var(--ease-out-quart),clip-path .8s var(--ease-out-quart),transform var(--dur-base) var(--ease-out-quart);transition-delay:120ms}.nn-l-face-2.nn-l-reveal.is-visible{opacity:1;clip-path:inset(0 0 0 0 round 40%);transform:rotate(-4deg)}.nn-l-dot-grid{position:absolute;z-index:1;pointer-events:none;background-image:radial-gradient(currentColor 1.6px,transparent 1.6px);background-size:15px 15px;color:rgba(0,114,255,.28)}.nn-l-dot-grid.is-br{-webkit-mask-image:radial-gradient(120% 120% at 100% 100%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 120% at 100% 100%,#000 30%,transparent 78%)}.nn-l-dot-grid.is-bl{-webkit-mask-image:radial-gradient(120% 120% at 0% 100%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 120% at 0% 100%,#000 30%,transparent 78%)}.nn-l-dot-grid.is-tr{-webkit-mask-image:radial-gradient(120% 120% at 100% 0%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 120% at 100% 0%,#000 30%,transparent 78%)}.nn-l-dot-grid.is-tl{-webkit-mask-image:radial-gradient(120% 120% at 0% 0%,#000 30%,transparent 78%);mask-image:radial-gradient(120% 120% at 0% 0%,#000 30%,transparent 78%)}.nn-l-face-slot .nn-l-dot-grid{width:70%;height:70%}.nn-l-face-slot-2 .nn-l-dot-grid{top:-30%;left:-34%;transform:rotate(-4deg);transform-origin:bottom right}.nn-l-face-slot-1 .nn-l-dot-grid{top:-30%;right:-34%;transform:rotate(5deg);transform-origin:bottom left}.nn-l-dot-grid-cta{position:absolute;top:-100px;left:-100px;width:440px;height:360px;z-index:0;pointer-events:none;background-image:radial-gradient(rgba(30,58,110,.5) 1.6px,transparent 1.6px);background-size:15px 15px;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000000 0%,transparent 70%);mask-image:radial-gradient(circle at 50% 50%,#000000 0%,transparent 70%)}@media (max-width:880px){.nn-l-dot-grid-cta,.nn-l-face-slot .nn-l-dot-grid{display:none}}.nn-l-face-2 img{object-position:0% 35%}.nn-l-face-3{position:absolute;width:clamp(120px,13vw,170px);height:clamp(120px,13vw,170px);bottom:-36px;right:calc(50% + 110px);border-radius:50%;corner-shape:round;transform:rotate(-3deg);z-index:2}.nn-l-face-3 img{object-position:50% 30%;transform:scale(1.05)}@media (prefers-reduced-motion:reduce){.nn-l-face{transition:none}}.nn-l-hero-head{margin-bottom:clamp(48px,6vw,80px);position:relative}.nn-l-hero-head .nn-l-display{max-width:18ch;margin-left:auto;margin-right:auto}.nn-l-hero-head .nn-l-lead{max-width:56ch}.nn-l-hero-cta{margin-top:var(--space-7);display:inline-flex;flex-direction:column;align-items:center;gap:var(--space-3);position:relative}.nn-l-hero-cta .nn-l-foot{color:var(--text-faint)}.nn-l-hero-head>.nn-l-reveal:first-child{transition-delay:40ms}.nn-l-hero-head>.nn-l-reveal:nth-child(2){transition-delay:120ms}.nn-l-hero-head>.nn-l-reveal:nth-child(3){transition-delay:220ms}.nn-l-hero-head>.nn-l-reveal:nth-child(4){transition-delay:340ms}.nn-l-bento{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:clamp(12px,1.4vw,20px);min-height:280px}.nn-l-bento-hero{grid-column:1}.nn-l-bento-pair{grid-column:2}.nn-l-bento-roster-wrap{grid-column:3;max-height:400px}.nn-l-bento-pair{display:grid;grid-template-rows:0.62fr 1fr;gap:clamp(12px,1.4vw,20px);min-width:0}@media (max-width:1100px){.nn-l-bento{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}.nn-l-bento-hero{grid-column:1/span 2;min-height:320px}.nn-l-bento-pair{grid-column:1}.nn-l-bento-roster-wrap{grid-column:2;min-height:480px}}@media (max-width:540px){.nn-l-bento{grid-template-columns:1fr;gap:16px}.nn-l-bento-hero,.nn-l-bento-pair,.nn-l-bento-roster-wrap{grid-column:1}.nn-l-bento-hero{min-height:0}.nn-l-spotlight .nn-l-hero-value{font-size:clamp(40px, 12vw, 52px)}.nn-l-spotlight .nn-l-hero-foot{margin-top:var(--space-3)}.nn-l-spotlight .nn-l-avatar-dot{width:32px;height:32px;flex-basis:32px;margin-left:-8px}.nn-l-bento-roster-wrap{min-height:260px;max-height:260px}.nn-l-bento-pair{display:flex;flex-direction:row;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;margin:-16px;padding:16px;overscroll-behavior-x:contain}.nn-l-bento-pair::-webkit-scrollbar{display:none}.nn-l-bento-pair>.nn-l-bento-wrap{flex:0 0 80%;scroll-snap-align:start;min-height:150px}}.nn-l-doodle{position:absolute;pointer-events:none;color:var(--text);z-index:3}.nn-l-doodle[data-doodle=roster]{top:44px;right:-160px;left:auto;width:180px;transform:rotate(35deg);transform-origin:0 50%}.nn-l-doodle[data-doodle=apply]{top:-44px;left:-150px;width:250px;transform:rotate(-6deg);transform-origin:100% 0;display:flex;flex-direction:row;align-items:flex-start;gap:2px}.nn-l-doodle[data-doodle=apply] .nn-l-doodle-label{margin:0;white-space:nowrap;flex:0 0 auto;margin-top:4px}.nn-l-doodle[data-doodle=apply] .nn-l-doodle-arrow{flex:1 1 auto;min-width:0}.nn-l-doodle[data-doodle=features]{bottom:100%;margin-bottom:6px;left:14%;width:280px;display:flex;flex-direction:row;align-items:center;gap:8px;transform:rotate(2deg);transform-origin:50% 100%}.nn-l-doodle[data-doodle=features] .nn-l-doodle-label{margin:0;white-space:nowrap;flex:0 0 auto}.nn-l-doodle[data-doodle=features] .nn-l-doodle-arrow{flex:1 1 auto;min-width:0}.nn-l-doodle[data-doodle=compare]{bottom:100%;margin-bottom:2px;left:50%;width:130px;transform:translateX(-35%) rotate(-4deg);transform-origin:50% 100%}.nn-l-doodle-label{display:inline-block;font-family:var(--font-header);font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text);line-height:1;margin-bottom:4px;margin-left:36px;letter-spacing:var(--tracking-snug);transform:rotate(-4deg);transform-origin:0 50%;opacity:0;transition:opacity 320ms var(--ease-out-quart)}.nn-l-doodle.is-label-visible .nn-l-doodle-label{opacity:1}.nn-l-doodle-arrow{display:block;width:100%;height:auto}@media (max-width:1100px){.nn-l-doodle{display:none}}@media (prefers-reduced-motion:reduce){.nn-l-doodle{transition:none;opacity:1}}.nn-l-bento-wrap{position:relative;display:grid}.nn-l-bento-wrap>.nn-l-bento-card{width:100%;height:100%}.nn-l-bento-wrap{transition:transform var(--dur-base) var(--ease-out-quart)}.nn-l-bento-card{position:relative;background:0 0;backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%);border-radius:var(--radius-card);corner-shape:squircle;padding:clamp(18px,1.8vw,24px);overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;min-height:0;box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 0 0 1px rgba(255,255,255,.45),var(--shadow-card);transition-property:transform,box-shadow;transition-duration:var(--dur-base);transition-timing-function:var(--ease-out-quart);will-change:transform}.nn-l-bento-card:hover{transform:translateY(-3px);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),inset 0 0 0 1px rgba(255,255,255,.45),rgba(14,63,126,.08) 0 0 0 1px,rgba(42,51,70,.05) 0 4px 6px -1px,rgba(42,51,70,.05) 0 8px 16px -3px,rgba(42,51,70,.05) 0 18px 28px -6px,rgba(42,51,70,.04) 0 32px 36px -10px}.nn-l-bento-sm{padding:clamp(20px,1.8vw,26px)}.nn-l-bento-tall{padding-bottom:0}.nn-l-card-eyebrow{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--text-faint)}.nn-l-card-topline{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.nn-l-card-arrow{display:inline-flex;color:var(--text-faint);transition:color var(--dur-fast) var(--ease-hover),transform var(--dur-fast) var(--ease-hover)}.nn-l-card-arrow svg{width:18px;height:18px}.nn-l-bento-card:hover .nn-l-card-arrow{color:var(--text);transform:translate(2px,-2px)}.nn-l-bento-value,.nn-l-bento-value-lg,.nn-l-hero-value{font-family:var(--font-header);font-weight:var(--fw-medium);color:var(--text);letter-spacing:var(--tracking-tighter);line-height:var(--lh-tight);font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}.nn-l-bento-value{font-size:clamp(22px, 2.6vw, var(--fs-3xl))}.nn-l-bento-value-lg{font-size:clamp(32px, 3.6vw, 40px)}.nn-l-hero-value{font-size:clamp(56px, 7vw, 80px)}.nn-l-stat-unit{font-size:.5em;font-weight:var(--fw-regular);color:var(--text-muted);margin-left:2px}.nn-l-bento-foot{margin:0;font-size:var(--fs-sm);color:var(--text-muted);display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.nn-l-delta-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.4;font-variant-numeric:tabular-nums}.nn-l-delta-badge.is-up{background:var(--accent-success-soft);color:#2d7a18}.nn-l-delta-badge.is-down{background:var(--accent-warn-soft);color:var(--accent-warn)}.nn-l-hero-body{display:flex;flex-direction:column;gap:var(--space-2)}.nn-l-hero-value-row{display:inline-flex;align-items:flex-end;gap:10px}.nn-l-hero-delta-text{font-size:var(--fs-sm);color:var(--text-muted);line-height:1;margin-left:-4px;padding-bottom:2px}.nn-l-hero-sub{margin:0;font-size:var(--fs-md);color:var(--text-muted)}.nn-l-hero-foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-5)}.nn-l-hero-tag{display:inline-flex;align-items:center;gap:var(--space-2);padding:5px 12px;background:rgba(255,255,255,.85);border-radius:var(--radius-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.nn-l-hero-tag::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--success);box-shadow:0 0 0 3px var(--success-soft)}.nn-l-avatar-stack{display:inline-flex;align-items:center}.nn-l-avatar-dot{width:42px;height:42px;flex:0 0 42px;border-radius:50%;margin-left:-10px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);background:var(--card);box-shadow:0 0 0 1.5px #fff,0 2px 5px rgba(0,0,0,.12);transition:transform 240ms var(--ease-out-quart),box-shadow 240ms var(--ease-out-quart);transform-origin:50% 100%;cursor:pointer;position:relative}.nn-l-avatar-dot:first-child{margin-left:0}.nn-l-avatar-dot:hover{transform:translateY(-4px) scale(1.08);z-index:2;box-shadow:0 0 0 1.5px #fff,0 8px 18px rgba(0,0,0,.22)}.nn-l-avatar-dot.is-more{background:linear-gradient(135deg,#4c9aff 0,#0072ff 100%);color:#fff;font-weight:var(--fw-semibold);letter-spacing:var(--tracking-snug)}img.nn-l-avatar-dot.is-photo{background:var(--card);object-fit:cover;object-position:center}.nn-l-notch-action{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:inline-flex;align-items:center;justify-content:center;color:var(--text);cursor:pointer;box-shadow:0 1px 2px rgba(0,0,0,.08),0 4px 12px rgba(0,0,0,.12);transition-property:transform,background-color,box-shadow;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out-quart)}.nn-l-notch-action:hover{transform:scale(1.06);background:#fff}.nn-l-notch-action:active{transform:scale(.96)}.nn-l-notch-action svg{width:18px;height:18px}.nn-l-mask-blob{position:relative}.nn-l-mask-blob::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 100% 100%,var(--accent-soft) 0,transparent 60%);z-index:0;pointer-events:none}.nn-l-mask-blob>*{position:relative;z-index:1}.nn-l-bento-roster{padding:0;overflow:hidden;min-height:0;max-height:400px}.nn-l-bento-roster .nn-l-card-topline{padding:clamp(18px,1.6vw,24px) clamp(20px,1.8vw,26px) 0}.nn-l-roster-list{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-3) clamp(10px,1vw,14px) clamp(14px,1.4vw,18px);display:flex;flex-direction:column;gap:2px;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 14px,#000 calc(100% - 14px),transparent 100%)}.nn-l-roster-list::-webkit-scrollbar{width:6px}.nn-l-roster-list::-webkit-scrollbar-track{background:0 0}.nn-l-roster-list::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.nn-l-student{appearance:none;background:0 0;border:0;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;display:grid;grid-template-columns:36px 1fr auto;align-items:center;column-gap:var(--space-3);padding:10px 12px;border-radius:12px;transition-property:background-color,transform;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-hover)}.nn-l-student:focus-visible,.nn-l-student:hover{background:var(--bg-elev);outline:0}.nn-l-student:active{transform:scale(.985)}.nn-l-student-avatar{width:36px;height:36px;border-radius:50%;corner-shape:superellipse(2.5);object-fit:cover;background:var(--bg-elev);display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--text);overflow:hidden}.nn-l-student-avatar img{width:100%;height:100%;object-fit:cover}.nn-l-student-avatar[data-color="1"]{background:linear-gradient(135deg,#ffd6a5,#ffadad)}.nn-l-student-avatar[data-color="2"]{background:linear-gradient(135deg,#bde0fe,#a0c4ff)}.nn-l-student-avatar[data-color="3"]{background:linear-gradient(135deg,#caffbf,#9bf6ff)}.nn-l-student-avatar[data-color="4"]{background:linear-gradient(135deg,#ffc6ff,#bdb2ff)}.nn-l-student-avatar[data-color="5"]{background:linear-gradient(135deg,#fdffb6,#caffbf)}.nn-l-student-avatar[data-color="6"]{background:linear-gradient(135deg,#ffadad,#ffc6ff)}.nn-l-student-avatar[data-color="7"]{background:linear-gradient(135deg,#a0c4ff,#bdb2ff)}.nn-l-student-avatar[data-color="8"]{background:linear-gradient(135deg,#9bf6ff,#a0c4ff)}.nn-l-student-name{font-size:var(--fs-sm);font-weight:var(--fw-medium);color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nn-l-student-trend{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:var(--accent-success-soft);border-radius:var(--radius-pill);font-size:var(--fs-2xs);font-weight:var(--fw-semibold);color:#2d7a18;font-variant-numeric:tabular-nums}.nn-l-student-trend svg{width:11px;height:11px}.nn-l-student-trend.is-down{background:var(--accent-warn-soft);color:var(--accent-warn)}.nn-l-student-trend.is-flat{background:var(--bg-elev);color:var(--text-muted)}.nn-l-mini-bars{display:flex;align-items:flex-end;gap:6px;height:80px;margin-top:var(--space-4)}.nn-l-mini-bars>span{flex:1;height:var(--h,30%);background:linear-gradient(180deg,var(--accent) 0,var(--accent-soft) 100%);border-radius:8px 8px 3px 3px;transition:height var(--dur-base) var(--ease-out),transform 220ms var(--ease-out-quart),filter 220ms var(--ease-out-quart);transform-origin:50% 100%;cursor:pointer}.nn-l-mini-bars>span:hover{transform:scaleY(1.12);filter:brightness(1.06)}:root{--bg:#fafbfc;--bg-elev:#f3f5f7;--bg-rgb:250,251,252;--card:#ffffff;--card-2:#f7f9fb;--bg-tint:#f0f6ff;--text:#1a1a1a;--text-muted:#6b6b6b;--text-faint:#9aa0a6;--accent:#0072ff;--accent-light:#e6f3ff;--accent-hover:#0056cc;--accent-soft:rgba(0, 114, 255, 0.08);--border:#e1e4e8;--border-soft:#edf0f3;--border-strong:#cdd1d6;--success:#2da44e;--success-soft:rgba(45, 164, 78, 0.10);--warning:#b7791f;--warning-soft:rgba(183, 121, 31, 0.10);--danger:#e5484d;--danger-soft:rgba(229, 72, 77, 0.08);--accent-success:#6fd348;--accent-success-soft:rgba(111, 211, 72, 0.16);--accent-warn:#ff6b35;--accent-warn-soft:rgba(255, 107, 53, 0.14);--dither-tone:#ffffff;--spotlight-bg:rgb(120, 120, 120);--shadow-sm:0 1px 2px rgba(0, 0, 0, 0.04);--shadow:0 2px 8px rgba(0, 0, 0, 0.04),0 4px 24px rgba(0, 0, 0, 0.06);--shadow-lg:0 4px 12px rgba(0, 0, 0, 0.06),0 24px 64px rgba(0, 0, 0, 0.08);--shadow-xl:0 8px 24px rgba(0, 0, 0, 0.08),0 48px 120px rgba(0, 0, 0, 0.12);--shadow-card:rgba(14, 63, 126, 0.06) 0px 0px 0px 1px,rgba(42, 51, 70, 0.03) 0px 1px 1px -0.5px,rgba(42, 51, 70, 0.04) 0px 2px 2px -1px,rgba(42, 51, 70, 0.04) 0px 3px 3px -1.5px,rgba(42, 51, 70, 0.03) 0px 5px 5px -2.5px,rgba(42, 51, 70, 0.03) 0px 10px 10px -5px,rgba(42, 51, 70, 0.03) 0px 24px 24px -8px;--card-elev:rgba(9, 30, 66, 0.12) 0px 1px 1px,rgba(9, 30, 66, 0.08) 0px 0px 1px 1px;--radius-xs:8px;--radius-sm:10px;--radius:16px;--radius-lg:24px;--radius-xl:32px;--radius-2xl:48px;--radius-pill:999px;--radius-card:clamp(26px, 2.8vw, 40px);--squircle:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><path d='M 50 0 C 12 0 0 12 0 50 C 0 88 12 100 50 100 C 88 100 100 88 100 50 C 100 12 88 0 50 0 Z' fill='black'/></svg>");--blob:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'><path d='M100 0 C 160 0 200 40 200 100 C 200 160 160 200 100 200 C 40 200 0 160 0 100 C 0 40 40 0 100 0 Z' fill='black'/></svg>");--font-header:'Unbounded',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--font-body:'Geist',-apple-system,BlinkMacSystemFont,'Segoe UI',system-ui,sans-serif;--font-mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;--fs-3xs:10px;--fs-2xs:11px;--fs-xs:12px;--fs-sm:13px;--fs-base:14px;--fs-md:15px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:36px;--fs-display:48px;--fs-hero:64px;--fs-headline:72px;--fs-headline-lg:96px;--lh-tight:1.12;--lh-snug:1.25;--lh-normal:1.45;--lh-body:1.55;--lh-loose:1.7;--tracking-tightest:-0.03em;--tracking-tighter:-0.02em;--tracking-tight:-0.01em;--tracking-snug:-0.005em;--tracking-normal:0;--tracking-wide:0.08em;--tracking-widest:0.14em;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:40px;--space-9:48px;--space-10:64px;--space-11:80px;--space-12:96px;--space-13:128px;--space-14:160px;--section-pad-y:clamp(64px, 9vw, 128px);--section-pad-x:clamp(20px, 4vw, 40px);--content-max:1200px;--content-narrow:860px;--content-tight:640px;--btn-radius:var(--radius-pill);--btn-height-sm:34px;--btn-height:42px;--btn-height-lg:52px;--btn-padding-y-sm:7px;--btn-padding-x-sm:14px;--btn-padding-y:10px;--btn-padding-x:18px;--btn-padding-y-lg:14px;--btn-padding-x-lg:28px;--btn-font-size:var(--fs-base);--btn-font-size-lg:var(--fs-md);--btn-font-weight:var(--fw-semibold);--ease-out:cubic-bezier(0.2, 0, 0, 1);--ease-out-quart:cubic-bezier(0.165, 0.84, 0.44, 1);--ease-in-out:cubic-bezier(0.645, 0.045, 0.355, 1);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-hover:ease;--dur-instant:100ms;--dur-fast:180ms;--dur-base:240ms;--dur-slow:480ms;--dur-slower:720ms;--z-base:1;--z-sticky:10;--z-overlay:100;--z-modal:1000}*,::after,::before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:auto}body,html{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--fs-md);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}canvas,img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:0 0;border:0;padding:0;cursor:pointer}svg.lucide{flex:0 0 auto;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.nn-l-tnum,[data-stat-value],[data-stat]{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1}.nn-l-eyebrow{display:inline-block;margin:0 0 var(--space-3);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--tracking-widest);color:var(--text-faint)}.nn-l-marker{display:inline-flex;align-items:center;gap:8px;margin:0 0 var(--space-4);font-family:var(--font-header);font-size:var(--fs-sm);font-style:italic;font-weight:var(--fw-regular);color:var(--text-muted);letter-spacing:var(--tracking-snug)}.nn-l-marker::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0}.nn-l-dark .nn-l-marker,.nn-l-dark-stage .nn-l-marker{color:rgba(255,255,255,.6)}.nn-l-display{font-family:var(--font-header);font-size:clamp(30px, 3.8vw, 44px);font-weight:var(--fw-medium);line-height:1.18;letter-spacing:var(--tracking-tighter);margin:0 0 var(--space-5);color:var(--text);text-wrap:balance;max-width:16ch}.nn-l-h2{font-family:var(--font-header);font-size:clamp(28px, 4vw, 44px);font-weight:var(--fw-medium);line-height:var(--lh-snug);letter-spacing:var(--tracking-tight);margin:0 0 var(--space-4);color:var(--text);--heading-cw:20ch;max-width:var(--heading-cw);text-wrap:balance}.nn-l-after-head .nn-l-h2,.nn-l-center .nn-l-h2,.nn-l-compare-head .nn-l-h2,.nn-l-features-head .nn-l-h2{margin-left:auto;margin-right:auto}.nn-l-h3{font-family:var(--font-header);font-size:clamp(20px, 2.4vw, 28px);font-weight:var(--fw-medium);line-height:var(--lh-snug);letter-spacing:var(--tracking-snug);margin:0 0 var(--space-3);color:var(--text);text-wrap:balance}.nn-l-lead{font-family:var(--font-body);font-size:clamp(var(--fs-md), 1.6vw, var(--fs-lg));font-weight:var(--fw-regular);line-height:var(--lh-normal);color:var(--text-muted);margin:0 0 var(--space-7);max-width:var(--content-tight);text-wrap:pretty}.nn-l-p{margin:0 0 var(--space-4);color:var(--text-muted);text-wrap:pretty;font-size:var(--fs-md);line-height:var(--lh-body)}.nn-l-foot{font-size:var(--fs-xs);color:var(--text-faint);margin:0}.nn-l-page{overflow:visible}.nn-l-section{width:100%;padding:var(--section-pad-y) var(--section-pad-x)}.nn-l-container{max-width:var(--content-max);margin:0 auto}.nn-l-container-narrow{max-width:var(--content-narrow);margin:0 auto}.nn-l-container-tight{max-width:var(--content-tight);margin:0 auto}.nn-l-center{text-align:center}.nn-l-center .nn-l-lead{margin-left:auto;margin-right:auto}.nn-l-btn{--btn-arrow-w:16px;--btn-arrow-gap:8px;display:inline-flex;align-items:center;justify-content:center;height:var(--btn-height);padding:var(--btn-padding-y) var(--btn-padding-x);border:1px solid transparent;border-radius:var(--btn-radius);font-family:var(--font-body);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);line-height:1;color:var(--text);background:0 0;cursor:pointer;text-decoration:none;white-space:nowrap;transition-property:background,color,border-color,transform,box-shadow,padding-right;transition-duration:var(--dur-fast);transition-timing-function:var(--ease-out-quart);position:relative}.nn-l-btn:active{transform:scale(.96)}.nn-l-btn::after{content:'';display:inline-block;width:0;height:var(--btn-arrow-w);margin-left:0;background-color:currentColor;-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M5 12h14'/><path d='m12 5 7 7-7 7'/></svg>");-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;opacity:0;transform:translateX(-6px);transition-property:width,margin-left,opacity,transform;transition-duration:var(--dur-base);transition-timing-function:var(--ease-out-quart)}.nn-l-btn:focus-visible::after,.nn-l-btn:hover::after{width:var(--btn-arrow-w);margin-left:var(--btn-arrow-gap);opacity:1;transform:translateX(0)}@media (prefers-reduced-motion:reduce){.nn-l-btn,.nn-l-btn::after{transition:none}}.nn-l-btn-ghost::after,.nn-l-btn-ghost:focus-visible::after,.nn-l-btn-ghost:hover::after{content:none}.nn-l-btn-primary{background:var(--text);color:var(--card);box-shadow:var(--shadow-sm)}.nn-l-btn-primary:hover{background:#000;color:#fff;box-shadow:var(--shadow)}.nn-l-btn-fancy,.nn-l-btn-gradient{background:linear-gradient(180deg,#444 0,#1c1c1c 42%,#000 100%);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.32),inset 0 -2px 2px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.2),0 10px 24px rgba(0,0,0,.22),0 5px 18px rgba(0,114,255,.16);transform:translateY(0)}.nn-l-btn-gradient.nn-l-btn-sm{box-shadow:inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 1px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.18),0 4px 12px rgba(0,0,0,.18)}.nn-l-btn-fancy::before{content:'';position:absolute;inset:-15px;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52' fill='none' stroke='%230072ff' stroke-width='2.4' stroke-linecap='round'><path d='M41 8 A 33 33 0 0 0 8 41'/><path d='M28 4 A 43 43 0 0 0 4 28'/></svg>"),url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='52' height='52' viewBox='0 0 52 52' fill='none' stroke='%230072ff' stroke-width='2.4' stroke-linecap='round'><path d='M11 44 A 33 33 0 0 0 44 11'/><path d='M24 48 A 43 43 0 0 0 48 24'/></svg>");background-repeat:no-repeat,no-repeat;background-position:top left,bottom right;background-size:52px 52px,52px 52px;opacity:.75;transition:opacity var(--dur-base) var(--ease-out-quart),transform var(--dur-base) var(--ease-out-quart)}.nn-l-btn-fancy:hover,.nn-l-btn-gradient:hover{background:linear-gradient(180deg,#4d4d4d 0,#1e1e1e 42%,#000 100%);transform:translateY(-2px);box-shadow:inset 0 1.5px 0 rgba(255,255,255,.38),inset 0 -2px 2px rgba(0,0,0,.5),0 4px 8px rgba(0,0,0,.22),0 16px 32px rgba(0,0,0,.24),0 7px 24px rgba(0,114,255,.22)}.nn-l-btn-fancy:hover::before{opacity:1;transform:scale(1.06)}.nn-l-btn-gradient.nn-l-btn-sm:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.34),inset 0 -1px 1px rgba(0,0,0,.5),0 2px 4px rgba(0,0,0,.2),0 6px 16px rgba(0,0,0,.2)}@media (prefers-reduced-motion:reduce){.nn-l-btn-fancy,.nn-l-btn-fancy:hover,.nn-l-btn-gradient,.nn-l-btn-gradient:hover{transform:none}}.nn-l-btn-ghost{background:0 0;border-color:var(--border);color:var(--text)}.nn-l-btn-ghost:hover{border-color:var(--text);background:var(--bg-elev)}.nn-l-btn-accent{background:var(--accent);color:#fff;box-shadow:0 4px 12px rgba(0,114,255,.18)}.nn-l-btn-accent:hover{background:var(--accent-hover);box-shadow:0 6px 16px rgba(0,114,255,.24)}.nn-l-btn-lg{--btn-arrow-w:18px;--btn-arrow-gap:10px;height:var(--btn-height-lg);padding:var(--btn-padding-y-lg) var(--btn-padding-x-lg);font-size:var(--btn-font-size-lg)}.nn-l-btn-sm{--btn-arrow-w:13px;--btn-arrow-gap:6px;height:var(--btn-height-sm);padding:var(--btn-padding-y-sm) var(--btn-padding-x-sm);font-size:var(--fs-sm)}.nn-l-card{background:var(--card);border:1px solid var(--border-soft);border-radius:var(--radius);box-shadow:var(--card-elev)}.nn-l-card-lg{border-radius:var(--radius-lg);box-shadow:var(--shadow)}.nn-l-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}body.nn-l-has-custom-cursor,body.nn-l-has-custom-cursor *,body.nn-l-has-custom-cursor ::after,body.nn-l-has-custom-cursor ::before,body.nn-l-has-custom-cursor :active,body.nn-l-has-custom-cursor :focus,body.nn-l-has-custom-cursor :hover,body.nn-l-has-custom-cursor [role=button],body.nn-l-has-custom-cursor [role=tab],body.nn-l-has-custom-cursor a,body.nn-l-has-custom-cursor button,body.nn-l-has-custom-cursor input,body.nn-l-has-custom-cursor label,body.nn-l-has-custom-cursor select,body.nn-l-has-custom-cursor textarea{cursor:none!important}body.nn-l-has-custom-cursor input,body.nn-l-has-custom-cursor textarea{caret-color:var(--accent)}.nn-l-cursor{position:fixed;top:0;left:0;width:24px;height:24px;margin:-2px 0 0 -2px;z-index:999999;pointer-events:none;color:var(--accent);filter:drop-shadow(0 0 6px rgba(0, 114, 255, .45)) drop-shadow(0 0 14px rgba(0, 114, 255, .28)) drop-shadow(0 1px 2px rgba(0, 0, 0, .18));opacity:0;transition:opacity 60ms linear,filter var(--dur-fast) var(--ease-out-quart);will-change:transform}.nn-l-cursor.is-ready:not(.is-hidden){transition:opacity 180ms var(--ease-out-quart),filter var(--dur-fast) var(--ease-out-quart)}.nn-l-cursor svg{width:100%;height:100%;display:block}.nn-l-cursor.is-ready{opacity:1}.nn-l-cursor.is-ready.is-hidden{opacity:0}.nn-l-cursor.is-hover{color:var(--accent-hover);filter:drop-shadow(0 0 10px rgba(0, 114, 255, .7)) drop-shadow(0 0 22px rgba(0, 114, 255, .45)) drop-shadow(0 2px 4px rgba(0, 0, 0, .3))}.nn-l-cursor.is-hover svg{transform:scale(1.18);transition:transform var(--dur-fast) var(--ease-out-quart)}.nn-l-cursor.is-down svg{transform:scale(.92)}.nn-l-squircle{-webkit-mask-image:var(--squircle);mask-image:var(--squircle);-webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}[data-split=chars] .char{display:inline-block;opacity:0;transform:translateY(.4em);transition:opacity .5s var(--ease-out-quart),transform .5s var(--ease-out-quart);transition-delay:calc(var(--char-index, 0) * 14ms)}[data-split=chars].is-visible .char{opacity:1;transform:none}[data-split=words] .word{display:inline-block;opacity:0;transform:translateY(.35em) scale(.94);filter:blur(4px);transition:opacity .7s var(--ease-out-quart),transform .7s var(--ease-out-quart),filter .6s var(--ease-out-quart);transition-delay:calc(var(--word-index, 0) * 60ms);will-change:transform,opacity,filter}[data-split=words].is-visible .word{opacity:1;transform:none;filter:blur(0)}[data-split=words][data-split-speed=slow] .word{transition-delay:calc(var(--word-index, 0) * 85ms)}@media (prefers-reduced-motion:reduce){[data-split=chars] .char,[data-split=words] .word{opacity:1;transform:none;transition:none}}.nn-l-reveal{opacity:0;transform:translateY(20px) scale(.97);filter:blur(6px);transition:opacity .7s var(--ease-out-quart),transform .7s var(--ease-out-quart),filter .6s var(--ease-out-quart);will-change:opacity,transform,filter}.nn-l-reveal.is-visible{opacity:1;transform:none;filter:blur(0)}@media (prefers-reduced-motion:reduce){.nn-l-reveal{opacity:1;transform:none;filter:none;transition:none}}.nn-l-doodle-bg{position:absolute;pointer-events:none;background-color:var(--accent);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-position:center;mask-position:center;z-index:0;opacity:0;transition:opacity .6s var(--ease-out-quart);transition-delay:0.2s}.is-visible .nn-l-doodle-bg,.is-visible>.nn-l-doodle-bg,.nn-l-doodle-bg.is-visible{opacity:var(--doodle-opacity, .5)}@media (prefers-reduced-motion:reduce){.nn-l-doodle-bg{transition:none}}