:root{--paper: #f1ede2;--paper-2: #e8e3d5;--ink: #16140f;--ink-2: #2a2820;--muted: #706a5a;--rule: #1a1810;--accent: #4a6b3a;--accent-ink: #3a5630;--shot-a: #e0d8c2;--shot-b: #d3cab1;--display-font: "Fraunces", serif;--body-font: "Inter Tight", ui-sans-serif, system-ui, sans-serif;--mono-font: "JetBrains Mono", ui-monospace, monospace}html[data-theme=dark]{--paper: #100f0b;--paper-2: #181711;--ink: #f0eadc;--ink-2: #e0d9c7;--muted: #8a8472;--rule: #2a2820;--accent: #8db26b;--accent-ink: #a8c987;--shot-a: #242219;--shot-b: #1e1c14}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--body-font);font-weight:400;line-height:1.5;-webkit-font-smoothing:antialiased;font-feature-settings:"ss01","ss02","cv11";transition:background .35s ease,color .35s ease}::selection{background:var(--accent);color:var(--paper)}a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:0 auto;padding:0 40px}@media (max-width: 640px){.wrap{padding:0 22px}}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='140' height='140'><filter id='n'><feTurbulence baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .06 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}html[data-theme=dark] body:after{mix-blend-mode:screen;opacity:calc(.35 * .57)}nav.top{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:color-mix(in oklab,var(--paper) 82%,transparent);border-bottom:1px solid color-mix(in oklab,var(--rule) 14%,transparent)}nav.top .row{display:flex;align-items:center;justify-content:space-between;height:68px}.mark{font-family:var(--display-font);font-size:26px;letter-spacing:.005em;display:flex;align-items:center;gap:10px;white-space:nowrap;color:var(--ink)}.mark .dot{width:7px;height:7px;border-radius:50%;background:var(--accent);display:inline-block;box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent);flex-shrink:0}.nav-links{display:flex;gap:28px;align-items:center}.nav-links a{color:var(--ink-2);font-size:14px;font-weight:500;position:relative;transition:color .2s ease}.nav-links a:after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.nav-links a:hover{color:var(--ink)}.nav-links a:hover:after{transform:scaleX(1)}.nav-links .cta{background:var(--ink);color:var(--paper);padding:9px 16px;border-radius:999px;transition:background .2s ease,transform .2s ease}.nav-links .cta:after{display:none}.nav-links .cta:hover{transform:translateY(-1px)}.theme-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid color-mix(in oklab,var(--rule) 22%,transparent);background:transparent;color:var(--ink-2);width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,transform .2s}.theme-btn:hover{border-color:var(--ink);color:var(--ink);transform:rotate(20deg)}.theme-btn svg{width:16px;height:16px}.sun{display:none}html[data-theme=dark] .sun{display:block}html[data-theme=dark] .moon{display:none}.kbd-hint{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono-font);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.kbd-hint kbd{font-family:var(--mono-font);border:1px solid color-mix(in oklab,var(--rule) 30%,transparent);padding:2px 6px;border-radius:4px;font-size:10px;color:var(--ink-2)}@media (max-width: 820px){.kbd-hint{display:none}}@media (max-width: 720px){.nav-links{gap:18px}.nav-links a:not(.cta){display:none}.theme-btn{display:inline-flex}}.issue{display:flex;justify-content:space-between;align-items:center;padding:22px 0 18px;font-family:var(--mono-font);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.issue .cc{color:var(--ink-2);font-weight:500}.issue .dot{display:inline-block;width:4px;height:4px;background:var(--accent);border-radius:50%;margin:0 10px;transform:translateY(-2px)}@media (max-width: 640px){.issue>*:nth-child(2),.issue>*:nth-child(3){display:none}}.hero{display:grid;grid-template-columns:1fr 300px;gap:56px;align-items:end;padding:6px 0 40px;border-bottom:1px solid color-mix(in oklab,var(--rule) 22%,transparent)}@media (max-width: 900px){.hero{grid-template-columns:1fr;gap:28px}}h1.headline{font-family:var(--display-font);font-weight:400;font-size:clamp(64px,11vw,168px);line-height:.92;letter-spacing:-.015em;margin:0;color:var(--ink);text-wrap:pretty}h1.headline .line{display:block}h1.headline em{font-style:italic;color:var(--accent)}.lede{max-width:520px;font-size:17px;line-height:1.55;color:var(--ink-2);margin-top:28px;text-wrap:pretty}.lede strong{font-weight:600;color:var(--ink)}.code-card{background:#16140f;border-radius:4px;padding:24px 22px 28px;font-family:var(--mono-font);font-size:12px;line-height:1.85;color:#a8b5c8;align-self:center;-webkit-user-select:none;user-select:none}.code-card .cc-kw{color:#c792ea}.code-card .cc-var{color:#82aaff}.code-card .cc-op{color:#89ddff}.code-card .cc-str{color:#c3e88d}.code-card .cc-arr{color:#ffcb6b}.code-card .cc-cmt{color:#546e7a;font-style:italic}.code-card .cc-key{color:#a8b5c8}@media (max-width: 900px){.code-card{font-size:11px}}@media (max-width: 640px){.code-card{display:none}}.reveal{opacity:0;transform:translateY(14px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:.05s}.reveal.d2{transition-delay:.15s}.reveal.d3{transition-delay:.25s}.reveal.d4{transition-delay:.35s}@media (prefers-reduced-motion: reduce){.reveal,.reveal.in{opacity:1;transform:none;transition:none}}.rail{display:grid;grid-template-columns:repeat(4,1fr);gap:40px;padding:28px 0;border-bottom:1px solid color-mix(in oklab,var(--rule) 22%,transparent)}@media (max-width: 820px){.rail{grid-template-columns:repeat(2,1fr);gap:24px}}.rail .k{font-family:var(--mono-font);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}.rail .v{font-family:var(--display-font);font-size:26px;line-height:1.15;color:var(--ink);font-weight:400}.rail .v .sub{font-family:var(--body-font);font-size:13px;color:var(--muted);display:block;margin-top:2px;letter-spacing:0}section.block{padding:84px 0 24px}.sec-kicker{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--mono-font);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:14px}.sec-kicker .n{color:var(--accent)}h2.sec{font-family:var(--display-font);font-weight:400;font-size:clamp(44px,6vw,76px);letter-spacing:-.012em;line-height:1;margin:0 0 8px}h2.sec em{font-style:italic;color:var(--accent)}.sec-sub{font-size:16px;color:var(--muted);max-width:640px;margin:0 0 38px;text-wrap:pretty}.work{display:grid;grid-template-columns:repeat(2,1fr);gap:52px 44px}@media (max-width: 820px){.work{grid-template-columns:1fr;gap:44px}}.case{min-width:0}.case{cursor:pointer;display:block;color:inherit;transition:transform .4s ease}button.case{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;padding:0;font:inherit;text-align:left;width:100%}.case:hover{transform:translateY(-2px)}.case .shot{aspect-ratio:16 / 10;background:repeating-linear-gradient(135deg,var(--shot-a) 0 14px,var(--shot-b) 14px 28px);border:1px solid color-mix(in oklab,var(--rule) 22%,transparent);border-radius:2px;overflow:hidden;position:relative;transition:transform .55s cubic-bezier(.2,.7,.2,1)}.case:hover .shot{transform:scale(1.01)}.case .shot:before{content:attr(data-label);position:absolute;inset:auto 0 0 0;padding:12px 14px;font-family:var(--mono-font);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.case .meta{display:flex;justify-content:space-between;font-family:var(--mono-font);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:16px}.case .meta .num{color:var(--accent)}.case h3{font-family:var(--display-font);font-weight:400;font-size:clamp(28px,3vw,36px);line-height:1.05;letter-spacing:-.01em;margin:6px 0 10px;text-wrap:balance}.case p{font-size:15px;line-height:1.55;color:var(--ink-2);margin:0;max-width:46ch}.case .stack{margin-top:14px;display:flex;gap:16px;flex-wrap:wrap;font-family:var(--mono-font);font-size:11px;color:var(--muted)}.case .stack span{display:inline-flex;align-items:center;gap:6px}.case .stack span:before{content:"·";color:var(--accent)}.case .read{margin-top:16px;display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--ink);position:relative}.case .read:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:currentColor}.case .read .arr{display:inline-block;transition:transform .25s ease}.case:hover .read .arr{transform:translate(4px)}.exp{display:grid;gap:0}.exp .row{display:grid;grid-template-columns:160px 1fr 160px;gap:28px;align-items:baseline;padding:28px 0;border-top:1px solid color-mix(in oklab,var(--rule) 22%,transparent);transition:transform .3s ease;will-change:transform}.exp .row:last-child{border-bottom:1px solid color-mix(in oklab,var(--rule) 22%,transparent)}.exp .row:hover{transform:translate(8px)}.exp .row .co{font-family:var(--display-font);font-size:32px;line-height:1;letter-spacing:-.01em}.exp .row .body{font-size:15px;line-height:1.55;color:var(--ink-2);max-width:62ch}.exp .row .body .tag{display:block;font-family:var(--mono-font);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:6px}.exp .row .date{text-align:right;font-family:var(--mono-font);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}@media (max-width: 820px){.exp .row{grid-template-columns:1fr;gap:6px}.exp .row .date{text-align:left}}.stack-groups{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-bottom:24px}@media (max-width: 820px){.stack-groups{grid-template-columns:1fr;gap:28px}}.stack-groups h4{font-family:var(--mono-font);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 12px;font-weight:500}.stack-cloud{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid color-mix(in oklab,var(--rule) 22%,transparent);border-radius:999px;font-size:13px;color:var(--ink-2);background:transparent;transition:background .2s ease,color .2s ease,border-color .2s ease}.chip:before{content:"";width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.7}.chip:hover{border-color:var(--ink);color:var(--ink);background:color-mix(in oklab,var(--ink) 4%,var(--paper))}.contact{padding:72px 0 48px;border-top:1px solid color-mix(in oklab,var(--rule) 22%,transparent)}.contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:56px;align-items:end}@media (max-width: 820px){.contact-grid{grid-template-columns:1fr;gap:36px}}.contact h2{font-family:var(--display-font);font-weight:400;font-size:clamp(56px,8vw,108px);line-height:.95;letter-spacing:-.015em;margin:0 0 20px}.contact h2 em{font-style:italic;color:var(--accent)}.contact .p{max-width:50ch;color:var(--ink-2);font-size:16px;line-height:1.6}.contact-links{display:grid;grid-template-columns:1fr;gap:0;min-width:0}.contact-links a{display:grid;grid-template-columns:30px minmax(0,1fr) auto;gap:18px;align-items:center;padding:22px 4px;border-top:1px solid color-mix(in oklab,var(--rule) 22%,transparent);color:var(--ink);font-family:var(--display-font);font-size:26px;transition:transform .25s ease,color .25s ease;will-change:transform}.contact-links a:last-child{border-bottom:1px solid color-mix(in oklab,var(--rule) 22%,transparent)}.contact-links a:hover{transform:translate(14px);color:var(--accent)}@media (max-width: 640px){.contact-links a{font-size:18px;gap:12px;padding:18px 4px}}.contact-links .k{font-family:var(--mono-font);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.contact-links .arr{font-family:var(--body-font);font-size:14px;color:var(--muted);transition:transform .25s,color .25s}.contact-links a:hover .arr{transform:translate(6px);color:var(--accent)}.case .shot img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block}.case .shot.phone{background:#0c0b09;display:flex;align-items:center;justify-content:center;overflow:visible}.case .shot.phone img{width:auto;height:88%;aspect-ratio:9 / 19.5;object-fit:cover;object-position:center top;border-radius:26px;outline:7px solid #1e1d1a;outline-offset:0;box-shadow:0 0 0 1.5px #3a3834,0 24px 48px #0000008c;transform:none!important}.case:hover .shot.phone img{box-shadow:0 0 0 1.5px #3a3834,0 32px 60px #000000a6}.case .shot{overflow:hidden}.case:hover .shot{transform:none}.case:hover .shot img{transform:scale(1.02)}.case .shot img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.case .shot.terminal{background:#0d0c09;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;padding:0 32px}.case .shot.terminal:before{display:none}.case .shot.terminal .term{font-family:var(--mono-font);font-size:12px;line-height:2;color:#8a9ab0;margin:0;white-space:pre;letter-spacing:.01em}.case .shot.terminal .term .t-prompt{color:#8db26b}.case .shot.terminal .term .t-ok{color:#c3e88d}.case .shot.terminal .term .t-dim{color:#546e7a;font-style:italic}.case .shot.terminal .term .t-name{color:#82aaff}.case .shot.terminal .term .t-time{color:#ffcb6b}footer{padding:40px 0 56px;border-top:1px solid color-mix(in oklab,var(--rule) 30%,transparent);font-family:var(--mono-font);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}footer .footer-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;width:100%}footer a{color:var(--ink-2)}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}.modal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in oklab,var(--ink) 72%,transparent);opacity:0;transition:opacity .22s ease;will-change:opacity}.modal.open .modal-scrim{opacity:1}.modal-card{position:relative;z-index:1;width:min(720px,100%);max-height:calc(100vh - 48px);background:var(--paper);color:var(--ink);border:1px solid var(--rule);border-radius:6px;box-shadow:0 30px 80px #00000059,0 8px 24px #0000002e;display:flex;flex-direction:column;transform:translateY(12px) scale(.985);opacity:0;transition:transform .28s cubic-bezier(.2,.7,.2,1),opacity .22s ease;will-change:transform,opacity}.modal.open .modal-card{transform:none;opacity:1}.modal-head{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;padding:30px 30px 20px;border-bottom:1px solid var(--rule);flex-shrink:0}.modal-kicker{font-family:var(--mono-font);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:10px}.modal-card h3{font-family:var(--display-font);font-weight:400;font-size:42px;line-height:1;letter-spacing:-.012em;margin:0 0 10px}.modal-sub{font-size:14px;line-height:1.55;color:var(--ink-2);margin:0;max-width:50ch}.modal-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:1px solid var(--rule);color:var(--ink-2);width:34px;height:34px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .2s,color .2s,transform .2s;flex-shrink:0}.modal-close:hover{border-color:var(--ink);color:var(--ink);transform:rotate(90deg)}.hub-groups{padding:8px 30px 20px;overflow-y:auto;flex:1 1 auto}.hub-groups section{padding:18px 0;border-bottom:1px solid color-mix(in oklab,var(--rule) 50%,transparent)}.hub-groups section:last-child{border-bottom:none}.hub-groups h4{font-family:var(--mono-font);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-weight:500}.hub-list{list-style:none;margin:0;padding:0}.hub-list a{display:grid;grid-template-columns:32px 1fr auto 24px;gap:14px;align-items:center;padding:12px 4px;border-top:1px solid color-mix(in oklab,var(--rule) 30%,transparent);color:var(--ink);transition:transform .25s ease,color .2s ease;text-decoration:none;will-change:transform}.hub-list li:first-child a{border-top:none}.hub-list a:hover{transform:translate(10px);color:var(--accent)}.hub-list .k{font-family:var(--mono-font);font-size:10px;letter-spacing:.14em;color:var(--muted)}.hub-list .n{font-family:var(--display-font);font-size:22px;line-height:1.1}.hub-list .d{font-size:12px;color:var(--muted);text-align:right}.hub-list .arr{font-size:14px;color:var(--muted);text-align:right;transition:transform .2s,color .2s}.hub-list a:hover .arr{transform:translate(4px,-4px);color:var(--accent)}.hub-list .hub-row-static{display:grid;grid-template-columns:32px 1fr auto;gap:14px;align-items:center;padding:12px 4px;border-top:1px solid color-mix(in oklab,var(--rule) 30%,transparent);color:var(--muted);opacity:.6}.modal-foot{display:flex;justify-content:space-between;gap:14px;padding:14px 30px 18px;border-top:1px solid var(--rule);font-family:var(--mono-font);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);flex-shrink:0}.modal-foot kbd{font-family:var(--mono-font);border:1px solid color-mix(in oklab,var(--rule) 30%,transparent);padding:2px 6px;border-radius:4px;font-size:10px;color:var(--ink-2);margin-right:6px}@media (max-width: 640px){.modal{padding:0}.modal-card{border-radius:0;max-height:100vh;height:100vh;width:100%}.modal-card h3{font-size:32px}.hub-list a{grid-template-columns:28px 1fr 20px;gap:10px}.hub-list .d{display:none}.modal-foot{flex-direction:column;gap:6px}}@media (prefers-reduced-motion: reduce){.reveal,.modal-card,.modal-scrim{transition:none}}footer a:hover{color:var(--accent)}
