@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-ext-wght-normal.d45eAU9y.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-cyrillic-wght-normal.BAAhND-U.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-greek-wght-normal.CmyJS8uq.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-vietnamese-wght-normal.Dg1JeJN0.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-ext-wght-normal.CIII54If.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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/_astro/ibm-plex-sans-latin-wght-normal.IvpUvPa2.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:Saira Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/saira-condensed-vietnamese-600-normal.DdheDV3O.woff2) format("woff2"),url(/_astro/saira-condensed-vietnamese-600-normal.Cx33h9T1.woff) format("woff");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:Saira Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/saira-condensed-latin-ext-600-normal.DwjIBGFg.woff2) format("woff2"),url(/_astro/saira-condensed-latin-ext-600-normal.BQ2ZMbdg.woff) format("woff");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:Saira Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/saira-condensed-latin-600-normal.0taFJMb7.woff2) format("woff2"),url(/_astro/saira-condensed-latin-600-normal.CJ-Ib_yI.woff) format("woff");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:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/saira-condensed-vietnamese-700-normal.DTNtv3pg.woff2) format("woff2"),url(/_astro/saira-condensed-vietnamese-700-normal.C4pgqYLY.woff) format("woff");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:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/saira-condensed-latin-ext-700-normal.rfs_OqX7.woff2) format("woff2"),url(/_astro/saira-condensed-latin-ext-700-normal.DPP8JZfq.woff) format("woff");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:Saira Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/_astro/saira-condensed-latin-700-normal.BpDqMSKw.woff2) format("woff2"),url(/_astro/saira-condensed-latin-700-normal.Br1WwvhS.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.V-xxqcpd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-600-normal.9HEixskS.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-cyrillic-600-normal.CTOM6hUh.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-600-normal.fLZuRloM.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-vietnamese-600-normal.D2EvbN8M.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-600-normal.iLQfcSjf.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-ext-600-normal.D38SheWl.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-600-normal.DmB0ttJJ.woff) format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/_astro/ibm-plex-mono-latin-600-normal.BgSNZQsw.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-600-normal.DWFSQ4vo.woff) format("woff");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{--font-display: "Saira Condensed", "Arial Narrow", system-ui, sans-serif;--font-body: "IBM Plex Sans Variable", "IBM Plex Sans", system-ui, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Code", monospace;--radius: 3px;--radius-sm: 2px;--radius-lg: 5px;--max-w: 74rem;--measure: 44rem;--step--1: clamp(.82rem, .8rem + .12vw, .9rem);--step-0: clamp(1rem, .97rem + .16vw, 1.06rem);--step-1: clamp(1.14rem, 1.08rem + .32vw, 1.32rem);--step-2: clamp(1.5rem, 1.32rem + .9vw, 2rem);--step-3: clamp(1.9rem, 1.55rem + 1.7vw, 2.9rem);--step-4: clamp(2.4rem, 1.85rem + 2.7vw, 3.7rem);--step-5: clamp(2.9rem, 2rem + 4.4vw, 5rem);--space-3xs: .25rem;--space-2xs: .5rem;--space-xs: .75rem;--space-sm: 1rem;--space-md: 1.5rem;--space-lg: 2.5rem;--space-xl: 4rem;--space-2xl: 6rem;--shadow-sm: 0 1px 0 rgb(35 40 42 / .05);--shadow-md: 0 12px 30px rgb(31 74 52 / .1);--ease: cubic-bezier(.2, .7, .2, 1);--tick-size: 18px}[data-palette=forest]{--c-bg: #e8e6df;--c-surface: #f2f0e9;--c-tile: #d8ddd5;--c-text: #23282a;--c-muted: #4c5a51;--c-primary: #1f4a34;--c-primary-dark: #163524;--c-primary-contrast: #eef1e9;--c-muted-invert: #b9c7bc;--c-accent: #c58a3d;--c-accent-soft: #ecd9bd;--c-tick: #c58a3d;--c-border: #cdcabd;--c-line: rgba(31, 74, 52, .3);--c-line-invert: rgba(238, 241, 233, .24)}[data-palette=ocean]{--c-bg: #e6e8ea;--c-surface: #f0f1f2;--c-tile: #d6dbdf;--c-text: #1c2429;--c-muted: #47555d;--c-primary: #1c4b63;--c-primary-dark: #143848;--c-primary-contrast: #eaf1f4;--c-muted-invert: #b3c4cd;--c-accent: #c58a3d;--c-accent-soft: #e6d5bd;--c-tick: #c58a3d;--c-border: #cbd2d6;--c-line: rgba(28, 75, 99, .3);--c-line-invert: rgba(234, 241, 244, .24)}[data-palette=warm]{--c-bg: #ece7de;--c-surface: #f5f1e9;--c-tile: #ddd5c8;--c-text: #2a2119;--c-muted: #5f5142;--c-primary: #8a3f24;--c-primary-dark: #6a2d16;--c-primary-contrast: #f6ede2;--c-muted-invert: #d8c3ad;--c-accent: #9c6b2e;--c-accent-soft: #e7d3b4;--c-tick: #9c6b2e;--c-border: #ddd0bc;--c-line: rgba(138, 63, 36, .28);--c-line-invert: rgba(246, 237, 226, .26)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--font-body);font-size:var(--step-0);background:var(--c-bg);color:var(--c-text);line-height:1.62;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg{display:block;max-width:100%}.container{max-width:var(--max-w);margin-inline:auto;padding-inline:1.5rem}.narrow{max-width:var(--measure)}section{padding-block:var(--space-2xl)}.band-tile{background:var(--c-tile)}.band-ink{background:var(--c-primary);color:var(--c-primary-contrast)}.band-ink h2,.band-ink h3{color:var(--c-primary-contrast)}.band-ink p{color:var(--c-muted-invert)}h1,h2,h3{font-family:var(--font-display);font-weight:700;text-transform:uppercase;line-height:1.03;letter-spacing:.005em;margin:0 0 var(--space-sm);color:var(--c-text)}h1{font-size:var(--step-5)}h2{font-size:var(--step-3)}h3{font-size:var(--step-1);font-weight:600;letter-spacing:.02em;line-height:1.15}p{margin:0 0 var(--space-sm)}p:last-child{margin-bottom:0}a{color:var(--c-primary)}.eyebrow{display:inline-flex;align-items:center;gap:.6em;font-family:var(--font-mono);font-size:var(--step--1);font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);margin:0 0 var(--space-sm)}.eyebrow:before{content:"";width:.7em;height:.7em;background:var(--c-accent);flex:none}.band-ink .eyebrow{color:var(--c-muted-invert)}.rule{position:relative;width:68px;height:2px;background:var(--c-primary);margin:0 0 var(--space-md)}.rule:before,.rule:after{content:"";position:absolute;top:-3px;width:2px;height:8px;background:var(--c-primary)}.rule:before{left:0}.rule:after{right:0}.rule--accent,.rule--accent:before,.rule--accent:after{background:var(--c-accent)}.band-ink .rule,.band-ink .rule:before,.band-ink .rule:after{background:var(--c-accent)}.plate{position:relative;border:1px solid var(--c-line);background:var(--c-surface)}.plate:before,.plate:after{content:"";position:absolute;width:var(--tick-size);height:var(--tick-size);pointer-events:none}.plate:before{top:-1px;left:-1px;border-top:2px solid var(--c-tick);border-left:2px solid var(--c-tick)}.plate:after{bottom:-1px;right:-1px;border-bottom:2px solid var(--c-tick);border-right:2px solid var(--c-tick)}.mono{font-family:var(--font-mono)}.stamp{display:grid;border:1px solid var(--c-line);border-bottom:none}.stamp .cell{border-bottom:1px solid var(--c-line);border-right:1px solid var(--c-line);padding:.7rem .95rem;min-width:0}.stamp .k{display:block;font-family:var(--font-mono);font-size:.66rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--c-muted);margin-bottom:.25rem}.stamp .v{display:block;font-family:var(--font-mono);font-size:var(--step--1);font-weight:500;color:var(--c-text);line-height:1.35;overflow-wrap:break-word}.stamp .v a{color:inherit;text-decoration:none}.stamp .v a:hover{color:var(--c-primary)}.btn{display:inline-flex;align-items:center;gap:.55em;font-family:var(--font-display);font-weight:600;font-size:.98rem;letter-spacing:.05em;text-transform:uppercase;background:var(--c-primary);color:var(--c-primary-contrast);padding:.85rem 1.6rem;border:2px solid var(--c-primary);border-radius:var(--radius-sm);text-decoration:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:background-color .16s var(--ease),border-color .16s var(--ease),color .16s var(--ease),transform .16s var(--ease)}.btn:hover{background:var(--c-primary-dark);border-color:var(--c-primary-dark);transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn svg{flex-shrink:0}.btn-lg{font-size:1.08rem;padding:1.05rem 2rem}.band-ink .btn,.btn--paper{background:var(--c-primary-contrast);border-color:var(--c-primary-contrast);color:var(--c-primary)}.band-ink .btn:hover,.btn--paper:hover{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-text)}:focus-visible{outline:3px solid var(--c-accent);outline-offset:3px;border-radius:var(--radius-sm)}::selection{background:var(--c-accent-soft);color:var(--c-text)}.site-header{position:sticky;top:0;z-index:50;background:var(--c-primary);color:var(--c-primary-contrast);border-bottom:2px solid var(--c-accent)}.bar{display:flex;align-items:center;gap:1rem 1.4rem;padding-block:.7rem;flex-wrap:wrap}.brand{font-family:var(--font-display);font-weight:700;font-size:1.28rem;letter-spacing:.03em;text-transform:uppercase;color:var(--c-primary-contrast);text-decoration:none;white-space:nowrap}.brand:hover{color:var(--c-accent)}.nav-meta{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted-invert);margin:0;white-space:nowrap;display:none}.site-nav{margin-left:auto}.site-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.3rem 1.3rem}.site-nav a{color:var(--c-muted-invert);text-decoration:none;font-family:var(--font-mono);font-weight:500;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem 0;border-bottom:2px solid transparent;transition:color .15s var(--ease),border-color .15s var(--ease)}.site-nav a:hover{color:var(--c-primary-contrast)}.site-nav a[aria-current=page]{color:var(--c-primary-contrast);border-bottom-color:var(--c-accent)}.call{display:inline-flex;align-items:center;gap:.5rem;background:var(--c-accent);color:var(--c-text);text-decoration:none;font-family:var(--font-mono);font-weight:600;font-size:.8rem;letter-spacing:.05em;padding:.55rem 1rem;border-radius:var(--radius-sm);white-space:nowrap;transition:background-color .15s var(--ease),transform .15s var(--ease)}.call:hover{background:var(--c-primary-contrast);transform:translateY(-1px)}.call svg{flex-shrink:0}.hero{background:var(--c-primary);color:var(--c-primary-contrast);padding-block:var(--space-xl) 0;overflow:clip}.hero-grid{display:grid;gap:var(--space-lg) var(--space-xl);align-items:end;padding-bottom:var(--space-lg)}.hero-copy{min-width:0}.hero .eyebrow{color:var(--c-accent)}.hero h1{color:var(--c-primary-contrast);max-width:16ch;margin:var(--space-sm) 0 var(--space-md)}.hero .sub{font-size:var(--step-1);color:var(--c-muted-invert);max-width:46ch;margin-bottom:var(--space-lg)}.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;align-items:center}.hero-media{min-width:0}.hero-plate{--tick-size: 26px;padding:0;background:#eef1e908}.hero-plate .plate-tag{position:absolute;top:.7rem;left:.9rem;z-index:1;font-family:var(--font-mono);font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--c-primary-contrast);background:color-mix(in srgb,var(--c-primary) 82%,transparent);padding:.25rem .55rem}.hero-img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover;filter:saturate(.92)}.hero-stamp{grid-template-columns:repeat(3,1fr);border-color:var(--c-line-invert)}.hero-stamp .cell{border-color:var(--c-line-invert)}.hero-stamp .k{color:var(--c-accent)}.hero-stamp .v{color:var(--c-primary-contrast)}.hero-stampwrap{padding-bottom:var(--space-xl)}.sec-head{margin-bottom:var(--space-lg)}.sec-head p{color:var(--c-muted);max-width:var(--measure);margin-top:var(--space-xs)}.band-ink .sec-head p{color:var(--c-muted-invert)}.about-grid{display:grid;gap:var(--space-lg) var(--space-xl);align-items:start}.about-head h2{margin-bottom:var(--space-md)}.about-panel{padding:var(--space-lg) var(--space-md) var(--space-md)}.about-panel p{color:var(--c-text);font-size:var(--step-1)}.about-panel p+p{margin-top:var(--space-sm)}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--c-line);border:1px solid var(--c-line)}.card{position:relative;background:var(--c-surface);padding:var(--space-lg) var(--space-md) var(--space-md);transition:background-color .18s var(--ease)}.card:before,.card:after{content:"";position:absolute;width:14px;height:14px;opacity:0;transition:opacity .18s var(--ease);pointer-events:none}.card:before{top:8px;left:8px;border-top:2px solid var(--c-tick);border-left:2px solid var(--c-tick)}.card:after{bottom:8px;right:8px;border-bottom:2px solid var(--c-tick);border-right:2px solid var(--c-tick)}.card:hover{background:var(--c-bg)}.card:hover:before,.card:hover:after{opacity:1}.card-code{display:block;font-family:var(--font-mono);font-size:.74rem;font-weight:600;letter-spacing:.14em;color:var(--c-primary);margin-bottom:var(--space-sm)}.card h3{margin-bottom:.5rem}.card p{color:var(--c-muted);font-size:var(--step-0)}.quotes{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-md)}.quote{margin:0;padding:var(--space-lg) var(--space-md) var(--space-md);background:var(--c-surface)}.quote blockquote{margin:0}.quote blockquote p{font-size:var(--step-1);color:var(--c-text);line-height:1.5}.quote-mark{display:block;font-family:var(--font-display);font-weight:700;font-size:2.6rem;line-height:.6;color:var(--c-accent);margin-bottom:var(--space-sm)}.quote figcaption{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--c-line);font-family:var(--font-mono);font-size:.74rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--c-muted)}.faq-list{border-top:1px solid var(--c-line)}.faq-list details{border-bottom:1px solid var(--c-line)}.faq-list summary{display:flex;align-items:baseline;gap:1.1rem;padding:1.35rem .25rem;cursor:pointer;list-style:none;font-family:var(--font-display);font-weight:600;text-transform:uppercase;font-size:var(--step-1);letter-spacing:.02em;line-height:1.2;color:var(--c-text)}.faq-list summary::-webkit-details-marker{display:none}.faq-list .fnum{flex:0 0 2.4rem;font-family:var(--font-mono);font-weight:600;font-size:.8rem;color:var(--c-accent);padding-top:.15rem}.faq-list .fq{flex:1 1 auto;min-width:0}.faq-list .plus{margin-left:auto;flex:none;position:relative;width:1.05rem;height:1.05rem;align-self:center}.faq-list .plus:before,.faq-list .plus:after{content:"";position:absolute;inset:0;margin:auto;background:var(--c-primary)}.faq-list .plus:before{width:100%;height:2px}.faq-list .plus:after{width:2px;height:100%;transition:transform .2s var(--ease)}.faq-list details[open] .plus:after{transform:rotate(90deg)}.faq-list summary:hover .plus:before,.faq-list summary:hover .plus:after{background:var(--c-accent)}.faq-body{margin:0;padding:0 .25rem 1.35rem 3.5rem;color:var(--c-muted);max-width:68ch}.cta{text-align:center}.cta .container{display:flex;flex-direction:column;align-items:center}.cta h2{font-size:var(--step-4);max-width:18ch;margin-bottom:var(--space-sm)}.cta p{color:var(--c-muted-invert);font-size:var(--step-1);max-width:48ch;margin-bottom:var(--space-lg)}.contact-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl)}.contact-info,.contact-form{min-width:0}.contact-intro{color:var(--c-muted);font-size:var(--step-1);margin-bottom:var(--space-lg)}.naplist{border:1px solid var(--c-line);background:var(--c-surface);max-width:34rem}.naprow{display:grid;grid-template-columns:8rem 1fr;gap:1rem;padding:.8rem .95rem;border-bottom:1px solid var(--c-line)}.naprow:last-child{border-bottom:none}.naplist .k{font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);padding-top:.2rem}.naplist .v{font-family:var(--font-mono);font-size:var(--step--1);color:var(--c-text);overflow-wrap:anywhere}.naplist .v a{color:var(--c-primary);text-decoration:underline;text-decoration-color:var(--c-accent);text-underline-offset:3px}.naplist .v a:hover{color:var(--c-accent)}.form{display:grid;gap:var(--space-sm);max-width:34rem}.field{display:grid;gap:.4rem}.field label{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}.field input,.field textarea{font:inherit;font-size:var(--step-0);padding:.75rem .9rem;border:1px solid var(--c-border);border-radius:var(--radius-sm);background:var(--c-surface);color:var(--c-text);transition:border-color .15s var(--ease)}.field textarea{resize:vertical;min-height:8rem}.field input:focus,.field textarea:focus{border-color:var(--c-primary);outline:none}.field input:focus-visible,.field textarea:focus-visible{outline:3px solid var(--c-accent);outline-offset:2px}.form .btn{justify-self:start;margin-top:var(--space-2xs)}.form-head{font-family:var(--font-mono);font-size:.72rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--c-muted);margin-bottom:var(--space-sm)}.site-footer{background:var(--c-primary-dark);color:var(--c-primary-contrast);padding-block:var(--space-lg);border-top:2px solid var(--c-accent)}.foot-row{display:flex;flex-wrap:wrap;gap:var(--space-md) var(--space-xl);justify-content:space-between;align-items:start}.foot-brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem;letter-spacing:.03em;text-transform:uppercase;margin:0 0 .35rem}.foot-meta{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.06em;color:var(--c-muted-invert);margin:0}.foot-area{display:flex;flex-direction:column;gap:.6rem}.foot-label{font-family:var(--font-mono);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--c-accent)}.chips{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;margin:0;padding:0}.chip{font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;padding:.3rem .75rem;border:1px solid var(--c-line-invert);color:var(--c-primary-contrast)}.gallery-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:var(--space-md)}.gallery-grid img{width:100%;height:100%;aspect-ratio:4 / 3;object-fit:cover;border:1px solid var(--c-line)}@keyframes draw-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero .eyebrow,.hero h1,.hero .sub,.hero-actions,.hero-plate{animation:draw-in .6s var(--ease) both}.hero h1{animation-delay:.06s}.hero .sub{animation-delay:.13s}.hero-actions{animation-delay:.2s}.hero-plate{animation-delay:.16s}.hero-stampwrap .stamp{animation:draw-in .6s var(--ease) both;animation-delay:.32s}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media(min-width:60rem){.hero-grid{grid-template-columns:1.1fr .9fr}.about-grid{grid-template-columns:.85fr 1.15fr}.contact-grid{grid-template-columns:1fr 1.05fr;align-items:start}}@media(min-width:48rem){.nav-meta{display:block}}@media(max-width:60rem){.hero-media{order:-1}}@media(max-width:52rem){.quotes,.hero-stamp{grid-template-columns:1fr}}@media(max-width:40rem){section{padding-block:var(--space-xl)}.cards{grid-template-columns:1fr}.call-label{display:none}.call{padding:.55rem .65rem}.site-nav{margin-left:0;width:100%}.faq-body{padding-left:.25rem}.napblock .stamp{grid-template-columns:6.5rem 1fr}}.blog-head{margin-bottom:2.5rem}.blog-head h2{margin:0 0 .75rem}.blog-blurb{color:var(--c-muted);margin:0;max-width:58ch}.blog-empty{color:var(--c-muted);font-family:var(--font-mono);font-size:.85rem;border-top:1px solid var(--c-line);padding-top:1.35rem;margin:0}.blog-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--c-line)}.blog-item{border-bottom:1px solid var(--c-line);padding:1.85rem .25rem}.blog-date{display:block;font-family:var(--font-mono);font-weight:600;font-size:.8rem;letter-spacing:.06em;color:var(--c-accent);margin-bottom:.5rem}.blog-item-title{font-family:var(--font-display);font-weight:600;text-transform:uppercase;font-size:var(--step-1);letter-spacing:.02em;line-height:1.2;margin:0 0 .6rem}.blog-item-title a{color:var(--c-text);text-decoration:none}.blog-item-title a:hover{color:var(--c-accent);text-decoration:underline}.blog-teaser{color:var(--c-muted);margin:0;max-width:62ch}.article{padding-block:var(--space-2xl)}.article-back{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:2rem}.article-head{border-top:2px solid var(--c-text);border-bottom:1px solid var(--c-line);padding-block:1.35rem;margin-bottom:2.5rem}.article-date{display:block;font-family:var(--font-mono);font-weight:600;font-size:.8rem;letter-spacing:.06em;color:var(--c-accent);margin-bottom:.75rem}.article-head h1{margin:0 0 .85rem}.article-lead{color:var(--c-muted);font-size:var(--step-1);margin:0;max-width:62ch}.article-body{max-width:68ch}.article-body h2{font-size:var(--step-2);text-transform:uppercase;letter-spacing:.02em;margin-top:2.75rem}.article-body h3{font-family:var(--font-display);font-weight:600;text-transform:uppercase;font-size:var(--step-1);letter-spacing:.02em;margin-top:2rem}.article-body>*:first-child{margin-top:0}.article-body ul,.article-body ol{padding-left:1.35rem;margin:0 0 1rem}.article-body li{margin-bottom:.4rem}.article-body blockquote{margin:1.75rem 0;padding:.25rem 0 .25rem 1.35rem;border-left:3px solid var(--c-accent);color:var(--c-text)}.article-body blockquote p{margin:0}.article-body .table-scroll{overflow-x:auto;margin:1.75rem 0;border-top:2px solid var(--c-text);border-bottom:1px solid var(--c-line)}.article-body table{border-collapse:collapse;width:100%;font-size:var(--step--1)}.article-body th,.article-body td{text-align:left;vertical-align:top;padding:.6rem 1rem .6rem 0;border-bottom:1px solid var(--c-line)}.article-body th{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:var(--step--1);white-space:nowrap}.article-body tbody tr:last-child td{border-bottom:0}.blog-tags{margin-bottom:2rem}.blog-tags ul,.blog-item-tags,.article-tags ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem}.blog-tag,.blog-item-tags a,.article-tags a{display:inline-block;font-family:var(--font-mono);font-size:.75rem;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);text-decoration:none;border:1px solid var(--c-line);padding:.3rem .6rem;transition:color .18s var(--ease),border-color .18s var(--ease)}.blog-tag:hover,.blog-item-tags a:hover,.article-tags a:hover{color:var(--c-text);border-color:var(--c-text)}.blog-tag.is-current{color:var(--c-text);border-color:var(--c-accent)}.blog-tag-count{margin-left:.45em;color:var(--c-accent)}.blog-item-tags{margin-top:.85rem}.article-tags{margin-top:1.35rem}.blog-pager{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-top:2rem;padding-top:1.35rem;border-top:2px solid var(--c-text);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}.pager-step{font-weight:600;color:var(--c-text)}.pager-step.is-off{color:var(--c-muted);opacity:.5}.pager-numbers{list-style:none;display:flex;gap:.3rem;margin:0;padding:0}.pager-num{display:grid;place-items:center;min-width:2rem;padding:.25rem .45rem;border:1px solid transparent;text-decoration:none;color:var(--c-muted)}.pager-num:hover{color:var(--c-text);border-color:var(--c-line)}.pager-num.is-current{color:var(--c-text);border-color:var(--c-accent);font-weight:600}.blog-head h1{margin:0 0 .75rem}.blog-nav{margin-bottom:1.5rem}.blog-nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 1.5rem;margin:0;padding:0 0 .6rem;border-bottom:2px solid var(--c-text)}.blog-nav-link{font-family:var(--font-mono);font-size:.8rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);text-decoration:none;display:inline-block;padding-bottom:.6rem;margin-bottom:-.6rem;border-bottom:2px solid transparent}.blog-nav-link:hover{color:var(--c-text)}.blog-nav-link.is-current{color:var(--c-text);border-bottom-color:var(--c-accent)}.blog-months{list-style:none;margin:0;padding:0;border-top:1px solid var(--c-line)}.blog-months li{border-bottom:1px solid var(--c-line)}.blog-months a{display:flex;align-items:baseline;justify-content:space-between;gap:1.5rem;padding:1.35rem .25rem;text-decoration:none;transition:background-color .18s var(--ease)}.blog-months a:hover{background:#00000005}.month-label{font-family:var(--font-display);font-weight:600;text-transform:uppercase;font-size:var(--step-1);letter-spacing:.02em;color:var(--c-text)}.month-count{font-family:var(--font-mono);font-size:.8rem;color:var(--c-accent)}.blog-search .search-box{margin-bottom:2rem}.blog-search .search-label{display:block;font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--c-muted);margin-bottom:.4rem}.blog-search .search-input{width:100%;font-family:var(--font-body);font-size:var(--step-1);color:var(--c-text);background:var(--c-surface);border:1px solid var(--c-line);border-radius:0;padding:.75rem .9rem}.blog-search .search-input:focus-visible{border-color:var(--c-text)}.blog-search .search-count,.blog-search .search-empty{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.04em;color:var(--c-muted);margin:.4rem 0 0;min-height:1.4em}.blog-search .search-empty{border-top:1px solid var(--c-line);padding-top:1.35rem;margin-top:0}
