:root{--surface-0:#fff;--surface-1:#f5f6f7;--surface-2:#ebeef0;--border-hairline:#dce1e4;--border-default:#cbd1d6;--border-interactive:#7e888f;--ink-900:#0f1417;--ink-700:#2c333a;--ink-500:#59636b;--ink-400:#626c74;--ink-300:#8a949c;--red-700:#8c0510;--red-600:#b00214;--red-500:#d30111;--red-400:#e23a33;--red-300:#f2564e;--gold-500:#d29815;--gold-400:#e8b02a;--brass-700:#7a5a0a;--gold-bar:#b8830f;--dark-0:#0b0e10;--dark-1:#141a1d;--dark-2:#1c2429;--dark-hairline:#242c31;--dark-rule:#2e383e;--dark-interactive:#8b959c;--on-dark-900:#f2f5f6;--on-dark-600:#afb9c0;--on-dark-500:#8b959c;--success:#146b45;--warning:#8a5a00;--error:#8c0510;--page:var(--surface-0);--page-alt:var(--surface-1);--page-inset:var(--surface-2);--panel:var(--dark-0);--panel-line:transparent;--line:var(--border-hairline);--line-strong:var(--border-default);--line-interactive:var(--border-interactive);--text-strong:var(--ink-900);--text:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-400);--text-disabled:var(--ink-300);--accent:var(--red-600);--accent-strong:var(--red-700);--accent-gold:var(--brass-700);--rule-gold:var(--gold-bar);--danger:var(--error);--caution:var(--warning);--ok:var(--success);--surface-error:#fdf2f2;--surface-warning:#fff8e6;--text-warning:#5c3d00;--mark-bg:#fff3cd;--mark-text:#6b4a00;--header-shadow:0 1px 2px #0f14170f, 0 8px 24px -12px #0f14171f;color-scheme:light;--font-display:"Archivo Variable", "Archivo", "Helvetica Neue", Arial, sans-serif;--font-text:"IBM Plex Sans Variable", "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;--fs-display:clamp(2.125rem, 1.417rem + 3.148vw, 4.25rem);--fs-h2:clamp(1.625rem, 1.292rem + 1.481vw, 2.625rem);--fs-h3:clamp(1.125rem, 1.042rem + .37vw, 1.375rem);--fs-lead:clamp(1.0625rem, 1rem + .278vw, 1.25rem);--fs-body:clamp(1rem, .9583rem + .185vw, 1.125rem);--fs-sm:clamp(.9375rem, .9167rem + .093vw, 1rem);--fs-caption:clamp(.8125rem, .7917rem + .093vw, .875rem);--fs-label:clamp(.75rem, .7292rem + .093vw, .8125rem);--fs-stat:clamp(2.5rem, 2rem + 2.222vw, 4rem);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:64px;--space-10:80px;--space-11:96px;--space-12:128px;--space-13:160px;--container:1240px;--container-narrow:760px;--gutter:clamp(1.25rem, .6667rem + 2.593vw, 3rem);--section-y:clamp(3.5rem, 2rem + 6.667vw, 8rem);--section-y-lg:clamp(5rem, 2.5rem + 11.11vw, 10rem);--hero-y:clamp(6rem, 4.333rem + 7.407vw, 11rem);--gap-card:clamp(1.25rem, 1rem + 1.111vw, 2rem);--header-h:88px;--header-h-scrolled:64px;--ease-out:cubic-bezier(.16, 1, .3, 1);--dur-state:.12s;--dur-hover:.2s;--dur-reveal:.4s;--radius:2px}:root[data-theme=dark]{--page:var(--dark-0);--page-alt:var(--dark-1);--page-inset:var(--dark-2);--panel:var(--dark-2);--panel-line:var(--dark-rule);--line:var(--dark-hairline);--line-strong:var(--dark-rule);--line-interactive:var(--dark-interactive);--text-strong:var(--on-dark-900);--text:var(--on-dark-600);--text-muted:var(--on-dark-500);--text-faint:var(--on-dark-500);--text-disabled:#6b757c;--accent:var(--red-300);--accent-strong:var(--red-400);--accent-gold:var(--gold-400);--rule-gold:var(--gold-500);--danger:#f2564e;--caution:#e0a83a;--ok:#3fc38c;--surface-error:#2a0d10;--surface-warning:#2a2007;--text-warning:#f0d089;--mark-bg:#3a2d08;--mark-text:#ffd469;--header-shadow:0 1px 0 #ffffff0a;color-scheme:dark}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-vietnamese-wght-normal.XAtsl5Q_.woff2)format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-ext-wght-normal.C4zznr8T.woff2)format("woff2-variations");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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/archivo-latin-wght-normal.E0tuGl4L.woff2)format("woff2-variations");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 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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+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 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+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 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+??,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 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")}@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")}@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")}@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")}@font-face{font-family:Plex Fallback;src:local(Segoe UI),local(Helvetica Neue),local(Arial);size-adjust:104%;ascent-override:92%;descent-override:24%;line-gap-override:0%}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h-scrolled) + var(--space-5));-webkit-text-size-adjust:100%}body{background:var(--page);color:var(--text);font-family:var(--font-text), "Plex Fallback", sans-serif;font-size:var(--fs-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.65;overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-display), "Plex Fallback", sans-serif;color:var(--text-strong);text-wrap:balance;hyphens:manual;margin:0}h1{font-size:var(--fs-display);letter-spacing:-.015em;font-weight:700;line-height:1.04}h2{font-size:var(--fs-h2);letter-spacing:-.01em;font-weight:700;line-height:1.12}h3{font-family:var(--font-text), "Plex Fallback", sans-serif;font-size:var(--fs-h3);letter-spacing:-.005em;font-weight:600;line-height:1.25}p{text-wrap:pretty;margin:0}a{color:inherit;text-decoration:none}img,picture,svg,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}ul,ol{margin:0;padding:0;list-style:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:1px}.dark :focus-visible,[data-dark] :focus-visible{outline-color:var(--gold-400)}.container{width:100%;max-width:var(--container);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--section-y)}.section--band{background:var(--page-alt);border-block:1px solid var(--line)}.section--dark{background:var(--dark-0);color:var(--on-dark-600)}.section--dark h2,.section--dark h3{color:var(--on-dark-900)}.skip-link{left:var(--space-4);top:var(--space-4);z-index:200;padding:var(--space-3) var(--space-5);background:var(--red-600);color:#fff;transition:transform var(--dur-state);font-weight:600;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.kicker{align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600;display:inline-flex}.kicker:before{content:"";background:var(--rule-gold);flex:none;width:24px;height:2px}.section--dark .kicker{color:var(--gold-400)}.section--dark .kicker:before{background:var(--gold-500)}.lead{font-size:var(--fs-lead);max-width:52ch;color:var(--text-muted);line-height:1.55}.section--dark .lead{color:var(--on-dark-600)}.section-head{gap:var(--space-4);max-width:60ch;margin-bottom:var(--space-9);flex-direction:column;display:flex}.section-head--centred{text-align:center;align-items:center;margin-inline:auto}.section-head--centred h2{font-size:clamp(1.5rem,1.25rem + 1.1vw,2.25rem);line-height:1.2}.label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;font-weight:600}.btn{justify-content:center;align-items:center;gap:var(--space-3);min-height:52px;padding:0 var(--space-6);border-radius:var(--radius);font-family:var(--font-text), sans-serif;font-size:var(--fs-sm);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background-color var(--dur-state), border-color var(--dur-state), color var(--dur-state);border:1px solid #0000;font-weight:600;display:inline-flex}.btn svg{transition:transform var(--dur-hover) var(--ease-out);flex:none}.btn:hover svg{transform:translate(3px)}.btn--primary{background:var(--red-600);color:#fff}.btn--primary:hover{background:var(--red-700)}.btn--ghost{border-color:var(--line-interactive);color:var(--text-strong)}.btn--ghost:hover{border-color:var(--text-strong);background:var(--page-alt)}.section--dark .btn--ghost,.btn--ghost-dark{border-color:var(--dark-interactive);color:var(--on-dark-900)}.section--dark .btn--ghost:hover,.btn--ghost-dark:hover{border-color:var(--on-dark-900);background:#ffffff0f}.btn--sm{min-height:44px;padding:0 var(--space-5)}.card{background:var(--page);border:1px solid var(--line-strong);border-radius:var(--radius);transition:border-color var(--dur-hover);position:relative;overflow:hidden}.card:after{content:"";background:var(--red-600);transform-origin:0;height:2px;transition:transform var(--dur-hover) var(--ease-out);position:absolute;inset:0 0 auto;transform:scaleX(0)}.card:hover{border-color:var(--line-interactive)}.card:hover:after{transform:scaleX(1)}.card__media{background:var(--page-inset);overflow:hidden}.card__media img{object-fit:cover;width:100%;height:100%;transition:transform .3s var(--ease-out)}.card:hover .card__media img{transform:scale(1.03)}.grid-3{gap:var(--gap-card);grid-template-columns:1fr;display:grid}@media (width>=640px){.grid-3{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.grid-3{grid-template-columns:repeat(3,1fr)}}.prose{overflow-wrap:anywhere;max-width:72ch}.prose h2{margin-block:var(--space-9) var(--space-4);font-size:clamp(1.25rem,1.1rem + .7vw,1.75rem)}.prose h3{margin-block:var(--space-6) var(--space-3)}.prose p,.prose ul,.prose dl{margin-block:var(--space-4)}.prose ul{padding-left:var(--space-5);list-style:none}.prose ul li{margin-block:var(--space-2);position:relative}.prose ul li:before{content:"";left:calc(var(--space-5) * -1);background:var(--red-600);width:6px;height:1.5px;position:absolute;top:.7em}.prose dl{gap:var(--space-1) var(--space-5);border-top:1px solid var(--line);padding-top:var(--space-4);grid-template-columns:minmax(0,1fr);display:grid}@media (width>=640px){.prose dl{grid-template-columns:minmax(9rem,max-content) minmax(0,1fr)}}.prose dt{font-family:var(--font-mono);font-size:var(--fs-caption);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);padding-top:.2em}.prose dd{margin:0 0 var(--space-3);color:var(--text-strong);overflow-wrap:anywhere;min-width:0}.prose a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.prose a:hover{text-decoration-thickness:2px}.prose mark.pending,mark.pending{background:var(--mark-bg);color:var(--mark-text);border:1px dashed var(--caution);font-family:var(--font-mono);overflow-wrap:anywhere;border-radius:2px;padding:.1em .4em;font-size:.9em}.reveal{opacity:0;transition:opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out);transform:translateY(12px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.reveal{opacity:1!important;transform:none!important}a,button,input,select,textarea,.card{transition:color var(--dur-state), background-color var(--dur-state), border-color var(--dur-state), box-shadow var(--dur-state)!important}}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@layer astro.images{:where([data-astro-image]){height:auto}:where([data-astro-image=full-width]){width:100%}:where([data-astro-image=constrained]){max-width:100%}[data-astro-image-fit=fill]{object-fit:fill}[data-astro-image-fit=contain]{object-fit:contain}[data-astro-image-fit=cover]{object-fit:cover}[data-astro-image-fit=scale-down]{object-fit:scale-down}[data-astro-image-pos=top]{object-position:top}[data-astro-image-pos=bottom]{object-position:bottom}[data-astro-image-pos=left]{object-position:left}[data-astro-image-pos=right]{object-position:right}[data-astro-image-pos=center]{object-position:center}[data-astro-image-pos=top-bottom]{object-position:top bottom}[data-astro-image-pos=top-left]{object-position:top left}[data-astro-image-pos=top-right]{object-position:top right}[data-astro-image-pos=top-center]{object-position:top center}[data-astro-image-pos=bottom-top]{object-position:bottom top}[data-astro-image-pos=bottom-left]{object-position:bottom left}[data-astro-image-pos=bottom-right]{object-position:bottom right}[data-astro-image-pos=bottom-center]{object-position:bottom center}[data-astro-image-pos=left-top]{object-position:left top}[data-astro-image-pos=left-bottom]{object-position:left bottom}[data-astro-image-pos=left-right]{object-position:left right}[data-astro-image-pos=left-center]{object-position:left center}[data-astro-image-pos=right-top]{object-position:right top}[data-astro-image-pos=right-bottom]{object-position:right bottom}[data-astro-image-pos=right-left]{object-position:right left}[data-astro-image-pos=right-center]{object-position:right center}[data-astro-image-pos=center-top]{object-position:center top}[data-astro-image-pos=center-bottom]{object-position:center bottom}[data-astro-image-pos=center-left]{object-position:center left}[data-astro-image-pos=center-right]{object-position:center right}}
