@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-condensed-vietnamese-500-normal.3y1q1jhianted.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-500-normal.1k2wvuoe3zywi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-condensed-latin-ext-500-normal.24wyemoa7l12j.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-500-normal.2e_826kf2bv_r.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(../media/barlow-condensed-latin-500-normal.3wun_rgcl0ums.woff2)format("woff2"),url(../media/barlow-condensed-latin-500-normal.28rq7sis4b5t1.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-vietnamese-600-normal.43ud19ilw2-pl.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-600-normal.0csyzgbq6oph-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-ext-600-normal.0_w6c_5g3mtxc.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-600-normal.40rgster27fo6.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(../media/barlow-condensed-latin-600-normal.289y3avl9x-vx.woff2)format("woff2"),url(../media/barlow-condensed-latin-600-normal.0gvkp1c3flf_w.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-vietnamese-700-normal.30aknk5meqo_4.woff2)format("woff2"),url(../media/barlow-condensed-vietnamese-700-normal.3f_ld5jwq496k.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-ext-700-normal.1qvxqej4sgmo7.woff2)format("woff2"),url(../media/barlow-condensed-latin-ext-700-normal.2ujo9d6x5hgkq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(../media/barlow-condensed-latin-700-normal.21s4tc4km7afu.woff2)format("woff2"),url(../media/barlow-condensed-latin-700-normal.1on3xg---ibgx.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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-cyrillic-ext-400-normal.39u3dp1q8vt28.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-400-normal.3-2s2qyqt5syo.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-cyrillic-400-normal.1ob51yn_zh4f3.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-400-normal.2c9g56gofrre8.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-greek-400-normal.20ztly1_og8qv.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-400-normal.1d6bt9ufqnym6.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-vietnamese-400-normal.41bcgzntq2c9e.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-400-normal.3nx5do2g1gg_d.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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.2wkl6p2bjtdkj.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-400-normal.1d956-ol9h5w9.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:400;src:url(../media/ibm-plex-sans-latin-400-normal.1xf5nwxyfigak.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-400-normal.19i24--p24z3r.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:500;src:url(../media/ibm-plex-sans-cyrillic-ext-500-normal.37y6j4asgn87a.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-500-normal.42ydqmu-69p6e.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-cyrillic-500-normal.3j8b5jptl4nhr.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-500-normal.2r3_h99a4p2o6.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-greek-500-normal.0k99vu2yejv84.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-500-normal.2kq1zw7ns-90j.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-vietnamese-500-normal.38exv3t7tju-g.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-500-normal.14rtxflq2gk6f.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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.1h2_ral94l6aj.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-500-normal.1zyjrbr0w_u4w.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:500;src:url(../media/ibm-plex-sans-latin-500-normal.2i4a1iuj6lbvw.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-500-normal.14sc3d7sk_zzh.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,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:600;src:url(../media/ibm-plex-sans-cyrillic-ext-600-normal.0hanpnpn3ki-v.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-ext-600-normal.33q0gwxfwkcq9.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-cyrillic-600-normal.1bd0br_i69opa.woff2)format("woff2"),url(../media/ibm-plex-sans-cyrillic-600-normal.0h3aaz4315ad-.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-greek-600-normal.17-3491c_tfac.woff2)format("woff2"),url(../media/ibm-plex-sans-greek-600-normal.1mkps5wbbyo2a.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-vietnamese-600-normal.3hxpyk-en1__5.woff2)format("woff2"),url(../media/ibm-plex-sans-vietnamese-600-normal.3i-6fz_bx7yta.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@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.0a5-aslyj_wbq.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-ext-600-normal.00ca59z0uilzq.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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;font-style:normal;font-display:swap;font-weight:600;src:url(../media/ibm-plex-sans-latin-600-normal.2ovda_azncp9b.woff2)format("woff2"),url(../media/ibm-plex-sans-latin-600-normal.2wn5p1s7u3utm.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--ink:#131518;--carbon:#1a1d21;--graphite:#23272c;--steel:#3a3f46;--steel-strong:#5a6069;--bone:#edebe7;--ash:#a7abb1;--red:#c8202b;--red-strong:#a81a24;--red-glow:#c8202b59;--amber:#e3a63e;--green:#6cc28a;--danger-text:#ff8a8a;--font-display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--text-sm:.875rem;--text-base:1.0625rem;--text-lg:1.25rem;--h3:1.5rem;--h2:clamp(2.25rem, 4.6vw, 3.5rem);--h1:clamp(3.2rem, 7.6vw, 6.4rem);--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4rem;--s9:6rem;--s10:8rem;--radius-sm:3px;--radius:6px;--container:76rem;--gutter:clamp(1.25rem, 4vw, 2rem);--header-h:4.25rem;--ease:cubic-bezier(.2, .7, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 1rem)}body{background:var(--ink);color:var(--bone);font-family:var(--font-body);font-size:var(--text-base);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}img,svg{max-width:100%;display:block}h1,h2,h3,h4{font-family:var(--font-display);letter-spacing:.005em;margin:0;font-weight:600;line-height:1.02}h2{font-size:var(--h2)}h3{font-size:var(--h3);line-height:1.15}p{margin:0}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}ul{margin:0;padding:0}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--bone);outline-offset:3px;border-radius:2px}::selection{background:var(--red);color:#fff}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--s4);z-index:100;background:var(--bone);color:var(--ink);padding:var(--s3) var(--s4);border-radius:var(--radius-sm);font-weight:600;position:absolute;top:-100px}.skip-link:focus{top:var(--s4)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.prose{max-width:42rem}.prose p+p{margin-top:var(--s4)}.muted{color:var(--ash)}.small{font-size:var(--text-sm)}.preview-notice{color:#f3dfb4;font-size:var(--text-sm);background:#2a2112;border-bottom:1px solid #5b4720;line-height:1.45}.preview-notice .container{padding-block:var(--s2);gap:var(--s2);align-items:baseline;display:flex}.preview-notice strong{color:var(--amber);white-space:nowrap}.site-header{z-index:50;-webkit-backdrop-filter:saturate(140%)blur(10px);backdrop-filter:saturate(140%)blur(10px);border-bottom:1px solid var(--steel);background:#131518eb;position:sticky;top:0}.site-header .container{height:var(--header-h);align-items:center;gap:var(--s5);display:flex}.brand{align-items:center;gap:var(--s3);margin-right:auto;text-decoration:none;display:inline-flex}.brand-mark{flex:none;width:30px;height:26px}.brand-text{white-space:nowrap;flex-direction:column;line-height:1;display:flex}.brand-name{font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:1.35rem;font-weight:700}.brand-sub{color:var(--ash);letter-spacing:.02em;margin-top:3px;font-size:.75rem}.nav-links{gap:var(--s5);list-style:none;display:flex}.nav-links a{color:var(--ash);padding-block:var(--s2);font-size:.95rem;text-decoration:none;transition:color .15s}.nav-links a:hover{color:var(--bone)}.menu-button{display:none}@media (max-width:960px){.nav-desktop,.site-header .header-cta{display:none}.menu-button{align-items:center;gap:var(--s2);border:1px solid var(--steel);border-radius:var(--radius-sm);min-height:44px;padding:0 var(--s4);cursor:pointer;background:0 0;display:inline-flex}}.mobile-nav{inset:var(--header-h) 0 0 0;z-index:49;background:var(--ink);border-top:1px solid var(--steel);padding:var(--s5) var(--gutter) var(--s7);animation:sheet-in .22s var(--ease);position:fixed;overflow-y:auto}.mobile-nav ul{list-style:none}.mobile-nav li a{padding:var(--s4) 0;border-bottom:1px solid var(--steel);font-family:var(--font-display);font-size:1.75rem;font-weight:600;text-decoration:none;display:block}.mobile-nav .btn{margin-top:var(--s6);width:100%}@keyframes sheet-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.btn{justify-content:center;align-items:center;gap:var(--s2);min-height:48px;padding:0 var(--s5);border-radius:var(--radius-sm);text-align:center;cursor:pointer;border:1px solid #0000;font-size:1rem;font-weight:600;line-height:1.2;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn-primary{background:var(--red);color:#fff}.btn-primary:hover{background:var(--red-strong)}.btn-secondary{color:var(--bone);border-color:var(--steel-strong);background:0 0}.btn-secondary:hover{border-color:var(--bone)}.btn-quiet{background:var(--graphite);color:var(--bone);border-color:var(--steel)}.btn-quiet:hover{border-color:var(--steel-strong)}.btn-small{min-height:40px;padding:0 var(--s4);font-size:.925rem}.btn[aria-disabled=true],.btn:disabled{color:var(--ash);border:1px dashed var(--steel-strong);cursor:not-allowed;background:0 0}.btn-row{gap:var(--s3);flex-wrap:wrap;display:flex}.badge{border-radius:var(--radius-sm);border:1px solid var(--steel-strong);color:var(--bone);white-space:nowrap;align-items:center;gap:.35em;padding:.38em .6em;font-size:.8rem;font-weight:500;line-height:1;display:inline-flex}.badge-placeholder{border-style:dashed;border-color:var(--amber);color:var(--amber)}.badge-kind-private{border-color:var(--red)}.badge-ok{border-color:var(--green);color:var(--green)}.badge-off{color:var(--ash)}.section{padding-block:clamp(4rem,9vw,7.5rem)}.section+.section{border-top:1px solid var(--steel)}.section-head{gap:var(--s4);max-width:44rem;margin-bottom:clamp(2rem,5vw,3.5rem);display:grid}.section-head p{color:var(--ash);font-size:var(--text-lg);line-height:1.5}.hero{isolation:isolate;border-bottom:1px solid var(--steel);position:relative;overflow:hidden}.hero-art{z-index:-2;position:absolute;inset:0}.hero-art svg{width:100%;height:100%}.hero-art-narrow{display:none}@media (max-width:640px){.hero-art-wide{display:none}.hero-art-narrow{display:block}}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg,#131518f5 0%,#131518d1 38%,#13151840 70%,#13151859 100%),linear-gradient(#13151800 82%,#131518e6 100%);position:absolute;inset:0}.hero-inner{min-height:min(100vh - 6.5rem,52rem);padding-block:var(--s8) var(--s7);flex-direction:column;justify-content:flex-end;display:flex}.hero h1{font-size:var(--h1);text-transform:uppercase;letter-spacing:.01em;max-width:9.5ch;font-weight:700;line-height:.9}.hero-lead{margin-top:var(--s5);color:var(--bone);max-width:30ch;font-size:clamp(1.2rem,2.2vw,1.5rem);line-height:1.4}.hero .btn-row{margin-top:var(--s6)}.hero-foot{margin-top:var(--s7);padding-top:var(--s4);border-top:1px solid var(--steel);color:var(--ash);font-size:var(--text-sm);max-width:36rem}.art-caption{color:var(--ash);font-size:.75rem}.hero .art-caption{right:var(--gutter);bottom:var(--s3);position:absolute}@media (max-width:640px){.hero:after{background:linear-gradient(#13151859 0%,#131518e0 55%,#131518f7 100%)}.hero-inner{min-height:88vh;padding-bottom:var(--s7)}.hero .btn-row .btn{flex:100%}.hero .art-caption{margin-top:var(--s4);position:static}}.scene-light{opacity:0;animation:light-up .9s var(--ease) forwards}.firing-line{stroke-dasharray:1400;stroke-dashoffset:1400px;animation:draw-line 1.1s .9s var(--ease) forwards}@keyframes light-up{to{opacity:1}}@keyframes draw-line{to{stroke-dashoffset:0}}.kind-explainer{gap:var(--s4);margin-bottom:var(--s6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.kind-explainer>div{border-left:2px solid var(--steel-strong);padding:var(--s2) 0 var(--s2) var(--s4)}.kind-explainer>div.is-private{border-left-color:var(--red)}.kind-explainer h3{margin-bottom:var(--s1);font-size:1.3rem}.kind-explainer p{color:var(--ash);font-size:.975rem}@media (max-width:720px){.kind-explainer{grid-template-columns:1fr}}.filter-bar{gap:var(--s2);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.filter-bar button{min-height:44px;padding:0 var(--s4);border:1px solid var(--steel);color:var(--ash);cursor:pointer;background:0 0;border-radius:999px;font-weight:500}.filter-bar button[aria-pressed=true]{background:var(--bone);border-color:var(--bone);color:var(--ink)}.filter-bar button:hover:not([aria-pressed=true]){color:var(--bone);border-color:var(--steel-strong)}.filter-count{margin-left:var(--s1);opacity:.7;font-variant-numeric:tabular-nums}.card-grid{gap:var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));list-style:none;display:grid}.service-card{background:var(--carbon);border:1px solid var(--steel);border-radius:var(--radius);flex-direction:column;height:100%;transition:border-color .2s;display:flex;overflow:hidden}.service-card:hover{border-color:var(--steel-strong)}.service-card.is-private{border-top:2px solid var(--red)}.card-media{aspect-ratio:16/9;background:var(--graphite);border-bottom:1px solid var(--steel);position:relative}.card-media svg,.card-media img{object-fit:cover;width:100%;height:100%}.card-media .badge{left:var(--s3);top:var(--s3);background:#131518d9;position:absolute}.card-body{gap:var(--s3);padding:var(--s5);flex-direction:column;flex:1;display:flex}.card-tags{gap:var(--s2);flex-wrap:wrap;display:flex}.service-card h3 a{text-decoration:none}.service-card h3 a:hover{text-decoration:underline;-webkit-text-decoration-color:var(--red);text-decoration-color:var(--red)}.card-summary{color:var(--ash);font-size:.975rem}.facts{gap:var(--s3);margin:var(--s2) 0 0;padding-top:var(--s3);border-top:1px solid var(--steel);grid-template-columns:1fr 1fr;display:grid}.facts dt{color:var(--ash);font-size:.8rem}.facts dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.facts dd.pending{color:var(--ash);font-style:italic;font-weight:400}.rules{border-top:1px solid var(--steel);padding-top:var(--s3)}.rules summary{cursor:pointer;justify-content:space-between;align-items:center;min-height:40px;font-size:.95rem;font-weight:500;list-style:none;display:flex}.rules summary::-webkit-details-marker{display:none}.rules summary:after{content:"+";color:var(--ash);font-size:1.25rem;transition:transform .2s}.rules[open] summary:after{transform:rotate(45deg)}.rules ul{gap:var(--s2);padding-bottom:var(--s2);list-style:none;display:grid}.rules li{padding-left:var(--s5);color:var(--ash);font-size:.925rem;position:relative}.rules li:before{content:"";background:var(--steel-strong);width:.5rem;height:2px;position:absolute;top:.62em;left:.25rem}.card-actions{padding-top:var(--s3);gap:var(--s2);margin-top:auto;display:grid}.card-actions .btn{width:100%}.booking-note{color:var(--ash);text-align:center;font-size:.85rem}.empty-state{border:1px dashed var(--steel-strong);border-radius:var(--radius);padding:var(--s7) var(--s5);text-align:center;color:var(--ash)}.split{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(2rem,6vw,5rem);display:grid}@media (max-width:900px){.split{grid-template-columns:1fr}}.steps{counter-reset:step;margin-top:var(--s6);gap:0;list-style:none;display:grid}.steps li{counter-increment:step;gap:var(--s4);padding-block:var(--s4);border-top:1px solid var(--steel);grid-template-columns:3rem 1fr;display:grid}.steps li:before{content:counter(step);font-family:var(--font-display);color:var(--steel-strong);font-size:2rem;font-weight:700;line-height:1}.steps h3{margin-bottom:var(--s1);font-size:1.3rem}.steps p{color:var(--ash);font-size:.975rem}.panel{background:var(--carbon);border:1px solid var(--steel);border-radius:var(--radius);padding:clamp(1.5rem,4vw,2.25rem)}.panel h3{margin-bottom:var(--s3)}.panel p+p,.panel p+ul,.panel ul+p{margin-top:var(--s3)}.panel .btn-row{margin-top:var(--s5)}.contact-lines{gap:var(--s2);margin-top:var(--s4);list-style:none;display:grid}.contact-lines a{font-weight:600}.instructor-card{background:var(--carbon);border:1px solid var(--steel);border-radius:var(--radius);flex-direction:column;height:100%;display:flex;overflow:hidden}.instructor-photo{aspect-ratio:4/3;background:var(--graphite);border-bottom:1px solid var(--steel);position:relative}.instructor-photo img,.instructor-photo svg{object-fit:cover;width:100%;height:100%}.instructor-photo .badge{left:var(--s3);top:var(--s3);background:#131518d9;position:absolute}.instructor-body{padding:var(--s5);gap:var(--s3);display:grid}.instructor-body .role{color:var(--ash);font-size:.95rem}.chips{gap:var(--s2);flex-wrap:wrap;list-style:none;display:flex}.chips li{border:1px solid var(--steel);color:var(--bone);border-radius:999px;padding:.25em .7em;font-size:.82rem}.quals{gap:var(--s1);color:var(--ash);font-size:.925rem;list-style:none;display:grid}.label{color:var(--ash);margin-bottom:var(--s1);font-size:.8rem}.facility{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem,5vw,4rem);margin-top:clamp(3rem,7vw,5rem);display:grid}.facility-art{border:1px solid var(--steel);border-radius:var(--radius);aspect-ratio:4/3;overflow:hidden}.facility-art svg{width:100%;height:100%}.facility-list{margin-top:var(--s5);gap:0;list-style:none;display:grid}.facility-list li{justify-content:space-between;gap:var(--s4);padding-block:var(--s3);border-top:1px solid var(--steel);display:flex}.facility-list li span:last-child{color:var(--ash);text-align:right}@media (max-width:860px){.facility{grid-template-columns:1fr}}.flow{counter-reset:flow;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;list-style:none;display:grid;position:relative}.flow li{counter-increment:flow;padding:var(--s5) var(--s5) 0 0;border-top:2px solid var(--steel);position:relative}.flow li:last-child{border-top-color:var(--red)}.flow li:before{content:counter(flow);font-family:var(--font-display);color:var(--bone);margin-bottom:var(--s4);font-size:3.25rem;font-weight:700;line-height:1;display:block}.flow h3{margin-bottom:var(--s2);font-size:1.35rem}.flow p{color:var(--ash);font-size:.975rem}@media (max-width:860px){.flow{grid-template-columns:1fr}.flow li{padding:var(--s4) 0 var(--s4) 4.25rem;border-top:0;border-left:2px solid var(--steel)}.flow li:last-child{border-left-color:var(--red)}.flow li:before{left:var(--s4);top:var(--s4);color:var(--steel-strong);font-size:2.25rem;position:absolute}}.faq{border-bottom:1px solid var(--steel);max-width:52rem}.faq details{border-top:1px solid var(--steel)}.faq summary{cursor:pointer;justify-content:space-between;align-items:center;gap:var(--s4);padding-block:var(--s5);font-family:var(--font-display);font-size:clamp(1.3rem,2.4vw,1.6rem);font-weight:600;line-height:1.2;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"+";font-family:var(--font-body);color:var(--ash);transition:transform .2s var(--ease);flex:none;font-size:1.75rem;font-weight:300}.faq details[open] summary:after{color:var(--bone);transform:rotate(45deg)}.faq-answer{padding-bottom:var(--s5);color:var(--ash);gap:var(--s3);max-width:44rem;display:grid}.faq-answer a{color:var(--bone)}.faq details[open] .faq-answer{animation:reveal .25s var(--ease)}@keyframes reveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.site-footer{border-top:1px solid var(--steel);padding-block:var(--s8) var(--s6);background:#0f1113;font-size:.95rem}.footer-grid{gap:var(--s6);grid-template-columns:1.3fr 1fr 1fr 1fr;display:grid}.site-footer h2{font-size:1.05rem;font-family:var(--font-body);margin-bottom:var(--s3);color:var(--bone);font-weight:600}.site-footer ul{gap:var(--s2);list-style:none;display:grid}.site-footer a{color:var(--ash);text-decoration:none}.site-footer a:hover{color:var(--bone);text-decoration:underline}.site-footer address{color:var(--ash);font-style:normal;line-height:1.6}.footer-hours{gap:var(--s1) var(--s4);color:var(--ash);grid-template-columns:auto 1fr;display:grid}.footer-base{margin-top:var(--s7);padding-top:var(--s5);border-top:1px solid var(--steel);justify-content:space-between;gap:var(--s3);color:var(--ash);font-size:var(--text-sm);flex-wrap:wrap;display:flex}@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr}}@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}.page-head{padding-block:clamp(3rem, 7vw, 5rem) var(--s6);border-bottom:1px solid var(--steel)}.page-head h1{font-size:clamp(2.6rem,6vw,4.25rem)}.page-head p{margin-top:var(--s4);color:var(--ash);font-size:var(--text-lg);max-width:40rem}.back-link{align-items:center;gap:var(--s2);color:var(--ash);margin-bottom:var(--s5);min-height:44px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--bone)}.detail-grid{padding-block:var(--s7) var(--s9);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:start;gap:clamp(2rem,5vw,4rem);display:grid}.detail-grid .panel{top:calc(var(--header-h) + 1.5rem);position:sticky}@media (max-width:900px){.detail-grid{grid-template-columns:1fr}.detail-grid .panel{position:static}}.detail-media{border:1px solid var(--steel);border-radius:var(--radius);aspect-ratio:16/9;margin-bottom:var(--s6);overflow:hidden}.detail-media svg,.detail-media img{object-fit:cover;width:100%;height:100%}.content-block+.content-block{margin-top:var(--s6)}.content-block h2{margin-bottom:var(--s3);font-size:1.75rem}.notice{border:1px solid var(--steel-strong);border-left:3px solid var(--amber);border-radius:var(--radius-sm);padding:var(--s4);background:var(--carbon);color:var(--bone);font-size:.95rem}.notice-info{border-left-color:var(--ash)}.notice-error{border-left-color:var(--danger-text)}.notice-success{border-left-color:var(--green)}.notice strong{margin-bottom:var(--s1);display:block}.form{gap:var(--s5);display:grid}.field{gap:var(--s2);display:grid}.field label,.field legend{font-size:.95rem;font-weight:500}.field .hint{color:var(--ash);font-size:.85rem}.field .error{color:var(--danger-text);font-size:.875rem}.input,.select,.textarea{background:var(--graphite);border:1px solid var(--steel-strong);border-radius:var(--radius-sm);width:100%;min-height:48px;padding:.7rem .85rem;font-size:1rem}.textarea{resize:vertical;min-height:7.5rem;line-height:1.5}.input:hover,.select:hover,.textarea:hover{border-color:var(--ash)}.input:focus-visible,.select:focus-visible,.textarea:focus-visible{outline:2px solid var(--bone);outline-offset:1px;border-color:var(--bone)}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger-text)}.checkbox{gap:var(--s3);align-items:flex-start;font-size:.95rem;display:flex}.checkbox input{width:22px;height:22px;accent-color:var(--red);flex:none;margin:.15rem 0 0}.field-row{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));display:grid}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}fieldset{border:0;min-width:0;margin:0;padding:0}.auth-wrap{min-height:calc(100vh - var(--header-h) - 10rem);padding-block:var(--s8);place-items:center;display:grid}.auth-card{width:100%;max-width:28rem}.auth-card h1{margin-bottom:var(--s3);font-size:clamp(2.4rem,6vw,3.25rem)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-delay:0s!important}.scene-light{opacity:1}.firing-line{stroke-dashoffset:0}}.admin-shell{grid-template-columns:15rem minmax(0,1fr);min-height:100vh;display:grid}.admin-side{border-right:1px solid var(--steel);padding:var(--s5) var(--s4);gap:var(--s6);background:#0f1113;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.admin-side nav ul{gap:2px;list-style:none;display:grid}.admin-side nav a{min-height:44px;padding:0 var(--s3);border-radius:var(--radius-sm);color:var(--ash);align-items:center;text-decoration:none;display:flex}.admin-side nav a:hover{color:var(--bone);background:var(--carbon)}.admin-side nav a[aria-current=page]{color:var(--bone);background:var(--graphite);box-shadow:inset 2px 0 0 var(--red)}.admin-side-foot{gap:var(--s3);font-size:var(--text-sm);color:var(--ash);margin-top:auto;display:grid}.admin-main{padding:var(--s6) clamp(1.25rem, 4vw, 3rem) var(--s9);min-width:0}.admin-head{justify-content:space-between;align-items:end;gap:var(--s4);margin-bottom:var(--s6);padding-bottom:var(--s5);border-bottom:1px solid var(--steel);flex-wrap:wrap;display:flex}.admin-head h1{font-size:clamp(2rem,4vw,2.75rem)}.admin-head p{color:var(--ash);margin-top:var(--s2);max-width:44rem}.admin-section{margin-top:var(--s7)}.admin-section>h2{margin-bottom:var(--s2);font-size:1.6rem}.admin-section>p{color:var(--ash);margin-bottom:var(--s4);max-width:44rem}.admin-form{max-width:48rem}.admin-form fieldset.group{border:1px solid var(--steel);border-radius:var(--radius);padding:var(--s5);gap:var(--s5);display:grid}.admin-form fieldset.group>legend{padding:0 var(--s2);font-family:var(--font-display);font-size:1.3rem;font-weight:600}.form-actions{gap:var(--s3);padding-top:var(--s2);flex-wrap:wrap;align-items:center;display:flex}.table-wrap{border:1px solid var(--steel);border-radius:var(--radius);overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.95rem}.table th,.table td{text-align:left;padding:var(--s3) var(--s4);border-bottom:1px solid var(--steel);vertical-align:middle}.table th{color:var(--ash);background:var(--carbon);white-space:nowrap;font-size:.8rem;font-weight:500}.table tr:last-child td{border-bottom:0}.table td.actions{white-space:nowrap}.table td.actions>*+*{margin-left:var(--s2)}.table .num{font-variant-numeric:tabular-nums}.icon-btn{min-width:40px;padding:0}.stat-grid{gap:var(--s4);grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));display:grid}.stat{border:1px solid var(--steel);border-radius:var(--radius);padding:var(--s5);background:var(--carbon)}.stat .value{font-family:var(--font-display);margin-top:var(--s2);font-size:2.5rem;font-weight:600;line-height:1}.stat a{color:var(--ash);font-size:var(--text-sm)}.hours-day{gap:var(--s4);padding-block:var(--s3);border-top:1px solid var(--steel);grid-template-columns:8rem 1fr;align-items:center;display:grid}.hours-day ul{gap:var(--s2);flex-wrap:wrap;list-style:none;display:flex}.hours-block{align-items:center;gap:var(--s2);border:1px solid var(--steel-strong);border-radius:var(--radius-sm);padding:0 0 0 var(--s3);min-height:40px;display:inline-flex}.inline-form{gap:var(--s3);flex-wrap:wrap;align-items:end;display:flex}.inline-form .field{min-width:9rem}.mono-json{white-space:pre-wrap;word-break:break-word;color:var(--ash);max-height:12rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;overflow:auto}@media (max-width:860px){.admin-shell{grid-template-columns:minmax(0,1fr)}.admin-side{min-width:0}.admin-side-foot{grid-auto-flow:row}.admin-side{border-right:0;border-bottom:1px solid var(--steel);gap:var(--s4);height:auto;padding:var(--s4) var(--gutter);position:static}.admin-side nav ul{gap:var(--s2);padding-bottom:var(--s1);display:flex;overflow-x:auto}.admin-side nav a{white-space:nowrap;border:1px solid var(--steel)}.admin-side nav a[aria-current=page]{box-shadow:inset 0 -2px 0 var(--red)}.admin-side-foot{margin-top:0}.hours-day{gap:var(--s2);grid-template-columns:1fr}.table.stack thead{display:none}.table.stack,.table.stack tbody,.table.stack tr,.table.stack td{width:100%;display:block}.table.stack tr{border-bottom:1px solid var(--steel);padding:var(--s3) 0}.table.stack td{padding:var(--s1) var(--s4);border:0}.table.stack td[data-label]:before{content:attr(data-label);color:var(--ash);font-size:.75rem;display:block}.table.stack td.actions{white-space:normal;gap:var(--s2);padding-top:var(--s3);flex-wrap:wrap;display:flex}.table.stack td.actions>*+*{margin-left:0}}.filter-bar a[aria-current=page]{background:var(--bone);color:var(--ink);border-color:var(--bone)}.hero-art-narrow text{display:none}.semi-private{border:1px solid var(--steel);border-left:3px solid var(--red);border-radius:var(--radius);background:var(--carbon);margin-bottom:var(--s6);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);padding:clamp(1.25rem,3.5vw,2rem);display:grid}.semi-private h3{margin-bottom:var(--s3);font-size:clamp(1.5rem,2.6vw,1.9rem)}.semi-private p{color:var(--ash)}.semi-facts{align-content:start;gap:0;margin:0;display:grid}.semi-facts>div{gap:var(--s4);padding-block:var(--s3);border-top:1px solid var(--steel);grid-template-columns:8.5rem 1fr;display:grid}.semi-facts>div:first-child{border-top:0;padding-top:0}.semi-facts dt{color:var(--ash);font-size:.9rem}.semi-facts dd{margin:0;font-weight:500}@media (max-width:760px){.semi-private{grid-template-columns:1fr}.semi-facts>div{gap:var(--s1);grid-template-columns:1fr}}.skill-level{color:var(--bone);border-left:2px solid var(--steel-strong);padding-left:var(--s3);font-size:.875rem}.more-courses{padding-top:var(--s6);border-top:1px solid var(--steel);grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(1.5rem,5vw,4rem);margin-top:clamp(3rem,7vw,4.5rem);display:grid}.more-courses h3{margin-bottom:var(--s2);font-size:1.75rem}.more-list{columns:2 18rem;column-gap:var(--s6);list-style:none}.more-list li{break-inside:avoid;padding:var(--s2) 0;border-bottom:1px solid var(--steel);font-size:.95rem}@media (max-width:860px){.more-courses{grid-template-columns:1fr}}.roster{border-top:1px solid var(--steel);margin-top:var(--s5);grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));list-style:none;display:grid}.roster li{padding:var(--s4) var(--s4) var(--s4) 0;border-bottom:1px solid var(--steel);flex-direction:column;gap:2px;display:flex}.roster-name{font-family:var(--font-display);font-size:1.4rem;font-weight:600;line-height:1.1}.roster-title{color:var(--ash);font-size:.9rem}.card-grid+.roster{margin-top:var(--s6)}.detail-meta{gap:var(--s2) var(--s5);margin-top:var(--s4);color:var(--ash);flex-wrap:wrap;display:flex}.detail-meta strong{color:var(--bone);font-weight:500}.catalog-group+.catalog-group{margin-top:clamp(2.5rem,6vw,4rem)}.catalog-group-title{margin-bottom:var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--steel);font-size:clamp(1.6rem,3vw,2.1rem)}.account-grid{gap:var(--s5);padding-block:var(--s6) var(--s9);grid-template-columns:minmax(0,1fr);max-width:52rem;display:grid}.panel-title{margin-bottom:var(--s3);align-items:center;gap:var(--s3);flex-wrap:wrap;font-size:1.6rem;display:flex}.backup-codes{gap:var(--s2);margin-top:var(--s4);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));list-style:none;display:grid}.backup-codes li{background:var(--graphite);border:1px solid var(--steel);border-radius:var(--radius-sm);padding:var(--s2) var(--s3);text-align:center;letter-spacing:.04em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.setup-steps{gap:var(--s5);padding-left:1.25rem;display:grid}.setup-steps li{gap:var(--s3);display:grid}.qr{border-radius:var(--radius-sm);background:#fff;width:220px;height:220px;padding:8px}.secret-key{color:var(--bone);word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.balance{align-items:baseline;gap:var(--s3);flex-wrap:wrap;display:flex}.balance-value{font-family:var(--font-display);font-size:clamp(3.5rem,9vw,5rem);font-weight:700;line-height:1}.balance-label{color:var(--ash)}.kv{gap:var(--s2) var(--s5);margin:var(--s4) 0 0;grid-template-columns:max-content 1fr;display:grid}.kv dt{color:var(--ash)}.kv dd{margin:0}.delta-plus{color:var(--green);font-variant-numeric:tabular-nums;font-weight:600}.delta-minus{color:var(--bone);font-variant-numeric:tabular-nums;font-weight:600}.status-pill{align-items:center;gap:.4em;font-size:.85rem;font-weight:500;display:inline-flex}.status-pill:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.status-active{color:var(--green)}.status-pending,.status-info_requested{color:var(--amber)}.status-suspended,.status-rejected{color:var(--danger-text)}.member-layout{gap:var(--s5);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.member-layout .member-units{grid-column:1/-1}.admin-card{background:var(--carbon);border:1px solid var(--steel);border-radius:var(--radius);min-width:0;padding:clamp(1.25rem,3vw,1.75rem)}.admin-card>h2{margin-bottom:var(--s4);font-size:1.5rem}.sub-title{margin:var(--s6) 0 var(--s3);padding-top:var(--s4);border-top:1px solid var(--steel);font-size:1.2rem}.decision-stack{gap:var(--s5);display:grid}.decision-stack>form+form{padding-top:var(--s5);border-top:1px solid var(--steel)}@media (max-width:1100px){.member-layout{grid-template-columns:minmax(0,1fr)}}.page-head p,.kv dd,.admin-card dd{overflow-wrap:anywhere}
