@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.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:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2) format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.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:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.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}:root{--bg: #0d0f0e;--ink: #e9e7e2;--body: #bdbbb5;--muted: #9a9a93;--line: #343835;--line-strong: #4a4e4b;--card: #161a18;--pass: #5bd08a;--accent: #ffb547;--sans: "Geist Variable", system-ui, sans-serif;--mono: "Geist Mono Variable", ui-monospace, monospace;--fs-xs: .8125rem;--fs-sm: .9375rem;--fs-list: .875rem;--fs-base: 1.0625rem;--fs-md: 1.125rem;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-6: 3rem;--space-8: 4rem;--section-gap: clamp(6rem, 15vh, 10rem);--ease: cubic-bezier(.2, .8, .2, 1)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--ink)}:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.page{overflow-x:hidden}.container{max-width:1360px;margin:0 auto;padding-left:clamp(1.5rem,5vw,4rem);padding-right:clamp(1.5rem,5vw,4rem)}.mono{font-family:var(--mono)}.muted{color:var(--muted)}.accent{color:var(--accent)}.sr-only{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:1rem;font-size:var(--fs-xs)}.header{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:center;padding-top:1.75rem;padding-bottom:1.75rem}.logo{font-size:1.25rem;font-weight:700;letter-spacing:-.015em;text-decoration:none}.nav{display:flex;flex-wrap:wrap;gap:1.75rem;font-size:var(--fs-sm)}.nav a{text-decoration:none}.nav a:hover{color:var(--accent)}.hero{padding-top:clamp(2rem,8vh,6rem);padding-bottom:clamp(3.5rem,13vh,8rem)}.eyebrow{margin:0 0 clamp(1rem,3vh,2rem);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hero-title{margin:0;font-size:clamp(2.75rem,6.5vw,6rem);line-height:1;letter-spacing:-.035em;font-weight:700}.hero-sub{margin:1.25rem 0 0;font-size:clamp(1.75rem,3.8vw,3.5rem);line-height:1.1;letter-spacing:-.03em;font-weight:400;color:var(--muted)}.hero-word{color:var(--ink);border-bottom:4px solid var(--accent)}.caret{color:var(--accent);animation:blink 1s steps(1) infinite}.hero-foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2rem;margin-top:clamp(2rem,6vh,4.5rem);font-size:var(--fs-xs)}.hero-intro{margin:0;max-width:34rem;font-size:var(--fs-md);line-height:1.65;text-wrap:pretty;color:var(--body)}@keyframes blink{50%{opacity:0}}.marquee{position:relative;padding:1.5rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.marquee-track{display:flex;width:max-content;font-size:clamp(1.375rem,2.5vw,2.25rem);font-weight:600;letter-spacing:-.03em;line-height:1.1;white-space:nowrap;animation:slide 50s linear infinite}@media (hover: hover){.marquee-track:hover{animation-play-state:paused}}.marquee-item{display:flex;align-items:center;gap:1.75rem;padding-right:1.75rem}.marquee-item{color:var(--muted)}.marquee-item.outline{color:transparent;-webkit-text-stroke:1px var(--line-strong)}.marquee-item.accent{color:var(--muted)}.marquee-sep{font-size:.32em;color:var(--muted);-webkit-text-stroke:0;letter-spacing:0}@keyframes slide{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes slide-back{0%{transform:translate(-50%)}to{transform:translate(0)}}.section-work{padding-top:var(--section-gap)}.accordion{margin-top:var(--space-6);border-top:1px solid var(--line-strong)}.acc-item{border-bottom:1px solid var(--line-strong)}.acc-trigger{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:3rem minmax(0,1fr) auto;gap:1.5rem;align-items:center;padding:1.75rem 0;color:var(--ink);transition:padding-left .25s ease}@media (hover: hover){.acc-trigger:hover{padding-left:20px}}.acc-trigger:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.acc-num{font-size:var(--fs-xs)}.acc-title{font-size:clamp(1.25rem,2vw,1.75rem);font-weight:500;letter-spacing:-.02em;line-height:1.2}.acc-icon{font-size:1.5rem;line-height:1;color:var(--accent);transition:transform .25s ease}.is-open .acc-icon{transform:rotate(45deg)}.acc-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .5s var(--ease)}.is-open .acc-panel{grid-template-rows:1fr}.acc-clip{overflow:hidden;min-height:0}.acc-body{display:flex;flex-direction:column;gap:2rem;max-width:58rem;padding:0 0 3rem 4.5rem;opacity:0;transform:translateY(-12px);transition:opacity .4s ease .12s,transform .5s var(--ease) .12s}.is-open .acc-body{opacity:1;transform:none}.acc-desc{margin:0;max-width:62ch;font-size:var(--fs-sm);line-height:1.65;color:var(--body)}.list-label{display:block;padding-bottom:var(--space-2);font-size:var(--fs-xs);letter-spacing:.08em;text-transform:uppercase}.rows{display:flex;flex-direction:column;border-bottom:1px solid var(--line)}.row{display:flex;flex-wrap:wrap;gap:.375rem 2rem;padding:1.125rem 0;border-top:1px solid var(--line);opacity:0;transform:translateY(8px);transition:opacity .35s ease,transform .35s var(--ease)}.row-head{flex:0 0 15rem;display:flex;flex-direction:column;gap:.125rem}.row-name{font-size:var(--fs-list);font-weight:500}.row-meta{font-size:var(--fs-xs)}.row-text{flex:1 1 18rem;min-width:0;margin:0;font-size:var(--fs-list);line-height:1.65;color:var(--body)}.chips{display:flex;flex-wrap:wrap;gap:.625rem;font-size:var(--fs-xs)}.chip{color:var(--body);border:1px solid var(--line-strong);border-radius:999px;padding:.4375rem 1rem;opacity:0;transform:translateY(10px);transition:opacity .35s ease,transform .35s var(--ease),background .2s ease,color .2s ease}.chip:hover{background:var(--ink);color:var(--bg)}.is-open .row,.is-open .chip{opacity:1;transform:none}.is-open .row:nth-child(1){transition-delay:.18s}.is-open .row:nth-child(2){transition-delay:.25s}.is-open .row:nth-child(3){transition-delay:.32s}.is-open .row:nth-child(4){transition-delay:.37s}.is-open .row:nth-child(5){transition-delay:.42s}.is-open .chip:nth-child(1){transition-delay:.48s,.48s,0ms,0ms}.is-open .chip:nth-child(2){transition-delay:.53s,.53s,0ms,0ms}.is-open .chip:nth-child(3){transition-delay:.58s,.58s,0ms,0ms}.is-open .chip:nth-child(4){transition-delay:.63s,.63s,0ms,0ms}.is-open .chip:nth-child(5){transition-delay:.68s,.68s,0ms,0ms}.is-open .chip:nth-child(6){transition-delay:.73s,.73s,0ms,0ms}.is-open .chip:nth-child(7){transition-delay:.78s,.78s,0ms,0ms}.is-open .chip:nth-child(8){transition-delay:.83s,.83s,0ms,0ms}.is-open .chip:nth-child(9){transition-delay:.88s,.88s,0ms,0ms}.is-open .chip:nth-child(10){transition-delay:.93s,.93s,0ms,0ms}.section-process{padding-top:var(--section-gap)}.pipe-scroll{margin-top:var(--space-6)}.pipe-inner{position:relative}.pipe-line{position:absolute;top:27px;left:10%;right:10%;height:2px;background:var(--line)}.pipe-fill{height:100%;background:var(--accent);transition:width .65s var(--ease)}.pipe-grid{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none}.stage{display:flex;flex-direction:column;gap:1.75rem;padding:0 .875rem}.node{width:56px;height:56px;margin:0 auto;border-radius:50%;border:2px solid var(--line);background:var(--bg);color:var(--muted);display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);transition:background .3s ease,border-color .3s ease}.stage.running .node{border-color:var(--accent)}.stage.passed .node{background:var(--ink);border-color:var(--ink);color:var(--bg)}.spin{display:block;width:22px;height:22px;border-radius:50%;border:2.5px solid var(--accent);border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stage-card{flex-grow:1;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;border:1px dashed var(--line);border-radius:16px;background:transparent;transition:border-color .3s ease,background .3s ease}.stage.running .stage-card{border:1px solid var(--accent);background:var(--card)}.stage.passed .stage-card{border:1px solid var(--line-strong);background:var(--card)}.stage-meta{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-size:var(--fs-xs)}.stage-chip{white-space:nowrap;color:var(--muted)}.stage.running .stage-chip{color:var(--ink)}.stage.passed .stage-chip{color:var(--pass)}.stage-title{margin:0;font-size:1.25rem;font-weight:600;letter-spacing:-.02em}.stage-text{margin:0;font-size:var(--fs-sm);line-height:1.65;color:var(--body)}.pipe-status{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:var(--fs-xs)}.btn-outline{min-height:44px;padding:0 1.25rem;font-size:var(--fs-xs);color:var(--ink);background:transparent;border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;transition:background .2s ease,color .2s ease}.btn-outline:hover{background:var(--ink);color:var(--bg)}@media (min-width: 721px) and (max-width: 1100px){.pipe-scroll{overflow-x:auto;overflow-y:hidden;padding-bottom:.5rem}.pipe-inner{min-width:1040px}}.stack-strip{margin-top:var(--section-gap);padding:1.75rem 0;overflow:hidden;color:#62655f;border-top:1px solid var(--line);border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}.stack-track{display:flex;width:max-content;font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;animation:slide-back 60s linear infinite}.stack-track span{margin-right:1.25rem}.stack-sep{font-size:.75em}.section-contact{padding-top:var(--section-gap);padding-bottom:var(--section-gap);font-size:var(--fs-xs)}.contact-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:var(--space-6);margin-top:var(--space-2)}.contact-title{margin:0;font-size:clamp(2.5rem,6vw,5.5rem);line-height:1;letter-spacing:-.04em;font-weight:700}.magnet{width:150px;height:150px;border-radius:50%;background:var(--accent);color:var(--bg);display:flex;align-items:center;justify-content:center;font-family:var(--sans);font-weight:600;font-size:1rem;text-decoration:none;transition:transform .18s ease-out}.contact-links{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--space-6);font-size:var(--fs-sm)}.contact-links a:hover,.link-button:hover{color:var(--accent)}.link-button{padding:0;font-size:inherit;color:var(--ink);background:none;border:0;text-decoration:underline;cursor:pointer}.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding-top:1.5rem;padding-bottom:2.5rem;position:relative;font-size:var(--fs-xs)}.footer:before{content:"";position:absolute;top:0;left:clamp(1.5rem,5vw,4rem);right:clamp(1.5rem,5vw,4rem);border-top:1px solid var(--line)}@media (max-width: 640px){.acc-trigger{grid-template-columns:2.25rem minmax(0,1fr) auto;gap:1rem}.acc-body{padding-left:0}.row-head{flex-basis:100%}.magnet{width:140px;height:140px}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}.header{animation:fade .6s ease both}.hero>*{animation:rise .8s var(--ease) both}.hero>:nth-child(1){animation-delay:.1s}.hero>:nth-child(2){animation-delay:.2s}.hero>:nth-child(3){animation-delay:.32s}.hero>:nth-child(4){animation-delay:.46s}.marquee{animation:fade .9s ease .6s both}.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .9s var(--ease)}.js .reveal.is-visible{opacity:1;transform:none}@media (max-width: 720px){.pipe-line{display:none}.pipe-grid{grid-template-columns:minmax(0,1fr);gap:1rem}.stage{position:relative;flex-direction:row;align-items:flex-start;gap:1rem;padding:0}.node{flex-shrink:0;margin:0;position:relative;z-index:1}.stage:not(:last-child):before{content:"";position:absolute;left:27px;top:56px;bottom:-1rem;width:2px;background:var(--line);transition:background .3s ease}.stage.passed:not(:last-child):before{background:var(--accent)}.stage-card{min-width:0}:root{--section-gap: 5rem}}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
