:root{--canvas: #fafaf8;--surface: #ffffff;--surface-2: #f4f3ef;--surface-3: #eceae4;--inverse: #0e0e0c;--ink: #0e0e0c;--text-secondary: #6b6962;--text-tertiary: #9c9a92;--text-on-dark: #fafaf8;--text-on-dark-secondary: rgba(250, 250, 248, .7);--border-subtle: #e8e7e2;--border-strong: #d6d4cd;--border-contrast: #0e0e0c;--horizon-50: #fef4e1;--horizon-500: #f5a623;--horizon-600: #d9911d;--error: #b33a3a;--font-sans: "Inter Variable", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-caption: .6875rem;--fs-label: .6875rem;--fs-body-sm: .75rem;--fs-body-md: .875rem;--fs-body-lg: 1rem;--fs-h-xs: 1.0625rem;--fs-h-sm: 1.25rem;--fs-h-md: 1.5rem;--fs-h-2xl: 2.625rem;--fs-display: 2.75rem;--fs-display-hero: clamp(2.75rem, 1.55rem + 5.4vw, 4.75rem);--fs-display-section: clamp(2rem, 1.35rem + 2.9vw, 2.75rem);--fs-lead: clamp(1.0625rem, 1rem + .45vw, 1.3125rem);--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 16px;--radius-sheet: 24px;--radius-pill: 999px;--shadow-sm: 0 1px 4px rgba(15, 23, 42, .18);--shadow-md: 0 2px 6px rgba(15, 23, 42, .22);--shadow-card: 0 1px 2px rgba(15, 23, 42, .05), 0 10px 30px rgba(15, 23, 42, .06);--shadow-lifted: 0 4px 16px rgba(15, 23, 42, .12);--container-max: 1120px;--container-narrow: 760px;--container-pad: clamp(20px, 5vw, 48px);--section-gap: clamp(72px, 10vw, 128px);--nav-h: 64px}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--nav-h) + 16px)}body{font-family:var(--font-sans);background:var(--canvas);color:var(--ink);font-size:var(--fs-body-lg);line-height:1.5;font-weight:var(--fw-regular);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none;overflow-x:clip}img,picture,svg,canvas{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}a{color:inherit;text-decoration:none}ul,ol{list-style:none;padding:0}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}::selection{background:var(--horizon-50);color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;left:16px;top:-48px;z-index:100;background:var(--ink);color:var(--text-on-dark);padding:10px 16px;border-radius:var(--radius-sm);font-size:var(--fs-body-md);font-weight:var(--fw-semibold);transition:top .18s ease}.skip-link:focus{top:16px}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.container--narrow{max-width:var(--container-narrow)}.section{padding-block:var(--section-gap)}.t-display{font-size:var(--fs-display-hero);font-weight:var(--fw-medium);line-height:1.03;letter-spacing:-.027em}.t-h2{font-size:var(--fs-display-section);font-weight:var(--fw-medium);line-height:1.07;letter-spacing:-.024em}.t-h3{font-size:var(--fs-h-md);font-weight:var(--fw-medium);line-height:1.15;letter-spacing:-.022em}.t-h4{font-size:var(--fs-h-sm);font-weight:var(--fw-semibold);line-height:1.2;letter-spacing:-.02em}.t-eyebrow{font-size:var(--fs-label);font-weight:var(--fw-semibold);letter-spacing:.09em;text-transform:uppercase;color:var(--text-tertiary)}.t-lead{font-size:var(--fs-lead);line-height:1.55;color:var(--text-secondary);font-weight:var(--fw-regular)}.t-body{font-size:var(--fs-body-lg);line-height:1.62;color:var(--text-secondary)}.t-caption{font-size:var(--fs-caption);line-height:1.4;color:var(--text-tertiary)}.text-ink{color:var(--ink)}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.js [data-reveal] .reveal-item{opacity:0;transform:translateY(12px);transition:opacity .55s ease,transform .6s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i, 0) * 80ms);will-change:opacity,transform}.js [data-reveal].is-revealed .reveal-item{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.js [data-reveal] .reveal-item{opacity:1;transform:none;transition:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--fw-semibold);font-size:var(--fs-body-md);letter-spacing:-.01em;line-height:1;border-radius:var(--radius-sm);padding:15px 22px;white-space:nowrap;transition:transform .14s ease,opacity .14s ease,background-color .14s ease,border-color .14s ease}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--ink);color:var(--text-on-dark)}.btn--primary:hover{opacity:.88}.btn--outline{border:1px solid var(--border-strong);color:var(--ink);background:transparent}.btn--outline:hover{border-color:var(--ink)}.btn--lg{padding:17px 28px;font-size:var(--fs-body-lg)}.btn--block{width:100%}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-ext-wght-normal.BOeWTOD4.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-cyrillic-wght-normal.DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-ext-wght-normal.DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-greek-wght-normal.CkhJZR-_.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-vietnamese-wght-normal.CBcvBZtf.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-ext-wght-normal.DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/inter-latin-wght-normal.Dx4kXJAl.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}.cc{position:fixed;left:clamp(12px,3vw,24px);bottom:clamp(12px,3vw,24px);z-index:1000;width:min(440px,calc(100vw - 24px))}.cc__card{background:var(--inverse);color:var(--text-on-dark);border-radius:var(--radius-sheet);padding:var(--space-7);box-shadow:0 4px 16px #0f172a2e,0 24px 60px #0f172a4d}.reveal-cc{animation:cc-in .42s cubic-bezier(.16,1,.3,1) both}@keyframes cc-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.cc__title{font-size:var(--fs-h-md);font-weight:var(--fw-semibold);letter-spacing:-.02em;margin:0 0 var(--space-3)}.cc__body{font-size:var(--fs-body-md);line-height:1.55;color:var(--text-on-dark-secondary);margin:0 0 var(--space-5)}.cc__link{color:var(--text-on-dark);text-decoration:underline;text-underline-offset:2px}.cc__link:hover{opacity:.8}.cc__actions{display:flex;flex-direction:column;gap:var(--space-3)}.cc__row{display:flex;gap:var(--space-3)}.cc__row>.cc__btn{flex:1 1 0}.cc__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:var(--fw-semibold);font-size:var(--fs-body-md);letter-spacing:-.01em;line-height:1;border-radius:var(--radius-sm);padding:14px 18px;white-space:nowrap;cursor:pointer;transition:transform .14s ease,opacity .14s ease,background-color .14s ease,border-color .14s ease}.cc__btn:active{transform:translateY(1px)}.cc__btn--block{width:100%}.cc__btn--primary{background:var(--text-on-dark);color:var(--ink);border:1px solid var(--text-on-dark)}.cc__btn--primary:hover{opacity:.9}.cc__btn--ghost{background:transparent;color:var(--text-on-dark);border:1px solid rgba(250,250,248,.28)}.cc__btn--ghost:hover{border-color:#fafaf88c}.cc__cats{list-style:none;margin:0 0 var(--space-5);padding:0;display:flex;flex-direction:column}.cc__cat{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) 0;border-top:1px solid rgba(250,250,248,.12)}.cc__cat:last-child{border-bottom:1px solid rgba(250,250,248,.12)}.cc__cat-text{display:flex;flex-direction:column;gap:3px}.cc__cat-name{font-size:var(--fs-body-md);font-weight:var(--fw-medium)}.cc__cat-desc{font-size:var(--fs-body-sm);line-height:1.5;color:var(--text-on-dark-secondary)}.cc__always{flex:0 0 auto;font-size:var(--fs-body-sm);color:var(--text-tertiary);padding-top:2px}.cc__toggle{flex:0 0 auto;position:relative;width:42px;height:24px;border-radius:var(--radius-pill);border:none;background:#fafaf838;cursor:pointer;transition:background-color .16s ease;margin-top:2px}.cc__toggle.is-on{background:var(--text-on-dark)}.cc__toggle-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--radius-pill);background:var(--inverse);transition:transform .16s ease,background-color .16s ease}.cc__toggle:not(.is-on) .cc__toggle-knob{background:var(--text-on-dark)}.cc__toggle.is-on .cc__toggle-knob{transform:translate(18px)}@media(prefers-reduced-motion:reduce){.reveal-cc{animation:none}.cc__btn,.cc__toggle,.cc__toggle-knob{transition:none}}
