/* Self-hosted. Generated by scripts/fetch-fonts.mjs — do not edit by hand. */ /* inter cyrillic-ext */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/inter-cyrillic-ext.woff2) format('woff2'); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; } /* inter cyrillic */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/inter-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* inter latin-ext */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/inter-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* inter latin */ @font-face { font-family: 'Inter'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/inter-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* serif cyrillic */ @font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/serif-cyrillic.woff2) format('woff2'); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } /* serif latin-ext */ @font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/serif-latin-ext.woff2) format('woff2'); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } /* serif latin */ @font-face { font-family: 'Source Serif 4'; font-style: normal; font-weight: 400 700; font-display: swap; src: url(../fonts/serif-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* thai thai */ @font-face { font-family: 'Noto Sans Thai'; font-style: normal; font-weight: 400 700; font-stretch: 100%; font-display: swap; src: url(../fonts/thai-thai.woff2) format('woff2'); unicode-range: U+02D7, U+0303, U+0331, U+0E01-0E5B, U+200C-200D, U+25CC; } /* thai latin */ @font-face { font-family: 'Noto Sans Thai'; font-style: normal; font-weight: 400 700; font-stretch: 100%; font-display: swap; src: url(../fonts/thai-latin.woff2) format('woff2'); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } @layer tokens,base,layout,components,motion,utilities;@layer tokens{:root{--paper: #FBFAF7;--paper-2: #F4F2ED;--paper-3: #EBE8E1;--ink: #0B1014;--ink-2: #37424A;--ink-3: #5E6B74;--rule: #DCD8CF;--rule-strong: #C3BDB1;--border: #6E777E;--accent: #0E6E5A;--accent-hover: #0A5647;--accent-ink: #FFFFFF;--accent-wash: #E4F0EC;--warm: #8A5614;--warm-wash: #F6EDE0;--danger: #A32B23;--surface: #FFFFFF;--surface-2: #FFFFFFCC;--band-bg: #0B1014;--band-fg: #FBFAF7;--shadow-1: 0 1px 2px rgb(11 16 20 / .05), 0 2px 8px rgb(11 16 20 / .04);--shadow-2: 0 2px 4px rgb(11 16 20 / .05), 0 12px 32px -8px rgb(11 16 20 / .12);--shadow-3: 0 4px 8px rgb(11 16 20 / .06), 0 24px 64px -12px rgb(11 16 20 / .18);--glow: 0 0 0 1px var(--accent), 0 0 0 4px color-mix(in oklab, var(--accent) 18%, transparent);--sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--serif: "Source Serif 4", ui-serif, Georgia, "Times New Roman", serif;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--font-display: var(--serif);--font-body: var(--sans);--step--2: clamp(.6875rem, .66rem + .14vw, .75rem);--step--1: clamp(.8125rem, .78rem + .17vw, .875rem);--step-0: clamp(1rem, .96rem + .2vw, 1.0625rem);--step-1: clamp(1.1875rem, 1.11rem + .38vw, 1.375rem);--step-2: clamp(1.4375rem, 1.3rem + .69vw, 1.875rem);--step-3: clamp(1.75rem, 1.5rem + 1.25vw, 2.625rem);--step-4: clamp(2.125rem, 1.7rem + 2.13vw, 3.5rem);--step-5: clamp(2.5rem, 1.8rem + 3vw, 4rem);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-7: 3rem;--sp-8: 4rem;--sp-9: 6rem;--sp-10: 8rem;--sp-11: 11rem;--check-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4.6 12.4 4.8 4.8L19.4 6.8'/%3E%3C/svg%3E");--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-xl: 24px;--r-full: 999px;--container: 1180px;--container-wide: 1420px;--gutter: clamp(1.25rem, 4vw, 3rem);--dur-1: .12s;--dur-2: .22s;--dur-3: .38s;--dur-4: .62s;--dur-5: 1.1s;--ease: cubic-bezier(.22,.61,.36,1);--ease-out: cubic-bezier(.16,1,.3,1);--ease-spring: cubic-bezier(.34,1.56,.64,1);--header-h: 68px;color-scheme:light}[data-theme=dark]{--paper: #080B0E;--paper-2: #0E1317;--paper-3: #161C21;--ink: #F2F1EC;--ink-2: #B4BDC4;--ink-3: #8A959D;--rule: #232B31;--rule-strong: #343E46;--border: #6B757C;--accent: #35C2A2;--accent-hover: #55D8BA;--accent-ink: #04120E;--accent-wash: #0F2A24;--warm: #E0AC6C;--warm-wash: #2A2118;--danger: #E4796F;--surface: #141B20;--surface-2: #141B20CC;--band-bg: #1A2329;--band-fg: #F2F1EC;--shadow-1: 0 1px 2px rgb(2 12 10 / .5);--shadow-2: 0 2px 4px rgb(2 12 10 / .45), 0 12px 32px -8px rgb(2 12 10 / .65);--shadow-3: 0 4px 8px rgb(2 12 10 / .5), 0 24px 64px -12px rgb(2 12 10 / .75);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #080B0E;--paper-2: #0E1317;--paper-3: #161C21;--ink: #F2F1EC;--ink-2: #B4BDC4;--ink-3: #8A959D;--rule: #232B31;--rule-strong: #343E46;--border: #6B757C;--accent: #35C2A2;--accent-hover: #55D8BA;--accent-ink: #04120E;--accent-wash: #0F2A24;--warm: #E0AC6C;--warm-wash: #2A2118;--danger: #E4796F;--surface: #141B20;--surface-2: #141B20CC;--band-bg: #1A2329;--band-fg: #F2F1EC;--shadow-1: 0 1px 2px rgb(2 12 10 / .5);--shadow-2: 0 2px 4px rgb(2 12 10 / .45), 0 12px 32px -8px rgb(2 12 10 / .65);--shadow-3: 0 4px 8px rgb(2 12 10 / .5), 0 24px 64px -12px rgb(2 12 10 / .75);color-scheme:dark}}:root:lang(th){--font-body: "Noto Sans Thai", var(--sans);--font-display: "Noto Sans Thai", var(--sans)}:root:lang(ja){--font-body: var(--sans), "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--font-display: "Hiragino Mincho ProN", "Yu Mincho", "Noto Serif JP", var(--serif), serif}:root:lang(zh){--font-body: var(--sans), "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;--font-display: "Songti SC", "SimSun", "Noto Serif SC", var(--serif), serif}:root:lang(ja),:root:lang(zh){line-break:strict}:lang(ja) h1,:lang(zh) h1,:lang(ko) h1,:lang(th) h1,:lang(ja) h2,:lang(zh) h2,:lang(ko) h2,:lang(th) h2{letter-spacing:0}:root:lang(ko){--font-body: var(--sans), "Apple SD Gothic Neo", "Malgun Gothic", "Noto Sans KR", sans-serif;--font-display: "Apple SD Gothic Neo", "Malgun Gothic", var(--serif), sans-serif}}@layer base{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + var(--sp-5));text-underline-offset:.18em}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.62;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}h1,h2,h3,h4{font-weight:600;line-height:1.14;letter-spacing:-.018em;text-wrap:balance}h1{font-family:var(--font-display);font-size:var(--step-5);font-weight:500;letter-spacing:-.026em}h2{font-family:var(--font-display);font-size:var(--step-3);font-weight:500;letter-spacing:-.022em}h3{font-size:var(--step-1)}h4{font-size:var(--step-0)}p{text-wrap:pretty}a{color:inherit;text-decoration-color:color-mix(in oklab,currentColor 35%,transparent)}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-sm)}:focus:not(:focus-visible){outline:none}img,svg,canvas{display:block;max-width:100%}img{height:auto}ul,ol{padding-inline-start:1.15em}li::marker{color:var(--ink-3)}hr{border:0;border-top:1px solid var(--rule);margin:var(--sp-7) 0}::selection{background:color-mix(in oklab,var(--accent) 24%,transparent)}table{border-collapse:collapse;width:100%}th,td{text-align:start;padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--rule)}th{font-size:var(--step--1);font-weight:600;color:var(--ink-3)}}@layer layout{.container{width:min(100% - var(--gutter) * 2,var(--container));margin-inline:auto}.container-wide{width:min(100% - var(--gutter) * 2,var(--container-wide));margin-inline:auto}.section{padding-block:clamp(var(--sp-8),9vw,var(--sp-10))}.section--tight{padding-block:clamp(var(--sp-7),6vw,var(--sp-8))}.section+.section{padding-block-start:clamp(var(--sp-7),5vw,var(--sp-8))}.section--ruled{border-top:1px solid var(--rule)}.section--sunk{background:var(--paper-2)}.stack>*+*{margin-block-start:var(--flow, var(--sp-4))}.grid{display:grid;gap:var(--sp-5)}.cols-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,22rem),1fr))}.cols-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}@media(min-width:68rem){.cols-3--six{grid-template-columns:repeat(3,1fr)}}.cols-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}.split{display:grid;gap:var(--sp-7);grid-template-columns:1fr;align-items:start}[data-cart] .split>:first-child{align-self:stretch}@media(min-width:60rem){.split{grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--sp-8)}}@media(min-width:60rem){.split--even{grid-template-columns:1fr 1fr}}.prose{max-width:68ch}.prose p+p{margin-block-start:var(--sp-4)}.measure{max-width:46ch}}@layer components{.skip{position:fixed;inset-block-start:var(--sp-3);inset-inline-start:var(--sp-3);z-index:100;padding:var(--sp-2) var(--sp-4);background:var(--accent);color:var(--accent-ink);border-radius:var(--r-md);font-size:var(--step--1);font-weight:600;transform:translateY(-200%);transition:transform var(--dur-2) var(--ease-out)}.skip:focus{transform:none}.site-header{position:sticky;inset-block-start:0;z-index:60;background:color-mix(in oklab,var(--paper) 86%,transparent);border-block-end:1px solid transparent;transition:border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}@supports (backdrop-filter: blur(1px)){.site-header{backdrop-filter:saturate(180%) blur(14px)}}.site-header.is-stuck{border-block-end-color:var(--rule);background:color-mix(in oklab,var(--paper) 94%,transparent)}.header-inner{display:flex;align-items:center;gap:var(--sp-5);min-height:var(--header-h)}.logo{display:inline-flex;align-items:center;gap:.6em;font-weight:600;letter-spacing:-.02em;text-decoration:none;font-size:var(--step-0)}.logo__mark{width:28px;height:28px;flex:none}.logo__mark .lm-ring{transform-origin:center}.nav{display:none;align-items:center;gap:var(--sp-1);margin-inline-start:auto}@media(min-width:64rem){.nav{display:flex}}@media(min-width:64rem)and (max-width:72rem){.nav a{padding-inline:var(--sp-2);font-size:var(--step--2)}}.nav a{position:relative;padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-size:var(--step--1);color:var(--ink-2);text-decoration:none;transition:color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.nav a:hover{color:var(--ink);background:var(--paper-3)}.nav a[aria-current=page]{color:var(--ink);font-weight:600}.nav a[aria-current=page]:after{content:"";position:absolute;inset-inline:var(--sp-3);inset-block-end:2px;height:1.5px;background:var(--accent);border-radius:2px}.header-actions{display:flex;align-items:center;gap:var(--sp-2);margin-inline-start:auto}@media(min-width:64rem){.header-actions{margin-inline-start:0}}.scroll-rail{position:absolute;inset-block-end:-1px;inset-inline-start:0;height:2px;width:100%;overflow:hidden;pointer-events:none}.scroll-rail__bar{height:100%;width:100%;background:var(--accent);transform:scaleX(var(--p, 0));transform-origin:0 50%}.btn{--btn-bg: var(--accent);--btn-fg: var(--accent-ink);--btn-bd: transparent;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55em;padding:.78em 1.35em;border:1px solid var(--btn-bd);border-radius:var(--r-full);background:var(--btn-bg);color:var(--btn-fg);font:inherit;font-size:var(--step--1);font-weight:600;letter-spacing:-.005em;text-decoration:none;cursor:pointer;overflow:hidden;isolation:isolate;transition:background var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-spring);translate:var(--mx, 0) var(--my, 0)}.btn:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,transparent 35%,rgb(255 255 255 / .22) 50%,transparent 65%);translate:-130% 0;transition:translate var(--dur-4) var(--ease-out)}.btn:hover{background:var(--accent-hover);box-shadow:var(--shadow-2)}.btn:hover:after{translate:130% 0}.btn:active{transform:scale(.975)}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--ink);--btn-bd: var(--border)}.btn--ghost:hover{background:var(--paper-3);box-shadow:none;border-color:var(--ink-3)}.btn--quiet{--btn-bg: transparent;--btn-fg: var(--ink-2);--btn-bd: transparent;padding-inline:.8em}.btn--quiet:hover{background:var(--paper-3);color:var(--ink);box-shadow:none}.btn--sm{padding:.55em 1em;font-size:var(--step--2);white-space:nowrap}.btn--lg{padding:.95em 1.7em;font-size:var(--step-0)}.btn--block{width:100%}.btn[disabled],.btn[aria-disabled=true]{opacity:.5;pointer-events:none}.btn__icon{width:1em;height:1em;flex:none;transition:translate var(--dur-2) var(--ease-out)}.btn:hover .btn__icon{translate:.18em 0}.iconbtn{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid transparent;border-radius:var(--r-full);background:transparent;color:var(--ink-2);cursor:pointer;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.iconbtn:hover{background:var(--paper-3);color:var(--ink)}.iconbtn svg{width:18px;height:18px}[data-theme-toggle] .ic-moon,[data-theme=dark] [data-theme-toggle] .ic-sun{display:none}[data-theme=dark] [data-theme-toggle] .ic-moon{display:block}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) [data-theme-toggle] .ic-sun{display:none}:root:not([data-theme=light]) [data-theme-toggle] .ic-moon{display:block}}.eyebrow{display:flex;align-items:baseline;gap:.5em;font-family:var(--mono);font-size:var(--step--2);font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);text-wrap:balance}.eyebrow:before{content:"";flex:none;width:1.6em;height:1px;background:var(--rule-strong);translate:0 -.32em}@media(max-width:30rem){.eyebrow{letter-spacing:.07em}}.eyebrow--accent{color:var(--accent)}.eyebrow--accent:before{background:currentColor}.lede{font-size:var(--step-1);line-height:1.5;color:var(--ink-2);max-width:58ch}.note{font-size:var(--step--1);color:var(--ink-3)}.section-head{display:grid;gap:var(--sp-4);margin-block-end:var(--sp-7);max-width:62ch}.hero{position:relative;padding-block:clamp(var(--sp-7),8vw,var(--sp-9)) clamp(var(--sp-7),7vw,var(--sp-8));overflow:clip}.hero__grid{display:grid;gap:var(--sp-8);align-items:center}@media(min-width:64rem){.hero__grid{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);gap:var(--sp-7)}}.hero h1{max-width:22ch}:lang(ja) :is(h1,h2,.lede){word-break:auto-phrase;overflow-wrap:anywhere}:lang(ko) :is(h1,h2,.lede){word-break:keep-all;overflow-wrap:anywhere}:lang(ja) .hero h1,:lang(zh) .hero h1,:lang(ko) .hero h1{max-width:13em}.hero .lede{max-width:52ch;margin-block-start:var(--sp-5)}.hero__cta{display:flex;flex-wrap:wrap;gap:var(--sp-3);margin-block-start:var(--sp-6)}.hero__trust{display:grid;grid-template-columns:1fr;gap:var(--sp-3) var(--sp-5);list-style:none;margin-block-start:var(--sp-7);padding:var(--sp-5) 0 0;border-block-start:1px solid var(--rule)}@media(min-width:30rem){.hero__trust{grid-template-columns:repeat(2,minmax(0,1fr))}}.hero__trust li{list-style:none;display:flex;align-items:start;gap:.55em;font-size:var(--step--1);color:var(--ink-2);text-wrap:pretty}.hero__trust svg{width:15px;height:15px;color:var(--accent);flex:none;margin-block-start:.28em}.hero__glow{position:absolute;z-index:-1;inset-block-start:-22%;inset-inline-end:-12%;width:min(58rem,105vw);aspect-ratio:1;pointer-events:none;background:radial-gradient(circle at 50% 50%,color-mix(in oklab,var(--accent) 13%,transparent),transparent 62%)}.map{position:relative;aspect-ratio:1 / .84}.map__canvas,.map__fallback{position:absolute;inset:0;width:100%;height:100%}.map__canvas{opacity:0;transition:opacity var(--dur-5) var(--ease-out)}.map__canvas.is-ready{opacity:1}.map__canvas.is-ready+.map__fallback{opacity:0}.map__fallback{transition:opacity var(--dur-4) var(--ease-out)}.map__caption{position:absolute;inset-block-end:0;inset-inline-start:0;font-size:var(--step--2);color:var(--ink-3);font-family:var(--mono);letter-spacing:.04em}@media(max-width:40rem){.map{aspect-ratio:auto}.map__canvas,.map__fallback{position:static;aspect-ratio:1 / .84}.map__caption{position:static;margin-block-start:var(--sp-3)}}.card{position:relative;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-5);border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--surface);isolation:isolate;overflow:hidden;transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-3) var(--ease-out),transform var(--dur-3) var(--ease-out)}.card--link:before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(320px circle at var(--px, 50%) var(--py, 0%),color-mix(in oklab,var(--accent) 9%,transparent),transparent 70%);transition:opacity var(--dur-3) var(--ease)}.card:hover{border-color:var(--rule-strong)}.card--link:hover{box-shadow:var(--shadow-2)}.card--link:hover:before{opacity:1}.card--link:hover{transform:translateY(-3px)}.card--link:has(a:focus-visible){outline:2px solid var(--accent);outline-offset:3px}.card__title a:focus-visible{outline:none}.card__title{font-size:var(--step-1);letter-spacing:-.018em}.card__title a{text-decoration:none}.card__title a:after{content:"";position:absolute;inset:0}.card__body{color:var(--ink-2);font-size:var(--step--1);flex:1}.card__foot{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-3);padding-block-start:var(--sp-4);margin-block-start:auto;border-block-start:1px solid var(--rule)}.card__icon{display:block;width:40px;height:40px;color:var(--accent);flex:none}.card__icon svg{width:100%;height:100%}.card__icon .ic-stroke{stroke-dasharray:var(--len, 120);stroke-dashoffset:0}.card--tier{gap:var(--sp-2)}.card>.pill{align-self:start}.card--tier-on{border-color:var(--accent);box-shadow:var(--shadow-1)}.card--tier .price{margin-block-start:var(--sp-2)}@media(min-width:60rem){#cat-all.cols-2,[data-cart] .grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.card table,.card tbody{display:block}.card tr{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:var(--sp-2) var(--sp-4);padding-block:var(--sp-3);border-block-end:1px solid var(--rule)}.card tr:last-child{border-block-end:0}.card th,.card td{display:block;padding:0;border:0;text-align:start}.card td:last-child{text-align:end}@media(max-width:34rem){.card tr{grid-template-columns:1fr auto}.card th{grid-column:1 / -1}.card tr{display:grid;grid-template-columns:1fr auto;align-items:center;gap:var(--sp-2) var(--sp-3);padding-block:var(--sp-3);border-block-end:1px solid var(--rule)}.card tr:last-child{border-block-end:0}.card th,.card td{display:block;padding:0;border:0}.card th{grid-column:1 / -1;font-size:var(--step--1);color:var(--ink-2)}.card td:last-child{text-align:end}}.pricegrid{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--surface)}.pricegrid table{width:100%;border-collapse:collapse}.pricegrid th,.pricegrid td{padding:var(--sp-3) var(--sp-4);border-block-end:1px solid var(--rule);white-space:nowrap}.pricegrid thead th{font-size:var(--step--2);font-weight:600;color:var(--ink-3);text-transform:uppercase;letter-spacing:.08em}.pricegrid tbody th{font-family:var(--mono);font-size:var(--step--1);color:var(--ink-2);font-weight:600}.pricegrid td{text-align:end;font-variant-numeric:tabular-nums}.pricegrid tr:last-child th,.pricegrid tr:last-child td{border-block-end:0}.pricegrid tbody tr:hover{background:var(--paper-2)}.product{--shift: 0}.product__meta{display:flex;align-items:baseline;gap:.4em;font-size:var(--step--1);color:var(--ink-3)}.price{font-family:var(--font-body);font-size:var(--step-1);font-weight:600;color:var(--ink);letter-spacing:-.015em;font-variant-numeric:tabular-nums}.price__sub{font-family:var(--font-body);font-size:var(--step--2);font-weight:400;color:var(--ink-3);letter-spacing:0}.price--was{font-size:var(--step--1);color:var(--ink-3);text-decoration:line-through;font-weight:400}.pill{display:inline-flex;align-items:center;gap:.35em;padding:.2em .7em;white-space:nowrap;border-radius:var(--r-full);font-size:var(--step--2);font-weight:600;letter-spacing:.01em;background:var(--accent-wash);color:var(--accent)}.pill--warm{background:var(--warm-wash);color:var(--warm)}.pill--quiet{background:var(--paper-3);color:var(--ink-3)}.tabs{position:relative;display:inline-flex;flex-wrap:wrap;max-width:100%;gap:2px;padding:4px;border:1px solid var(--rule);border-radius:var(--r-full);background:var(--paper-2)}@media(max-width:26rem){.tabs{border-radius:var(--r-lg)}.tabs__ink{display:none}}.tabs__ink{position:absolute;z-index:0;inset-block:4px;border-radius:var(--r-full);background:var(--surface);box-shadow:var(--shadow-1);inset-inline-start:var(--tx, 4px);width:var(--tw, 0);transition:inset-inline-start var(--dur-3) var(--ease-out),width var(--dur-3) var(--ease-out)}.tabs button{position:relative;z-index:1;padding:.5em 1.1em;border:0;border-radius:var(--r-full);background:transparent;color:var(--ink-2);font:inherit;font-size:var(--step--1);font-weight:600;cursor:pointer;transition:color var(--dur-2) var(--ease)}.tabs button:hover,.tabs button[aria-pressed=true]{color:var(--ink)}html:not(.js) .tabs{display:none}.stats{display:grid;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-lg);overflow:hidden;grid-template-columns:repeat(2,minmax(0,1fr))}@media(min-width:40rem){.stats{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:70rem){.stats{grid-template-columns:repeat(6,minmax(0,1fr))}}.stat{background:var(--surface);padding:var(--sp-5) var(--sp-5) var(--sp-4);display:grid;gap:var(--sp-1);grid-template-rows:auto auto 1fr}.stat__spark{align-self:end}.stat__v{font-family:var(--mono);font-size:var(--step-3);font-weight:600;letter-spacing:-.04em;line-height:1;font-variant-numeric:tabular-nums}.stat__k{font-size:var(--step--1);color:var(--ink-3)}.stat__spark{margin-block-start:var(--sp-3);height:22px;color:color-mix(in oklab,var(--accent) 45%,transparent)}.stat__spark path{stroke-dasharray:200;stroke-dashoffset:200}.stat.is-in .stat__spark path{animation:draw var(--dur-5) var(--ease-out) forwards}.steps{counter-reset:step;display:grid;gap:var(--sp-5)}@media(min-width:55rem){.steps--4{grid-template-columns:repeat(4,1fr)}.steps--3{grid-template-columns:repeat(3,1fr)}}@media(min-width:46rem){.steps--2{grid-template-columns:repeat(2,1fr)}}.step{position:relative;padding-block-start:var(--sp-5);border-block-start:1px solid var(--rule)}.step__n{font-family:var(--mono);font-size:var(--step--2);color:var(--accent);letter-spacing:.12em}.step__rule{position:absolute;inset-block-start:-1px;inset-inline-start:0;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%}.step.is-in .step__rule{animation:rule var(--dur-4) var(--ease-out) forwards}.step h3{margin-block:var(--sp-3) var(--sp-2)}.step p{color:var(--ink-2);font-size:var(--step--1)}.acc{border-block-start:1px solid var(--rule)}.acc__item{border-block-end:1px solid var(--rule)}.acc__btn{display:flex;align-items:start;justify-content:space-between;gap:var(--sp-4);width:100%;padding:var(--sp-5) 0;border:0;background:none;color:inherit;font:inherit;font-size:var(--step-1);font-weight:600;letter-spacing:-.015em;text-align:start;cursor:pointer;transition:color var(--dur-2) var(--ease)}.acc__btn:hover{color:var(--accent)}.acc__sign{position:relative;flex:none;width:18px;height:18px;margin-block-start:.35em;color:var(--ink-3)}.acc__sign:before,.acc__sign:after{content:"";position:absolute;inset-block-start:50%;inset-inline-start:0;width:100%;height:1.5px;background:currentColor;border-radius:2px;transition:rotate var(--dur-3) var(--ease-out),opacity var(--dur-2) var(--ease)}.acc__sign:after{rotate:90deg}.acc__btn[aria-expanded=true] .acc__sign{color:var(--accent)}.acc__btn[aria-expanded=true] .acc__sign:after{rotate:0deg;opacity:0}.acc__panel{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--dur-3) var(--ease-out)}html.js .acc__panel[data-closed]{grid-template-rows:0fr}.acc__panel>div{overflow:hidden}.acc__panel p{padding-block-end:var(--sp-5);color:var(--ink-2);max-width:72ch}.quote{display:flex;flex-direction:column;gap:var(--sp-4);padding:var(--sp-6);border:1px solid var(--rule);border-radius:var(--r-lg);background:var(--surface)}.quote blockquote{font-family:var(--font-display);font-size:var(--step-1);line-height:1.45;letter-spacing:-.015em}.quote blockquote:before{content:"\201c";color:var(--accent);margin-inline-end:.06em}.quote blockquote:after{content:"\201d";color:var(--accent)}.quote figcaption{display:grid;gap:2px;font-size:var(--step--1);color:var(--ink-3);margin-block-start:auto;padding-block-start:var(--sp-4);border-block-start:1px solid var(--rule)}.quote figcaption b{color:var(--ink);font-weight:600}.rows{border-block-start:1px solid var(--rule)}.row{display:grid;gap:var(--sp-1) var(--sp-5);padding-block:var(--sp-4);border-block-end:1px solid var(--rule);align-items:baseline}@media(min-width:42rem){.row{grid-template-columns:minmax(0,15rem) minmax(0,1fr) auto}}.row__k{font-size:var(--step--1);color:var(--ink-3)}.row__v{font-weight:500}.row__v--mono{font-family:var(--mono);font-size:var(--step--1);letter-spacing:-.01em}.copybtn{display:inline-flex;align-items:center;gap:.4em;padding:.25em .6em;border:1px solid var(--rule);border-radius:var(--r-full);background:transparent;color:var(--ink-3);font:inherit;font-size:var(--step--2);cursor:pointer;justify-self:start;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.copybtn:hover{color:var(--ink);border-color:var(--rule-strong);background:var(--paper-2)}.copybtn svg{width:12px;height:12px}.copybtn.is-done{color:var(--accent);border-color:var(--accent)}html:not(.js) .copybtn{display:none}.langsw{position:relative}.langsw__list{position:absolute;inset-block-start:calc(100% + 8px);inset-inline-end:0;z-index:70;min-width:12rem;padding:var(--sp-2);margin:0;list-style:none;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-lg);box-shadow:var(--shadow-3)}html.js .langsw__list[hidden]{display:none}html:not(.js) .langsw__list{position:static;box-shadow:none;border:0;padding:0;min-width:0;display:flex;flex-wrap:wrap;gap:var(--sp-1)}html:not(.js) .langsw__toggle{display:none}.langsw__list a,.footer-col a[hreflang]{font-family:system-ui,sans-serif}.langsw__list a{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-4);padding:.5em .7em;border-radius:var(--r-md);text-decoration:none;font-size:var(--step--1);color:var(--ink-2);transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.langsw__list a:hover{background:var(--paper-3);color:var(--ink)}.langsw__list a[aria-current=true]{color:var(--ink);font-weight:600}.langsw__list a[aria-current=true]:after{content:"";width:14px;height:14px;flex:none;background:currentColor;color:var(--accent);-webkit-mask:var(--check-icon) center / contain no-repeat;mask:var(--check-icon) center / contain no-repeat}.menu{position:fixed;inset:0;z-index:80;display:grid;grid-template-rows:auto 1fr;background:var(--paper);padding:0 var(--gutter) var(--sp-6)}html.js .menu[hidden]{display:none}html:not(.js) .menu{position:static;background:none;padding:0}html:not(.js) .menu-toggle{display:none}.menu__head{display:flex;align-items:center;min-height:var(--header-h)}.menu__nav{display:grid;align-content:start;gap:var(--sp-1);padding-block-start:var(--sp-4)}.menu__nav a{padding:var(--sp-3) 0;font-family:var(--font-display);font-size:var(--step-2);text-decoration:none;border-block-end:1px solid var(--rule)}@media(min-width:64rem){.menu-toggle{display:none}}.field{position:relative;display:grid;gap:var(--sp-2)}.field label{font-size:var(--step--1);font-weight:600;color:var(--ink-2)}.field .hint{font-size:var(--step--2);color:var(--ink-3);font-weight:400}.field input,.field textarea,.field select{width:100%;padding:.75em .95em;border:1px solid var(--border);border-radius:var(--r-md);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--step--1);transition:border-color var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease)}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 16%,transparent)}.field textarea{min-height:9rem;resize:vertical}.field[data-invalid] input,.field[data-invalid] textarea{border-color:var(--danger)}.field__err{display:none;font-size:var(--step--2);color:var(--danger)}.field[data-invalid] .field__err{display:block}.toast{position:fixed;inset-block-end:var(--sp-5);inset-inline:var(--gutter);z-index:90;margin-inline:auto;width:fit-content;padding:.7em 1.15em;border-radius:var(--r-full);background:var(--ink);color:var(--paper);font-size:var(--step--1);box-shadow:var(--shadow-3)}.toast[hidden]{display:none}.marquee{display:flex;overflow:clip;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}.marquee__track{display:flex;gap:var(--sp-6);padding-inline-end:var(--sp-6);flex:none;animation:slide 46s linear infinite}.marquee:hover .marquee__track{animation-play-state:paused}.marquee span{display:inline-flex;align-items:center;gap:.5em;font-size:var(--step--1);color:var(--ink-3);white-space:nowrap}.callout{display:grid;gap:var(--sp-3);padding:var(--sp-5);border:1px solid var(--rule);border-inline-start:3px solid var(--accent);border-radius:var(--r-md);background:var(--paper-2);font-size:var(--step--1)}.callout--warm{border-inline-start-color:var(--warm)}.band{position:relative;padding-block:clamp(var(--sp-8),8vw,var(--sp-9));background:var(--band-bg);color:var(--band-fg);overflow:clip}.band h2{color:var(--band-fg)}.band .lede{color:color-mix(in oklab,var(--band-fg) 74%,transparent)}.band .btn--ghost{--btn-fg: var(--band-fg);--btn-bd: color-mix(in oklab, var(--band-fg) 34%, transparent)}.band .btn--ghost:hover{background:color-mix(in oklab,var(--band-fg) 12%,transparent);border-color:var(--band-fg)}.band__mesh{position:absolute;inset:0;z-index:0;opacity:.5;pointer-events:none;background-image:radial-gradient(circle at 1px 1px,color-mix(in oklab,var(--band-fg) 22%,transparent) 1px,transparent 0);background-size:22px 22px;mask-image:radial-gradient(ellipse 70% 90% at 78% 40%,#000,transparent 72%)}.band>.container{position:relative;z-index:1}.doc{display:grid;gap:var(--sp-8)}@media(min-width:66rem){.doc{grid-template-columns:16rem minmax(0,1fr);gap:var(--sp-9);align-items:start}}.toc{position:sticky;inset-block-start:calc(var(--header-h) + var(--sp-5));display:none}@media(min-width:66rem){.toc{display:block}}.toc ol{list-style:none;padding:0;display:grid;gap:2px}.toc a{display:block;padding:.3em .7em;border-inline-start:2px solid var(--rule);font-size:var(--step--2);color:var(--ink-3);text-decoration:none;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.toc a:hover{color:var(--ink);border-inline-start-color:var(--rule-strong)}.toc a.is-active{color:var(--accent);border-inline-start-color:var(--accent);font-weight:600}.legal{max-width:74ch}.legal h2{font-size:var(--step-2);margin-block-start:var(--sp-8);scroll-margin-top:calc(var(--header-h) + var(--sp-5))}.legal h2:first-of-type{margin-block-start:0}.legal p{margin-block-start:var(--sp-4);color:var(--ink-2)}.legal strong{color:var(--ink);font-weight:600}.legal__updated{font-family:var(--mono);font-size:var(--step--2);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3)}.site-footer{border-block-start:1px solid var(--rule);background:var(--paper-2);padding-block:var(--sp-8) var(--sp-6)}.footer-grid{display:grid;gap:var(--sp-7);grid-template-columns:1fr}@media(min-width:40rem){.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:58rem){.footer-grid{grid-template-columns:minmax(15rem,1.4fr) repeat(5,minmax(0,1fr))}}.footer-brand{grid-column:1 / -1;max-width:30ch;display:grid;gap:var(--sp-4);align-content:start}@media(min-width:40rem){.footer-brand{grid-column:1 / -1}}@media(min-width:58rem){.footer-brand{grid-column:1}}.footer-col h3{font-size:var(--step--2);font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-block-end:var(--sp-4)}.footer-col ul{list-style:none;padding:0;display:grid;gap:var(--sp-2)}.footer-col a{font-size:var(--step--1);color:var(--ink-2);text-decoration:none;transition:color var(--dur-1) var(--ease)}.footer-col a:hover{color:var(--ink);text-decoration:underline}.footer-legal{margin-block-start:var(--sp-8);padding-block-start:var(--sp-5);border-block-start:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-5);font-size:var(--step--2);color:var(--ink-3)}.paycards{display:flex;flex-wrap:wrap;gap:var(--sp-2);align-items:center}.paycards svg{height:22px;width:auto;border:1px solid var(--rule);border-radius:4px;background:var(--surface)}}@layer motion{@keyframes rise{0%{opacity:0;translate:0 14px}to{opacity:1;translate:0 0}}@keyframes rise-solid{0%{translate:0 16px}to{translate:0 0}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes rule{to{transform:scaleX(1)}}@keyframes slide{to{translate:-100% 0}}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}@keyframes pop{0%{opacity:0;translate:0 6px}}html.js .langsw__list:not([hidden]),html.js .toast:not([hidden]){animation:pop var(--dur-2) var(--ease-out)}html.js .menu:not([hidden]){animation:pop var(--dur-2) var(--ease-out)}.btn.is-done{--btn-bg: var(--accent-wash);--btn-fg: var(--accent);--btn-bd: var(--accent)}body,.card,.site-header,.stats,.stat{transition:background-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease)}html.js .reveal{opacity:0;translate:0 14px}html.js .reveal.is-in{animation:rise var(--dur-4) var(--ease-out) forwards;animation-delay:var(--d, 0ms)}html.js .hero__anim>*{animation:rise-solid var(--dur-4) var(--ease-out) backwards}html.js .hero__anim>:nth-child(1){animation-delay:60ms}html.js .hero__anim>:nth-child(2){animation-delay:.14s}html.js .hero__anim>:nth-child(3){animation-delay:.22s}html.js .hero__anim>:nth-child(4){animation-delay:.3s}html.js .hero__anim>:nth-child(5){animation-delay:.38s}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;scroll-behavior:auto!important}html.js .reveal{opacity:1;translate:none}.btn{translate:none!important}.marquee__track{animation:none}}}@layer utilities{.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.u-mono{font-family:var(--mono)}.u-quiet{color:var(--ink-3)}.u-sm{font-size:var(--step--1)}.u-xs{font-size:var(--step--2)}.u-center{text-align:center}.u-flex{display:flex;gap:var(--sp-3);flex-wrap:wrap;align-items:center}.u-bullet{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--sp-3);align-items:start}.u-bullet>:first-child{width:1.25em;color:var(--accent);margin-block-start:.18em}.store-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--sp-2) var(--sp-3);align-items:center}.u-between{display:flex;gap:var(--sp-4);flex-wrap:wrap;align-items:baseline;justify-content:space-between}.u-mt-4{margin-block-start:var(--sp-4)}.u-mt-5{margin-block-start:var(--sp-5)}.u-mt-6{margin-block-start:var(--sp-6)}.u-mt-7{margin-block-start:var(--sp-7)}.u-nolist{list-style:none;padding-inline-start:0}.u-scripts{font-family:system-ui,sans-serif}.u-hide-sm{display:none}@media(min-width:64rem){.u-hide-sm{display:inline-flex}}[hidden]{display:none!important}}
