@font-face{font-family:Local Grotesk Display;src:url(/fonts/local/LocalGrotesk.woff2) format("woff2-variations");font-weight:400 700;font-display:swap}@font-face{font-family:Local Grotesk Text;src:url(/fonts/local/LocalGrotesk-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Local Grotesk Text;src:url(/fonts/local/LocalGrotesk-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Local Mono;src:url(/fonts/local/LocalMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Local Mono;src:url(/fonts/local/LocalMono-Bold.woff2) format("woff2");font-weight:700;font-display:swap}:root{color-scheme:dark;--bg: #0f0f0e;--bg-2: #161614;--ink: #dddcd5;--ink-2: #9a998f;--ink-3: #6a6961;--line: #24241f;--line-2: #393831;--tape: #8d9284;--tape-ink: #151613;--focus: #c4d8ac;--sans: "Local Grotesk Text", "Helvetica Neue", Arial, sans-serif;--display: "Local Grotesk Display", var(--sans);--mono: "Local Mono", ui-monospace, "SFMono-Regular", Menlo, monospace;--measure: 40rem;--gutter: 1.25rem;--grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)' opacity='.05'/%3E%3C/svg%3E")}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:clip}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg) var(--grain);color:var(--ink);font:400 1rem/1.65 var(--sans);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}main{flex:1}h1,h2,h3,p,ul,ol,figure,pre,blockquote{margin:0}ul,ol{padding:0}h1,h2,h3{font-family:var(--display);font-weight:600;letter-spacing:-.02em;line-height:1.25;text-wrap:balance}p{text-wrap:pretty}a{color:inherit;text-decoration:underline;text-decoration-color:var(--line-2);text-decoration-thickness:1px;text-underline-offset:.22em}a:hover{text-decoration-color:currentColor}code,pre,kbd,time{font-family:var(--mono);font-variant-ligatures:none}img,svg{max-width:100%;height:auto;display:block}::selection{background:var(--tape);color:var(--tape-ink)}:focus-visible{outline:1px solid var(--focus);outline-offset:3px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:var(--gutter);top:.75rem;padding:.25rem .5rem;background:var(--ink);color:var(--bg);z-index:10}.shell,.article-shell{width:100%;max-width:calc(var(--measure) + var(--gutter) * 2);margin-inline:auto;padding-inline:var(--gutter)}.tape,.section-head h2{position:relative;display:inline-block;padding:.22rem .85rem .18rem;background:var(--tape);color:var(--tape-ink);font:700 .6875rem/1.4 var(--mono);letter-spacing:.1em;text-transform:uppercase;clip-path:polygon(1.5% 6%,14% 2%,31% 5%,48% 1%,66% 4%,83% 2%,98.5% 5%,97% 22%,100% 38%,97.5% 55%,99.5% 74%,98% 96%,84% 98%,67% 95%,50% 99%,33% 96%,16% 99%,1% 95%,3% 76%,0 58%,2.5% 40%,.5% 22%);transform:rotate(-1.4deg);transform-origin:left center}.tape,.section-head h2{animation:boil-tape .6s steps(1) infinite;animation-delay:var(--d, 0s)}@keyframes boil-tape{0%{transform:rotate(var(--t0, -1.4deg)) translateY(0)}33.333%{transform:rotate(var(--t1, -.9deg)) translateY(-.5px);clip-path:polygon(.5% 4%,16% 6%,30% 2%,52% 5%,64% 1%,85% 5%,99% 3%,98% 25%,99.5% 41%,97% 60%,100% 77%,98.5% 95%,82% 97%,65% 99%,49% 95%,30% 98%,14% 96%,.5% 99%,2% 78%,.5% 55%,3% 37%,0 18%)}66.666%{transform:rotate(var(--t2, -1.8deg)) translateY(.5px);clip-path:polygon(2% 3%,12% 6%,34% 3%,45% 6%,69% 2%,80% 5%,99% 2%,96.5% 20%,99% 42%,98% 58%,100% 71%,97% 98%,86% 95%,70% 98%,53% 96%,36% 99%,18% 95%,2% 97%,.5% 79%,2% 61%,0 43%,2% 25%)}}.boil-word{display:inline-block;white-space:nowrap}.boil-letter{display:inline-block;font-weight:var(--w, 600);transform:translateY(var(--y0)) rotate(var(--r0)) scaleX(var(--s0))}.tape:after,.section-head h2:after{content:"";position:absolute;inset:0;background:linear-gradient(#ffffff26,transparent 45%,#00000014),repeating-linear-gradient(98deg,transparent 0 5px,#ffffff12 5px 6px);pointer-events:none}.site-header{padding-block:1.75rem 0}.header-inner,.footer-inner{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;flex-wrap:wrap}.brand{font-family:var(--display);font-weight:600;letter-spacing:-.02em;text-decoration:none}.primary-nav,.footer-links,.inline-links,.case-links{display:flex;flex-wrap:wrap;gap:.35rem 1.1rem;font:.8125rem/1.5 var(--mono)}.primary-nav a,.footer-links a{color:var(--ink-2);text-decoration:none}.primary-nav a:hover,.primary-nav a[aria-current=page],.footer-links a:hover{color:var(--ink)}.primary-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--tape)}.site-footer{margin-top:6rem;padding-block:1.25rem 2rem;color:var(--ink-3);font:.75rem/1.5 var(--mono)}.site-footer .shell{max-width:calc(var(--measure) + var(--gutter) * 2)}.footer-links{font-size:inherit}.hero .lede{margin-top:0}.hero,.page-head,.empty-state{padding-block:4.5rem 0}.hero h1,.page-head h1,.empty-state h1{font-size:1.5rem}.lede{margin-top:.75rem;color:var(--ink);max-width:34rem}.inline-links{margin-top:1.25rem}.section{margin-top:4rem}.section-head{margin-bottom:1.1rem}.section-head h2{font-weight:700}.page-head+.rows,.page-head+.posts,.page-head+.contact-list,.page-head+.section{margin-top:2.5rem}.posts,.rows,.contact-list{list-style:none}.post,.row,.contact-item{display:flex;align-items:baseline;gap:1.25rem;padding-block:.45rem;text-decoration:none}.post-date,.row-side,.contact-item .label{flex:none;color:var(--ink-3);font:.75rem/1.6 var(--mono)}.post-date{width:8.5rem}.post{gap:1rem}.post-title,.row-title{text-decoration:underline;text-decoration-color:transparent;text-underline-offset:.22em;text-decoration-thickness:1px}.post:hover .post-title,.row:hover .row-title{text-decoration-color:currentColor}.row-main{flex:1;min-width:0}.row-title{font-weight:700}.row-desc{color:var(--ink-2)}.row-main{display:grid;grid-template-columns:8.5rem 1fr;gap:1rem}.contact-item .label{width:6.25rem}.article-prose ul,.article-prose ol{margin-top:.6rem;padding-left:1.1rem}.article-prose li::marker{color:var(--ink-3)}.back-link{color:var(--ink-3);font:.75rem/1.5 var(--mono);text-decoration:none}.back-link:hover{color:var(--ink)}.case-head{padding-top:4.5rem}.case-head h1{margin-top:1.5rem;font-size:1.5rem}.case-links{margin-top:1.25rem}.case-body{margin-top:3rem}.case-section+.case-section{margin-top:2.25rem}.case-section h2{margin-bottom:.5rem;color:var(--ink-3);font:400 .75rem/1.5 var(--mono);letter-spacing:.08em;text-transform:uppercase}.case-section p+p{margin-top:1rem}.article-header{padding-top:4.5rem}.article-actions{display:flex;align-items:baseline;gap:1rem}.copy-page-button{padding:0;border:0;background:none;color:var(--ink-3);font:.75rem/1.5 var(--mono);cursor:pointer}.copy-page-button:hover{color:var(--ink)}.copy-page-status{color:var(--ink-2);font:.75rem/1.5 var(--mono)}.meta{margin-top:2rem;color:var(--ink-3);font:.75rem/1.5 var(--mono)}.article-header h1{margin-top:.5rem;font-size:clamp(1.6rem,4vw,2rem);letter-spacing:-.03em}.lead{margin-top:.85rem;color:var(--ink-2);font-size:1.0625rem}.article-prose{margin-top:3rem;font-size:1.0625rem;line-height:1.72}.article-prose>*+*{margin-top:1.25rem}.article-prose h2{margin-top:3.25rem;font-size:1.25rem}.article-prose h3{margin-top:2.25rem;font-size:1.0625rem}.article-prose strong{font-weight:700}.article-prose li+li{margin-top:.35rem}.article-prose code{font-size:.86em;padding:.08em .3em;background:var(--bg-2);border:1px solid var(--line)}.article-prose pre{padding:1rem 1.1rem;background:var(--bg-2);border:1px solid var(--line);overflow-x:auto;font-size:.8125rem;line-height:1.6}.article-prose pre code{padding:0;border:0;background:none;font-size:inherit}.article-prose blockquote{padding-left:1rem;border-left:2px solid var(--tape);color:var(--ink-2)}.article-prose figure{position:relative;margin-block:2.5rem}.article-prose figure:before{content:"";position:absolute;z-index:1;top:-.6rem;left:50%;width:5.5rem;height:1.3rem;background:linear-gradient(#ffffff26,transparent 45%,#00000014),repeating-linear-gradient(98deg,transparent 0 5px,#ffffff12 5px 6px),var(--tape);opacity:.85;clip-path:polygon(2% 8%,20% 3%,45% 7%,70% 2%,97% 6%,100% 30%,96% 55%,99% 80%,97% 97%,72% 94%,48% 99%,22% 95%,3% 98%,0 72%,4% 48%,0 24%);transform:translate(-50%) rotate(-2deg)}.article-prose figure img{width:100%}.article-prose figcaption{margin-top:.6rem;color:var(--ink-3);font:.75rem/1.55 var(--mono)}.article-prose table{display:block;overflow-x:auto;border-collapse:collapse;font-size:.875rem}.article-prose th,.article-prose td{padding:.35rem .9rem .35rem 0;text-align:left;vertical-align:top}.article-prose th{color:var(--ink-3);font:400 .75rem/1.5 var(--mono);border-bottom:1px solid var(--line-2)}.article-prose table code{white-space:nowrap}.article-prose hr{margin-block:3rem;border:0;border-top:1px dashed var(--line-2)}@media (max-width: 34rem){.hero,.page-head,.empty-state,.case-head,.article-header{padding-top:3rem}.row{flex-direction:column;gap:.1rem}.row-desc{display:block}.row-main{grid-template-columns:1fr;gap:0}.post{gap:.9rem}.post-date{width:auto}.entry-head{flex-direction:column;gap:.1rem}.spec{grid-template-columns:1fr;gap:0}}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}
