:root{--cream:#fafaf8;--paper:#f2f0ed;--white:#fff;--ink:#1a1816;--ink-2:#4a4642;--mute:#6b6560;--border:#ccc9c4;--line-strong:#8a8480;--teal:#7adcbc;--teal-ink:#1e7a5e;--purple:#b989ce;--danger:#b42318;--grad:linear-gradient(135deg, #7adcbc 0%, #b989ce 100%);--grad-ink:linear-gradient(135deg, #1e7a5e 0%, #7e4f96 100%);--bw:1.5px;--sh:3px 3px 0 var(--border);--sh-sm:2px 2px 0 var(--border);--sh-lift:0 8px 24px #00000014;--radius:18px;--radius-panel:24px;--bounce:cubic-bezier(.3, 1.6, .5, 1);--display:"Archivo Black", "Arial Black", Impact, sans-serif;--sans:"Space Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Space Mono", ui-monospace, SFMono-Regular, Menlo, monospace}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}body{background:var(--cream);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1.0625rem;line-height:1.6;overflow-x:clip}img,svg{max-width:100%;display:block}a{color:inherit}h1,h2,h3,h4{font-family:var(--display);letter-spacing:-.02em;margin:0;font-weight:400;line-height:1.02}p{margin:0}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.section--dark :focus-visible,.cta :focus-visible,.foot :focus-visible{outline-color:var(--teal)}.sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip{z-index:100;background:var(--ink);color:#fff;border-radius:8px;padding:8px 14px;font-weight:700;position:absolute;top:-60px;left:12px}.skip:focus{top:12px}.wrap{width:100%;max-width:1240px;margin:0 auto;padding:0 32px}.grad-text{background:var(--grad-ink);color:#0000;-webkit-background-clip:text;background-clip:text}.section--dark .grad-text,.cta .grad-text{background-image:var(--grad)}.btn{font-family:var(--sans);color:var(--ink);background:var(--paper);border:var(--bw) solid var(--border);box-shadow:var(--sh);cursor:pointer;overflow-wrap:anywhere;text-align:center;border-radius:12px;justify-content:center;align-items:center;gap:8px;max-width:100%;padding:12px 22px;font-size:1rem;font-weight:600;line-height:1.6;text-decoration:none;transition:transform .12s,box-shadow .12s,background .15s;display:inline-flex}.btn:hover{box-shadow:1px 1px 0 var(--border);transform:translate(1px,1px)}.btn:active{box-shadow:none;transform:translate(3px,3px)}.btn:disabled{opacity:.6;cursor:progress}.btn--lg{padding:15px 28px;font-size:1.05rem}.btn--sm{box-shadow:var(--sh-sm);padding:7px 14px;font-size:.9rem}.btn--teal{background:var(--teal);color:var(--ink);border-color:#0000}.btn--grad{background:var(--grad);color:var(--ink);border-color:#0000;font-weight:700}.btn--grad:hover{filter:brightness(1.05);box-shadow:none;transform:translate(1px,1px)}.btn--ghost{border-color:var(--border);color:var(--ink);background:0 0}.btn--ghost:hover{background:var(--paper);border-color:var(--ink-2)}.actions{flex-wrap:wrap;gap:14px;margin-top:40px;display:flex}.label{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;border:var(--bw) solid var(--border);background:var(--paper);color:var(--ink-2);border-radius:999px;margin-bottom:20px;padding:5px 12px;font-size:.75rem;font-weight:700;display:inline-block}.label--soft{background:var(--paper);border-color:var(--border)}.label--teal{border-color:var(--teal);color:var(--teal);background:#7adcbc2e}.tag{font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;background:var(--ink);color:#fff;border-radius:6px;padding:3px 9px;font-size:.7rem;font-weight:700;text-decoration:none;display:inline-block}.tag--outline{color:var(--ink-2);border:var(--bw) solid var(--border);background:0 0;border-radius:999px;padding:2px 10px}.hl{border:var(--bw) solid var(--border);border-radius:4px;padding:0 .15em;line-height:1.05;display:inline-block}.hl--grad{background:var(--grad);color:var(--ink);border-color:#0000;padding:0 .2em}.sticker{font-family:var(--display);letter-spacing:.01em;border:var(--bw) solid var(--border);box-shadow:var(--sh);white-space:nowrap;color:var(--ink);transition:transform .25s var(--bounce);border-radius:999px;padding:7px 14px;font-size:.95rem;display:inline-block;position:absolute}.sticker--paper{background:var(--paper);border-color:var(--border)}.card{border:var(--bw) solid var(--border);border-radius:var(--radius);background:var(--white);box-shadow:var(--sh);padding:28px 26px;transition:border-color .2s,box-shadow .2s}.card h3{margin-bottom:10px;font-size:1.35rem}.card p{color:var(--ink-2);font-weight:500;line-height:1.6}.section{padding:120px 0}.section--dark{background:var(--ink);color:#fff;border-top:var(--bw) solid var(--border);border-bottom:var(--bw) solid var(--border)}.section--tinted{background:var(--paper);border-top:var(--bw) solid var(--border);border-bottom:var(--bw) solid var(--border)}.head{max-width:760px;margin-bottom:64px}.head h2{font-size:clamp(2.2rem,5.2vw,4rem)}.head-lead{max-width:54ch;color:var(--ink-2);margin-top:20px;font-size:1.1rem;font-weight:500;line-height:1.65}.head--light .head-lead{color:#fff9}.head--light h2{color:#fff}.head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;max-width:none;display:flex}.head--row .head-lead{max-width:42ch;margin-top:0}.posts{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.top{z-index:50;background:var(--cream);border-bottom:var(--bw) solid var(--border);-webkit-backdrop-filter:blur(8px);position:sticky;top:0}.top-row{justify-content:space-between;align-items:center;gap:16px;min-height:72px;display:flex}.nav ul{align-items:center;gap:4px;display:flex}.nav a:not(.btn){color:var(--ink-2);border-radius:10px;padding:7px 12px;font-weight:600;text-decoration:none;transition:color .15s,background .15s;display:inline-block}.nav a:not(.btn):hover,.nav a:not(.btn)[aria-current=page]{color:var(--ink);background:var(--paper)}.nav a:not(.btn)[aria-current=page]{box-shadow:inset 0 0 0 var(--bw) var(--border)}.menu-btn{font:600 .9rem var(--sans);color:var(--ink);background:var(--paper);border:var(--bw) solid var(--border);box-shadow:var(--sh);cursor:pointer;border-radius:10px;align-items:center;gap:10px;padding:8px 12px;display:none}.menu-bars,.menu-bars:before,.menu-bars:after{background:var(--ink);width:16px;height:2px;transition:transform .2s;display:block;position:relative}.menu-bars:before,.menu-bars:after{content:"";position:absolute;left:0}.menu-bars:before{top:-5px}.menu-bars:after{top:5px}.menu-btn[aria-expanded=true] .menu-bars{background:0 0}.menu-btn[aria-expanded=true] .menu-bars:before{transform:translateY(5px)rotate(45deg)}.menu-btn[aria-expanded=true] .menu-bars:after{transform:translateY(-5px)rotate(-45deg)}.foot{background:var(--ink);color:#ffffffb3;border-top:var(--bw) solid var(--border);padding:80px 0 48px}.foot-grid{grid-template-columns:1.4fr .8fr 1.2fr 1fr;gap:48px;display:grid}.foot-brand p{max-width:34ch;margin-top:16px;font-size:.92rem;line-height:1.6}.foot-brand .foot-loc{font-family:var(--mono);color:var(--teal);opacity:.8;margin-top:8px;font-size:.78rem}.foot-h{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;color:#ffffff8c;margin-bottom:16px;font-size:.72rem;font-weight:700}.foot ul{gap:8px;display:grid}.foot ul a{color:#fff9;overflow-wrap:anywhere;font-size:.92rem;text-decoration:none;transition:color .15s}.foot ul a:hover{color:#fff}.foot-bottom{border-top:var(--bw) solid #ffffff14;font-family:var(--mono);color:#ffffff8c;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:56px;padding-top:20px;font-size:.76rem;display:flex}.prose{max-width:68ch;color:var(--ink);font-size:1.1rem;line-height:1.72}.prose>*+*{margin-top:1.15em}.prose h2{margin-top:2.1em;font-size:clamp(1.6rem,3vw,2.1rem);line-height:1.1}.prose h3{margin-top:1.8em;font-size:1.3rem;line-height:1.15}.prose h4{margin-top:1.6em;font-size:1.1rem;line-height:1.2}.prose h2+*,.prose h3+*,.prose h4+*{margin-top:.6em}.prose>:first-child{margin-top:0}.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--teal-ink);text-underline-offset:3px;font-weight:600;text-decoration-thickness:2px}.prose a:hover{color:var(--teal-ink)}.prose strong{font-weight:700}.prose ul,.prose ol{padding-left:1.4em}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li+li,.prose li>ul,.prose li>ol{margin-top:.45em}.prose ul ::marker{color:var(--teal-ink)}.prose ol ::marker{font-family:var(--mono);color:var(--ink-2);font-size:.85em;font-weight:700}.prose blockquote{background:var(--paper);border:var(--bw) solid var(--border);box-shadow:var(--sh);border-radius:12px;margin:1.8em 0;padding:22px 26px 22px 30px;font-size:1.15rem;font-weight:500;line-height:1.6;position:relative;overflow:hidden}.prose blockquote:before{content:"";background:var(--grad);width:6px;position:absolute;top:0;bottom:0;left:0}.prose blockquote>*+*{margin-top:.8em}.prose code{font-family:var(--mono);background:var(--paper);border:var(--bw) solid var(--border);border-radius:6px;padding:1px 6px;font-size:.86em;font-weight:400}.prose pre{background:var(--ink);color:#fff;border-radius:12px;padding:20px 22px;font-size:.88rem;line-height:1.6;overflow-x:auto}.prose pre code{font-size:inherit;color:inherit;background:0 0;border:0;padding:0}.prose table{border-collapse:separate;border-spacing:0;border:var(--bw) solid var(--border);background:var(--white);border-radius:12px;width:100%;margin:1.8em 0;font-size:.95rem;line-height:1.5;overflow:hidden}.prose th,.prose td{text-align:left;vertical-align:top;padding:12px 16px}.prose td{border-top:var(--bw) solid var(--border)}.prose th{background:var(--paper);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.75rem;font-weight:700}.prose img{border:var(--bw) solid var(--border);border-radius:var(--radius);height:auto}.prose hr{border:0;border-top:var(--bw) solid var(--border);margin:2.6em 0}@media (width<=1060px){.foot-grid{grid-template-columns:1fr 1fr}}@media (width<=960px){.posts{grid-template-columns:1fr;max-width:600px}}@media (width<=820px){.menu-btn{display:inline-flex}.nav{background:var(--cream);border-bottom:var(--bw) solid var(--border);padding:16px 24px 24px;display:none;position:absolute;top:100%;left:0;right:0}.nav.is-open{display:block}.nav ul{flex-direction:column;align-items:stretch;gap:8px}.nav a:not(.btn){background:var(--paper);border:var(--bw) solid var(--border);border-radius:10px;padding:12px 16px;font-size:1rem}.nav a:not(.btn)[aria-current=page]{border-color:var(--ink-2);box-shadow:none}.nav .btn{width:100%}}@media (width<=640px){.wrap{padding:0 18px}.section{padding:80px 0}.actions .btn{width:100%}.foot-grid,.posts{grid-template-columns:1fr}.prose table{display:block;overflow-x:auto}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.logo[data-astro-cid-f7espo7c]{align-items:center;gap:10px;text-decoration:none;display:inline-flex}.logo-mark[data-astro-cid-f7espo7c]{width:38px;height:38px;font-family:var(--display);color:var(--ink);background:var(--grad);border:var(--bw) solid var(--border);box-shadow:var(--sh);transition:transform .25s var(--bounce);border-radius:10px;place-items:center;font-size:1.25rem;display:grid;transform:rotate(-5deg)}.logo[data-astro-cid-f7espo7c]:hover .logo-mark[data-astro-cid-f7espo7c]{transform:rotate(5deg)scale(1.05)}.inverted[data-astro-cid-f7espo7c] .logo-mark[data-astro-cid-f7espo7c]{box-shadow:none}.logo-text[data-astro-cid-f7espo7c]{font-family:var(--display);letter-spacing:-.02em;font-size:1.2rem}.logo-text[data-astro-cid-f7espo7c] span[data-astro-cid-f7espo7c]{background:var(--grad);color:#0000;-webkit-background-clip:text;background-clip:text;margin-left:1px}
