@font-face{font-family:Bricolage Grotesque;font-style:normal;font-weight:400 800;font-stretch:100%;font-display:swap;src:url(/fonts/bricolagegrotesque-0.woff2) format("woff2");unicode-range:U+0000-00FF,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:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(/fonts/instrumentsans-0.woff2) format("woff2");unicode-range:U+0000-00FF,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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrainsmono-0.woff2) format("woff2");unicode-range:U+0000-00FF,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:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/jetbrainsmono-0.woff2) format("woff2");unicode-range:U+0000-00FF,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}:root{--paper: #f1ede4;--paper-2: #e8e3d7;--paper-3: #faf8f3;--ink: #14171a;--ink-2: #3b4046;--stone: #63666a;--line: #d6d0c3;--signal: #e8501e;--signal-deep: #b33a0f;--signal-wash: rgba(232, 80, 30, .1);--font-display: "Bricolage Grotesque", system-ui, sans-serif;--font-body: "Instrument Sans", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--step--1: clamp(.78rem, .74rem + .2vw, .9rem);--step-0: clamp(1rem, .95rem + .25vw, 1.15rem);--step-1: clamp(1.25rem, 1.1rem + .7vw, 1.6rem);--step-2: clamp(1.7rem, 1.4rem + 1.5vw, 2.6rem);--step-3: clamp(2.2rem, 1.6rem + 3vw, 4rem);--step-4: clamp(3rem, 1.8rem + 6vw, 6.5rem);--step-hero: clamp(3.4rem, 1rem + 11vw, 11rem);--gutter: clamp(1.25rem, 4vw, 5rem);--maxw: 1440px;--rail: clamp(1.25rem, 4vw, 5rem);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur: .6s;--z-canvas: 0;--z-content: 10;--z-rail: 20;--z-header: 40;--z-cursor: 60;--z-preloader: 100;color-scheme:light}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;font-weight:400;overflow-x:hidden;-moz-osx-font-smoothing:grayscale}body[data-cursor=on]{cursor:none}img,iframe{display:block;max-width:100%}a{color:inherit;text-decoration:none}::selection{background:var(--signal);color:var(--paper)}:focus-visible{outline:2px solid var(--signal);outline-offset:3px;border-radius:2px}.shell{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{font-family:var(--font-mono);font-size:clamp(.82rem,.74rem + .3vw,.98rem);letter-spacing:.2em;text-transform:uppercase;color:var(--ink-2)}.mono{font-family:var(--font-mono);letter-spacing:.04em}.display{font-family:var(--font-display);font-weight:380;line-height:.96;letter-spacing:-.015em;font-optical-sizing:auto}.serif-italic{font-style:italic;font-weight:340}.section{position:relative;z-index:var(--z-content);padding-block:clamp(5rem,12vw,11rem)}.section--alt{background:var(--paper-2)}.rule{height:1px;width:100%;background:var(--line);border:0}.link{position:relative;display:inline-block;color:var(--ink)}.link:after{content:"";position:absolute;left:0;bottom:-2px;height:1.5px;width:100%;background:var(--signal);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease-out)}.link:hover:after,.link:focus-visible:after{transform:scaleX(1);transform-origin:left}.reveal{transition:opacity .9s var(--ease-out),transform .9s var(--ease-out)}.reveals-on .reveal:not(.is-in){opacity:0;transform:translateY(24px);will-change:opacity,transform}.reveal.is-in{opacity:1;transform:none}.line-mask{display:block;overflow:hidden}.line-mask>span{display:block}.reveals-on .line-mask>span{transform:translateY(110%);transition:transform .8s var(--ease-out)}.reveals-on [data-lines].is-in .line-mask>span{transform:none}.reveals-on [data-lines].is-in .line-mask:nth-child(2)>span{transition-delay:.08s}.reveals-on [data-lines].is-in .line-mask:nth-child(3)>span{transition-delay:.16s}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.line-mask>span{transform:none}}.blog{background:var(--paper);color:var(--ink);min-height:100vh;display:flex;flex-direction:column}.blog .mono{font-family:var(--font-mono)}.blog-shell{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gutter)}.blog-head{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--paper) 86%,transparent);-webkit-backdrop-filter:saturate(140%) blur(10px);backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--line)}.blog-head-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:64px}.blog-mark{font-size:var(--step--1);letter-spacing:.02em;color:var(--ink);text-decoration:none;font-weight:700}.blog-mark-sub{color:var(--stone);font-weight:400;margin-left:.4em}.blog-nav{display:flex;gap:clamp(.9rem,2.5vw,1.8rem);font-size:var(--step--1)}.blog-nav-link{color:var(--ink-2);text-decoration:none;transition:color .2s var(--ease-out)}.blog-nav-link:hover{color:var(--signal-deep)}.blog-main{flex:1 0 auto;padding-block:clamp(2.5rem,6vw,5rem) clamp(4rem,9vw,7rem)}.eyebrow.mono,.guides-hero .eyebrow{color:var(--stone);text-transform:uppercase;letter-spacing:.18em;font-size:var(--step--1)}.guides-hero .eyebrow a{color:inherit}.guides-hero{max-width:46rem;margin-bottom:clamp(2rem,5vw,3.5rem)}.guides-hero-title{font-family:var(--font-display);font-weight:400;font-size:var(--step-3);line-height:1.02;letter-spacing:-.02em;margin-top:.5rem}.guides-hero-lede{color:var(--ink-2);font-size:var(--step-1);line-height:1.5;margin-top:1rem;max-width:40rem}.guides-tagbar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .9rem;font-size:var(--step--1);padding-bottom:clamp(1.5rem,4vw,2.5rem);margin-bottom:clamp(1.5rem,4vw,2.5rem);border-bottom:1px solid var(--line)}.guides-tagbar-label{color:var(--stone);text-transform:uppercase;letter-spacing:.16em;margin-right:.4rem}.guides-tagbar a{color:var(--ink-2);text-decoration:none;border:1px solid var(--line);padding:.3em .7em;border-radius:999px;transition:color .2s,border-color .2s,background .2s}.guides-tagbar a:hover{color:var(--signal-deep);border-color:var(--signal);background:var(--signal-wash)}.guides-tagbar-count{color:var(--stone)}.guides-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,22rem),1fr));gap:clamp(1.5rem,4vw,2.75rem)}.guide-card{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:1.4rem}.guide-card-cover{display:block;overflow:hidden;border-radius:6px;margin-bottom:1.1rem;aspect-ratio:16 / 9;background:var(--paper-3)}.guide-card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease-out)}.guide-card:hover .guide-card-cover img{transform:scale(1.03)}.guide-card-meta{display:flex;gap:.5rem;color:var(--stone);font-size:var(--step--1)}.guide-card-title{font-family:var(--font-display);font-weight:400;font-size:var(--step-2);line-height:1.1;letter-spacing:-.015em;margin:.5rem 0 .6rem}.guide-card-title a{color:var(--ink);text-decoration:none;background-image:linear-gradient(var(--signal),var(--signal));background-size:0% 1px;background-position:0 100%;background-repeat:no-repeat;transition:background-size .4s var(--ease-out)}.guide-card-title a:hover{background-size:100% 1px;color:var(--signal-deep)}.guide-card-desc{color:var(--ink-2);line-height:1.55}.guide-card-tags{display:flex;flex-wrap:wrap;gap:.4rem .8rem;margin-top:.9rem;font-size:var(--step--1);list-style:none}.guide-card-tags a{color:var(--stone);text-decoration:none}.guide-card-tags a:hover{color:var(--signal-deep)}.guides-empty{color:var(--ink-2);font-size:var(--step-1)}.guides-empty a{color:var(--signal-deep)}.post-crumbs{display:flex;gap:.5rem;align-items:center;font-size:var(--step--1);color:var(--stone);margin-bottom:clamp(1.5rem,4vw,2.5rem)}.post-crumbs a{color:var(--ink-2);text-decoration:none}.post-crumbs a:hover{color:var(--signal-deep)}.post-head{max-width:46rem}.post-meta{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--stone);font-size:var(--step--1)}.post-title{font-family:var(--font-display);font-weight:400;font-size:var(--step-3);line-height:1.02;letter-spacing:-.022em;margin:.7rem 0}.post-lede{color:var(--ink-2);font-size:var(--step-1);line-height:1.5}.post-tags{display:flex;flex-wrap:wrap;gap:.4rem .9rem;margin-top:1.1rem;font-size:var(--step--1);list-style:none}.post-tags a{color:var(--stone);text-decoration:none}.post-tags a:hover{color:var(--signal-deep)}.post-cover{margin:clamp(1.8rem,5vw,3rem) 0 0;border-radius:8px;overflow:hidden;background:var(--paper-3)}.post-cover img{width:100%;display:block}.post-layout{display:grid;grid-template-columns:1fr;gap:clamp(2rem,5vw,3.5rem);margin-top:clamp(2rem,5vw,3.25rem)}@media (min-width: 1000px){.post-layout{grid-template-columns:15rem minmax(0,1fr)}.post-toc{order:2}.post-body{order:1}}.post-toc{align-self:start;position:sticky;top:88px;font-size:var(--step--1)}.post-toc-title{text-transform:uppercase;letter-spacing:.16em;color:var(--stone);margin-bottom:.7rem}.post-toc ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;border-left:1px solid var(--line)}.post-toc li{padding-left:.9rem}.post-toc li[data-depth="3"]{padding-left:1.8rem}.post-toc a{color:var(--ink-2);text-decoration:none;transition:color .2s}.post-toc a:hover{color:var(--signal-deep)}.post-body{max-width:44rem;font-size:var(--step-0);line-height:1.75;color:var(--ink)}.post-body>*+*{margin-top:1.15em}.post-body h2,.post-body h3,.post-body h4{font-family:var(--font-display);font-weight:500;line-height:1.15;letter-spacing:-.015em;scroll-margin-top:88px}.post-body h2{font-size:var(--step-2);margin-top:2.2em}.post-body h3{font-size:var(--step-1);margin-top:1.8em}.post-body h4{font-size:var(--step-0);margin-top:1.5em}.post-body a{color:var(--signal-deep);text-decoration:underline;text-underline-offset:.18em;text-decoration-thickness:1px}.post-body strong{font-weight:700}.post-body ul,.post-body ol{padding-left:1.4em}.post-body li+li{margin-top:.4em}.post-body blockquote{border-left:3px solid var(--signal);padding:.2em 0 .2em 1.1em;color:var(--ink-2);font-style:italic}.post-body hr{border:0;border-top:1px solid var(--line);margin:2.4em 0}.post-body img{border-radius:6px}.post-body table{width:100%;border-collapse:collapse;font-size:var(--step--1)}.post-body th,.post-body td{border:1px solid var(--line);padding:.6em .8em;text-align:left}.post-body th{background:var(--paper-3)}.post-body :not(pre)>code{font-family:var(--font-mono);font-size:.88em;background:var(--paper-3);border:1px solid var(--line);padding:.12em .4em;border-radius:4px}.post-body pre{font-family:var(--font-mono);font-size:var(--step--1);line-height:1.6;background:var(--ink);color:#e9e5db;padding:1.1rem 1.3rem;border-radius:8px;overflow-x:auto}.post-body pre code{font-family:inherit;background:none;border:0;padding:0}.hljs-comment,.hljs-quote{color:#8a8472;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-built_in{color:#9db4ff}.hljs-string,.hljs-attr,.hljs-template-tag{color:#b9e6c8}.hljs-number,.hljs-literal{color:#f0c987}.hljs-title,.hljs-section,.hljs-name{color:#f4f1e8;font-weight:600}.hljs-type,.hljs-class .hljs-title{color:#c9b3ff}.hljs-variable,.hljs-meta{color:#d7d2c4}.hljs-deletion{color:#ff9a9a}.hljs-addition{color:#b9e6c8}.post-related{border-top:1px solid var(--line);margin-top:clamp(3rem,7vw,5rem);padding-top:1.6rem;max-width:44rem}.post-related-title{font-family:var(--font-display);font-weight:400;font-size:var(--step-1);margin-bottom:1rem}.post-related ul{list-style:none;display:flex;flex-direction:column;gap:.8rem}.post-related li{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line);padding-bottom:.8rem}.post-related a{color:var(--ink);text-decoration:none;font-size:var(--step-0)}.post-related a:hover{color:var(--signal-deep)}.post-related-meta{color:var(--stone);font-size:var(--step--1);white-space:nowrap}.blog-foot{border-top:1px solid var(--line);background:var(--paper-2);padding-block:clamp(2.5rem,6vw,4rem)}.blog-foot-inner{display:flex;flex-direction:column;gap:1.4rem;font-size:var(--step--1)}.blog-foot-cta{font-family:var(--font-display);font-size:var(--step-2);color:var(--ink);text-decoration:none}.blog-foot-cta:hover{color:var(--signal-deep)}.blog-foot-socials{display:flex;flex-wrap:wrap;gap:1.2rem}.blog-foot-socials a{color:var(--ink-2);text-decoration:none}.blog-foot-socials a:hover{color:var(--signal-deep)}.blog-foot-base{display:flex;justify-content:space-between;gap:1rem;color:var(--stone);border-top:1px solid var(--line);padding-top:1.2rem}.blog-foot-home{color:var(--ink-2);text-decoration:none}.blog-foot-home:hover{color:var(--signal-deep)}.blog-404{max-width:40rem}.blog-404-actions{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:1.6rem}.blog-404-actions a{color:var(--signal-deep);text-decoration:none}
