:root{--paper: #ffffff;--paper-raised: #f8fafc;--ink: #0f172a;--ink-2: #334155;--muted: #64748b;--faint: #94a3b8;--line: rgba(15, 23, 42, .14);--line-soft: rgba(15, 23, 42, .07);--accent: #1d4ed8;--accent-deep: #1e40af;--accent-soft: rgba(29, 78, 216, .06);--accent-line: rgba(15, 23, 42, .18);--accent-tint: #eef3fd;--paper-on-ink: #ffffff;--muted-on-ink: #cbd5e1;--line-on-ink: rgba(255, 255, 255, .14);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--gutter: clamp(20px, 4.5vw, 48px);--measure: 66ch;--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px;background:var(--paper)}body{margin:0;min-height:100dvh;font-family:var(--font-sans),system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.65;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}::selection{background:var(--accent);color:var(--paper-on-ink)}h1,h2,h3,h4{margin:0;font-weight:700;line-height:1.15;letter-spacing:-.018em;text-wrap:balance}p,ul,ol,figure,blockquote{margin:0}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.18em}img,svg,video{display:block;max-width:100%;height:auto}button,a{-webkit-tap-highlight-color:transparent}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:2px}.skip-link{position:fixed;top:10px;left:10px;z-index:100;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;background:var(--ink);color:var(--paper-on-ink);font-family:var(--font-mono),monospace;font-size:.8125rem;text-decoration:none}.skip-link:focus-visible{width:auto;height:auto;padding:10px 16px;clip:auto;clip-path:none;white-space:normal;outline-offset:2px}.container{width:100%;max-width:1080px;margin-inline:auto;padding-inline:var(--gutter)}.section{padding-block:clamp(60px,9vw,108px);border-top:1px solid var(--line-soft)}.section-head{margin-bottom:clamp(36px,5.5vw,60px)}.section-head .lead{max-width:var(--measure);margin-top:14px;color:var(--muted);font-size:1.0625rem}.eyebrow{display:flex;align-items:baseline;gap:10px;margin-bottom:16px;font-size:.8125rem;color:var(--muted)}.eyebrow .idx{font-family:var(--font-mono),monospace;font-size:.75rem;color:var(--faint)}.h-display{font-size:clamp(2.1rem,4.8vw,3.4rem);font-weight:700;line-height:1.08;letter-spacing:-.028em}.h-section{font-size:clamp(1.55rem,3.2vw,2.2rem);font-weight:700;letter-spacing:-.022em}.lead{font-size:1.0625rem;line-height:1.7}.mono{font-family:var(--font-mono),monospace}.btn{display:inline-flex;align-items:center;gap:10px;padding:12px 20px;border-radius:var(--radius-md);font-weight:600;font-size:.9375rem;line-height:1;text-decoration:none;transition:background-color .22s var(--ease-out),color .22s var(--ease-out),border-color .22s var(--ease-out)}.btn:active{transform:translateY(1px)}.btn .arrow{transition:transform .22s var(--ease-out)}.btn:hover .arrow{transform:translate(3px)}.btn-solid{background:var(--accent);color:var(--paper-on-ink)}.btn-solid:hover{background:var(--accent-deep)}.btn-ghost{border:1px solid var(--line);color:var(--ink)}.btn-ghost:hover{border-color:var(--ink);background:var(--paper-raised)}.btn-accent{background:var(--accent);color:var(--paper-on-ink)}.btn-accent:hover{background:var(--accent-deep)}.link-quiet{display:inline-flex;align-items:baseline;gap:8px;font-weight:600;font-size:.9375rem;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;transition:background-size .3s var(--ease-out)}.link-quiet:hover{background-size:100% 1px}.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out);transition-delay:var(--reveal-delay, 0s)}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important}.reveal{opacity:1;transform:none}}
