@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.03ez25a9g3i0n.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.3i9rha7jpxn0q.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.2o7ko1d-5m1xu.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.1ee5w62fj497l.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.1way2z9fj6cig.woff2)format("woff2");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;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.0szrwpqb9mkwe.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.45535valc9rzk.woff2)format("woff2");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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}._2ZrpEa_className{font-family:Inter,Inter Fallback;font-style:normal}._2ZrpEa_variable{--font-geist:"Inter", "Inter Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.3bz3aq452sydg.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.2sb9jzhmrh7ny.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.343obqi851wr5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.40kcwrf1wub16.woff2)format("woff2");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:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.200l3jur7oygh.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.269kn9uafm0ti.woff2)format("woff2");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:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.WIUtwq_className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.WIUtwq_variable{--font-geist-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
:root{--bg:#07090d;--bg-2:#0b0f14;--surface:#0e131a;--surface-2:#121924;--line:#ffffff14;--line-strong:#ffffff24;--text:#f5f7fa;--text-2:#9aa4b2;--text-3:#8592a3;--accent:#2f91ff;--accent-strong:#1683ff;--accent-soft:#2f91ff24;--accent-glow:#1683ff38;--success:#3ddc97;--font-sans:var(--font-geist), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--fs-hero:clamp(2.875rem, 1.1rem + 7.2vw, 8rem);--fs-display:clamp(2.5rem, 1.25rem + 5vw, 6rem);--fs-h2:clamp(2.125rem, 1.35rem + 3.1vw, 4.25rem);--fs-h3:clamp(1.75rem, 1.3rem + 1.8vw, 2.875rem);--fs-h4:clamp(1.25rem, 1.1rem + .6vw, 1.5rem);--fs-lead:clamp(1.125rem, 1.02rem + .45vw, 1.375rem);--fs-body:1.0625rem;--fs-sm:.9375rem;--fs-xs:.8125rem;--fs-mono:.75rem;--lh-tight:.96;--lh-heading:1.06;--lh-body:1.6;--tracking-tight:-.045em;--tracking-heading:-.032em;--tracking-mono:.08em;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--s-section:clamp(5.5rem, 3.5rem + 8vw, 11rem);--container:1320px;--gutter:clamp(1.25rem, .6rem + 3vw, 2.5rem);--nav-h:4.25rem;--r-sm:6px;--r-md:10px;--r-lg:18px;--r-xl:28px;--r-pill:999px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-1:.16s;--dur-2:.28s;--dur-3:.6s;--dur-4:1s;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}*{margin:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--nav-h) + 1rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow-x:clip}body:before{content:"";z-index:100;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}img,svg,video{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}ul[role=list],ol[role=list]{padding:0;list-style:none}h1,h2,h3,h4{font-weight:600;line-height:var(--lh-heading);letter-spacing:var(--tracking-heading);text-wrap:balance}p{text-wrap:pretty}::selection{background:var(--accent);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{top:var(--s-3);left:var(--s-3);z-index:200;padding:var(--s-2) var(--s-4);background:var(--text);color:var(--bg);border-radius:var(--r-pill);font-size:var(--fs-sm);transition:transform var(--dur-2) var(--ease-out);font-weight:500;position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:var(--s-section);position:relative}.section--ruled{border-top:1px solid var(--line)}.eyebrow{align-items:center;gap:var(--s-3);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--text-2);font-weight:500;display:inline-flex}.eyebrow:before{content:"";opacity:.6;background:currentColor;width:1.5rem;height:1px}.eyebrow--plain:before{display:none}.mono{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:var(--tracking-mono);text-transform:uppercase}.accent{color:var(--accent)}.lead{font-size:var(--fs-lead);color:var(--text-2);letter-spacing:-.01em;line-height:1.5}.muted{color:var(--text-2)}.btn{--btn-bg:transparent;--btn-fg:var(--text);--btn-border:var(--line-strong);justify-content:center;align-items:center;gap:var(--s-3);min-height:3rem;padding:0 var(--s-5);border-radius:var(--r-pill);border:1px solid var(--btn-border);background:var(--btn-bg);color:var(--btn-fg);font-size:var(--fs-sm);letter-spacing:-.005em;white-space:nowrap;transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);font-weight:500;display:inline-flex}.btn:hover{background:#ffffff0a;border-color:#ffffff4d}.btn:active{transform:translateY(1px)}.btn--primary{--btn-bg:var(--accent-strong);--btn-fg:#fff;--btn-border:transparent;box-shadow:0 0 0 0 var(--accent-glow), inset 0 1px 0 #ffffff2e}.btn--primary:hover{background:var(--accent);box-shadow:0 10px 40px -10px var(--accent-glow), inset 0 1px 0 #ffffff2e;border-color:#0000}.btn--light{--btn-bg:var(--text);--btn-fg:var(--bg);--btn-border:transparent}.btn--light:hover{background:#fff;border-color:#0000}.btn--lg{min-height:3.5rem;padding:0 var(--s-6);font-size:var(--fs-body)}.btn--icon{width:2.75rem;min-height:2.75rem;padding:0}.arrow{transition:transform var(--dur-2) var(--ease-out);display:inline-block}a:hover .arrow,button:hover .arrow,.group:hover .arrow,a:focus-visible .arrow{transform:translate(4px)}.arrow--diag{transition:transform var(--dur-2) var(--ease-out)}a:hover .arrow--diag,a:focus-visible .arrow--diag{transform:translate(3px,-3px)}.link{align-items:center;gap:var(--s-2);color:var(--text);transition:background-size var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% 1px;padding-bottom:2px;font-weight:500;display:inline-flex}.link:hover,.link:focus-visible{background-size:100% 1px}.link--accent{color:var(--accent)}.tag-list{gap:var(--s-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.tag{height:1.875rem;padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-pill);font-family:var(--font-mono);letter-spacing:.01em;color:var(--text-2);white-space:nowrap;background:#ffffff05;align-items:center;font-size:.75rem;display:inline-flex}.dot-list{gap:0 var(--s-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.dot-list li+li:before{content:"·";margin-right:var(--s-2);color:var(--text-3)}.grid-bg{pointer-events:none;background-image:linear-gradient(90deg,#ffffff0b 1px,#0000 1px),linear-gradient(#ffffff0b 1px,#0000 1px);background-size:72px 72px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(70% 60% at 60% 30%,#000 20%,#0000 75%);mask-image:radial-gradient(70% 60% at 60% 30%,#000 20%,#0000 75%)}@keyframes rise{0%{opacity:0;transform:translateY(var(--rise,18px))}to{opacity:1;transform:none}}@keyframes mask-up{0%{transform:translateY(105%)}to{transform:none}}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%{box-shadow:0 0 #3ddc978c}70%{box-shadow:0 0 0 6px #3ddc9700}to{box-shadow:0 0 #3ddc9700}}.in{animation:rise var(--dur-4) var(--ease-out) both;animation-delay:var(--d,0s)}.in-fade{animation:fade 1.4s var(--ease-out) both;animation-delay:var(--d,0s)}.js [data-reveal]{opacity:0;transition:opacity .6s var(--ease-out), transform .6s var(--ease-out);transition-delay:var(--d,0s);transform:translateY(16px)}.js [data-reveal].is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;transition-delay:0s!important;animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.js [data-reveal]{opacity:1;transform:none}}.navbar{width:100%;height:var(--nav-h);z-index:90;-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line);transition:background-color var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);background:#07090db3;position:sticky;top:0;left:0}.navbar--scrolled{border-bottom-color:var(--line-strong);background:#07090deb}.navbar__container{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar__brand{align-items:center;gap:var(--s-3);text-decoration:none;display:inline-flex}.navbar__logo{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line-strong);width:2.375rem;height:2.375rem;transition:border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.navbar__brand:hover .navbar__logo{border-color:var(--accent);box-shadow:0 0 14px #eab30826}.navbar__logo-inner{justify-content:center;align-items:center;width:100%;height:100%;animation:.32s cubic-bezier(.16,1,.3,1) both logoSwitch;display:flex}.navbar__logo-img{object-fit:contain;width:100%;height:100%}.navbar__logo-img--default{filter:brightness(0)invert();padding:4px}.navbar__logo-img--project{border-radius:4px;padding:3px}@keyframes logoSwitch{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}.navbar__title{flex-direction:column;display:flex}.navbar__name{letter-spacing:-.02em;color:var(--text);font-size:.9375rem;font-weight:600}.navbar__role{color:var(--text-3);letter-spacing:-.01em;font-size:.75rem}.navbar__nav{display:none}@media (min-width:820px){.navbar__nav{display:block}}.navbar__links{align-items:center;gap:var(--s-6);display:flex}.navbar__link{color:var(--text-2);transition:color var(--dur-2) var(--ease-out);font-size:.9375rem;font-weight:500}.navbar__link:hover{color:var(--text)}.navbar__actions{align-items:center;gap:var(--s-4);display:flex}.navbar__available{align-items:center;gap:var(--s-2);border-radius:var(--r-pill);background:#3ddc9714;border:1px solid #3ddc9733;padding:.375rem .75rem;display:none}@media (min-width:640px){.navbar__available{display:inline-flex}}.navbar__available-dot{background:var(--success);width:6px;height:6px;box-shadow:0 0 8px var(--success);border-radius:50%;animation:2.5s infinite pulse}.navbar__available-text{font-family:var(--font-mono);color:var(--success);letter-spacing:.02em;font-size:.75rem}.navbar__lang-switch{border-radius:var(--r-sm);border:1px solid var(--line);height:2rem;font-family:var(--font-mono);letter-spacing:.04em;color:var(--text-2);transition:all var(--dur-2) var(--ease-out);justify-content:center;align-items:center;padding:0 .625rem;font-size:.75rem;font-weight:600;display:inline-flex}.navbar__lang-switch:hover{color:var(--text);border-color:var(--line-strong);background:#ffffff0a}.navbar__icon-link{color:var(--text-2);transition:color var(--dur-2) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.navbar__icon-link:hover{color:var(--text)}.navbar__hamburger{border-radius:var(--r-sm);border:1px solid var(--line);width:2.25rem;height:2.25rem;color:var(--text);justify-content:center;align-items:center;display:flex}@media (min-width:820px){.navbar__hamburger{display:none}}.navbar__hamburger-bar{width:14px;height:1.5px;transition:background var(--dur-2);background:currentColor;position:relative}.navbar__hamburger-bar:before,.navbar__hamburger-bar:after{content:"";width:100%;height:100%;transition:transform var(--dur-2);background:currentColor;position:absolute;left:0}.navbar__hamburger-bar:before{top:-5px}.navbar__hamburger-bar:after{top:5px}.navbar__hamburger-bar.open{background:0 0}.navbar__hamburger-bar.open:before{transform:translateY(5px)rotate(45deg)}.navbar__hamburger-bar.open:after{transform:translateY(-5px)rotate(-45deg)}.navbar__drawer{inset:var(--nav-h) 0 0 0;background:var(--bg);z-index:85;padding-block:var(--s-6);opacity:0;pointer-events:none;transition:opacity var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);position:fixed;overflow-y:auto;transform:translateY(-8px)}.navbar__drawer.is-open{opacity:1;pointer-events:auto;transform:none}.navbar__drawer-content{gap:var(--s-7);flex-direction:column;display:flex}.navbar__drawer-links{gap:var(--s-4);flex-direction:column;display:flex}.navbar__drawer-link{color:var(--text);letter-spacing:-.02em;font-size:1.5rem;font-weight:600}.navbar__drawer-footer{gap:var(--s-5);padding-top:var(--s-6);border-top:1px solid var(--line);flex-direction:column;display:flex}.navbar__drawer-socials{gap:var(--s-5);color:var(--text-2);font-size:.9375rem;display:flex}.hero{min-height:calc(100vh - var(--nav-h));align-items:center;padding-block:clamp(3.5rem,2rem + 5vw,7rem);display:flex;position:relative;overflow:hidden}.hero__container{gap:var(--s-7);grid-template-columns:1fr;align-items:center;display:grid}@media (min-width:1024px){.hero__container{gap:var(--s-8);grid-template-columns:1.25fr .95fr}}.hero__content{flex-direction:column;align-items:flex-start;display:flex}.hero__eyebrow{margin-bottom:var(--s-4)}.hero__title{font-size:var(--fs-hero);line-height:var(--lh-tight);letter-spacing:var(--tracking-tight);margin-bottom:var(--s-5);font-weight:700}.hero__title-line{display:block}.hero__subtitle{font-size:var(--fs-lead);color:var(--text-2);margin-bottom:var(--s-4)}.hero__disciplines{align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--text-3);text-transform:uppercase;margin-bottom:var(--s-7);display:inline-flex}.hero__sep{color:var(--line-strong);margin-inline:var(--s-1)}.hero__actions{align-items:center;gap:var(--s-4);flex-wrap:wrap;display:flex}.hero__visual{justify-content:center;align-items:center;display:flex}.hero__frame{justify-content:center;align-items:center;width:100%;max-width:440px;display:flex;position:relative}.hero__glow{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);filter:blur(48px);pointer-events:none;z-index:1;width:320px;height:320px;position:absolute}.hero__phone{z-index:2;width:290px;transition:transform var(--dur-3) var(--ease-out);background:#000;border:1px solid #ffffff29;border-radius:40px;padding:10px;position:relative;transform:rotate(-1.5deg);box-shadow:0 24px 72px -12px #000c,0 0 0 1px #ffffff0d,inset 0 0 0 1px #ffffff1a}.hero__phone:hover{transform:rotate(0)scale(1.02)}.hero__phone-bar{justify-content:center;padding-bottom:8px;display:flex}.hero__phone-speaker{border-radius:var(--r-pill);background:#fff3;width:52px;height:4.5px}.hero__phone-screen{background:#111;border-radius:30px;overflow:hidden}.hero__phone-img{width:100%;height:auto;display:block}.hero__chip{z-index:3;align-items:center;gap:var(--s-2);border-radius:var(--r-pill);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line-strong);font-family:var(--font-mono);letter-spacing:.02em;color:var(--text);background:#0e131ad9;padding:.5rem .875rem;font-size:.75rem;display:inline-flex;position:absolute;box-shadow:0 12px 32px #0006}.hero__chip-dot{background:var(--success);border-radius:50%;width:6px;height:6px}.hero__chip-dot--blue{background:var(--accent)}.hero__chip--mobile{top:12%;left:-8%}.hero__chip--web{bottom:14%;right:-6%}@media (max-width:640px){.hero__chip--mobile{left:2%}.hero__chip--web{right:2%}.hero__phone{width:250px}}.capabilities{padding-block:var(--s-7);border-block:1px solid var(--line);background:var(--bg-2)}.capabilities__grid{gap:var(--s-5);grid-template-columns:1fr;display:grid}@media (min-width:640px){.capabilities__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.capabilities__grid{grid-template-columns:repeat(4,1fr);gap:0}.capabilities__col+.capabilities__col{border-left:1px solid var(--line);padding-left:var(--s-6)}.capabilities__col{padding-right:var(--s-6)}}.capabilities__tag{color:var(--text);margin-bottom:var(--s-2);font-size:.8125rem;font-weight:600;display:block}.capabilities__text{color:var(--text-2);font-size:.9375rem;line-height:1.5}.section-head{margin-bottom:clamp(3rem,2rem + 4vw,5rem)}.section-title{font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--tracking-heading);margin-top:var(--s-3);margin-bottom:var(--s-3)}.selected-work__rows{flex-direction:column;gap:clamp(3rem,2rem + 4vw,6rem);display:flex}.project-row{border:1px solid var(--line);border-radius:var(--r-xl);background:var(--surface);transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);position:relative;overflow:hidden}.project-row:hover{border-color:#fff3;transform:translateY(-2px)}.project-row:before{content:"";background:hsl(var(--row-hue,210) 90% 60%);opacity:0;height:2px;transition:opacity var(--dur-2) var(--ease-out);position:absolute;top:0;left:0;right:0}.project-row:hover:before{opacity:1}.project-row__inner{grid-template-columns:1fr;align-items:center;min-height:480px;display:grid}@media (min-width:960px){.project-row__inner{grid-template-columns:1.15fr 1fr}}.project-row__meta{flex-direction:column;justify-content:center;padding:clamp(2rem,1.5rem + 2.5vw,4rem);display:flex}.project-row__top{align-items:center;gap:var(--s-3);font-size:var(--fs-xs);color:var(--text-3);margin-bottom:var(--s-4);display:flex}.project-row__num{color:var(--accent);font-weight:600}.project-row__cat{letter-spacing:.08em}.project-row__title{font-size:var(--fs-h3);margin-bottom:var(--s-4);letter-spacing:-.03em}.project-row__title a{transition:color var(--dur-1) var(--ease-out)}.project-row__title a:hover{color:var(--accent)}.project-row__desc{font-size:var(--fs-lead);color:var(--text-2);margin-bottom:var(--s-5);line-height:1.55}.project-row__stack{margin-bottom:var(--s-6)}.project-row__visual{background:var(--bg-2);border-top:1px solid var(--line);padding:var(--s-6);justify-content:center;align-items:center;min-height:380px;display:flex;position:relative;overflow:hidden}@media (min-width:960px){.project-row__visual{border-top:none;border-left:1px solid var(--line);height:100%;min-height:480px}}.project-row__visual-link{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.selected-work__footer{text-align:center;margin-top:clamp(3.5rem,2.5rem + 3vw,5rem)}.project-preview{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.project-preview--phones{height:340px}.phone-mock{width:180px;transition:transform var(--dur-3) var(--ease-out);background:#000;border:1px solid #ffffff24;border-radius:24px;position:absolute;overflow:hidden;box-shadow:0 20px 50px #000000b3}.phone-mock__img{width:100%;height:auto;display:block}.phone-mock--front{z-index:2;transform:translate(-24px)rotate(-4deg)}.phone-mock--back{z-index:1;opacity:.85;transform:translate(36px)translateY(18px)rotate(6deg)}.project-row:hover .phone-mock--front{transform:translate(-34px)rotate(-6deg)scale(1.02)}.project-row:hover .phone-mock--back{transform:translate(46px)translateY(14px)rotate(8deg)scale(1.02)}.project-preview--browser{width:100%;max-width:440px}.browser-mock{border-radius:var(--r-md);border:1px solid var(--line-strong);width:100%;transition:transform var(--dur-3) var(--ease-out);background:#000;overflow:hidden;box-shadow:0 20px 48px #0009}.project-row:hover .browser-mock{transform:scale(1.02)}.browser-mock__bar{align-items:center;gap:var(--s-3);padding:.625rem var(--s-3);background:var(--surface);border-bottom:1px solid var(--line);display:flex}.browser-mock__dots{gap:5px;display:flex}.dot{border-radius:50%;width:9px;height:9px}.dot--red{background:#ff5f56}.dot--yellow{background:#ffbd2e}.dot--green{background:#27c93f}.browser-mock__url{font-family:var(--font-mono);color:var(--text-3);text-align:center;background:#ffffff0d;border-radius:4px;flex:1;padding:2px 8px;font-size:.6875rem}.browser-mock__viewport{text-align:center;background:linear-gradient(#0d1522 0%,#080d14 100%);padding:2.5rem 1.5rem}.browser-mock__badge{font-family:var(--font-mono);color:var(--accent);border-radius:var(--r-pill);background:var(--accent-soft);margin-bottom:var(--s-3);padding:2px 8px;font-size:.6875rem;display:inline-block}.browser-mock__title{color:var(--text);margin-bottom:var(--s-2);font-size:1.125rem}.browser-mock__sub{color:var(--text-3);margin-bottom:var(--s-4);font-size:.8125rem}.browser-mock__cta{background:var(--accent);color:#fff;border-radius:var(--r-pill);padding:.375rem .875rem;font-size:.75rem;font-weight:600;display:inline-block}.project-preview--ai{width:100%;max-width:440px}.ai-mock{border-radius:var(--r-md);border:1px solid var(--line-strong);background:var(--surface);width:100%;padding:var(--s-4);transition:transform var(--dur-3) var(--ease-out);overflow:hidden;box-shadow:0 20px 48px #0009}.project-row:hover .ai-mock{transform:scale(1.02)}.ai-mock__header{align-items:center;gap:var(--s-2);padding-bottom:var(--s-3);border-bottom:1px solid var(--line);margin-bottom:var(--s-4);display:flex}.ai-mock__dot{background:#a855f7;border-radius:50%;width:8px;height:8px}.ai-mock__title{color:var(--text-2);font-size:.75rem}.ai-mock__chat{gap:var(--s-3);flex-direction:column;display:flex}.ai-bubble{border-radius:var(--r-md);padding:.75rem 1rem;font-size:.8125rem;line-height:1.45}.ai-bubble--user{color:var(--text);background:#ffffff14;align-self:flex-end;max-width:85%}.ai-bubble--bot{color:var(--text-2);background:#a855f714;border:1px solid #a855f733;align-self:flex-start;max-width:95%}.ai-bubble__label{color:#c084fc;margin-bottom:4px;font-size:.75rem;font-weight:600;display:block}.ai-card{margin-top:var(--s-3);border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--line);justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.ai-card__name{color:var(--text);font-size:.75rem;font-weight:600}.ai-card__score{color:var(--success);font-family:var(--font-mono);font-size:.6875rem}.project-preview--wide{width:100%}.project-preview__img{border-radius:var(--r-md);border:1px solid var(--line);width:100%;height:auto}.about__grid{gap:var(--s-7);grid-template-columns:1fr;display:grid}@media (min-width:960px){.about__grid{gap:var(--s-8);grid-template-columns:.85fr 1.15fr}}.about__photo-wrap{border-radius:var(--r-xl);border:1px solid var(--line-strong);background:var(--surface);margin-bottom:var(--s-5);position:relative;overflow:hidden}.about__photo{filter:grayscale(20%)contrast(105%);width:100%;height:auto;display:block}.about__photo-overlay{background:linear-gradient(#0000 60%,#07090dcc 100%);position:absolute;inset:0}.about__beyond{padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.about__beyond-title{color:var(--accent);margin-bottom:var(--s-2);font-size:.8125rem;display:block}.about__beyond-text{color:var(--text-2);font-size:.9375rem;line-height:1.5}.about__hello{color:var(--accent);margin-top:var(--s-3);margin-bottom:var(--s-3);font-size:1.125rem}.about__headline{font-size:var(--fs-h3);letter-spacing:-.03em;margin-bottom:var(--s-5);line-height:1.15}.about__body{gap:var(--s-4);color:var(--text-2);margin-bottom:var(--s-6);flex-direction:column;font-size:1.0625rem;line-height:1.65;display:flex}.about__highlights{gap:var(--s-4);padding-top:var(--s-5);border-top:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.about__stat-num{color:var(--text);margin-bottom:2px;font-size:1.25rem;font-weight:700;display:block}.about__stat-label{color:var(--text-3);font-size:.8125rem}.experience__timeline{border-top:1px solid var(--line);flex-direction:column;display:flex}.experience__item{gap:var(--s-4);padding-block:var(--s-6);border-bottom:1px solid var(--line);grid-template-columns:1fr;display:grid}@media (min-width:820px){.experience__item{gap:var(--s-7);grid-template-columns:.85fr 1.15fr}}.experience__left{flex-direction:column;display:flex}.experience__idx{color:var(--accent);margin-bottom:var(--s-2);font-size:.8125rem}.experience__role{color:var(--text);margin-bottom:4px;font-size:1.25rem;font-weight:600}.experience__context{color:var(--text-3);font-size:.9375rem}.experience__right{gap:var(--s-4);flex-direction:column;display:flex}.experience__detail{color:var(--text-2);font-size:1rem;line-height:1.6}.stack__grid{gap:var(--s-6);grid-template-columns:1fr;display:grid}@media (min-width:640px){.stack__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.stack__grid{grid-template-columns:repeat(4,1fr)}}.stack__column{padding:var(--s-5);border-radius:var(--r-lg);background:var(--surface);border:1px solid var(--line)}.stack__category-title{color:var(--accent);padding-bottom:var(--s-3);border-bottom:1px solid var(--line);margin-bottom:var(--s-4);font-size:.8125rem;font-weight:600}.stack__list{gap:var(--s-3);flex-direction:column;display:flex}.stack__item{align-items:center;gap:var(--s-3);display:flex}.stack__dot{background:var(--text-3);border-radius:50%;width:4px;height:4px}.stack__name{color:var(--text);font-size:.9375rem}.contact-cta__box{border-radius:var(--r-xl);border:1px solid var(--line-strong);background:var(--surface);text-align:center;padding:clamp(3rem,2.5rem + 4vw,6rem) clamp(1.5rem,1rem + 3vw,4rem);position:relative;overflow:hidden}.contact-cta__ambient{background:radial-gradient(circle, var(--accent-glow) 0%, transparent 70%);filter:blur(80px);pointer-events:none;width:600px;height:400px;position:absolute;top:-50%;left:50%;transform:translate(-50%)}.contact-cta__title{font-size:var(--fs-display);line-height:var(--lh-heading);letter-spacing:var(--tracking-tight);margin-top:var(--s-3);margin-bottom:var(--s-4)}.contact-cta__lead{max-width:600px;margin-inline:auto;margin-bottom:var(--s-7)}.contact-cta__actions{justify-content:center;align-items:center;gap:var(--s-4);margin-bottom:var(--s-6);flex-wrap:wrap;display:flex}.contact-cta__copy-btn{gap:var(--s-3)}.contact-cta__copy-badge{border-radius:var(--r-pill);background:var(--surface-2);border:1px solid var(--line);color:var(--text-2);padding:2px 6px;font-size:.6875rem}.contact-cta__links{justify-content:center;align-items:center;gap:var(--s-4);color:var(--text-2);flex-wrap:wrap;font-size:.9375rem;display:flex}.contact-cta__dot{color:var(--line-strong)}.contact-cta__location{color:var(--text-3);font-size:.75rem}.footer{padding-block:var(--s-8) var(--s-6);border-top:1px solid var(--line);background:var(--bg-2)}.footer__top{gap:var(--s-6);padding-bottom:var(--s-7);border-bottom:1px solid var(--line);grid-template-columns:1fr;display:grid}@media (min-width:768px){.footer__top{gap:var(--s-7);grid-template-columns:1.5fr 1fr 1fr}}.footer__logo{border-radius:var(--r-sm);background:var(--surface);border:1px solid var(--line-strong);width:2.25rem;height:2.25rem;font-family:var(--font-mono);margin-bottom:var(--s-3);justify-content:center;align-items:center;font-size:.9375rem;font-weight:700;display:inline-flex}.footer__name{color:var(--text);margin-bottom:2px;font-weight:600}.footer__tagline{color:var(--text-3);font-size:.8125rem}.footer__links,.footer__social{gap:var(--s-3);flex-direction:column;display:flex}.footer__bottom{justify-content:space-between;align-items:center;gap:var(--s-4);padding-top:var(--s-5);color:var(--text-3);flex-wrap:wrap;font-size:.8125rem;display:flex}.projects-page{padding-block:var(--s-8)}.projects-grid{gap:var(--s-6);margin-top:var(--s-7);grid-template-columns:1fr;display:grid}@media (min-width:640px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.projects-grid{grid-template-columns:repeat(3,1fr)}}.card-project{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--dur-2) var(--ease-out), transform var(--dur-2) var(--ease-out);flex-direction:column;display:flex;overflow:hidden}.card-project:hover{border-color:#ffffff38;transform:translateY(-3px)}.card-project__cover{background:var(--bg-2);border-bottom:1px solid var(--line);justify-content:center;align-items:center;height:220px;display:flex;position:relative;overflow:hidden}.card-project__body{padding:var(--s-5);flex-direction:column;flex:1;display:flex}.card-project__cat{color:var(--accent);margin-bottom:var(--s-2);font-size:.6875rem}.card-project__title{margin-bottom:var(--s-2);font-size:1.25rem}.card-project__desc{color:var(--text-2);margin-bottom:var(--s-4);flex:1;font-size:.9375rem;line-height:1.5}.card-project__footer{padding-top:var(--s-3);border-top:1px solid var(--line)}.case-study{padding-block:var(--s-7) var(--s-9)}.case-study__back{margin-bottom:var(--s-5)}.case-study__header{margin-bottom:var(--s-8)}.case-study__meta{align-items:center;gap:var(--s-3);font-size:var(--fs-xs);color:var(--text-3);margin-bottom:var(--s-3);display:flex}.case-study__title{font-size:var(--fs-display);letter-spacing:-.04em;margin-bottom:var(--s-3)}.case-study__statement{font-size:var(--fs-lead);color:var(--text-2);max-width:720px;margin-bottom:var(--s-6)}.case-study__links{gap:var(--s-4);flex-wrap:wrap;display:flex}.case-study__section{padding-block:var(--s-7);border-top:1px solid var(--line)}.case-study__sec-title{font-size:var(--fs-h3);margin-bottom:var(--s-4)}.case-study__prose{color:var(--text-2);max-width:760px;font-size:1.125rem;line-height:1.65}.case-study__list{gap:var(--s-3);flex-direction:column;max-width:760px;display:flex}.case-study__list-item{align-items:flex-start;gap:var(--s-3);color:var(--text-2);font-size:1.0625rem;line-height:1.55;display:flex}.case-study__list-bullet{color:var(--accent);margin-top:2px}.case-study__gallery{gap:var(--s-4);margin-top:var(--s-5);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.case-study__gallery-img{border-radius:var(--r-md);border:1px solid var(--line);width:100%;height:auto;transition:transform var(--dur-2) var(--ease-out)}.case-study__gallery-img:hover{transform:scale(1.02)}.contact-page{padding-block:var(--s-8)}.contact-page__grid{gap:var(--s-8);margin-top:var(--s-7);grid-template-columns:1fr;display:grid}@media (min-width:960px){.contact-page__grid{grid-template-columns:.9fr 1.1fr}}.contact-page__info{gap:var(--s-6);flex-direction:column;display:flex}.contact-info-block__title{color:var(--accent);margin-bottom:var(--s-2);font-size:.8125rem}.contact-info-block__value{color:var(--text);font-size:1.125rem}.contact-form{padding:var(--s-6);border-radius:var(--r-xl);border:1px solid var(--line-strong);background:var(--surface);gap:var(--s-5);flex-direction:column;display:flex}.form-group{gap:var(--s-2);flex-direction:column;display:flex}.form-label{font-size:.8125rem;font-family:var(--font-mono);color:var(--text-2)}.form-input,.form-textarea{border-radius:var(--r-md);border:1px solid var(--line);background:var(--bg);width:100%;color:var(--text);transition:border-color var(--dur-2) var(--ease-out);padding:.875rem 1rem;font-size:.9375rem}.form-input:focus,.form-textarea:focus{border-color:var(--accent)}.form-textarea{resize:vertical;min-height:140px}.form-feedback{padding:var(--s-4);border-radius:var(--r-md);font-size:.9375rem}.form-feedback--success{color:var(--success);background:#3ddc971a;border:1px solid #3ddc974d}.form-feedback--error{color:#ff5f56;background:#ff5f561a;border:1px solid #ff5f564d}
