@font-face{font-family:Sora;src:url(../fonts/Sora-Variable.woff2) format("woff2-variations");font-weight:100 800;font-display:swap}@font-face{font-family:DM Sans;src:url(../fonts/DMSans-Variable.woff2) format("woff2-variations");font-weight:100 900;font-display:swap}:root{--bg: #F0F3F5;--surface: #FFFFFF;--subtle: #E3ECF2;--line: #D4DFE7;--text: #172B3D;--muted: #526777;--accent: #246182;--ink: #1D4965;--paper: #FFFFFF;--on-accent: #FFFFFF;--danger: #815716;--crit: #9A4A1F;--display: "Sora", -apple-system, system-ui, sans-serif;--body: "DM Sans", -apple-system, system-ui, sans-serif;--ease-out: cubic-bezier(.23, 1, .32, 1);--shadow-phone: 0 40px 80px -30px rgba(23, 43, 61, .45), 0 12px 24px -12px rgba(23, 43, 61, .25);--shadow-card: 0 20px 40px -20px rgba(23, 43, 61, .28), 0 2px 6px -2px rgba(23, 43, 61, .1);--gutter: clamp(20px, 5vw, 72px);--measure: 1200px;color-scheme:light}[data-theme=night]{--bg: #0B1521;--surface: #152332;--subtle: #1A2D3E;--line: #2B3B4B;--text: #EAF0F5;--muted: #A6B7C6;--accent: #B4DBF3;--ink: #B4DBF3;--paper: #0D2537;--on-accent: #0B1521;--danger: #EBC383;--crit: #F4A88C;--shadow-phone: 0 40px 80px -30px rgba(0, 0, 0, .7), 0 12px 24px -12px rgba(0, 0, 0, .5);--shadow-card: 0 20px 40px -20px rgba(0, 0, 0, .6), 0 2px 6px -2px rgba(0, 0, 0, .3);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:auto;scroll-padding:88px 0 12px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}img,svg{display:block;max-width:100%}a{color:inherit}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.display{font-family:var(--display);font-weight:400;letter-spacing:-.035em;line-height:1.02;text-wrap:balance;margin:0}.display--xl{font-size:clamp(40px,5.4vw,76px)}.display--l{font-size:clamp(32px,3.8vw,54px)}.display .accent{color:var(--accent)}.eyebrow{font-family:var(--body);font-size:12px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.lede{font-size:clamp(17px,1.35vw,20px);line-height:1.5;color:var(--muted);text-wrap:pretty;margin:0;max-width:34em}.small{font-size:14px;color:var(--muted)}.num{font-family:var(--display);font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1}.wrap{width:min(100% - 2 * var(--gutter),var(--measure));margin-inline:auto}.section{padding-block:clamp(72px,9vw,128px)}.section--tight{padding-block:clamp(48px,6vw,88px)}.btn{display:inline-flex;align-items:center;gap:10px;height:52px;padding:0 22px;border-radius:16px;background:var(--ink);color:var(--paper);font-weight:500;font-size:16px;text-decoration:none;transition:transform .16s var(--ease-out),box-shadow .16s var(--ease-out)}[data-theme=night] .btn{color:var(--on-accent)}@media(hover:hover)and (pointer:fine){.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-card)}}.btn:active{transform:translateY(0) scale(.99);transition-duration:.1s}.badge-store{display:inline-block;height:52px}.badge-store img{height:100%;width:auto}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:8px;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);white-space:nowrap}.chip--soft{box-shadow:none;background:var(--subtle);color:var(--muted)}.example-tag{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease-out),transform .7s var(--ease-out);transition-delay:var(--d, 0ms)}.reveal.is-in,.no-js .reveal{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{transform:none;transition:opacity .3s ease}}.phone{--pw: var(--phone-w, 300px);--u: calc(var(--pw) / 402);position:relative;width:var(--pw);aspect-ratio:402 / 874;flex:none;border-radius:calc(58 * var(--u));background:#0e141b;box-shadow:var(--shadow-phone),inset 0 0 0 calc(1.5 * var(--u)) #ffffff29;padding:calc(11 * var(--u))}.phone:after{content:"";position:absolute;inset:calc(4 * var(--u));border-radius:calc(54 * var(--u));box-shadow:inset 0 0 0 calc(2 * var(--u)) #2a3138;pointer-events:none}.phone__screen{position:relative;z-index:1;height:100%;border-radius:calc(48 * var(--u));overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--body)}.phone__screen>img{width:100%;height:100%;object-fit:cover;object-position:top}.phone__island{position:absolute;z-index:3;top:calc(22 * var(--u));left:50%;transform:translate(-50%);width:calc(124 * var(--u));height:calc(36 * var(--u));border-radius:999px;background:#05080b}.phone__home{position:absolute;z-index:3;bottom:calc(19 * var(--u));left:50%;transform:translate(-50%);width:calc(140 * var(--u));height:calc(5 * var(--u));border-radius:999px;background:var(--text);opacity:.85}.legal{font-size:13px;line-height:1.6;color:var(--muted);max-width:70ch}.footer{border-top:1px solid var(--line);padding-block:40px 56px}.footer__row{display:flex;flex-wrap:wrap;gap:24px 40px;justify-content:space-between;align-items:flex-start}.footer nav{display:flex;flex-wrap:wrap;gap:8px 22px;font-size:14px}.footer nav a{color:var(--muted);text-decoration:none;transition:color .16s ease}.footer nav a:hover{color:var(--text);text-decoration:underline}.wordmark{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;font-family:var(--display);font-size:20px;letter-spacing:-.01em;text-decoration:none;color:var(--text)}.wordmark img{width:28px;height:28px;flex:none}.wordmark .mark--dark,[data-theme=night] .wordmark .mark--light{display:none}[data-theme=night] .wordmark .mark--dark{display:block}
/* Same-site page changes cross-fade instead of cutting (cross-document View Transitions; the root fade timing is
   the one the theme switch already uses; browsers without support simply load the page as before). */
@view-transition{navigation:auto}
@media(prefers-reduced-motion:reduce){@view-transition{navigation:none}}
