@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-vietnamese-wdth-normal-JICEILHD.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-latin-ext-wdth-normal-GPGIT4GY.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url("./media/archivo-latin-wdth-normal-R3FITQA7.woff2") format("woff2-variations");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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-400-normal-COQVXTP6.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-400-normal-JC3YNCCZ.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-sans-latin-ext-400-normal-EDOVP6TU.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-400-normal-IC47YBOO.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-latin-500-normal-JTONHBWS.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-500-normal-7DOULDHV.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-sans-latin-ext-500-normal-SG2XNXKB.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-500-normal-4YL5ICYH.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-600-normal-DTNZULF4.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-600-normal-B3O423MA.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./media/ibm-plex-sans-latin-ext-600-normal-ZNWKNRXL.woff2") format("woff2"),url("./media/ibm-plex-sans-latin-ext-600-normal-OPCHJXXH.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-latin-400-normal-A2WATXFY.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-400-normal-4MWPPJAM.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./media/ibm-plex-mono-latin-ext-400-normal-T6XOR2FX.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-400-normal-6FH7XELU.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-mono-latin-500-normal-33HAQIPI.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-500-normal-EJMP6L36.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./media/ibm-plex-mono-latin-ext-500-normal-LJE4XY22.woff2") format("woff2"),url("./media/ibm-plex-mono-latin-ext-500-normal-7HZM7XEP.woff") format("woff")}:root{--paper: #f6f5fa;--surface: #ffffff;--ink: #1e1533;--muted: #5e566f;--line: #ddd8e8;--purple: #53338a;--purple-deep: #2b1a4d;--green: #53b261;--green-ink: #2c7a3a;--forest: #15321e;--font-display: "Archivo Variable", "Arial Narrow", sans-serif;--font-body: "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, monospace;--page: min(72rem, 100% - 2.5rem);--section-gap: clamp(4.5rem, 10vw, 8rem)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5rem}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;font-family:var(--font-display);font-stretch:125%;font-weight:620;line-height:1.08;text-wrap:balance}h1{font-size:clamp(2.3rem,3.2vw + 1.2rem,4.4rem);letter-spacing:-.015em}h2{font-size:clamp(1.8rem,2vw + 1rem,2.9rem);letter-spacing:-.01em}h3{font-size:1.3rem;font-weight:600;line-height:1.2}p{margin:0;text-wrap:pretty}a{color:var(--purple);text-underline-offset:.2em}img,svg{display:block;max-width:100%}:focus-visible{outline:3px solid var(--green);outline-offset:3px;border-radius:2px}.page{width:var(--page);margin-inline:auto}.section{padding-block:var(--section-gap)}.lead{font-size:clamp(1.1rem,.4vw + 1rem,1.3rem);color:var(--muted);max-width:40rem}.eyebrow{display:flex;align-items:center;gap:.75rem;margin:0 0 1.25rem;font-family:var(--font-mono);font-size:.8rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--purple)}.eyebrow:before{content:"";flex:none;width:2.75rem;height:10px;background:radial-gradient(circle at 5px 5px,var(--purple) 4px,transparent 4.5px),linear-gradient(var(--green),var(--green)) no-repeat 0 50% / 100% 2px}.tags{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:0;padding:0;list-style:none;font-family:var(--font-mono);font-size:.8rem;color:var(--muted)}.button{display:inline-flex;align-items:center;gap:.6rem;padding:.85rem 1.4rem;border:2px solid var(--purple);border-radius:999px;background:var(--purple);color:#fff;font-family:var(--font-body);font-size:1rem;font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}.button:hover{background:var(--purple-deep);border-color:var(--purple-deep)}.button--ghost{background:transparent;color:var(--purple)}.button--ghost:hover{background:var(--purple);border-color:var(--purple);color:#fff}.button--green{background:var(--green);border-color:var(--green);color:var(--forest)}.button--green:hover{background:#fff;border-color:#fff;color:var(--forest)}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
