@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/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(/assets/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(/assets/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(/assets/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(/assets/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(/assets/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:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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 Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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:#0a1020;--text:#e6edf7;--muted:#9aa7bd;--faint:#7d8aa3;--accent:#5b9dff;--accent-hi:#8dbbff;--live:#5fe0a8;--line:#e6edf71a;--line-hi:#e6edf733;--card:#0d1528e0;--radius:3px;--pad:clamp(20px, 5vw, 80px);--nav-h:56px;--ease:cubic-bezier(.2, .7, .1, 1);--sans:"IBM Plex Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:48px}body{background:var(--bg);color:var(--text);font:400 1rem/1.6 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background:var(--bg);height:100lvh;position:fixed;top:0;bottom:auto;left:0;right:0}h1,h2,h3,p,ul,ol{margin:0}a{color:inherit}em{color:inherit;font-style:normal}::selection{background:var(--accent);color:#06101f}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.stage{z-index:0;pointer-events:none;height:100lvh;position:fixed;top:0;bottom:auto;left:0;right:0}.stage canvas{opacity:0;width:100%;height:100%;transition:opacity 1.4s var(--ease);display:block}.stage.is-ready canvas{opacity:1}.no-webgl .stage{display:none}.is-over-part{cursor:pointer}.only-hover{display:none}@media (hover:hover) and (pointer:fine){.only-hover{display:inline}.only-touch{display:none}}.part-tip{z-index:30;pointer-events:none;border:1px solid var(--line-hi);font:500 .75rem/1.2 var(--mono);letter-spacing:.04em;white-space:nowrap;background:#0a1020e6;border-radius:2px;padding:8px 12px;position:fixed;top:0;left:0}main{z-index:1;position:relative}.label,.contact__meta{font:500 .75rem/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.label span{color:var(--faint);margin:0 .25em}.contact__meta{color:var(--muted);letter-spacing:.1em}h2{font:500 clamp(2.2rem, 1.4rem + 3.2vw, 4rem) / 1.04 var(--sans);letter-spacing:-.02em;text-wrap:balance}h3{font:500 clamp(1.7rem, 1.3rem + 1.4vw, 2.3rem) / 1.1 var(--sans);letter-spacing:-.02em;text-wrap:balance}.btn{background:var(--accent);color:#06101f;min-height:48px;font:500 .78rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:14px;padding:0 22px;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.btn:not(.btn--ghost):after{content:"→";letter-spacing:0;transition:transform .25s var(--ease);font-size:1.05em}.btn:not(.btn--ghost):hover{background-color:var(--text)}.btn:hover:after{transform:translate(4px)}.btn--ghost{--tick:var(--accent);border-color:var(--line-hi);color:var(--text);background:linear-gradient(var(--tick), var(--tick)) left top / 9px 1px, linear-gradient(var(--tick), var(--tick)) left top / 1px 9px, linear-gradient(var(--tick), var(--tick)) right top / 9px 1px, linear-gradient(var(--tick), var(--tick)) right top / 1px 9px, linear-gradient(var(--tick), var(--tick)) left bottom / 9px 1px, linear-gradient(var(--tick), var(--tick)) left bottom / 1px 9px, linear-gradient(var(--tick), var(--tick)) right bottom / 9px 1px, linear-gradient(var(--tick), var(--tick)) right bottom / 1px 9px, transparent;background-repeat:no-repeat;background-origin:border-box}.btn--ghost:hover{background-color:#5b9dff14;border-color:#5b9dff8c}.btn--small{min-height:44px;padding:0 18px;font-size:.72rem}.btn--large{min-height:56px;padding:0 28px;font-size:.82rem}.index{z-index:20;height:calc(48px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 12px 0 var(--pad);border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;bottom:auto;left:0;right:0}.index__brand{letter-spacing:-.01em;align-items:center;gap:9px;min-height:44px;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.index__mark{border:1.5px solid var(--accent);width:14px;height:14px;box-shadow:inset 0 0 0 2.5px var(--bg), inset 0 0 0 5px var(--accent);border-radius:50%}.index__toggle{min-height:44px;color:var(--muted);font:500 .7rem/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:9px;padding:0 8px;display:inline-flex}.index.is-open .index__toggle{color:var(--text)}.index__toggle:after{content:"";border-right:1.5px solid var(--accent);border-bottom:1.5px solid var(--accent);width:6px;height:6px;transition:transform .25s var(--ease);transform:translateY(-2px)rotate(45deg)}.index.is-open .index__toggle:after{transform:translateY(2px)rotate(-135deg)}.index__list{padding:6px var(--pad) 12px;border-bottom:1px solid var(--line);background:var(--bg);opacity:0;visibility:hidden;transition:opacity .2s, transform .25s var(--ease), visibility .2s;margin:0;list-style:none;display:grid;position:absolute;top:100%;left:0;right:0;transform:translateY(-6px)}.index.is-open .index__list{opacity:1;visibility:visible;transform:none}.index__list a{min-height:48px;color:var(--muted);border-radius:2px;align-items:center;gap:14px;padding:0 4px;text-decoration:none;transition:color .2s,background .2s;display:flex}.index__list a:hover{color:var(--text);background:#e6edf70d}.index__list a:focus-visible{color:var(--text);background:#e6edf70d}.index__num{color:var(--faint);font:500 .72rem/1 var(--mono);letter-spacing:.08em}.index__list a.is-active{color:var(--text)}.index__list a.is-active .index__num{color:var(--accent)}.index__lang{border-top:1px solid var(--line);margin-top:4px;padding-top:4px}.index__lang a{font:500 .75rem/1 var(--mono);letter-spacing:.12em}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:clamp(20px,2.6vw,32px)}.ticks{color:var(--text);gap:8px;padding:0;font-size:.95rem;list-style:none;display:grid}.ticks li{align-items:baseline;gap:12px;display:flex}.ticks li:before{content:"";background:var(--accent);flex:none;width:14px;height:1px;transform:translateY(-4px)}.tag{border:1px solid var(--line-hi);color:var(--muted);font:500 .72rem/1.4 var(--mono);letter-spacing:.04em;border-radius:2px;padding:4px 10px;display:inline-block}.tag--sample{border-style:dashed;border-color:var(--accent);color:var(--accent);text-transform:uppercase}.hero{min-height:100svh;padding:calc(var(--nav-h) + 20px) var(--pad) max(36px, calc(env(safe-area-inset-bottom) + 24px));flex-direction:column;justify-content:flex-end;display:flex;position:relative}.hero:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0000,#0a1020d1 38%);position:absolute;top:40%;bottom:0;left:0;right:0}.hero__inner{gap:16px;max-width:640px;display:grid}.hero__name{font-size:.95rem;font-weight:600}.hero__name span{color:var(--muted);font-weight:400}.hero__title{font:500 clamp(2.3rem, 1.4rem + 3.4vw, 4.3rem) / 1.02 var(--sans);letter-spacing:-.025em;text-wrap:balance}.hero__title span{display:block}.hero__intro{max-width:34em;color:var(--muted);font-size:clamp(1rem,.95rem + .25vw,1.125rem)}.hero__ctas{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.hero__ctas .btn{flex:auto}.scroll-hint{display:none}.section-head{max-width:720px;padding:18svh var(--pad) 6svh;gap:16px;display:grid}.section-head>p:not(.label){max-width:34em;color:var(--muted)}.services>.section-head{align-content:end;min-height:100svh;padding-bottom:12svh}.tour__steps{display:none}.tour__sticky{padding:0 var(--pad) 8svh;flex-direction:column;gap:16px;display:flex}.tour__cards{gap:16px;display:grid}.tour__card{align-content:start;gap:14px;display:grid}.tour__card .btn{justify-self:start}.tour__progress{display:none}.js .tour{height:calc(var(--steps) * 100svh);position:relative}.js .tour__steps{grid-template-rows:repeat(var(--steps), 1fr);pointer-events:none;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.js .tour__sticky{z-index:1;height:100svh;padding-bottom:max(28px, calc(env(safe-area-inset-bottom) + 20px));justify-content:flex-end;gap:14px;position:sticky;top:0}.js .tour__cards{gap:0;width:100%;max-width:480px}.js .tour__card{opacity:0;visibility:hidden;will-change:opacity, transform;grid-area:1/1;align-self:end}.js .tour__progress{gap:6px;width:100%;max-width:480px;padding:0;font-size:0;list-style:none;display:flex}.tour__progress li{background:var(--line-hi);border-radius:2px;flex:1;height:2px;overflow:hidden}.tour__progress span{background:var(--accent);transform-origin:0;height:100%;display:block;transform:scaleX(0)}.callouts{z-index:2;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0}.no-webgl .callouts{display:none}.callout{opacity:0;will-change:transform, opacity;position:absolute;top:0;left:0}.callout__dot{border:1.5px solid var(--accent);background:var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:-5px;left:-5px;box-shadow:0 0 0 5px #5b9dff24}.callout__line{background:var(--accent);width:40px;height:1px;position:absolute;top:0;left:7px}.callout__text{color:var(--text);font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;background:#0a1020d1;border:1px solid #5b9dff73;border-radius:2px;padding:6px 10px;position:absolute;top:0;left:52px;transform:translateY(-50%)}.callout.is-flipped .callout__line{left:auto;right:7px}.callout.is-flipped .callout__text{left:auto;right:52px}.callout.is-above .callout__line{display:none}.callout.is-above .callout__text{top:-26px}.step__summary{color:var(--muted)}.step__price{border-top:1px solid var(--line);color:var(--accent-hi);font:500 .8rem/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;padding-top:14px}.approach{padding-bottom:12svh}.approach__body{max-width:1180px;padding:0 var(--pad);gap:28px;display:grid}.approach__diagram{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);width:100%;max-width:520px;margin:0;padding:clamp(14px,3vw,24px)}.hex{width:100%;height:auto;display:block;overflow:visible}.hex text{font-family:var(--mono);text-anchor:middle;letter-spacing:.06em}.hex__ring,.hex__adapter{fill:none;stroke:var(--text);stroke-opacity:.5;stroke-width:1.2px}.hex__core{fill:#5b9dff1a;stroke:var(--accent);stroke-width:1.6px}.hex__port{fill:var(--bg);stroke:var(--accent);stroke-width:1.4px}.hex__dep{stroke:var(--text);stroke-opacity:.55;stroke-width:1.2px}.hex__arrowhead{fill:none;stroke:var(--text);stroke-opacity:.7;stroke-width:1.4px}.hex__label{fill:var(--text);font-size:15px}.hex__ring-label{fill:var(--faint);text-transform:uppercase;font-size:14px}.hex__core-label{fill:var(--accent-hi);text-transform:uppercase;font-size:15px}.hex__caption{fill:var(--accent);text-transform:uppercase;font-size:14px}.js .hex .draw{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.2s var(--ease) calc(var(--d,0) * 70ms)}.js .in .hex .draw{stroke-dashoffset:0}.principles{border-top:1px solid var(--line);gap:0;margin:0;padding:0;list-style:none;display:grid}.principle{border-bottom:1px solid var(--line);gap:8px;padding:20px 0;display:grid}.principle h3{font-size:clamp(1.45rem,1.2rem + .8vw,1.8rem)}.principle p:not(.label){color:var(--muted);font-size:.95rem}.work{padding-bottom:12svh}.projects{padding:0 var(--pad);gap:16px;display:grid}.project{align-content:start;gap:14px;display:grid}.project__top{justify-content:space-between;align-items:center;gap:12px;display:flex}.project>p:not(.project__result){color:var(--muted)}.about{max-width:760px;padding:0 var(--pad) 36px;gap:12px;display:grid}.about h3{color:var(--accent-hi)}.about p{color:var(--muted)}.project h3 a{text-decoration:none;transition:color .2s}.project h3 a:hover{color:var(--accent-hi)}.project h3 a span{color:var(--faint);font-size:.7em}.project__role{color:var(--faint);font:500 .75rem/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-top:-8px}.lab{max-width:1180px;padding:40px var(--pad) 0;gap:14px;display:grid}.lab ul{border-top:1px solid var(--line);gap:0;padding:0;list-style:none;display:grid}.lab li{border-bottom:1px solid var(--line);gap:4px;padding:14px 0;display:grid}.lab strong{font:500 1.35rem/1.2 var(--sans);letter-spacing:-.02em}.lab li span{color:var(--muted);font-size:.95rem}@media (min-width:640px){.lab li{grid-template-columns:200px 1fr;align-items:baseline;gap:24px}}.project__result{color:var(--accent-hi);font:500 1.6rem/1.1 var(--sans);letter-spacing:-.02em}.tags{flex-wrap:wrap;gap:8px;padding:0;list-style:none;display:flex}.contact{min-height:100svh;padding:14svh var(--pad);text-align:center;place-items:center;display:grid}.contact__inner{justify-items:center;gap:20px;max-width:820px;display:grid}.contact h2{font-size:clamp(3rem,1.6rem + 6vw,7rem);line-height:.98}.contact__lead{max-width:30em;color:var(--muted);font-size:clamp(1rem,.95rem + .3vw,1.15rem)}.contact__ctas{flex-wrap:wrap;justify-content:center;gap:12px;width:100%;display:flex}.contact__ctas .btn{flex:260px;max-width:340px}.contact__email{color:var(--faint);font:500 .85rem/1.4 var(--mono);word-break:break-all}.contact__fallback{max-width:34em;color:var(--muted);animation:fade-up .4s var(--ease);font-size:.92rem}.contact__fallback a{color:var(--accent-hi)}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}}.socials{gap:8px;padding:0;list-style:none;display:flex}.socials a{min-height:44px;color:var(--muted);align-items:center;padding:0 14px;font-size:.9rem;text-decoration:none;transition:color .2s;display:inline-flex}.socials a:hover{color:var(--accent-hi)}.footer{z-index:1;padding:24px var(--pad) max(24px, calc(env(safe-area-inset-bottom) + 16px));border-top:1px solid var(--line);color:var(--faint);flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:.8rem;display:flex;position:relative}.footer__services{flex-basis:100%}.footer__services ul{flex-wrap:wrap;gap:8px 24px;margin:0 0 8px;padding:0;list-style:none;display:flex}.footer__services a{color:var(--muted);text-decoration:none}.footer__services a:hover{color:var(--text)}.card__more{color:var(--accent);font:500 .72rem/1.4 var(--mono);letter-spacing:.12em;text-transform:uppercase;gap:10px;margin-top:4px;text-decoration:none;display:inline-flex}.card__more:hover{color:var(--accent-hi)}.subnav{z-index:20;min-height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) var(--pad) 0;border-bottom:1px solid var(--line);background:var(--bg);justify-content:space-between;align-items:center;gap:16px;display:flex;position:sticky;top:0}.subnav__brand{align-items:center;gap:10px;font-weight:600;text-decoration:none;display:inline-flex}.subnav__links{font:500 .75rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;gap:24px;display:flex}.subnav__links a{color:var(--muted);text-decoration:none}.subnav__links a:hover{color:var(--text)}.page{max-width:1120px;padding:28px var(--pad) 0;margin:0 auto}.crumbs ol{color:var(--faint);font:400 .78rem/1.4 var(--mono);flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.crumbs li+li:before{content:"/";margin-right:8px}.crumbs a{color:var(--muted);text-decoration:none}.crumbs a:hover{color:var(--text)}.page__head{justify-items:start;gap:22px;max-width:780px;padding:clamp(48px,10svh,120px) 0 clamp(48px,9svh,100px);display:grid}.page__head h1{font:500 clamp(2.2rem, 1.4rem + 3vw, 3.8rem) / 1.05 var(--sans);letter-spacing:-.025em;text-wrap:balance}.page__lead{max-width:38em;color:var(--muted);font-size:clamp(1.05rem,1rem + .3vw,1.2rem)}.page__section{border-top:1px solid var(--line);gap:32px;padding:clamp(48px,8svh,88px) 0;display:grid}.page__items,.page__steps{gap:32px 48px;margin:0;padding:0;list-style:none;display:grid}.page__items{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}.page__steps{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}.page__items h3,.page__steps h3{font:500 1.2rem/1.3 var(--sans);margin-bottom:8px}.page__items p,.page__steps p:not(.label){color:var(--muted)}.page__steps .label{margin-bottom:14px}.page__work{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.page .contact{border-top:1px solid var(--line);min-height:0;padding:clamp(64px,12svh,140px) 0}.page__other ul{margin:0;padding:0;list-style:none}.page__other a{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:20px 0;font-size:clamp(1.15rem,1rem + .6vw,1.5rem);text-decoration:none;transition:color .2s;display:flex}.page__other a:hover{color:var(--accent-hi)}.page__other a span:last-child{color:var(--accent);transition:transform .25s var(--ease)}.page__other a:hover span:last-child{transform:translate(4px)}@media (min-width:640px){.hero__ctas .btn{flex:none}.projects{grid-template-columns:repeat(2,1fr)}}@media (min-width:900px) and (min-aspect-ratio:11/10){.index{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;height:auto;padding:0;display:block;top:50%;bottom:auto;left:auto;right:26px;transform:translateY(-50%)}.index__brand,.index__toggle{display:none}html{scroll-padding-top:0}.index__list,.index.is-open .index__list{-webkit-backdrop-filter:none;backdrop-filter:none;opacity:1;visibility:visible;background:0 0;border:0;justify-items:end;gap:2px;min-width:0;padding:0;position:static;transform:none}.index__list a{min-height:34px;font:500 .68rem/1 var(--mono);letter-spacing:.12em;text-transform:uppercase;flex-direction:row-reverse;gap:10px;padding:0 0 0 10px;background:0 0!important}.index__list a:before{content:"";background:var(--line-hi);width:12px;height:1px;transition:width .3s var(--ease), background .3s}.index__list a.is-active:before{background:var(--accent);width:26px}.index__name{opacity:0;transition:opacity .25s, transform .3s var(--ease);transform:translate(6px)}.index__list a.is-active .index__name,.index:hover .index__name,.index:focus-within .index__name{opacity:1;transform:none}.index__lang{border:0;margin-top:10px;padding-top:0}.index__lang a:before{display:none}.card{background:#0d1528}.hero{justify-content:center;padding-bottom:0}.hero:before{display:none}.hero__inner{gap:20px;max-width:min(44vw,640px)}.scroll-hint{left:var(--pad);color:var(--faint);font:500 .72rem/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;align-items:center;gap:14px;display:flex;position:absolute;bottom:36px}.scroll-hint span{background:var(--line-hi);width:1px;height:44px;position:relative;overflow:hidden}.scroll-hint span:after{content:"";background:var(--accent);animation:drip 2.2s var(--ease) infinite;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes drip{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.services>.section-head{align-content:center;max-width:min(46vw,720px);padding-bottom:6svh}.js .tour__sticky{justify-content:center;gap:20px;padding-bottom:0}.js .tour__cards,.js .tour__progress{max-width:min(40vw,480px)}.js .tour__progress{order:-1;gap:10px}.tour__progress li{height:auto;color:var(--faint);font:500 .62rem/1.2 var(--mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;border-radius:0;padding-top:10px;position:relative}.tour__progress li:before{content:"";background:var(--line-hi);height:2px;position:absolute;top:0;bottom:auto;left:0;right:0}.tour__progress span{height:2px;position:absolute;top:0;bottom:auto;left:0;right:0}.projects{grid-template-columns:repeat(2,1fr);max-width:1180px}.approach__body{grid-template-columns:minmax(0,440px) 1fr;align-items:start;gap:56px}.principles{grid-template-columns:1fr 1fr;column-gap:32px}}@media (min-width:900px) and (min-aspect-ratio:11/10) and (max-height:720px){.scroll-hint{display:none}}@media (prefers-reduced-motion:reduce){.scroll-hint span:after{animation:none}.js .hex .draw{stroke-dashoffset:0;transition:none}.btn:hover{transform:none}}
