@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+460-52F,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+301,U+400-45F,U+490-491,U+4B0-4B1,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+1F??}@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+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@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+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: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+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: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+??,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{--bg:oklch(98.75% 0 0);--surface:#fff;--surface-warm:oklch(96% 0 0);--fg:oklch(21% .006 285.885);--fg-2:var(--fg);--muted:oklch(55.6% 0 0);--meta:var(--muted);--border:oklch(14.5% 0 0/.1);--border-soft:oklch(93.5% 0 0);--accent:oklch(57.72% .2324 260);--accent-on:#fff;--accent-hover:oklch(48.8% .243 264.376);--accent-active:var(--accent-hover);--success:oklch(59.6% .145 163.225);--warn:oklch(73.9% .177 58.2);--danger:oklch(63.7% .237 25.331);--font-display:"Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif;--font-body:"Inter Variable", "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--text-3xl:30px;--text-4xl:36px;--leading-body:1.5;--leading-tight:1.2;--tracking-display:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-12:48px;--section-y-desktop:64px;--section-y-tablet:48px;--section-y-phone:32px;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-pill:9999px;--elev-flat:none;--elev-ring:0 0 0 1px var(--border);--elev-raised:0 1px 2px 0 oklch(0% 0 0/.08);--focus-ring:0 0 0 2px oklch(15% 0 0);--motion-fast:.15s;--motion-base:.25s;--ease-standard:cubic-bezier(.77, 0, .175, 1);--container-max:1200px;--container-gutter-desktop:24px;--container-gutter-tablet:16px;--container-gutter-phone:12px}[data-theme=dark],[data-mode=dark]{--bg:oklch(10% 0 0);--surface:oklch(17% 0 0);--surface-warm:oklch(15% 0 0);--fg:oklch(97% 0 0);--fg-2:var(--fg);--muted:oklch(70.8% 0 0);--meta:var(--muted);--border:oklch(32% 0 0);--border-soft:oklch(26.9% 0 0);--accent:oklch(51.948% .2324 260);--accent-on:#fff;--accent-hover:oklch(48.8% .243 264.376);--accent-active:var(--accent-hover);--success:oklch(76.5% .177 163.223);--warn:oklch(64.5% .168 50);--danger:oklch(57.7% .245 27.325);--elev-raised:0 1px 2px 0 oklch(0% 0 0/.3);--focus-ring:0 0 0 2px oklch(93.5% 0 0)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:oklch(10% 0 0);--surface:oklch(17% 0 0);--surface-warm:oklch(15% 0 0);--fg:oklch(97% 0 0);--fg-2:var(--fg);--muted:oklch(70.8% 0 0);--meta:var(--muted);--border:oklch(32% 0 0);--border-soft:oklch(26.9% 0 0);--accent:oklch(51.948% .2324 260);--accent-on:#fff;--accent-hover:oklch(48.8% .243 264.376);--accent-active:var(--accent-hover);--success:oklch(76.5% .177 163.223);--warn:oklch(64.5% .168 50);--danger:oklch(57.7% .245 27.325);--elev-raised:0 1px 2px 0 oklch(0% 0 0/.3);--focus-ring:0 0 0 2px oklch(93.5% 0 0)}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s}}:root{--text-body:var(--text-lg);--leading-prose:1.6;--text-display:clamp(30px, 1.5rem + 2.4vw, 46px);--text-section:clamp(24px, 1.25rem + .9vw, 30px)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--text-body);line-height:var(--leading-prose);font-synthesis-weight:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0}h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;font-weight:600}h1{font-size:var(--text-display);letter-spacing:-.02em;line-height:1.12}h2{font-size:var(--text-section);line-height:var(--leading-tight);letter-spacing:-.015em}h3{font-size:var(--text-xl);letter-spacing:-.01em;line-height:1.3}h4{font-size:var(--text-lg);letter-spacing:-.005em;line-height:1.35}p{text-wrap:pretty;margin:0}ul,ol,dl{margin:0;padding:0}li{list-style:none}img,svg{max-width:100%;display:block}button{font:inherit}a{color:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--radius-sm);outline:none}.container{width:100%;max-width:var(--container-max);padding-inline:var(--container-gutter-phone);margin-inline:auto}@media (width>=768px){.container{padding-inline:var(--container-gutter-tablet)}}@media (width>=1024px){.container{padding-inline:var(--container-gutter-desktop)}}.section{padding-block:clamp(var(--section-y-phone), 6vw, var(--section-y-desktop));border-top:1px solid var(--border-soft);scroll-margin-top:84px}@media (width<=767px){.section{scroll-margin-top:140px}}.section-head{gap:var(--space-3);max-width:68ch;margin-bottom:var(--space-8);display:grid}.cards>*,.points>*,.steps>*,.grid-contact>*{min-width:0}.eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0;line-height:1.4}.lead{font-size:var(--text-xl);color:var(--muted);max-width:58ch;line-height:1.5}.prose{max-width:68ch}.small{font-size:var(--text-sm);letter-spacing:.01em;line-height:1.55}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.skip-link{left:var(--space-4);z-index:100;padding:var(--space-3) var(--space-4);background:var(--fg);color:var(--bg);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:500;text-decoration:none;position:absolute;top:-100px}.skip-link:focus{top:var(--space-4)}.topnav{z-index:20;background:color-mix(in oklab, var(--bg) 88%, transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-soft);position:sticky;top:0}.topnav-inner{align-items:center;gap:var(--space-2) var(--space-6);padding-block:var(--space-2);flex-wrap:wrap;display:flex}.brand{align-items:baseline;gap:var(--space-2);padding-block:var(--space-2);margin-right:auto;text-decoration:none;display:flex}.brand-name{font-family:var(--font-mono);font-size:var(--text-lg);letter-spacing:-.01em;font-weight:500}.brand-sub{font-size:var(--text-xs);color:var(--muted);letter-spacing:.01em}.nav ul{align-items:center;gap:0 var(--space-1);flex-wrap:wrap;display:flex}.nav a{min-height:44px;padding-inline:var(--space-3);font-size:var(--text-base);letter-spacing:.02em;color:var(--muted);border-radius:var(--radius-md);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.nav a:hover{color:var(--fg)}.nav a[aria-current=page]{color:var(--fg);box-shadow:inset 0 -2px 0 0 var(--fg);border-radius:0}@media (width<=767px){.topnav-inner{gap:var(--space-1)}.brand{order:1;margin-right:0}.topnav-inner>.btn-link{order:2;margin-left:auto}.nav{order:3;width:100%}}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--text-base);letter-spacing:.02em;cursor:pointer;transition:transform var(--motion-fast) var(--ease-standard);border:1px solid #0000;font-weight:500;text-decoration:none;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:var(--accent-on)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary:active{background:var(--accent-active)}.btn:focus-visible{box-shadow:var(--focus-ring)}.btn-secondary:focus-visible{box-shadow:var(--focus-ring), var(--elev-raised)}.btn-secondary{background:var(--surface);color:var(--fg);box-shadow:var(--elev-ring), var(--elev-raised)}.btn-secondary:hover{box-shadow:0 0 0 1px var(--fg), var(--elev-raised)}.btn-link{min-height:44px;font-size:var(--text-base);letter-spacing:.02em;color:var(--fg);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:4px;align-items:center;font-weight:500;display:inline-flex}.btn-link:hover{text-decoration-color:var(--fg)}@media (width>=1024px){.btn{min-height:40px}}.hero{padding-block:clamp(var(--space-12), 9vw, 96px) clamp(var(--section-y-tablet), 6vw, var(--section-y-desktop))}.hero-grid{gap:var(--space-8);align-items:start;display:grid}@media (width>=1000px){.hero-grid{gap:var(--space-12);grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr)}}.hero-copy{gap:var(--space-4);display:grid}.hero h1{max-width:22ch}.hero-cta{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.trust{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding-top:var(--space-4);border-top:1px solid var(--border-soft)}.spec{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--elev-ring), var(--elev-raised);overflow:hidden}.spec-head{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--surface-warm);border-bottom:1px solid var(--border-soft);display:flex}.spec-mark{background:var(--fg);flex:none;width:6px;height:6px}.spec-title{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}.spec-list>div{gap:var(--space-1);padding:var(--space-4);border-top:1px solid var(--border-soft);display:grid}.spec-list>div:first-child{border-top:0}.spec-list dt{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.spec-list dd{font-size:var(--text-base);margin:0;line-height:1.5}.cards{gap:var(--space-4);display:grid}@media (width>=640px){.cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}}.card{gap:var(--space-3);padding:var(--space-5);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--elev-ring), var(--elev-raised);align-content:start;display:grid}.cards-2{gap:var(--space-4);display:grid}@media (width>=640px){.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}}.cards-2>*{min-width:0}.card-icon{color:var(--muted)}.card-icon svg{width:20px;height:20px}.card p{font-size:var(--text-base);color:var(--muted);line-height:1.55}.card-audience{font-size:var(--text-sm);letter-spacing:.01em;color:var(--muted);padding-top:var(--space-3);border-top:1px solid var(--border-soft);line-height:1.5}.points{display:grid}@media (width>=860px){.points{column-gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr))}}.points li{gap:var(--space-4);padding-block:var(--space-5);border-top:1px solid var(--border-soft);grid-template-columns:44px minmax(0,1fr);display:grid}.points-idx{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.06em;color:var(--muted);padding-top:4px}.points h3{font-size:var(--text-lg);letter-spacing:-.005em;margin-bottom:var(--space-1)}.points p{font-size:var(--text-base);color:var(--muted);line-height:1.55}.steps{background:var(--border-soft);border-radius:var(--radius-lg);gap:1px;display:grid;overflow:hidden}@media (width>=640px){.steps{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.steps{grid-template-columns:repeat(4,minmax(0,1fr))}}.steps li{background:var(--surface-warm);padding:var(--space-5);gap:var(--space-2);align-content:start;display:grid}.steps-num{font-family:var(--font-mono);font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--muted);line-height:1}.steps h3{font-size:var(--text-lg);letter-spacing:-.005em}.steps p{font-size:var(--text-base);line-height:1.55}.faq{border-bottom:1px solid var(--border-soft)}.faq details{border-top:1px solid var(--border-soft)}.faq summary{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:56px;padding:var(--space-4) 0;font-size:var(--text-lg);letter-spacing:-.005em;cursor:pointer;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary:after{content:"";border-right:1.6px solid var(--muted);border-bottom:1.6px solid var(--muted);width:8px;height:8px;transition:transform var(--motion-fast) var(--ease-standard);flex:none;transform:translateY(-2px)rotate(45deg)}.faq details[open] summary:after{transform:translateY(2px)rotate(-135deg)}.faq details>p{padding:0 var(--space-8) var(--space-5) 0;max-width:72ch}.pending{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--fg);background:var(--surface-warm);border:1px dashed var(--border-soft);border-radius:var(--radius-sm);padding:2px var(--space-2);align-items:center;font-size:11px;line-height:1.6;display:inline-flex}.tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.tags li{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.01em;color:var(--fg);background:var(--surface-warm);border-radius:var(--radius-pill);padding:2px var(--space-3);overflow-wrap:anywhere;line-height:1.6}.note{gap:var(--space-2);padding:var(--space-4) var(--space-5);background:var(--surface-warm);border-radius:var(--radius-lg);font-size:var(--text-base);line-height:1.55;display:grid}.note-label{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg)}.note a{color:var(--fg)}.cv{gap:var(--space-8);display:grid}.cv-block{gap:var(--space-4);display:grid}.cv-block>h3{font-size:var(--text-lg)}.cv-block>h2{font-size:var(--text-xl)}.timeline{gap:var(--space-6);display:grid}.timeline>li{gap:var(--space-3);padding-left:var(--space-6);border-left:1px solid var(--border);display:grid;position:relative}.timeline>li:before{content:"";background:var(--fg);width:5px;height:5px;position:absolute;top:6px;left:-3px}.timeline>li.is-pending{border-left-style:dashed}.timeline>li.is-pending:before{background:var(--border-soft)}.tl-meta{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.tl-when{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.01em;color:var(--muted)}.tl-org{font-size:var(--text-sm);color:var(--muted)}.timeline p{font-size:var(--text-body)}.ticks{gap:var(--space-2);display:grid}.ticks li{padding-left:var(--space-5);font-size:var(--text-base);line-height:1.55;position:relative}.ticks li:before{content:"";background:var(--fg);width:6px;height:1px;position:absolute;top:9px;left:2px}.cv-cols{gap:var(--space-6);display:grid}@media (width>=860px){.cv-cols{gap:var(--space-8);grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}}.cv-card{gap:var(--space-4);padding:var(--space-5);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--elev-ring), var(--elev-raised);display:grid}.cv-card h3,.cv-card h4{font-family:var(--font-display);font-size:var(--text-base);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);margin:0;font-weight:600}.plain-list{gap:var(--space-3);display:grid}.plain-list li{gap:var(--space-1);font-size:var(--text-base);line-height:1.5;display:grid}.plain-list .k{font-size:var(--text-sm);color:var(--muted)}.print-only{display:none}.grid-contact{gap:var(--space-4);display:grid}@media (width>=640px){.grid-contact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=1000px){.grid-contact{grid-template-columns:repeat(4,minmax(0,1fr))}}.contact-cell{gap:var(--space-2);padding:var(--space-5);background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--elev-ring), var(--elev-raised);align-content:start;display:grid}.contact-cell h3{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:500}.contact-cell p{font-size:var(--text-base);line-height:1.55}.contact-cell a{color:var(--fg);font-weight:500}.pagefoot{margin-top:var(--space-12);padding-block:var(--space-8);background:var(--surface-warm);border-top:1px solid var(--border-soft);font-size:var(--text-sm);line-height:1.6}.foot-grid{gap:var(--space-6);display:grid}@media (width>=768px){.foot-grid{gap:var(--space-8);grid-template-columns:repeat(3,minmax(0,1fr))}}.foot-grid h2{font-size:var(--text-xs);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:var(--space-3);font-weight:500}.foot-grid a{color:var(--fg);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px}.foot-grid a:hover{text-decoration-color:var(--fg)}.foot-list{gap:var(--space-2);display:grid}.foot-legal{margin-top:var(--space-8);padding-top:var(--space-5);border-top:1px solid var(--border-soft);gap:var(--space-2) var(--space-4);flex-wrap:wrap;justify-content:space-between;display:flex}@media print{:root{--bg:#fff;--surface:#fff;--surface-warm:#fff;--fg:#000;--muted:#333;--border:#999;--border-soft:#bbb;--elev-ring:0 0 0 1px #bbb;--elev-raised:none;--text-body:12pt}@page{margin:16mm}body{font-size:12pt;line-height:1.4}.no-print{display:none!important}.print-only{display:block}.cv{gap:12pt}.section{border-top:0;padding-block:0}.card,.cv-card{box-shadow:none;border:1px solid var(--border-soft);break-inside:avoid}.tags li{border:1px solid var(--border-soft)}.timeline>li{break-inside:avoid}.ticks li{font-size:10pt}.faq,.steps,.hero,.topnav,.pagefoot{display:none!important}}.page-head{gap:var(--space-3);max-width:68ch;padding-block:clamp(var(--space-8), 6vw, var(--space-12)) var(--space-4);display:grid}.stack{gap:var(--space-4);display:grid}.stack-lg{gap:var(--space-8);display:grid}.divider{border:0;border-top:1px solid var(--border-soft);margin:var(--space-8) 0}.prose p{margin-bottom:var(--space-3);font-size:var(--text-base);line-height:1.6}.prose h2{margin-top:var(--space-8);margin-bottom:var(--space-3)}.prose h3{margin-top:var(--space-6);margin-bottom:var(--space-2)}.prose ul,.prose ol{gap:var(--space-2);margin:var(--space-3) 0;display:grid}.prose li{padding-left:var(--space-5);font-size:var(--text-base);line-height:1.55;position:relative}.prose li:before{content:"";background:var(--fg);width:6px;height:1px;position:absolute;top:9px;left:2px}.prose strong{font-weight:600}.prose a,.link{color:var(--fg);text-decoration:underline;text-decoration-color:var(--border);text-underline-offset:3px}.prose a:hover,.link:hover{text-decoration-color:var(--fg)}.table-scroll{margin-top:var(--space-4);overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-base)}caption{text-align:left;color:var(--muted);font-size:var(--text-sm);padding-bottom:var(--space-2)}th,td{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-soft);vertical-align:top}thead th{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-warm);font-weight:500}tbody th{width:13rem;color:var(--muted);font-weight:500}.services{margin-top:var(--space-8)}.service{gap:var(--space-3);padding-block:var(--space-6);border-top:1px solid var(--border-soft);display:grid}.service:first-of-type{border-top:0;padding-top:0}.todo{font-family:var(--font-mono);letter-spacing:.02em;background:color-mix(in oklab, var(--warn) 22%, var(--surface));border:1px solid color-mix(in oklab, var(--warn) 50%, var(--border-soft));border-radius:var(--radius-sm);padding:0 .35em;font-size:.92em}
