/* Instructor Office website. Same look as the app: system type, one blue tint, frosted bars,
   faint map contour lines with a soft glow at the top. Light and dark follow the device. */
:root{
 --bg:#f5f5f7;--surface:#fff;--fill:rgba(118,118,128,.12);--fill2:rgba(118,118,128,.2);
 --ink:#1d1d1f;--ink2:#5f5f64;--line:rgba(0,0,0,.09);--line2:rgba(0,0,0,.16);
 --tint:#14213d;--tint-fill:#14213d;--tint-h:#24365e;--on-tint:#fff;--tint-soft:rgba(20,33,61,.08);
 --green:#1f7a35;--green-dot:#34c759;--green-soft:rgba(52,199,89,.14);
 --amber:#a54a00;--amber-dot:#ff9f0a;--amber-soft:rgba(255,159,10,.16);
 --red:#c40012;--red-soft:rgba(255,59,48,.1);
 --navy:#13223e;--gold:#fdbe4c;
 --glass:rgba(245,245,247,.78);
 --e1:0 1px 1px rgba(0,0,0,.03),0 2px 6px rgba(0,0,0,.04);
 --e2:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.08);
 --e3:0 2px 6px rgba(0,0,0,.05),0 30px 80px rgba(0,0,0,.18);
 --dark:#0b0b0f;--dark2:#1c1c1e;--dark-ink:#f5f5f7;--dark-ink2:#a1a1a6;--dark-tint:#2997ff;
 --tex-glow:radial-gradient(140% 62% at 50% -10%,rgba(0,113,227,.24),rgba(0,113,227,.07) 45%,transparent 72%);
 --tex-lines:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='608' viewBox='0 0 600 608'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.05' stroke-width='1.2'%3E%3Cpath d='M-40 20 C80 -14 170 60 300 20 S500 -16 640 26'/%3E%3Cpath d='M-40 58 C80 24 170 98 300 58 S500 22 640 64'/%3E%3Cpath d='M-40 96 C80 62 170 136 300 96 S500 60 640 102'/%3E%3Cpath d='M-40 134 C80 100 170 174 300 134 S500 98 640 140'/%3E%3Cpath d='M-40 172 C80 138 170 212 300 172 S500 136 640 178'/%3E%3Cpath d='M-40 210 C80 176 170 250 300 210 S500 174 640 216'/%3E%3Cpath d='M-40 248 C80 214 170 288 300 248 S500 212 640 254'/%3E%3Cpath d='M-40 286 C80 252 170 326 300 286 S500 250 640 292'/%3E%3Cpath d='M-40 324 C80 290 170 364 300 324 S500 288 640 330'/%3E%3Cpath d='M-40 362 C80 328 170 402 300 362 S500 326 640 368'/%3E%3Cpath d='M-40 400 C80 366 170 440 300 400 S500 364 640 406'/%3E%3Cpath d='M-40 438 C80 404 170 478 300 438 S500 402 640 444'/%3E%3Cpath d='M-40 476 C80 442 170 516 300 476 S500 440 640 482'/%3E%3Cpath d='M-40 514 C80 480 170 554 300 514 S500 478 640 520'/%3E%3Cpath d='M-40 552 C80 518 170 592 300 552 S500 516 640 558'/%3E%3Cpath d='M-40 590 C80 556 170 630 300 590 S500 554 640 596'/%3E%3C/g%3E%3C/svg%3E");
 --font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Helvetica Neue",system-ui,"Segoe UI",Roboto,Arial,sans-serif;
 color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){
 --bg:#000;--surface:#1c1c1e;--fill:rgba(118,118,128,.24);--fill2:rgba(118,118,128,.32);
 --ink:#f5f5f7;--ink2:#a1a1a6;--line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.2);
 --tint:#f5b85c;--tint-fill:#f2a541;--tint-h:#f7c06f;--on-tint:#14213d;--tint-soft:rgba(242,165,65,.16);
 --green:#32d74b;--green-soft:rgba(50,215,75,.16);--amber:#ffb340;--amber-soft:rgba(255,159,10,.2);--red:#ff6961;--red-soft:rgba(255,69,58,.18);
 --glass:rgba(10,10,12,.72);--e1:0 0 0 1px rgba(255,255,255,.06);--e2:0 0 0 1px rgba(255,255,255,.07);--e3:0 0 0 1px rgba(255,255,255,.09),0 30px 80px rgba(0,0,0,.6);
 --dark:#141417;--dark2:#232327;
 --tex-glow:radial-gradient(120% 55% at 50% -10%,rgba(41,151,255,.26),transparent 65%);--tex-lines:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='608' viewBox='0 0 600 608'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.06' stroke-width='1.2'%3E%3Cpath d='M-40 20 C80 -14 170 60 300 20 S500 -16 640 26'/%3E%3Cpath d='M-40 58 C80 24 170 98 300 58 S500 22 640 64'/%3E%3Cpath d='M-40 96 C80 62 170 136 300 96 S500 60 640 102'/%3E%3Cpath d='M-40 134 C80 100 170 174 300 134 S500 98 640 140'/%3E%3Cpath d='M-40 172 C80 138 170 212 300 172 S500 136 640 178'/%3E%3Cpath d='M-40 210 C80 176 170 250 300 210 S500 174 640 216'/%3E%3Cpath d='M-40 248 C80 214 170 288 300 248 S500 212 640 254'/%3E%3Cpath d='M-40 286 C80 252 170 326 300 286 S500 250 640 292'/%3E%3Cpath d='M-40 324 C80 290 170 364 300 324 S500 288 640 330'/%3E%3Cpath d='M-40 362 C80 328 170 402 300 362 S500 326 640 368'/%3E%3Cpath d='M-40 400 C80 366 170 440 300 400 S500 364 640 406'/%3E%3Cpath d='M-40 438 C80 404 170 478 300 438 S500 402 640 444'/%3E%3Cpath d='M-40 476 C80 442 170 516 300 476 S500 440 640 482'/%3E%3Cpath d='M-40 514 C80 480 170 554 300 514 S500 478 640 520'/%3E%3Cpath d='M-40 552 C80 518 170 592 300 552 S500 516 640 558'/%3E%3Cpath d='M-40 590 C80 556 170 630 300 590 S500 554 640 596'/%3E%3C/g%3E%3C/svg%3E");color-scheme:dark}}
:root[data-theme=dark]{
 --bg:#000;--surface:#1c1c1e;--fill:rgba(118,118,128,.24);--fill2:rgba(118,118,128,.32);
 --ink:#f5f5f7;--ink2:#a1a1a6;--line:rgba(255,255,255,.12);--line2:rgba(255,255,255,.2);
 --tint:#f5b85c;--tint-fill:#f2a541;--tint-h:#f7c06f;--on-tint:#14213d;--tint-soft:rgba(242,165,65,.16);
 --green:#32d74b;--green-soft:rgba(50,215,75,.16);--amber:#ffb340;--amber-soft:rgba(255,159,10,.2);--red:#ff6961;--red-soft:rgba(255,69,58,.18);
 --glass:rgba(10,10,12,.72);--e1:0 0 0 1px rgba(255,255,255,.06);--e2:0 0 0 1px rgba(255,255,255,.07);--e3:0 0 0 1px rgba(255,255,255,.09),0 30px 80px rgba(0,0,0,.6);
 --dark:#141417;--dark2:#232327;
 --tex-glow:radial-gradient(120% 55% at 50% -10%,rgba(41,151,255,.26),transparent 65%);--tex-lines:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='608' viewBox='0 0 600 608'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.06' stroke-width='1.2'%3E%3Cpath d='M-40 20 C80 -14 170 60 300 20 S500 -16 640 26'/%3E%3Cpath d='M-40 58 C80 24 170 98 300 58 S500 22 640 64'/%3E%3Cpath d='M-40 96 C80 62 170 136 300 96 S500 60 640 102'/%3E%3Cpath d='M-40 134 C80 100 170 174 300 134 S500 98 640 140'/%3E%3Cpath d='M-40 172 C80 138 170 212 300 172 S500 136 640 178'/%3E%3Cpath d='M-40 210 C80 176 170 250 300 210 S500 174 640 216'/%3E%3Cpath d='M-40 248 C80 214 170 288 300 248 S500 212 640 254'/%3E%3Cpath d='M-40 286 C80 252 170 326 300 286 S500 250 640 292'/%3E%3Cpath d='M-40 324 C80 290 170 364 300 324 S500 288 640 330'/%3E%3Cpath d='M-40 362 C80 328 170 402 300 362 S500 326 640 368'/%3E%3Cpath d='M-40 400 C80 366 170 440 300 400 S500 364 640 406'/%3E%3Cpath d='M-40 438 C80 404 170 478 300 438 S500 402 640 444'/%3E%3Cpath d='M-40 476 C80 442 170 516 300 476 S500 440 640 482'/%3E%3Cpath d='M-40 514 C80 480 170 554 300 514 S500 478 640 520'/%3E%3Cpath d='M-40 552 C80 518 170 592 300 552 S500 516 640 558'/%3E%3Cpath d='M-40 590 C80 556 170 630 300 590 S500 554 640 596'/%3E%3C/g%3E%3C/svg%3E");color-scheme:dark}

[hidden]{display:none!important}
*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:18px;line-height:1.55;-webkit-font-smoothing:antialiased;position:relative;isolation:isolate}
body::before{content:"";position:absolute;inset:0 0 auto;height:min(1400px,160vh);z-index:-1;pointer-events:none;background-image:var(--tex-glow),var(--tex-lines);background-repeat:no-repeat,repeat;background-size:100% 100%,600px 608px;-webkit-mask-image:linear-gradient(#000 55%,transparent);mask-image:linear-gradient(#000 55%,transparent)}
h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.022em;line-height:1.08;text-wrap:balance}
a{color:var(--tint);text-decoration:none}a:hover{text-decoration:underline}
:focus-visible{outline:3px solid var(--tint-fill);outline-offset:3px;border-radius:10px}
img{max-width:100%;height:auto}
.wrap{max-width:1120px;margin:0 auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.narrow{max-width:780px}
.skip{position:absolute;left:-999px;top:8px;background:var(--surface);padding:10px 16px;border-radius:10px;z-index:50}.skip:focus{left:16px}

/* ---------- header ---------- */
.top{position:sticky;top:0;z-index:20;background:var(--glass);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--line)}
body::after{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--glass);z-index:21}
.top .wrap{display:flex;align-items:center;gap:18px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;font-weight:700;font-size:19px;color:var(--ink);letter-spacing:-.01em;flex:none}.logo:hover{text-decoration:none}
.mark{width:34px;height:34px;border-radius:9px;background:var(--navy);display:grid;place-items:center;flex:none}
.mark b{width:24px;height:24px;border-radius:7px;background:var(--gold);color:var(--navy);display:grid;place-items:center;font:800 11.5px var(--font);letter-spacing:.02em}
.menu{display:flex;align-items:center;gap:4px;margin-left:auto}
.menu a.t{color:var(--ink);font-size:16px;padding:10px 12px;border-radius:10px}.menu a.t:hover{background:var(--fill);text-decoration:none}
.menu a.t[aria-current=page]{font-weight:650;color:var(--tint)}
.acts{display:flex;align-items:center;gap:8px}
.burger{display:none;width:48px;height:48px;border-radius:12px;border:0;background:var(--fill);color:var(--ink);align-items:center;justify-content:center;cursor:pointer}
.burger svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
@media (min-width:981px){.menu .signin-m{display:none}}
@media (max-width:980px){
 .menu{position:fixed;inset:64px 0 auto;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);padding:8px max(20px,env(safe-area-inset-right,0px)) 24px max(20px,env(safe-area-inset-left,0px));border-bottom:1px solid var(--line);box-shadow:var(--e3);display:none;margin:0}
 .menu.open{display:flex}.menu a.t{font-size:20px;padding:16px 8px;border-bottom:1px solid var(--line);border-radius:0}
 .burger{display:inline-flex;margin-left:auto}.acts .signin{display:none}
}
@media (max-width:420px){.acts .btn.sm{padding:0 12px;font-size:14.5px}.logo{font-size:17px}.top .wrap{gap:10px}}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 26px;border-radius:999px;background:var(--tint-fill);color:var(--on-tint);font:600 17px var(--font);border:0;cursor:pointer;text-align:center;white-space:nowrap}
.btn:hover{background:var(--tint-h);text-decoration:none}
.btn.sm{min-height:44px;padding:0 18px;font-size:15.5px}
.btn.lg{min-height:58px;padding:0 32px;font-size:18.5px}
.btn.ghost{background:transparent;color:var(--tint);box-shadow:inset 0 0 0 2px var(--tint)}.btn.ghost:hover{background:var(--tint-soft)}
.btn.soft{background:var(--fill);color:var(--ink)}.btn.soft:hover{background:var(--fill2)}
.btn.white{background:#fff;color:#000}.btn.white:hover{background:#e8e8ed}
.btn[disabled]{opacity:.55;cursor:default}
.lnk{display:inline-flex;align-items:center;min-height:52px;font-size:18px;font-weight:600;gap:4px}
.cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.cta.c{justify-content:center}

/* ---------- type ---------- */
.eyebrow{font-size:15px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--tint);margin-bottom:14px}
.h-xl{font-size:clamp(44px,7.6vw,84px);font-weight:700;letter-spacing:-.035em;line-height:1.02}
.h-l{font-size:clamp(34px,5.4vw,58px);font-weight:700;letter-spacing:-.03em}
.h-m{font-size:clamp(28px,3.8vw,40px);font-weight:700;letter-spacing:-.025em}
.lede{font-size:clamp(19px,2.4vw,23px);color:var(--ink2);line-height:1.5;max-width:36em}
.c{text-align:center}.c .lede,.lede.c{margin-left:auto;margin-right:auto}
.mute{color:var(--ink2)}.fine{color:var(--ink2);font-size:15px;line-height:1.5}
.tag{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 10px;border-radius:999px;vertical-align:middle;white-space:nowrap}
.tag.ai{color:#fff;background:linear-gradient(135deg,#0071e3,#7a5af8)}
.tag.new{color:var(--green);background:var(--green-soft)}
.tag.soon{color:var(--amber);background:var(--amber-soft)}
.tag.plain{color:var(--ink2);background:var(--fill)}
section{padding-block:96px 0}
.sec-h{max-width:820px}.sec-h.c{margin:0 auto}.sec-h .lede{margin-top:16px}

/* ---------- hero ---------- */
.hero{padding-block:72px 0}
.hero .lede{margin-top:22px}.hero .cta{margin-top:32px}
.trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:22px;color:var(--ink2);font-size:15.5px}
.trust span{display:inline-flex;align-items:center;gap:7px}
.trust svg{width:18px;height:18px;stroke:var(--green);fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;flex:none}
.c .trust{justify-content:center}

/* ---------- cards and grids ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px;margin-top:48px}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr))}
.grid.four{grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr))}
.card{background:var(--surface);border-radius:24px;padding:28px;box-shadow:var(--e2);min-width:0}
.card h3{font-size:22px;margin-bottom:8px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.card p{color:var(--ink2);font-size:17px}
.card .ic{width:48px;height:48px;border-radius:14px;background:var(--tint-soft);display:grid;place-items:center;margin-bottom:18px}
.ic svg,.ico{width:26px;height:26px;stroke:var(--tint);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.card.link{display:block;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.card.link:hover{text-decoration:none;transform:translateY(-2px);box-shadow:var(--e3)}
.card .more{display:inline-block;margin-top:14px;font-weight:600;color:var(--tint)}

/* feature rows */
.feat{display:grid;grid-template-columns:1fr 1.08fr;gap:64px;align-items:center;margin-top:120px}
.feat.r .tx{order:2}
.feat .tx{min-width:0}.feat .vis{min-width:0}
.feat h3{font-size:clamp(30px,4.2vw,46px);letter-spacing:-.03em;margin-bottom:16px}
.feat p{color:var(--ink2);font-size:20px}
.ticks{margin:20px 0 0;padding:0;list-style:none}
.ticks li{padding:7px 0 7px 32px;position:relative;font-size:18px}
.ticks li::before{content:"";position:absolute;left:2px;top:15px;width:15px;height:8px;border-left:3px solid var(--tint);border-bottom:3px solid var(--tint);transform:rotate(-45deg)}
@media (max-width:860px){.feat{grid-template-columns:1fr;gap:36px;margin-top:90px}.feat.r .tx{order:0}}

/* dark bands */
.band{background:var(--dark);color:var(--dark-ink);border-radius:36px;padding:80px clamp(22px,5vw,64px);margin-top:110px;overflow:hidden;position:relative}
.band .lede,.band p,.band .mute{color:var(--dark-ink2)}.band .eyebrow{color:var(--dark-tint)}
.band .ticks li{color:#e5e5ea}.band .ticks li::before{border-color:var(--dark-tint)}
.band .card{background:var(--dark2);box-shadow:none}.band .card h3{color:var(--dark-ink)}.band .card p{color:var(--dark-ink2)}
.band .ic{background:rgba(41,151,255,.16)}.band .ic svg{stroke:var(--dark-tint)}
.band .feat{margin-top:0}
.band .btn.ghost{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.5)}
.band::before{content:"";position:absolute;inset:0;background:radial-gradient(90% 60% at 50% -20%,rgba(41,151,255,.28),transparent 70%);pointer-events:none}
.band>*{position:relative}
@media (max-width:600px){.band{border-radius:28px;padding:56px 22px;margin-left:-6px;margin-right:-6px}}

/* stat row */
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:14px;margin-top:48px}
.stats div{background:var(--surface);border-radius:22px;padding:24px 18px;text-align:center;box-shadow:var(--e1)}
.stats b{display:block;font-size:clamp(30px,4vw,40px);letter-spacing:-.03em;line-height:1.1}.stats span{color:var(--ink2);font-size:15.5px}
.band .stats div{background:var(--dark2)}.band .stats span{color:var(--dark-ink2)}

/* ---------- screenshots and device frames (neutral frames, no maker details) ---------- */
.shot{border-radius:18px;overflow:hidden;box-shadow:var(--e3);background:var(--surface)}
.shot img{display:block;width:100%;height:auto}
.laptop{container-type:inline-size;max-width:100%}
.laptop .scr{margin:0 5cqw;background:#0c0c0e;border-radius:2cqw 2cqw 0 0;padding:1.4cqw;box-shadow:0 0 0 .2cqw #2c2c2e inset}
.laptop .scr img{display:block;border-radius:.6cqw;width:100%}
.laptop .base{height:2.2cqw;margin:0;background:linear-gradient(#cfd0d4,#a3a4a9);border-radius:0 0 2.6cqw 2.6cqw;box-shadow:0 2.4cqw 5cqw rgba(0,0,0,.24)}
.phone{container-type:inline-size;width:min(300px,80%);margin:0 auto}
.phone .scr{background:#0c0c0e;border-radius:15cqw;padding:3.6cqw;box-shadow:0 0 0 .8cqw #2c2c2e inset,0 5cqw 12cqw rgba(0,0,0,.28)}
.phone .scr img,.phone .scr .ui{display:block;width:100%;border-radius:11.6cqw;aspect-ratio:390/844;object-fit:cover;object-position:top}
.pair{display:flex;gap:5%;justify-content:center;align-items:flex-start}.pair .phone{width:min(260px,47%);margin:0}.pair .phone:nth-child(2){margin-top:56px}

/* watch: a plain rounded screen with a strap, no crown or buttons */
.watch{container-type:inline-size;width:min(230px,70%);margin:0 auto;position:relative}
.watch .strap{position:absolute;left:20%;right:20%;top:-14%;bottom:-14%;background:linear-gradient(90deg,#1b1d22,#2b2e35 50%,#1b1d22);border-radius:12cqw;z-index:0}
.watch .case{position:relative;z-index:1;background:#101114;border-radius:26cqw;padding:5.5cqw;box-shadow:0 0 0 1cqw #2a2c31 inset,0 6cqw 14cqw rgba(0,0,0,.35)}
.wui{background:#000;border-radius:20cqw;aspect-ratio:41/50;padding:7cqw 7.5cqw;color:#fff;font-family:var(--font);display:flex;flex-direction:column;gap:2.6cqw;overflow:hidden}
.wui .wt{display:flex;justify-content:space-between;font-size:7cqw;font-weight:600}.wui .wt span:last-child{color:#c7c7cc}
.wui .wk{font-size:5.6cqw;font-weight:700;letter-spacing:.04em;color:#ff9f0a;margin-top:1cqw}
.wui .wn{font-size:11cqw;font-weight:650;letter-spacing:-.02em;line-height:1.05}
.wui .wh{font-size:7.2cqw}.wui .wp{font-size:6cqw;color:#98989d}
.wui .wb{margin-top:auto;display:flex;flex-direction:column;gap:2.4cqw}
.wui .wbtn{border-radius:99px;padding:3.6cqw;font-size:6.6cqw;font-weight:600;text-align:center;background:#2c2c2e}
.wui .wbtn.go{background:#0a84ff}
.wcap{text-align:center;margin-top:52px;color:var(--ink2);font-size:15px}

/* car screen (CarPlay style list) */
.car{container-type:inline-size;width:100%;max-width:640px;margin:0 auto;background:linear-gradient(#26272b,#141518);border-radius:6cqw 6cqw 3cqw 3cqw;padding:3.4cqw 3.4cqw 4.6cqw;box-shadow:0 4cqw 10cqw rgba(0,0,0,.35)}
.cui{background:#000;border-radius:2.6cqw;min-height:52cqw;display:grid;grid-template-columns:11cqw 1fr;overflow:hidden;font-family:var(--font);color:#fff}
.cui .rail{background:#1c1c1e;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:2.4cqw 0}
.cui .rail i{width:6.4cqw;height:6.4cqw;border-radius:1.6cqw;display:block}
.cui .rail .clk{font-size:2.6cqw;font-weight:600}
.cui .main{display:flex;flex-direction:column;min-width:0}
.cui .tb{display:flex;justify-content:center;gap:1.4cqw;padding:2cqw}
.cui .tb span{font-size:2.7cqw;font-weight:600;padding:1cqw 2.6cqw;border-radius:99px;color:#c7c7cc}.cui .tb span.on{background:#3a3a3c;color:#fff}
.cui .hd{font-size:4.2cqw;font-weight:700;padding:0 3cqw 1.4cqw}
.cui .row{display:flex;align-items:center;gap:2.4cqw;padding:1.8cqw 3cqw;border-top:1px solid #2c2c2e}
.cui .row i{width:5cqw;height:5cqw;border-radius:50%;background:#2c2c2e;display:grid;place-items:center;flex:none}
.cui .row i svg{width:3cqw;height:3cqw;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.cui .row b{display:block;font-size:3.2cqw;font-weight:600}.cui .row small{display:block;font-size:2.4cqw;color:#98989d}
.cui .row.go i{background:#0a84ff}.cui .row.call i{background:#30d158}

/* ---------- pricing ---------- */
.price{max-width:560px;margin:48px auto 0;text-align:left}
.price .amt{font-size:clamp(64px,10vw,96px);font-weight:700;letter-spacing:-.045em;line-height:1}
.price .amt small{font-size:22px;font-weight:600;letter-spacing:0;color:var(--ink2)}
.vs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr));gap:12px;margin-top:22px}
.vs div{border-radius:16px;padding:16px;background:var(--fill)}.vs b{display:block;font-size:24px;letter-spacing:-.02em}.vs span{font-size:14px;color:var(--ink2)}
.vs .us{background:var(--tint-soft);box-shadow:inset 0 0 0 2px var(--tint)}

/* ---------- tables ---------- */
.tbl{overflow-x:auto;margin-top:40px;border-radius:22px;box-shadow:var(--e2);background:var(--surface);-webkit-overflow-scrolling:touch}
table{border-collapse:collapse;width:100%;min-width:700px;font-size:16px;table-layout:fixed}
thead th:first-child{width:24%}
th,td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
thead th{position:sticky;top:0;background:var(--surface);font-size:15px;z-index:1}
tbody th{font-weight:600}
th.us,td.us{background:var(--tint-soft)}
td small{display:block;color:var(--ink2);font-size:13.5px;margin-top:2px}
tr.grp th{background:var(--fill);font-size:13.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);padding-top:10px;padding-bottom:10px}
.y,.n,.p,.q{display:flex;align-items:flex-start;gap:7px;font-weight:600}.y::before,.p::before{margin-top:4px}
.y{color:var(--green)}.n{color:var(--ink2)}.p{color:var(--amber)}.q{color:var(--ink2);font-weight:500}
.y::before{content:"";width:9px;height:15px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg) translate(-2px,-2px);flex:none}
.n::before{content:"–";font-weight:700}
.p::before{content:"";width:12px;height:12px;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%);box-shadow:inset 0 0 0 2px currentColor;flex:none}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chip{font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--fill);color:var(--ink2);white-space:nowrap}

/* feature list page */
.fl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px;margin-top:28px}
.fi{background:var(--surface);border-radius:20px;padding:22px;box-shadow:var(--e1);min-width:0}
.fi h4{font-size:19px;letter-spacing:-.01em;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.fi p{color:var(--ink2);font-size:16px;margin-top:6px}
.fi .chips{margin-top:12px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:28px;position:sticky;top:72px;z-index:5;padding:8px;background:var(--glass);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:999px;width:fit-content;max-width:100%}
.filters button{min-height:44px;padding:0 18px;border-radius:999px;border:0;background:transparent;color:var(--ink);font:600 15.5px var(--font);cursor:pointer}
.filters button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.fgroup{margin-top:64px;scroll-margin-top:140px}.fgroup>h2{font-size:clamp(28px,3.6vw,38px)}.fgroup>p{color:var(--ink2);margin-top:8px;font-size:18px}

/* ---------- forms ---------- */
.form{max-width:560px}
label{display:block;font-weight:600;font-size:16px;margin:18px 0 7px}
input,select,textarea{width:100%;min-height:54px;border-radius:14px;border:1.5px solid var(--line2);background:var(--surface);color:var(--ink);padding:0 16px;font:inherit;font-size:18px}
textarea{min-height:150px;padding:14px 16px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:3px solid var(--tint-soft);border-color:var(--tint-fill)}
.msg{min-height:1.5em;margin-top:14px;font-size:16px}.msg.e{color:var(--red)}.msg.ok{color:var(--green)}
.hp{position:absolute;left:-5000px}
.check{display:flex;gap:12px;align-items:flex-start;font-weight:400;font-size:16px;color:var(--ink2)}.check input{width:22px;min-height:22px;height:22px;margin-top:2px;flex:none}

/* ---------- FAQ ---------- */
details{background:var(--surface);border-radius:18px;padding:2px 22px;margin-top:12px;box-shadow:var(--e1)}
summary{cursor:pointer;font-weight:650;font-size:19px;padding:18px 34px 18px 0;list-style:none;position:relative}summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:12px;color:var(--ink2);font-size:28px;font-weight:400}details[open] summary::after{content:"–"}
details>div,details>p{color:var(--ink2);padding:0 0 20px;font-size:17px}
details>div p+p{margin-top:10px}

/* ---------- download ---------- */
.store{display:inline-flex;align-items:center;gap:12px;min-height:60px;padding:0 22px 0 18px;border-radius:14px;background:#000;color:#fff;border:1px solid #444}
.store:hover{text-decoration:none;background:#1a1a1a}
.store svg{width:28px;height:28px;fill:#fff;flex:none}
.store span{display:flex;flex-direction:column;line-height:1.15;text-align:left}.store small{font-size:12px;opacity:.85}.store b{font-size:19px;font-weight:600;letter-spacing:-.01em}
.store.off{opacity:.7;cursor:default}
.stores{display:flex;gap:12px;flex-wrap:wrap}

/* quotes */
blockquote{margin:0;font-size:clamp(22px,3vw,30px);line-height:1.35;letter-spacing:-.015em;font-weight:600}
cite{display:block;font-style:normal;color:var(--ink2);font-size:16px;margin-top:16px;font-weight:500}

/* steps */
.steps{counter-reset:s;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:18px;margin-top:48px}
.steps .card{position:relative;padding-top:74px}
.steps .card::before{counter-increment:s;content:counter(s);position:absolute;left:28px;top:24px;width:36px;height:36px;border-radius:50%;background:var(--tint-fill);color:#fff;display:grid;place-items:center;font-weight:700}

/* long-form legal / about text */
.prose{max-width:760px}.prose h2{font-size:28px;margin:44px 0 12px}.prose h3{font-size:21px;margin:28px 0 8px}
.prose p,.prose li{color:var(--ink2);font-size:17.5px}.prose p+p{margin-top:12px}.prose ul{padding-left:22px}.prose li{margin:6px 0}
.prose strong{color:var(--ink)}
.note{background:var(--amber-soft);border-radius:16px;padding:16px 18px;font-size:16px;margin-top:20px}

/* ---------- footer ---------- */
.foot{margin-top:120px;border-top:1px solid var(--line);padding-block:48px calc(36px + env(safe-area-inset-bottom,0px));font-size:15.5px}
.foot .cols{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:28px}
.foot h4{font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);margin-bottom:12px}
.foot ul{list-style:none;margin:0;padding:0}.foot li{margin:9px 0}.foot li a{color:var(--ink)}
.foot .legal{margin-top:36px;color:var(--ink2);font-size:13.5px;line-height:1.6}
@media (max-width:760px){.foot .cols{grid-template-columns:1fr 1fr}.foot .cols>div:first-child{grid-column:1/-1}}

/* reveal on scroll */
.rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rv{opacity:1;transform:none;transition:none}*{animation:none!important}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

section>.wrap>.band:first-child{margin-top:0}
.founder{display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;text-align:left}.founder .av{width:96px;height:96px;border-radius:50%;background:var(--navy);display:grid;place-items:center;color:var(--gold);font-weight:800;font-size:30px}
@media (max-width:600px){.founder{grid-template-columns:1fr;text-align:center}.founder .av{margin:0 auto}}
@media (max-width:640px){.hero .phone[style]{display:none}.hero .laptop[style]{width:100%!important}}

/* spreadsheet picture for "Download everything" */
.xl{background:var(--surface);border-radius:18px;box-shadow:var(--e3);overflow:hidden;font-size:14px;max-width:560px;margin:0 auto}
.xl-bar{display:flex;align-items:center;gap:7px;padding:12px 14px;background:#1f7a35;color:#fff;font-weight:600;font-size:13.5px}
.xl-bar i{width:11px;height:11px;border-radius:50%;background:rgba(255,255,255,.55)}.xl-bar span{margin-left:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xl-grid{display:grid}.xl-r{display:grid;grid-template-columns:1.4fr 1.4fr .8fr .7fr;border-bottom:1px solid var(--line)}
.xl-r span{padding:9px 10px;border-right:1px solid var(--line);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.xl-r.h span{font-weight:700;background:var(--fill)}
.xl-tabs{display:flex;gap:2px;overflow:hidden;padding:0 8px;background:var(--fill)}.xl-tabs span{padding:8px 10px;font-size:12.5px;white-space:nowrap;color:var(--ink2)}.xl-tabs span.on{background:var(--surface);color:#1f7a35;font-weight:700;border-bottom:2px solid #1f7a35}

/* ---------- driving school dashboard ---------- */
.sa-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.sa-id{display:flex;align-items:center;gap:14px}.sa-logo img,.sa-logo b{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;object-fit:contain;background:#fff;box-shadow:var(--e1);color:#fff;font-weight:800;font-size:20px}
.sa-tabs{display:flex;gap:6px;margin-top:22px;overflow-x:auto;padding:6px;background:var(--fill);border-radius:999px;scrollbar-width:none;position:sticky;top:72px;z-index:6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.sa-tabs::-webkit-scrollbar{display:none}
.sa-tabs button{flex:none;min-height:44px;padding:0 18px;border:0;border-radius:999px;background:transparent;color:var(--ink);font:600 15.5px var(--font);cursor:pointer;white-space:nowrap}
.sa-tabs button[aria-selected=true]{background:var(--surface);box-shadow:var(--e1);color:var(--tint)}
.sa-step{display:flex;align-items:center;gap:8px;max-width:240px}.sa-step button{width:54px;height:54px;border-radius:14px;border:0;background:var(--fill);color:var(--ink);font-size:26px;cursor:pointer;flex:none}.sa-step input{text-align:center;font-size:22px;font-weight:700}
.sa-calc{margin-top:16px;border-radius:16px;background:var(--fill);padding:6px 16px}.sa-calc-r{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--line);font-size:16px}.sa-calc-r:last-child{border:0}.sa-calc-r.t{font-size:19px}.sa-calc-r.t b{font-size:22px}
.sa-pin{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}.sa-pin b{font-size:38px;letter-spacing:.18em;font-variant-numeric:tabular-nums;margin-right:6px}
.sa-list{margin-top:14px;background:var(--surface);border-radius:20px;box-shadow:var(--e1);padding:4px 20px}
.sa-row{display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.sa-row:last-child{border:0}
.sa-who{flex:1;min-width:220px}.sa-who small{display:block;color:var(--ink2);font-size:14px;margin-top:2px}.sa-num{text-align:right;min-width:90px}.sa-num b{display:block;font-size:22px}.sa-num small{color:var(--ink2);font-size:13px}
.sa-dues{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.sa-due{font-size:12.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--fill);color:var(--ink2)}
.sa-due.g{background:var(--green-soft);color:var(--green)}.sa-due.a{background:var(--amber-soft);color:var(--amber)}.sa-due.r{background:var(--red-soft);color:var(--red)}
.sa-wk{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.sa-wk b{font-size:18px;min-width:12em;text-align:center}
.sa-key{display:flex;flex-wrap:wrap;gap:8px 14px;margin:14px 0 6px;font-size:14px;color:var(--ink2)}.sa-key .k{display:inline-flex;align-items:center;gap:6px}.sa-key .k::before{content:"";width:14px;height:10px;border-radius:3px;background:var(--c)}
.sa-key .lesson,.sa-bar .lesson,.sa-dot.lesson{--c:#0a84ff}.sa-key .test,.sa-bar .test,.sa-dot.test{--c:#af52de}.sa-key .mock,.sa-bar .mock,.sa-dot.mock{--c:#ff9f0a}.sa-key .busy,.sa-bar .busy,.sa-dot.busy{--c:#8e8e93}.sa-key .pencil,.sa-bar .pencil,.sa-dot.pencil{--c:#64d2ff}.sa-key .gap,.sa-bar .gap,.sa-dot.gap{--c:rgba(52,199,89,.35)}
.sa-grid{display:grid;gap:6px;margin-top:12px;overflow-x:auto}
.sa-grid .hd{font-size:13.5px;font-weight:700;color:var(--ink2);padding:6px 4px;text-align:center}.sa-grid .hd:first-child{text-align:left}
.sa-grid .nm{padding:10px 8px;min-width:0}.sa-grid .nm b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sa-grid .nm small{color:var(--ink2);font-size:12.5px}
.sa-grid .cell{border:0;background:var(--surface);border-radius:12px;padding:10px 8px;cursor:pointer;box-shadow:var(--e1);min-width:0;display:flex;flex-direction:column;gap:6px;color:var(--ink);font:inherit}
.sa-grid .cell:hover{box-shadow:var(--e2)}.sa-grid .cell small{font-size:12px;color:var(--ink2);text-align:center}
.sa-bar{position:relative;height:30px;border-radius:7px;background:var(--fill);overflow:hidden}.sa-bar.off{background:repeating-linear-gradient(45deg,var(--fill),var(--fill) 4px,transparent 4px,transparent 8px)}
.sa-bar i{position:absolute;top:3px;bottom:3px;border-radius:4px;background:var(--c)}.sa-bar i.gap{top:0;bottom:0;border-radius:0}
.sa-bar i.pencil{background:repeating-linear-gradient(135deg,var(--c),var(--c) 3px,transparent 3px,transparent 6px)}
.sa-dot{width:12px;height:12px;border-radius:4px;background:var(--c);display:inline-block;margin-right:10px;vertical-align:-1px}
.sa-days{display:flex;gap:6px;overflow-x:auto;margin:12px 0}.sa-days button{flex:1 0 auto;min-width:52px;min-height:58px;border:0;border-radius:14px;background:var(--fill);color:var(--ink);font:600 14px var(--font);cursor:pointer}.sa-days button small{display:block;font-size:18px}.sa-days button[aria-pressed=true]{background:var(--ink);color:var(--bg)}
.sa-mrow{margin-top:10px;padding:18px}.sa-mrow .sa-bar{margin-top:10px;height:34px}
.sa-f2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0 16px}
.sa-modes{display:grid;gap:10px}.sa-modes label{display:flex;gap:12px;align-items:flex-start;margin:0;padding:14px;border-radius:14px;background:var(--fill);cursor:pointer;font-weight:400}.sa-modes input{width:22px;min-height:22px;height:22px;flex:none;margin-top:2px}.sa-modes b{display:block}.sa-modes small{display:block;color:var(--ink2);font-size:14.5px;margin-top:2px}
.sa-log{list-style:none;padding:0;margin:10px 0 0;font-size:14px;color:var(--ink2)}.sa-log li{padding:2px 0 2px 16px;position:relative}.sa-log li::before{content:"";position:absolute;left:2px;top:10px;width:6px;height:6px;border-radius:50%;background:var(--line2)}
.sa-reps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px;margin-top:20px}.sa-new{box-shadow:inset 0 0 0 2px var(--tint),var(--e2)}
.sa-ph{display:block;margin-top:12px;border:0;padding:0;background:none;cursor:zoom-in;width:100%}.sa-ph img{width:100%;max-height:240px;object-fit:cover;border-radius:12px}
.sa-prev{border-radius:28px;overflow:hidden;box-shadow:var(--e3);max-width:360px;background:#f2f2f7}.sa-prev-h{display:flex;gap:12px;align-items:center;padding:22px 20px;color:#fff}.sa-prev-h img{width:46px;height:46px;border-radius:12px;background:#fff;object-fit:contain}.sa-prev-h small{display:block;opacity:.85;font-size:13px}.sa-prev-h b{font-size:20px}
.sa-prev-b{padding:16px;display:grid;gap:10px}.sa-prev-c{background:#fff;border-radius:16px;padding:14px;color:#1d1d1f}.sa-prev-c small{display:block;color:#6e6e73;font-size:13px}.sa-prev-c b{font-size:18px}
.sa-mbg{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) 16px max(16px,env(safe-area-inset-bottom))}
.sa-m{background:var(--surface);border-radius:24px;padding:22px;width:100%;max-width:560px;max-height:90vh;overflow:auto;box-shadow:var(--e3)}.sa-mh{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.sa-mh b{font-size:19px}
.sa-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%,40px);opacity:0;background:var(--ink);color:var(--bg);padding:14px 20px;border-radius:14px;font-weight:600;z-index:70;transition:.25s;max-width:calc(100% - 32px)}.sa-toast.on{opacity:1;transform:translate(-50%,0)}
.sa-tour{position:fixed;left:0;right:0;bottom:0;z-index:55;display:flex;justify-content:center;padding:16px 16px calc(16px + env(safe-area-inset-bottom));pointer-events:none}
.sa-tip{pointer-events:auto;background:var(--ink);color:var(--bg);border-radius:20px;padding:18px 20px;max-width:560px;width:100%;box-shadow:var(--e3)}.sa-tip p{font-size:17px;line-height:1.45}.sa-tip .row{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}
.sa-hl{outline:3px solid var(--tint-fill)!important;outline-offset:4px;border-radius:14px}
@media (max-width:600px){.sa-pin b{font-size:30px}.sa-tabs{top:64px}}

/* home hero: every screen */
.tablet{container-type:inline-size}
.tablet .scr{background:#0c0c0e;border-radius:6.5cqw;padding:3.4cqw;box-shadow:0 0 0 .5cqw #2c2c2e inset,0 5cqw 12cqw rgba(0,0,0,.28)}
.tablet .scr img{display:block;width:100%;border-radius:3.4cqw;aspect-ratio:1230/1770;object-fit:cover;object-position:top}
.stage{position:relative;max-width:1100px;margin:0 auto;aspect-ratio:100/68}
.stage .dv{position:absolute;min-width:0}
.stage .phone,.stage .watch,.stage .car{width:100%;max-width:none;margin:0}
.stage .dl{display:block;text-align:center;margin-top:12px;font-size:13px;font-weight:600;color:var(--ink2);white-space:nowrap}
.stage .dv-w .dl{margin-top:28%}
.dv-lap{left:15%;top:0;width:62%}
.dv-tab{left:0;bottom:4%;width:23%;z-index:2}
.dv-car{left:26%;bottom:4%;width:32%;z-index:2}
.dv-ph{right:12%;bottom:4%;width:15%;z-index:3}
.dv-w{right:0;bottom:12%;width:12%;z-index:4}
.stage .car{border-radius:clamp(12px,2vw,22px);padding:2.6%}
@media (max-width:720px){
 .stage{aspect-ratio:auto;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:26px 10px;align-items:end}
 .stage .dv{position:static;width:auto}
 .dv-lap{grid-column:1/-1;grid-row:1}
 .dv-tab{grid-column:1/8;grid-row:2}.dv-ph{grid-column:8/13;grid-row:2;padding:0 4%}
 .dv-car{grid-column:1/9;grid-row:3}.dv-w{grid-column:9/13;grid-row:3;padding:0 4%}
 .stage .dl{font-size:12px;margin-top:8px}.stage .dv-w .dl{margin-top:22%}
}

/* schools page: team diary example */
.td{background:var(--surface);border-radius:28px;box-shadow:var(--e2);padding:clamp(18px,3vw,32px);max-width:1040px;margin:0 auto}
.td-top{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap}
.td-k{font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--tint)}
.td-day{font-size:clamp(20px,2.4vw,26px);font-weight:700;letter-spacing:-.01em}
.td-days{display:flex;gap:4px;background:var(--fill);padding:4px;border-radius:99px}
.td-days button{border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--ink2);padding:7px 12px;border-radius:99px;cursor:pointer}
.td-days button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 4px rgba(0,0,0,.12)}
.td-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin:18px 0 8px;font-size:13px;color:var(--ink2)}
.td-key span{display:inline-flex;align-items:center;gap:6px}.td-key span::before{content:"";width:12px;height:12px;border-radius:4px;background:var(--c)}
.td .lesson{--c:#0a84ff}.td .test{--c:#af52de}.td .mock{--c:#ff9f0a}.td .busy{--c:#8e8e93}.td .free{--c:#34c759}
.td-rows{display:flex;flex-direction:column}
.td-row{display:grid;grid-template-columns:170px minmax(0,1fr);gap:16px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.td-row.td-axis{border-top:0;padding:4px 0 2px}
.td-who{display:flex;align-items:center;gap:10px;min-width:0}
.td-who i{width:36px;height:36px;border-radius:50%;color:#fff;font-style:normal;font-size:13px;font-weight:700;display:grid;place-items:center;flex:none}
.td-who b{display:block;font-size:16px}.td-who small{display:block;font-size:13px;color:#248a3d;font-weight:600}
.td-ticks{position:relative;height:16px}.td-ticks span{position:absolute;transform:translateX(-50%);font-size:12px;color:var(--ink3,var(--ink2))}
.td-ticks span:first-child{transform:none}.td-ticks span:last-child{transform:translateX(-100%)}
.td-line{position:relative;height:54px;border-radius:12px;background:var(--fill)}
.td-b{position:absolute;top:4px;bottom:4px;border-radius:9px;background:var(--c);color:#fff;padding:5px 8px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;border:2px solid var(--surface);box-sizing:border-box;min-width:0}
.td-b span{font-size:13px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}
.td-b small{font-size:11px;opacity:.85;white-space:nowrap;overflow:hidden}
.td-b.free{background:repeating-linear-gradient(135deg,rgba(52,199,89,.16),rgba(52,199,89,.16) 6px,rgba(52,199,89,.26) 6px,rgba(52,199,89,.26) 12px);color:#248a3d;box-shadow:inset 0 0 0 1.5px rgba(52,199,89,.55)}
.td-b em{display:none}
.td-note{margin-top:14px;font-size:13px;color:var(--ink2)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .td-who small,:root:not([data-theme="light"]) .td-b.free{color:#30d158}}
:root[data-theme="dark"] .td-who small,:root[data-theme="dark"] .td-b.free{color:#30d158}
@media (max-width:640px){
 .td-row{grid-template-columns:minmax(0,1fr);gap:8px}
 .td-row.td-axis{padding:6px 0 0}.td-ticks span{font-size:11px}
 .td-line{height:40px}.td-b{padding:0;align-items:center;border-radius:8px}.td-b small,.td-b span{display:none}.td-b em{display:block;font-style:normal;font-size:12px;font-weight:700}
 .td-days{width:100%;justify-content:space-between}.td-days button{flex:1;padding:7px 4px}
 .td-row{padding:14px 0}
}
/* pricing: two plans */
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:22px;max-width:1000px;margin:48px auto 0;align-items:stretch}
.plans .price{margin:0;max-width:none;padding:clamp(24px,3.5vw,40px)}
.plans .price .amt{font-size:clamp(56px,8vw,80px);margin-top:10px}
.plans .price.pro{box-shadow:0 0 0 2px var(--tint),var(--e2)}
.tag.pro{color:var(--tint);background:var(--tint-soft)}.tag:not(.ai):not(.new):not(.soon):not(.plain):not(.pro){color:var(--ink2);background:var(--fill)}
.sa-seg{display:inline-flex;background:var(--fill);border-radius:99px;padding:3px;gap:2px;flex:none}
.sa-seg button{border:0;background:none;font:inherit;font-size:13px;font-weight:600;color:var(--ink2);padding:6px 12px;border-radius:99px;cursor:pointer}
.sa-seg button.on{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.sa-seg button[data-tier="hub"].on{color:var(--tint)}
.sa-tests{display:flex;flex-direction:column}
.sa-trow{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.sa-trow b{min-width:110px}.sa-trow span{color:var(--ink2)}
/* switch kit steps */
.sk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
.sk-grid .card{position:relative;padding-top:58px}
.sk-num{position:absolute;top:22px;left:28px;width:28px;height:28px;border-radius:50%;background:var(--tint);color:#fff;font-weight:700;font-size:14px;display:grid;place-items:center}

/* ---- Ask us chat on the website (site-chat.js) ---- */
.au-pill{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;display:flex;align-items:center;gap:8px;border:0;border-radius:999px;padding:12px 18px 12px 14px;background:var(--tint-fill);color:var(--on-tint);font:600 16px var(--font);box-shadow:0 8px 24px rgba(0,80,180,.32);cursor:pointer}
.au-pill svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.au-pill:hover{background:var(--tint-h)}
.au-box{position:fixed;right:max(20px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:61;width:min(400px,calc(100vw - 40px));height:min(600px,calc(100vh - 110px));display:flex;flex-direction:column;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 60px rgba(0,0,0,.22);overflow:hidden}
.au-box[hidden]{display:none}
.au-head{display:flex;align-items:center;gap:10px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--line)}
.au-head div{flex:1;min-width:0;line-height:1.25}.au-head b{display:block;font-size:17px}.au-head small{color:var(--ink2);font-size:13px}
.au-av{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,#0071e3,#5e5ce6);color:#fff;display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
.au-x{width:40px;height:40px;border-radius:50%;border:0;background:var(--fill);color:var(--ink);font-size:24px;line-height:1;cursor:pointer}
.au-list{flex:1;overflow:auto;padding:14px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.au-b{max-width:88%;padding:10px 13px;border-radius:18px;font-size:15px;line-height:1.42;overflow-wrap:anywhere}
.au-bot{background:var(--fill);align-self:flex-start;border-bottom-left-radius:6px}
.au-me{background:var(--tint-fill);color:var(--on-tint);align-self:flex-end;border-bottom-right-radius:6px}
.au-acts{display:flex;flex-wrap:wrap;gap:8px;align-self:flex-start}
.au-btn{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:999px;background:var(--tint-soft);color:var(--tint);font:600 14px var(--font)}
.au-btn:hover{text-decoration:none;filter:brightness(.97)}
.au-sug{display:grid;gap:8px}
.au-sug button{text-align:left;border:1px solid var(--line);border-radius:14px;padding:11px 13px;background:var(--surface);font:500 15px var(--font);color:var(--ink);cursor:pointer}
.au-sug button:hover{background:var(--fill)}
.au-in{display:flex;gap:8px;padding:10px 12px 6px;border-top:1px solid var(--line)}
.au-in input{flex:1;min-width:0;border-radius:22px;border:0;background:var(--fill);padding:12px 16px;font:16px var(--font);color:var(--ink)}
.au-in button{width:44px;height:44px;border-radius:50%;border:0;background:var(--tint-fill);color:var(--on-tint);font-size:19px;flex:none;cursor:pointer}
.au-in button:disabled,.au-in input:disabled{opacity:.5}
.au-fine{margin:0;padding:2px 14px 12px;font-size:12px;color:var(--ink2);line-height:1.35}
.au-dots{display:flex;gap:5px;padding:12px 14px;align-self:flex-start}
.au-dots i{width:7px;height:7px;border-radius:50%;background:var(--ink2);animation:audot 1s infinite}
.au-dots i:nth-child(2){animation-delay:.15s}.au-dots i:nth-child(3){animation-delay:.3s}
@keyframes audot{0%,100%{opacity:.3}50%{opacity:1}}
@media (max-width:560px){.au-box{right:0;left:0;bottom:0;width:auto;height:min(88vh,100dvh);border-radius:22px 22px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}.au-pill{padding:11px 16px 11px 13px;font-size:15px}}
@media (prefers-reduced-motion:reduce){.au-dots i{animation:none}}

/* ===== Accessibility review fixes (web-ux, Nov 2026) ===== */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* links inside sentences are underlined, not told apart by colour alone (WCAG 1.4.1) */
:is(p,li,td,dd,summary,.note,.fine,.lede,.prose,details) a:not(.btn):not(.lnk):not(.store):not(.au-btn):not(.card){text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}
:is(p,li,td,dd,summary,.note,.fine,.lede,.prose,details) a:not(.btn):not(.lnk):not(.store):not(.au-btn):not(.card):hover{text-decoration-thickness:2px}
.foot li a,.menu a{text-decoration:none}
/* footer headings are h2 now (were h4, which skipped levels) */
.foot h2.fh{font-size:14px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);margin-bottom:12px;font-weight:700}
.fi h3{font-size:19px;letter-spacing:-.01em;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
/* the trust ticks: when a line wraps, the tick stays next to its words instead of at the far edge */
.trust span{display:inline-flex;align-items:flex-start;text-align:left;max-width:100%}
.trust svg{margin-top:2px}
@media (max-width:560px){.c .trust{flex-direction:column;align-items:center;gap:10px}}
/* the comparison scroller can be reached and scrolled with the keyboard */
.tbl:focus-visible{outline:3px solid var(--tint-fill);outline-offset:3px}
/* comparison on phones: one card per feature, with every app's answer underneath, instead of a wide table where
   only our column fitted on screen */
@media (max-width:699px){
 .tbl{overflow:visible;box-shadow:none;background:none;border-radius:0}
 .tbl table{min-width:0;display:block}.tbl thead{display:none}
 .tbl tbody{display:grid;gap:12px}
 .tbl tr{display:block;background:var(--surface);border-radius:18px;box-shadow:var(--e1);overflow:hidden}
 .tbl tr.grp{background:none;box-shadow:none;border-radius:0;margin-top:14px}
 .tbl tr.grp th{background:none;padding:0 4px;border:0}
 .tbl th,.tbl td{display:block;border-bottom:0;padding:10px 16px}
 .tbl tbody th[scope=row]{font-size:17px;padding-top:16px}
 .tbl td{display:grid;grid-template-columns:minmax(0,9.5em) minmax(0,1fr);gap:10px;border-top:1px solid var(--line)}
 .tbl td::before{content:attr(data-label);font-weight:600;color:var(--ink2);font-size:14.5px}
 .tbl td.us{background:var(--tint-soft)}
 .tbl td.us::before{color:var(--tint)}
}
/* "Ask us": fades out while it would sit on top of a price, a form or the main buttons (site-chat.js), and the page
   leaves room under the footer so it never covers the last line */
.au-pill{transition:opacity .2s,visibility .2s}
.au-pill.au-away{opacity:0;visibility:hidden;pointer-events:none}
@media (prefers-reduced-motion:reduce){.au-pill{transition:none}}
.foot{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
/* sign-up and sign-in: the box with a problem is outlined and its message sits right under it */
.form [aria-invalid=true]{border-color:var(--red,#d70015);box-shadow:0 0 0 1px var(--red,#d70015)}
.ferr{display:block;color:var(--red,#d70015);font-size:15px;font-weight:600;margin-top:6px}
.ferr:empty{display:none}
.pwbox{position:relative}.pwbox input{padding-right:84px;width:100%}
.pwbox .pwshow{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:44px;min-width:64px;border:0;border-radius:10px;background:none;color:var(--tint);font:600 15px var(--font);cursor:pointer}
.sa-demo{background:#fff4d6;color:#4a3800;border:1px solid #f0d58a;border-radius:14px;padding:12px 16px;margin:16px 0 0;font-size:15px;line-height:1.5}.sa-demo a{color:#4a3800;font-weight:700}
.sa-req{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-top:1px solid var(--line,#e5e5ea)}.sa-req small{display:block}.sa-reqs{border:2px solid #f0b429}

.mark svg{width:100%;height:100%;display:block}.mark:has(svg){background:none!important;box-shadow:none!important}

.menu a{white-space:nowrap}
