:root{--bg:#fbfaf7;--white:#ffffff;--ink:#121212;--ink-2:#3a3833;--muted:#5e5b55;--rule:#ece8e0;--rule-2:#dcd7cd;--stone:#f1eee7;--lilac:#ece8ff;--mint:#dff3e6;--peach:#ffe6d8;--butter:#fff3c4;--accent:#2e4bff}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-geist),system-ui,sans-serif;font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent)}a:hover{color:var(--ink)}img{max-width:100%;height:auto}button{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.skip{position:absolute;left:-9999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;z-index:100}.skip:focus{left:16px}.wrap{max-width:1240px;margin:0 auto;padding-left:clamp(16px,4vw,48px);padding-right:clamp(16px,4vw,48px)}.sec{padding-bottom:clamp(56px,7vw,96px)}.page{padding-top:clamp(48px,6vw,80px);padding-bottom:clamp(64px,8vw,104px)}.mono{font-family:var(--font-geist-mono),ui-monospace,monospace;font-size:12px;letter-spacing:.04em;text-transform:uppercase}.muted{color:var(--muted)}.h{font-weight:600;letter-spacing:-.035em;margin:0}.d1{font-size:clamp(52px,8vw,112px);line-height:.95;margin-top:14px}.d2{font-size:clamp(32px,4vw,52px);line-height:1.02;margin-top:10px}.lead{margin:20px 0 0;font-size:20px;color:var(--ink-2);max-width:34em}.bt{background:none;border:0;padding:0;margin:0;text-align:left}.bt,.pill{cursor:pointer}.pill{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:500;padding:12px 22px;border-radius:999px;text-decoration:none;border:1px solid transparent;transition:transform .2s ease}.pill:hover{transform:translateY(-1px)}.pill-accent{background:var(--accent);color:#fff}.pill-accent:hover{color:#fff}.pill-dark{background:var(--ink);color:#fff}.pill-dark:hover{color:#fff}.pill-outline{border-color:var(--ink);color:var(--ink);background:transparent}.pill-light{background:#fff;color:var(--ink)}.pill-ghost{border-color:var(--rule-2);color:var(--ink);background:transparent}.chip{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:9px 14px;border-radius:999px;border:1px solid var(--rule-2);background:#fff;color:var(--ink);cursor:pointer;text-decoration:none;transition:border-color .2s ease}.chip:hover{border-color:var(--ink);color:var(--ink)}.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}.dot{width:10px;height:10px;display:inline-block}.dot,.seg{border-radius:999px}.seg{display:inline-flex;padding:4px;background:var(--stone)}.seg button{font-size:14px;font-weight:500;padding:8px 16px;border-radius:999px;border:0;background:transparent;cursor:pointer}.seg button[aria-pressed=true]{background:#fff;box-shadow:0 1px 3px rgba(18,18,18,.12)}.tag{display:inline-block;font-size:12px;font-weight:500;padding:4px 10px;border-radius:999px;color:var(--ink)}.ph,.tag{white-space:nowrap}.ph{font-family:var(--font-geist-mono),monospace;font-size:11px;text-transform:uppercase;letter-spacing:.04em;border:1px dashed #9a958c;color:var(--muted);padding:3px 8px;border-radius:999px}.panel{background:#fff;border:1px solid var(--rule);border-radius:24px}.lk{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;color:var(--ink);font-weight:500;font-size:15px}.lk:hover{color:var(--accent)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 32px;width:100%;padding:26px 0;border-bottom:1px solid var(--rule);text-decoration:none}.row,.row:hover{color:var(--ink)}.row .ttl{transition:color .2s ease}.row:hover .ttl{color:var(--accent)}.arr{display:inline-block;transition:transform .2s ease}.card:hover .arr,.row:hover .arr{transform:translateX(4px)}.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--rule);border-radius:24px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .25s ease,box-shadow .25s ease}.card:hover{color:var(--ink);transform:translateY(-3px);box-shadow:0 12px 32px rgba(18,18,18,.08)}.grid{display:grid;grid-gap:16px;gap:16px}.g260{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.g280{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.g320{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.g420{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))}.highlight{background:var(--lilac);padding:0 .12em;border-radius:.12em;box-decoration-break:clone;-webkit-box-decoration-break:clone}.site-header{background:#fff;border-bottom:1px solid var(--rule);position:relative;z-index:20}.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}.brand{font-size:19px;font-weight:600;letter-spacing:-.02em;padding:8px 0;text-decoration:none}.brand,.brand:hover{color:var(--ink)}.nav-links{display:flex;gap:4px;align-items:center}.nav-links a{font-size:15px;font-weight:500;padding:10px 14px;border-radius:999px;color:var(--ink);text-decoration:none}.nav-links a:hover,.nav-links a[aria-current=page]{background:var(--stone)}.menu-btn,.mobile-nav{display:none}@media (max-width:920px){.header-cta,.nav-links{display:none}.menu-btn{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:500;padding:10px 16px;border-radius:999px;border:1px solid var(--rule-2);background:#fff;cursor:pointer}.mobile-nav.open{display:flex;flex-direction:column;padding:8px clamp(16px,4vw,48px) 20px;border-top:1px solid var(--rule);background:#fff}.mobile-nav a{font-size:20px;font-weight:600;letter-spacing:-.02em;padding:12px 0;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none}}.searchbox{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 18px;border:1.5px solid var(--ink);border-radius:999px;background:#fff}.searchbox input{flex:1 1;min-width:0;font:inherit;font-size:17px;border:0;background:transparent;color:var(--ink);padding:11px 0;outline:none}.searchbox:focus-within{outline:2px solid var(--accent);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:14px;font-weight:500}.field input,.field textarea{font:inherit;padding:13px 16px;border:1px solid var(--rule-2);border-radius:14px;background:var(--bg);color:var(--ink)}.field textarea{resize:vertical}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.prose{font-size:18px;line-height:1.75;color:var(--ink-2)}.prose h2{font-size:30px;line-height:1.15;letter-spacing:-.025em;margin:44px 0 14px;scroll-margin-top:24px}.prose h2,.prose h3{font-weight:600;color:var(--ink)}.prose h3{font-size:22px;letter-spacing:-.02em;margin:32px 0 10px}.prose p{margin:0 0 18px}.prose blockquote{margin:24px 0;padding:20px 24px;background:var(--lilac);border-radius:16px;color:var(--ink)}.prose table{width:100%;border-collapse:collapse;font-size:15px;display:block;overflow-x:auto}.prose td,.prose th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--rule)}.prose img{border-radius:16px}.prose ol,.prose ul{padding-left:22px}.prose code{font-family:var(--font-geist-mono),monospace;font-size:.9em;background:var(--stone);padding:2px 6px;border-radius:6px}.fade{animation:fadeIn .4s ease both}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.fade{animation:none}.arr,.card,.pill{transition:none}.card:hover,.pill:hover{transform:none}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/f639721981034f88-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9766a7e9e2e0ad5a-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b66cf8e69499582a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/aa016aab0e6d1295-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/22a5144ee8d83bca-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_8eaea4{font-family:Geist,Geist Fallback;font-style:normal}.__variable_8eaea4{--font-geist:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/013b72fa676f92e0-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b9408752a0c24fb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/65f03d54ccadf4a8-s.woff2) format("woff2");unicode-range:u+2000-2001,u+2004-2008,u+200a,u+23b8-23bd,u+2500-259f}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/e038a29029a234f2-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/2b5b02fc7e511755-s.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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/7d4881bb7e1bf84d-s.p.woff2) format("woff2");unicode-range:u+00??,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}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_8c25df{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_8c25df{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}