@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}@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-vietnamese-wght-normal.D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-ext-wght-normal.D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/_astro/space-grotesk-latin-wght-normal.BhU9QXUp.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: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}:root{--color-ink-900: #0A0E14;--color-ink-800: #0E131B;--color-ink-700: #131A24;--color-ink-600: #18212E;--color-line: #202B39;--color-line-strong: #2C3A4C;--color-accent-600: #E89A0F;--color-accent-500: #FFB627;--color-accent-400: #FFC24D;--color-accent-ink: #0A0E14;--color-accent-glow: rgba(255, 182, 39, .12);--color-accent-dim: rgba(255, 182, 39, .22);--color-signal-600: #3F6FE0;--color-signal-500: #5D8BFF;--color-signal-glow: rgba(93, 139, 255, .14);--color-text: #E8EDF4;--color-text-muted: #93A2B5;--color-text-subtle: #74839A;--color-success: #3FB98A;--color-warn: #F0B429;--color-danger: #F0674A;--color-paper: #F4F6FA;--color-paper-text: #16202C;--gradient-hero: radial-gradient(ellipse 80% 50% at 50% -10%, var(--color-accent-glow), transparent 70%);--font-display: "Space Grotesk Variable", "Space Grotesk", "Segoe UI", system-ui, sans-serif;--font-body: "Inter Variable", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "IBM Plex Mono", "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--text-xs: .75rem;--text-sm: .8125rem;--text-base: 1rem;--text-md: 1.0625rem;--text-lg: 1.1875rem;--text-xl: clamp(1.25rem, 1.2rem + .6vw, 1.5rem);--text-2xl: clamp(1.5rem, 1.25rem + 1.6vw, 2.125rem);--text-3xl: clamp(2rem, 1.4rem + 3vw, 3.375rem);--text-display: clamp(2.5rem, 1.6rem + 4.4vw, 4.25rem);--leading-tight: 1.1;--leading-snug: 1.22;--leading-normal: 1.55;--leading-relaxed: 1.7;--tracking-tight: -.025em;--tracking-snug: -.01em;--tracking-normal: 0;--tracking-wide: .08em;--tracking-wider: .16em;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-6: 1.5rem;--space-8: 2rem;--space-12: 3rem;--space-16: 4rem;--space-24: 6rem;--space-32: 8rem;--section-y: clamp(4rem, 3rem + 5vw, 5.5rem);--container-max: 1080px;--container-wide: 1200px;--container-pad: clamp(1.25rem, .8rem + 2vw, 1.5rem);--radius-sm: 4px;--radius: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-glow: 0 0 24px var(--color-accent-glow);--z-nav: 50;--z-overlay: 100;--dur-fast: .3s;--dur-base: .6s;--dur-slow: .9s;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--reveal-y: 24px;--reveal-y-lg: 48px;--stagger: .08s;--parallax: .12;--transition-fast: var(--dur-fast) var(--ease-soft);--transition-base: var(--dur-base) var(--ease-out)}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 1ms;--dur-base: 1ms;--dur-slow: 1ms;--reveal-y: 0px;--reveal-y-lg: 0px;--stagger: 0s;--parallax: 0}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;background:var(--color-ink-900);background-image:var(--gradient-hero);background-repeat:no-repeat;overflow-x:hidden}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:transparent;color:var(--color-text);font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}img,picture,svg{max-width:100%;display:block}a{color:inherit}::selection{background:var(--color-accent-dim);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-signal-500);outline-offset:3px;border-radius:var(--radius-sm)}.wrap{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-pad)}.section{padding-block:var(--section-y);border-bottom:1px solid var(--color-line)}h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-semibold);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-accent-500)}.dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--color-accent-500);box-shadow:0 0 10px var(--color-accent-500);flex-shrink:0}.section-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--color-text-subtle)}.section-intro{color:var(--color-text-muted);max-width:64ch;font-size:var(--text-md)}.tag{font-family:var(--font-mono);font-size:var(--text-xs);padding:4px 9px;border-radius:var(--radius-sm);background:var(--color-ink-800);border:1px solid var(--color-line);color:var(--color-text-subtle)}.tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:12px 22px;border-radius:var(--radius);text-decoration:none;cursor:pointer;transition:transform var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.btn--primary{background:var(--color-accent-500);color:var(--color-accent-ink);font-weight:var(--weight-semibold);border:1px solid var(--color-accent-500)}.btn--primary:hover{background:var(--color-accent-400);transform:translateY(-1px)}.btn--ghost{background:transparent;border:1px solid var(--color-line-strong);color:var(--color-text-muted)}.btn--ghost:hover{border-color:var(--color-accent-500);color:var(--color-accent-500)}.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:var(--space-4);top:-100%;z-index:var(--z-overlay);background:var(--color-accent-500);color:var(--color-accent-ink);padding:10px 16px;border-radius:var(--radius);font-family:var(--font-mono);font-size:var(--text-sm);text-decoration:none;transition:top var(--transition-fast)}.skip-link:focus{top:var(--space-4)}.nav{position:sticky;top:0;z-index:var(--z-nav);background:color-mix(in srgb,var(--color-ink-900) 82%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--color-line)}.nav__inner{display:flex;align-items:center;gap:var(--space-4);height:64px}.nav__logo{font-family:var(--font-mono);font-weight:var(--weight-semibold);letter-spacing:.14em;font-size:15px;color:var(--color-text);text-decoration:none}.nav__logo b{color:var(--color-accent-500);font-weight:var(--weight-semibold)}.nav__menu{display:flex;gap:var(--space-6);margin-left:auto;align-items:center}.nav__link{color:var(--color-text-muted);text-decoration:none;font-family:var(--font-mono);font-size:13.5px;transition:color var(--transition-fast)}.nav__link:hover,.nav__link[aria-current=page]{color:var(--color-accent-500)}.nav__toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;margin-left:auto;padding:0 9px;background:none;border:1px solid var(--color-line-strong);border-radius:var(--radius-sm);cursor:pointer}.nav__toggle-bar{display:block;width:100%;height:2px;background:var(--color-text-muted);transition:transform var(--transition-fast),opacity var(--transition-fast)}.nav__toggle[aria-expanded=true] .nav__toggle-bar:first-child{transform:translateY(3.5px) rotate(45deg)}.nav__toggle[aria-expanded=true] .nav__toggle-bar:last-child{transform:translateY(-3.5px) rotate(-45deg)}.lang-switch{display:inline-flex;align-items:center;gap:var(--space-1);padding-left:var(--space-4);border-left:1px solid var(--color-line)}.lang-btn{font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;background:none;border:none;color:var(--color-text-subtle);cursor:pointer;padding:4px;transition:color var(--transition-fast)}.lang-btn:hover{color:var(--color-text-muted)}.lang-btn.is-active{color:var(--color-accent-500)}.lang-switch__sep{color:var(--color-line-strong);font-size:12px}@media(max-width:720px){.nav__toggle{display:flex}.nav__menu{position:absolute;top:100%;left:0;right:0;margin-left:0;flex-direction:column;align-items:flex-start;gap:var(--space-4);padding:var(--space-6) var(--container-pad);background:var(--color-ink-800);border-bottom:1px solid var(--color-line);display:none}.nav__menu.is-open{display:flex}.nav__link{font-size:15px}.lang-switch{padding-left:var(--space-3)}}.hero{padding-block:clamp(4.5rem,3.5rem + 5vw,6.5rem) clamp(3.5rem,3rem + 4vw,5.25rem);border-bottom:1px solid var(--color-line);position:relative}.hero__eyebrow{margin-bottom:var(--space-6)}.hero__title{font-size:var(--text-display);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);font-weight:var(--weight-bold);max-width:20ch;margin-bottom:var(--space-6)}.hero__title em{font-style:normal;color:var(--color-text-subtle)}.hero__lede{font-size:var(--text-lg);color:var(--color-text-muted);max-width:60ch;line-height:var(--leading-relaxed)}.hero__lede strong{color:var(--color-text);font-weight:var(--weight-semibold)}.hero__cta{display:flex;gap:var(--space-3);margin-top:var(--space-8);flex-wrap:wrap}.section__head{margin-bottom:var(--space-12)}.section__head .section-label{display:block;margin-bottom:var(--space-4)}.section__head h2{font-size:var(--text-2xl);margin-bottom:var(--space-4)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6)}.card{background:var(--color-ink-700);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-8);position:relative;overflow:hidden;transition:border-color var(--transition-base),transform var(--transition-base)}.card:hover{border-color:var(--color-line-strong);transform:translateY(-3px)}.card:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent-500),transparent);opacity:0;transition:opacity var(--transition-base)}.card:hover:before{opacity:.7}.card__title{font-size:var(--text-xl);margin-bottom:var(--space-3);letter-spacing:var(--tracking-snug)}.card__body{color:var(--color-text-muted);font-size:var(--text-base);margin-bottom:var(--space-4)}.card__price{font-family:var(--font-mono);font-size:12.5px;color:var(--color-accent-500);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-line)}@media(max-width:780px){.grid-2{grid-template-columns:1fr}}.stack{padding-block:var(--space-12);border-bottom:1px solid var(--color-line);background:var(--color-ink-800)}.stack__label{display:block;text-align:center;margin-bottom:var(--space-6)}.stack__row{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-4) var(--space-8)}.stack__item{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-base);color:var(--color-text-muted);letter-spacing:var(--tracking-snug);transition:color var(--transition-fast)}.stack__item:hover{color:var(--color-text)}.stack__icon{width:22px;height:22px;flex-shrink:0;color:var(--color-accent-500)}.stack__item+.stack__item:before{content:"";width:4px;height:4px;border-radius:var(--radius-pill);background:var(--color-line-strong);margin-right:var(--space-5, 1.25rem)}@media(max-width:640px){.stack__row{gap:var(--space-4) var(--space-6)}.stack__item+.stack__item:before{display:none}}.case{background:var(--color-ink-800);border:1px solid var(--color-line);border-radius:var(--radius-lg);overflow:hidden}.case__head{padding:var(--space-8) var(--space-8) var(--space-6);border-bottom:1px solid var(--color-line)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent-500);background:var(--color-accent-glow);border:1px solid var(--color-accent-dim);padding:4px 10px;border-radius:var(--radius-pill);margin-bottom:var(--space-4)}.case__title{font-size:var(--text-2xl);letter-spacing:var(--tracking-tight);margin-bottom:var(--space-3)}.case__desc{color:var(--color-text-muted);max-width:66ch;font-size:var(--text-base)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--color-line)}.metric{padding:var(--space-6) var(--space-5, 1.25rem);border-right:1px solid var(--color-line);text-align:center}.metric:last-child{border-right:none}.metric__n{font-family:var(--font-mono);font-size:26px;color:var(--color-accent-500);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-tight)}.metric__l{font-size:11.5px;color:var(--color-text-subtle);margin-top:var(--space-1);font-family:var(--font-mono);letter-spacing:.05em}.pipeline{padding:var(--space-8);border-bottom:1px solid var(--color-line)}.pipeline .section-label{display:block;margin-bottom:var(--space-6)}.steps{display:flex;align-items:stretch;overflow-x:auto;padding-bottom:var(--space-1)}.step{flex:1;min-width:130px;background:var(--color-ink-700);border:1px solid var(--color-line);padding:var(--space-4) 14px}.step:first-child{border-radius:var(--radius) 0 0 var(--radius)}.step:last-child{border-radius:0 var(--radius) var(--radius) 0}.step+.step{border-left:none}.step__i{font-family:var(--font-mono);font-size:10.5px;color:var(--color-accent-500);margin-bottom:var(--space-2);letter-spacing:.08em}.step__t{font-size:13.5px;font-weight:var(--weight-semibold);margin-bottom:5px;line-height:1.35}.step__d{font-size:11.5px;color:var(--color-text-subtle);font-family:var(--font-mono);line-height:1.5}.guard{margin:var(--space-6) var(--space-8) 0;display:flex;align-items:flex-start;gap:var(--space-3);font-family:var(--font-mono);font-size:12px;color:var(--color-warn);line-height:var(--leading-relaxed);background:color-mix(in srgb,var(--color-warn) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-warn) 22%,transparent);padding:11px 14px;border-radius:var(--radius);margin-bottom:var(--space-8)}.stack-inline{padding:var(--space-6) var(--space-8)}.stack-inline .section-label{display:block;margin-bottom:var(--space-3)}.mini{display:flex;flex-direction:column;background:var(--color-ink-700);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-6);transition:border-color var(--transition-base),transform var(--transition-base)}.mini:hover{border-color:var(--color-line-strong);transform:translateY(-3px)}.mini--wide{grid-column:1 / -1}.mini--wide{position:relative;overflow:hidden}.mini--wide:before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--color-accent-500),transparent);opacity:.7}.mini__title{font-size:var(--text-lg);margin-bottom:var(--space-2)}.mini__body{color:var(--color-text-muted);font-size:14.5px;margin-bottom:var(--space-4)}.mini__tags{margin-bottom:var(--space-4)}.mini__link{margin-top:auto}.mini__link{color:var(--color-accent-500);text-decoration:none;font-family:var(--font-mono);font-size:12.5px}.mini__link:hover{text-decoration:underline}.section__head--spaced{margin-top:var(--space-16)}@media(max-width:780px){.metrics{grid-template-columns:1fr 1fr}.metric:nth-child(2){border-right:none}.metric:nth-child(1),.metric:nth-child(2){border-bottom:1px solid var(--color-line)}.case__head,.pipeline,.stack-inline{padding-inline:var(--space-6)}.guard{margin-inline:var(--space-6)}}.about{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--space-12);align-items:start}.about__body p{color:var(--color-text-muted);margin-bottom:var(--space-4);font-size:var(--text-md)}.about__body p strong{color:var(--color-text);font-weight:var(--weight-semibold)}.creds{background:var(--color-ink-700);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-6)}.creds__portrait{display:block;width:100%;max-width:340px;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:var(--radius);border:1px solid var(--color-line-strong);margin-bottom:var(--space-6)}.creds .section-label{display:block;margin-bottom:var(--space-4)}.creds ul{list-style:none}.creds li{font-size:13.5px;color:var(--color-text-muted);padding:9px 0;border-bottom:1px solid var(--color-line);display:flex;gap:var(--space-3)}.creds li:last-child{border-bottom:none}.creds li>span:first-child{font-family:var(--font-mono);color:var(--color-text-subtle);font-size:11.5px;flex-shrink:0;width:52px}@media(max-width:780px){.about{grid-template-columns:1fr;gap:var(--space-8)}}.contact{border-bottom:none}.contact__box{background:var(--color-ink-700);border:1px solid var(--color-line);border-radius:var(--radius-lg);padding:clamp(var(--space-8),5vw,var(--space-12));text-align:center}.contact__box .section-label{display:block;margin-bottom:var(--space-4)}.contact__box h2{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.contact__box p{color:var(--color-text-muted);max-width:52ch;margin:0 auto var(--space-8);font-size:var(--text-md)}.contact__form{display:flex;gap:var(--space-3);max-width:480px;margin-inline:auto;flex-wrap:wrap}.contact__form input{flex:1;min-width:220px;background:var(--color-ink-900);border:1px solid var(--color-line-strong);border-radius:var(--radius);padding:12px 14px;color:var(--color-text);font-size:14.5px;font-family:var(--font-body);transition:border-color var(--transition-fast)}.contact__form input:focus{outline:none;border-color:var(--color-signal-500)}.contact__form input::placeholder{color:var(--color-text-subtle)}.contact__alt{margin-top:var(--space-6);font-family:var(--font-mono);font-size:13px;color:var(--color-text-subtle)}.contact__alt a{color:var(--color-text-muted);text-decoration:none}.contact__alt a:hover{color:var(--color-accent-500)}.footer{padding-block:var(--space-8);border-top:1px solid var(--color-line)}.footer__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-3);font-family:var(--font-mono);font-size:12px;color:var(--color-text-subtle)}.footer__inner a{color:var(--color-text-muted);text-decoration:none}.footer__inner a:hover{color:var(--color-accent-500)}.blog-hero{padding-block:clamp(3.5rem,3rem + 3vw,5rem) var(--space-8)}.blog-hero h1{font-size:var(--text-3xl);margin-bottom:var(--space-4)}.blog-hero p{color:var(--color-text-muted);max-width:60ch;font-size:var(--text-md)}.blog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.post-card{display:flex;flex-direction:column;background:var(--color-ink-700);border:1px solid var(--color-line);border-radius:var(--radius-md);padding:var(--space-6);text-decoration:none;color:inherit;transition:border-color var(--transition-base),transform var(--transition-base)}.post-card:hover{border-color:var(--color-line-strong);transform:translateY(-3px)}.post-card__meta{display:flex;gap:var(--space-3);align-items:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-subtle);margin-bottom:var(--space-3)}.post-card__title{font-size:var(--text-xl);letter-spacing:var(--tracking-snug);margin-bottom:var(--space-2)}.post-card__summary{color:var(--color-text-muted);font-size:14.5px;margin-bottom:var(--space-4)}.post-card__tags{margin-top:auto}.post-card__more{font-family:var(--font-mono);font-size:12.5px;color:var(--color-accent-500);margin-top:var(--space-4)}.article{padding-block:clamp(3rem,2.5rem + 3vw,4.5rem)}.article__head{max-width:72ch;margin-bottom:var(--space-8)}.article__back{font-family:var(--font-mono);font-size:12.5px;color:var(--color-text-muted);text-decoration:none;display:inline-block;margin-bottom:var(--space-6)}.article__back:hover{color:var(--color-accent-500)}.article__meta{display:flex;gap:var(--space-3);align-items:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-subtle);margin-bottom:var(--space-4)}.article__title{font-size:var(--text-3xl);line-height:var(--leading-snug);margin-bottom:var(--space-4)}.article__summary{font-size:var(--text-lg);color:var(--color-text-muted)}.prose{max-width:72ch}.prose>*+*{margin-top:var(--space-4)}.prose h2{font-size:var(--text-2xl);margin-top:var(--space-12);margin-bottom:var(--space-2)}.prose h3{font-size:var(--text-xl);margin-top:var(--space-8);margin-bottom:var(--space-2)}.prose p,.prose li{color:var(--color-text-muted);font-size:var(--text-md);line-height:var(--leading-relaxed)}.prose strong{color:var(--color-text)}.prose a{color:var(--color-signal-500);text-underline-offset:3px}.prose ul,.prose ol{padding-left:var(--space-6)}.prose li+li{margin-top:var(--space-2)}.prose blockquote{border-left:2px solid var(--color-accent-500);padding-left:var(--space-4);color:var(--color-text);font-style:italic}.prose code{font-family:var(--font-mono);font-size:.9em;background:var(--color-ink-800);border:1px solid var(--color-line);border-radius:var(--radius-sm);padding:1px 6px}.prose pre{background:var(--color-ink-800);border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-4);overflow-x:auto}.prose pre code{background:none;border:none;padding:0}@media(max-width:780px){.blog-grid{grid-template-columns:1fr}}.globe-bg{position:fixed;top:0;right:0;width:min(96vh,940px);height:100vh;z-index:-1;pointer-events:none;overflow:hidden;opacity:.8;transform:translate(16%);-webkit-mask-image:linear-gradient(to left,#000 45%,transparent 92%);mask-image:linear-gradient(to left,#000 45%,transparent 92%)}.globe-bg canvas{display:block}@media(max-width:780px){.globe-bg{width:auto;left:0;right:0;height:62vh;top:auto;bottom:6vh;transform:none;opacity:.42;-webkit-mask-image:radial-gradient(circle at 50% 50%,#000 40%,transparent 80%);mask-image:radial-gradient(circle at 50% 50%,#000 40%,transparent 80%)}}@media(prefers-reduced-motion:reduce){.globe-bg{opacity:.55}}.js [data-reveal]{opacity:0;will-change:opacity,transform}.js [data-reveal=up]{transform:translateY(var(--reveal-y))}.js [data-reveal=left]{transform:translate(calc(-1 * var(--reveal-y)))}.js [data-reveal=right]{transform:translate(var(--reveal-y))}.js [data-reveal=scale]{transform:scale(.96)}@media(prefers-reduced-motion:reduce){.js [data-reveal]{opacity:1!important;transform:none!important;will-change:auto}}
