:root{--ink: #1d1d1f;--ink-2: #424245;--muted: #6e6e73;--line: rgba(0, 0, 0, .09);--line-strong: rgba(0, 0, 0, .16);--bg: #ffffff;--bg-2: #f5f5f7;--bg-3: #fbfbfd;--noir: #0a0a0b;--noir-2: #161617;--on-noir: #f5f5f7;--on-noir-muted: #a1a1a6;--line-noir: rgba(255, 255, 255, .12);--accent: #0071e3;--accent-ink: #0059b8;--accent-soft: rgba(0, 113, 227, .1);--bloom-blue: #4c9dff;--bloom-violet: #a98bff;--bloom-teal: #5ad1c2;--bloom-pink: #ff9ec4;--r-sm: 12px;--r: 18px;--r-lg: 28px;--r-pill: 980px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04), 0 2px 8px rgba(0, 0, 0, .05);--shadow: 0 8px 30px -8px rgba(0, 0, 0, .14);--shadow-lg: 0 48px 90px -28px rgba(0, 0, 0, .3), 0 12px 32px -16px rgba(0, 0, 0, .18);--max: 1120px;--max-narrow: 720px;--pad: clamp(1.25rem, 4vw, 2rem);--section-y: clamp(4.5rem, 10vw, 8rem);--font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--fs-display: clamp(2.6rem, 6.2vw, 4.5rem);--fs-h2: clamp(1.9rem, 4vw, 3rem);--fs-h3: 1.2rem;--fs-lead: clamp(1.075rem, 1.9vw, 1.3rem);--ease: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);font-size:1.0625rem;line-height:1.62;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}h1,h2,h3,h4{margin:0;line-height:1.08;letter-spacing:-.025em;font-weight:600;text-wrap:balance}p{margin:0;text-wrap:pretty}a{color:inherit}img,svg{display:block;max-width:100%}::selection{background:var(--accent-soft)}.wrap{max-width:var(--max);margin:0 auto;padding-inline:var(--pad)}.wrap--narrow{max-width:var(--max-narrow)}section{padding-block:var(--section-y)}.section-head{max-width:46ch;margin-bottom:clamp(2.5rem,5vw,4rem)}.section-head--center{margin-inline:auto;text-align:center}.section-title{font-size:var(--fs-h2)}.section-lead{margin-top:1rem;font-size:var(--fs-lead);color:var(--muted);letter-spacing:-.014em}.eyebrow{display:inline-flex;align-items:center;gap:.45rem;padding:.35rem .75rem .35rem .65rem;border:1px solid var(--line-strong);border-radius:var(--r-pill);font-size:.82rem;font-weight:500;letter-spacing:-.006em;color:var(--ink-2);background:var(--bg)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent)}.btn{--btn-bg: var(--ink);--btn-fg: #fff;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.85rem 1.5rem;border-radius:var(--r-pill);font-weight:500;font-size:1rem;letter-spacing:-.012em;text-decoration:none;border:1px solid transparent;background:var(--btn-bg);color:var(--btn-fg);cursor:pointer;transition:transform .18s var(--ease),background-color .18s var(--ease),border-color .18s var(--ease),box-shadow .18s var(--ease),opacity .18s var(--ease)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.98)}.btn--primary{--btn-bg: var(--accent)}.btn--primary:hover{--btn-bg: var(--accent-ink);box-shadow:0 10px 26px -10px #0071e399}.btn--dark{--btn-bg: var(--ink)}.btn--ghost{--btn-bg: transparent;--btn-fg: var(--ink);border-color:var(--line-strong)}.btn--ghost:hover{border-color:var(--ink);background:var(--bg-2)}.btn--light{--btn-bg: #fff;--btn-fg: var(--ink)}.btn--light:hover{opacity:.9}.btn--sm{padding:.55rem 1.05rem;font-size:.9rem}.btn--block{width:100%}.grid{display:grid;gap:1.25rem}.grid--3{grid-template-columns:repeat(auto-fit,minmax(17.5rem,1fr))}.grid--2{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr))}.card{padding:1.6rem;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);box-shadow:var(--shadow-sm);transition:transform .25s var(--ease),box-shadow .25s var(--ease),border-color .25s var(--ease)}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-strong)}.card h3{font-size:var(--fs-h3);margin-bottom:.55rem}.card p{color:var(--muted);font-size:.975rem;letter-spacing:-.008em}.icon-chip{display:grid;place-items:center;width:2.5rem;height:2.5rem;margin-bottom:1rem;border-radius:12px;background:var(--bg-2);color:var(--ink)}.icon-chip svg{width:1.25rem;height:1.25rem}.blooms{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.bloom{position:absolute;border-radius:50%;filter:blur(72px);opacity:.5}.prose{margin-top:clamp(2.5rem,5vw,3.5rem);font-size:1rem;line-height:1.68;color:var(--ink-2)}.prose>:first-child{margin-top:0}.prose h2{margin-top:2.75rem;margin-bottom:.85rem;font-size:1.35rem;color:var(--ink);letter-spacing:-.02em}.prose h3{margin-top:1.75rem;margin-bottom:.6rem;font-size:1.08rem;color:var(--ink)}.prose p{margin-block:.9rem}.prose .lead{font-size:1.075rem;color:var(--ink-2)}.prose ul,.prose ol{margin-block:.9rem;padding-left:1.4rem}.prose li{margin-block:.4rem}.prose li::marker{color:var(--muted)}.prose a{color:var(--accent-ink);text-underline-offset:2px}.prose strong{color:var(--ink);font-weight:600}.prose hr{margin-block:2.5rem;border:0;border-top:1px solid var(--line)}.prose .todo{background:var(--accent-soft);border-radius:4px;padding:.05em .35em;font-weight:500;color:var(--accent-ink)}.prose figure{margin:1.5rem 0;overflow-x:auto}.prose table{width:100%;border-collapse:collapse;font-size:.9rem;min-width:34rem}.prose th,.prose td{text-align:left;vertical-align:top;padding:.7rem .85rem;border-bottom:1px solid var(--line)}.prose th{color:var(--ink);font-weight:600;border-bottom-color:var(--line-strong)}.prose .contact-block{margin-top:1rem;padding:1.25rem 1.4rem;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--bg-3)}.prose .contact-block p{margin-block:.3rem}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .6s var(--ease),transform .6s var(--ease);will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}
