:root{color-scheme:dark;--accent: #2e7cff;--accent-glow: #5b9dff;--accent-2: #00e7c7;--accent-3: #4ade80;--display: "Fraunces", serif;--body: "Outfit", sans-serif;--mono: "JetBrains Mono", monospace;--radius: 16px;--maxw: 1280px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--s-8: 64px;--s-9: 96px;--s-10: 128px;--bg: #05070d;--bg-2: #0a0e1a;--ink: #eef1f7;--ink-dim: #8e96ab;--ink-faint: #4d5470;--line: rgba(255,255,255,.07);--line-strong: rgba(255,255,255,.14);--surf-1: rgba(15,20,36,.7);--surf-2: rgba(10,14,26,.5);--surf-3: rgba(15,20,36,.6);--surf-4: rgba(10,14,26,.35);--surf-form: rgba(15,20,36,.65);--surf-form-2: rgba(10,14,26,.45);--nav-bg-1: rgba(8,11,20,.85);--nav-bg-2: rgba(5,7,13,.65);--mobile-menu-1: rgba(8,11,20,.97);--mobile-menu-2: rgba(5,7,13,.95);--tint-white: 255,255,255;--grid-line: rgba(255,255,255,.025);--inset-top: rgba(255,255,255,.04);--inset-bot: rgba(0,0,0,.2);--noise-blend: overlay;--noise-opacity: .5;--agency-fill: #05070d;--logo-color: #ffffff;--logo-halo-1: rgba(46,124,255,.55);--logo-halo-2: rgba(46,124,255,.25);--mesh-blue-strong: rgba(46,124,255,.2);--mesh-blue-mid: rgba(46,124,255,.12);--mesh-cyan-strong: rgba(0,231,199,.12);--mesh-cyan-mid: rgba(0,231,199,.08);--mesh-green: rgba(74,222,128,.08);--mesh-blue-bot: rgba(46,124,255,.1);--check-bg: rgba(46,124,255,.12);--check-border: rgba(46,124,255,.35);--card-hover-tint: rgba(46,124,255,.06);--field-focus-border: var(--accent)}[data-theme=light]{color-scheme:light;--bg: #f4f6fb;--bg-2: #ffffff;--ink: #0e1530;--ink-dim: #545d7a;--ink-faint: #9aa3bd;--line: rgba(14,21,48,.07);--line-strong: rgba(14,21,48,.14);--surf-1: rgba(255,255,255,.92);--surf-2: rgba(248,250,253,.85);--surf-3: rgba(255,255,255,.88);--surf-4: rgba(248,250,253,.78);--surf-form: rgba(255,255,255,.92);--surf-form-2: rgba(248,250,253,.85);--nav-bg-1: rgba(255,255,255,.88);--nav-bg-2: rgba(244,246,251,.78);--mobile-menu-1: rgba(255,255,255,.98);--mobile-menu-2: rgba(244,246,251,.96);--grid-line: rgba(14,21,48,.035);--inset-top: rgba(255,255,255,.9);--inset-bot: rgba(14,21,48,.05);--noise-blend: multiply;--noise-opacity: .12;--agency-fill: #ffffff;--logo-color: #0e1530;--logo-halo-1: rgba(46,124,255,.22);--logo-halo-2: rgba(46,124,255,.08);--mesh-blue-strong: rgba(46,124,255,.1);--mesh-blue-mid: rgba(46,124,255,.05);--mesh-cyan-strong: rgba(0,231,199,.07);--mesh-cyan-mid: rgba(0,231,199,.04);--mesh-green: rgba(74,222,128,.05);--mesh-blue-bot: rgba(46,124,255,.07);--check-bg: rgba(46,124,255,.1);--check-border: rgba(46,124,255,.45);--card-hover-tint: rgba(46,124,255,.05)}[data-theme=light] .service,[data-theme=light] .project,[data-theme=light] .step,[data-theme=light] .tech-card,[data-theme=light] .form-card,[data-theme=light] .about-card,[data-theme=light] .service-wide{box-shadow:0 1px 2px #0e15300a,0 8px 24px -6px #0e15300f,0 24px 48px -16px #0e153014}[data-theme=light] .service:hover,[data-theme=light] .project:hover,[data-theme=light] .step:hover,[data-theme=light] .tech-card:hover{box-shadow:0 2px 4px #0e15300d,0 12px 32px -6px #2e7cff1f,0 32px 64px -16px #2e7cff1a}[data-theme=light] .field input,[data-theme=light] .field select,[data-theme=light] .field textarea{background:#fff;box-shadow:inset 0 1px 2px #0e15300a}[data-theme=light] .field input:focus,[data-theme=light] .field select:focus,[data-theme=light] .field textarea:focus{background:#fff;box-shadow:inset 0 1px 2px #0e15300a,0 0 0 3px #2e7cff1f}[data-theme=light] .btn{box-shadow:inset 0 1px #ffffff4d,inset 0 -1px #0e15301a,0 1px 2px #0e15300f,0 8px 20px -4px #2e7cff59,0 16px 32px -8px #2e7cff38}[data-theme=light] .btn.ghost{background:#ffffffb3;color:var(--ink)}[data-theme=light] .lang-btn.on{color:var(--ink)}[data-theme=light] .mobile-menu{box-shadow:0 16px 48px -8px #0e153026}[data-theme=light] .hero-features .check{background:#2e7cff14;border-color:#2e7cff80;color:var(--accent)}[data-theme=light] .service h3,[data-theme=light] .tech-card h5,[data-theme=light] .section-title em{color:#1e63e0}[data-theme=light] .step .step-icon{filter:drop-shadow(0 4px 12px rgba(46,124,255,.15))}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:#05070d!important;forced-color-adjust:none;-webkit-text-size-adjust:100%;transition:background-color .4s ease,color .4s ease}html[data-theme=light],html[data-theme=light] body{background-color:#f5f7fb!important}@media (forced-colors: active){html,body{background-color:#05070d!important}html[data-theme=light],html[data-theme=light] body{background-color:#f5f7fb!important}}html{scroll-behavior:smooth}body{color:var(--ink);font-family:var(--body);font-weight:400;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;background:radial-gradient(900px 600px at 85% 0%,var(--mesh-blue-strong),transparent 60%),radial-gradient(700px 500px at 0% 8%,var(--mesh-blue-mid),transparent 65%),radial-gradient(800px 600px at 95% 28%,var(--mesh-cyan-mid),transparent 60%),radial-gradient(700px 500px at 5% 42%,var(--mesh-blue-mid),transparent 60%),radial-gradient(1000px 700px at 90% 55%,var(--mesh-cyan-strong),transparent 60%),radial-gradient(800px 600px at 8% 65%,var(--mesh-cyan-mid),transparent 60%),radial-gradient(900px 600px at 92% 80%,var(--mesh-green),transparent 60%),radial-gradient(800px 500px at 10% 90%,var(--mesh-cyan-mid),transparent 60%),radial-gradient(1100px 700px at 50% 105%,var(--mesh-blue-bot),transparent 60%),var(--bg);background-attachment:fixed;min-height:100vh}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;opacity:var(--noise-opacity);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.04 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");mix-blend-mode:var(--noise-blend)}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse at 50% 30%,black 0%,rgba(0,0,0,.3) 70%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,black 0%,rgba(0,0,0,.3) 70%,transparent 100%)}a{color:inherit;text-decoration:none}::-moz-selection{background:var(--accent);color:#fff}::selection{background:var(--accent);color:#fff}.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--s-6);position:relative;z-index:2}@media (max-width:520px){.wrap{padding:0 var(--s-5)}}.grid-bg{display:none}.skip-link{position:fixed;top:-40px;left:50%;transform:translate(-50%);background:var(--accent);color:#fff;padding:8px 16px;border-radius:0 0 8px 8px;font-family:var(--mono);font-size:12px;font-weight:600;text-decoration:none;z-index:100;transition:top .25s;clip:rect(0 0 0 0);clip-path:inset(50%)}.skip-link:focus{top:0;outline:2px solid var(--accent-glow);outline-offset:2px;clip:auto;clip-path:none}nav.top{position:sticky;top:0;z-index:50;backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);background:linear-gradient(180deg,var(--nav-bg-1) 0%,var(--nav-bg-2) 100%)}nav.top .row{display:flex;align-items:center;justify-content:space-between;padding:14px var(--s-5);padding-left:max(var(--s-5),env(safe-area-inset-left));padding-right:max(var(--s-5),env(safe-area-inset-right));gap:var(--s-4);min-height:96px}@media (min-width:521px){nav.top .row{padding:16px var(--s-6);min-height:112px}}@media (max-width:380px){nav.top .row{min-height:88px;padding:12px var(--s-4)}}.brand{display:inline-flex;align-items:center;gap:14px;text-decoration:none;transition:opacity .25s ease;position:relative}.brand:before{content:"";position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:128px;height:128px;border-radius:50%;background:radial-gradient(circle,var(--logo-halo-1) 0%,var(--logo-halo-2) 35%,transparent 70%);filter:blur(14px);pointer-events:none;z-index:0;transition:opacity .35s ease,transform .35s ease;opacity:.9}@media (max-width:760px){.brand:before{width:96px;height:96px;left:-12px;filter:blur(12px)}}@media (max-width:380px){.brand:before{width:80px;height:80px;left:-10px;filter:blur(10px)}}.brand:hover:before{opacity:1;background:radial-gradient(circle,rgba(46,124,255,.7) 0%,rgba(46,124,255,.35) 35%,transparent 70%)}.brand:hover{opacity:.95}.brand:hover .brand-logo{transform:translateY(-1px)}.brand>*{position:relative;z-index:1}.brand-logo{height:84px;width:auto;color:var(--logo-color);flex-shrink:0;transition:transform .35s cubic-bezier(.4,0,.2,1);filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}.brand-tag{position:relative;font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:.24em;color:var(--ink-faint);text-transform:uppercase;line-height:1.4;padding-left:14px;max-width:8ch}.brand-tag:before{content:"";position:absolute;left:0;top:50%;width:1px;height:24px;background:linear-gradient(180deg,transparent,var(--line-strong),transparent);transform:translateY(-50%)}@media (max-width:640px){.brand-tag{display:none}}@media (max-width:980px){.brand-logo{height:76px}}@media (max-width:680px){.brand-logo{height:70px}}@media (max-width:480px){.brand-logo{height:62px}}@media (max-width:380px){.brand-logo{height:54px}}.nav-menu{list-style:none;display:flex;align-items:center;gap:6px;padding:5px;border-radius:999px;background:var(--line);border:1px solid var(--line-strong);box-shadow:inset 0 1px 0 var(--inset-top),inset 0 -1px 0 var(--inset-bot);margin:0 auto}.nav-menu a{display:inline-flex;align-items:center;height:34px;padding:0 16px;border-radius:999px;font-family:var(--body);font-size:13px;font-weight:500;letter-spacing:.02em;color:var(--ink-dim);text-decoration:none;transition:color .25s ease,background .25s ease;position:relative;white-space:nowrap}.nav-menu a:hover{color:#fff;background:#2e7cff1f}.nav-menu a.active{color:#fff;background:#2e7cff2e;box-shadow:inset 0 0 0 1px #5b9dff40}@media (max-width:980px){.nav-menu{display:none}}.nav-burger{display:none;width:40px;height:36px;background:var(--line);border:1px solid var(--line-strong);border-radius:999px;cursor:pointer;padding:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;transition:background .25s}.nav-burger:hover{background:#2e7cff1f}.nav-burger span{display:block;width:16px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .3s ease,opacity .25s}.nav-burger[aria-expanded=true] span:nth-child(1){transform:translateY(5.5px) rotate(45deg)}.nav-burger[aria-expanded=true] span:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] span:nth-child(3){transform:translateY(-5.5px) rotate(-45deg)}@media (max-width:980px){.nav-burger{display:flex}}.mobile-menu{display:none;position:fixed;top:0;left:0;right:0;background:linear-gradient(180deg,var(--mobile-menu-1),var(--mobile-menu-2));backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--line);z-index:49;padding:108px var(--s-5) var(--s-6);transform:translateY(-100%);transition:transform .35s cubic-bezier(.4,0,.2,1),visibility 0s linear .35s;max-height:100vh;overflow-y:auto;visibility:hidden}.mobile-menu.open{transform:translateY(0);visibility:visible;transition:transform .35s cubic-bezier(.4,0,.2,1),visibility 0s linear 0s}@media (max-width:980px){.mobile-menu{display:block}}.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:4px}.mobile-menu a{display:block;padding:14px 18px;font-size:16px;font-weight:500;color:var(--ink);text-decoration:none;border-radius:12px;transition:background .2s,color .2s}.mobile-menu a:hover{background:#2e7cff1f;color:var(--accent-glow)}.nav-actions{display:flex;align-items:center;gap:10px}@media (max-width:480px){.nav-actions .btn{display:none}}.lang-switch{display:inline-flex;align-items:center;font-family:var(--mono);font-size:11px;font-weight:600;letter-spacing:.18em;color:var(--ink-faint);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.lang-btn{background:none;border:0;padding:8px 4px;font:inherit;letter-spacing:inherit;color:var(--ink-faint);cursor:pointer;transition:color .25s ease;position:relative}.lang-btn:hover{color:var(--ink-dim)}.lang-btn.on{color:var(--ink)}.lang-btn.on:after{content:"";position:absolute;left:4px;right:4px;bottom:2px;height:1.5px;border-radius:1px;background:linear-gradient(90deg,var(--accent-glow),var(--accent));box-shadow:0 0 8px #2e7cff99}.lang-divider{color:var(--ink-faint);opacity:.4;margin:0 2px;font-weight:400}.theme-toggle{width:36px;height:36px;background:none;border:0;padding:0;margin-left:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;transition:color .25s ease,transform .35s ease;position:relative}.theme-toggle:hover{transform:rotate(15deg);filter:drop-shadow(0 0 8px rgba(255,255,255,.4))}[data-theme=light] .theme-toggle{color:var(--ink)}[data-theme=light] .theme-toggle:hover{filter:drop-shadow(0 0 8px rgba(46,124,255,.35))}.theme-icon{width:18px;height:18px;display:block}.theme-icon--sun{display:block}.theme-icon--moon,[data-theme=light] .theme-icon--sun{display:none}[data-theme=light] .theme-icon--moon{display:block}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;height:36px;padding:0 18px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.02em;color:#fff;cursor:pointer;border:0;background:linear-gradient(135deg,#5b9dff,#2e7cff 55%,#1e5bd0);box-shadow:inset 0 1px #ffffff38,inset 0 -1px #00000026,0 0 0 1px #5b9dff2e,0 4px 14px -2px #2e7cff73,0 10px 26px -8px #2e7cff52;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease;font-family:inherit;white-space:nowrap;overflow:hidden;isolation:isolate}.btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.18),transparent 45%);pointer-events:none}.btn:after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-50%;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.32) 50%,transparent 100%);transform:skew(-20deg);transition:left .65s ease;pointer-events:none}.btn:hover{transform:translateY(-1px);filter:brightness(1.08);box-shadow:inset 0 1px #ffffff47,inset 0 -1px 0 var(--inset-bot),0 0 0 1px #5b9dff59,0 8px 22px -4px #2e7cff99,0 16px 40px -10px #2e7cff66}.btn:hover:after{left:120%}.btn:active{transform:translateY(0);filter:brightness(.95)}.btn-lg{height:auto;padding:13px 24px;font-size:14px;gap:10px}.btn.ghost{background:var(--line);box-shadow:inset 0 0 0 1px var(--line-strong);color:var(--ink)}.btn.ghost:before,.btn.ghost:after{display:none}.btn.ghost:hover{background:var(--card-hover-tint);box-shadow:inset 0 0 0 1px var(--accent);color:var(--accent);filter:none}.btn .arrow{transition:transform .25s}.btn:hover .arrow{transform:translate(3px,-3px)}header.hero{position:relative;padding:var(--s-8) 0 var(--s-9);overflow:hidden}header.hero .grid-bg{height:100%}.orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.28;pointer-events:none;animation:float 16s ease-in-out infinite}[data-theme=light] .orb{opacity:.14;filter:blur(120px)}[data-theme=light] .orb.c{opacity:.1}.orb.a{width:440px;height:440px;background:var(--accent);top:-120px;right:-100px}.orb.b{width:360px;height:360px;background:var(--accent-2);top:35%;left:-140px;animation-delay:-5s}.orb.c{width:300px;height:300px;background:var(--accent-3);bottom:-60px;right:18%;animation-delay:-10s;opacity:.18}@media (max-width:680px){.orb.a{width:280px;height:280px;top:-80px;right:-60px}.orb.b{width:240px;height:240px;left:-80px}.orb.c{width:200px;height:200px;right:5%}}@keyframes float{0%,to{transform:translate(0)}50%{transform:translate(30px,-30px)}}h1.display{font-family:var(--display);font-weight:300;font-size:clamp(38px,8.5vw,116px);line-height:.96;letter-spacing:-.035em;max-width:14ch;font-variation-settings:"opsz" 144,"SOFT" 30,"WONK" 1}h1.display em{font-style:italic;font-weight:400;background:linear-gradient(120deg,var(--accent) 0%,var(--accent-2) 55%,var(--accent-3) 100%);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block;padding:.12em .1em .05em;margin:-.05em -.06em -.05em -.04em}.hero-sub{max-width:640px;color:var(--ink-dim);font-size:clamp(15px,1.4vw,18px);margin-top:var(--s-6);line-height:1.65;font-weight:300}.hero-features{list-style:none;margin-top:var(--s-6);display:grid;gap:var(--s-3);max-width:640px}.hero-features li{display:flex;align-items:center;gap:var(--s-3);font-size:clamp(14px,1.2vw,16px);color:var(--ink)}.hero-features .check{width:24px;height:24px;border-radius:50%;background:#2e7cff1f;border:1px solid rgba(46,124,255,.35);color:var(--accent);display:grid;place-items:center;flex-shrink:0;font-size:13px;font-weight:700}.about-card .about-icon{color:var(--accent);font-size:16px;flex-shrink:0;margin-top:4px;display:inline-flex}.hero-cta{display:flex;gap:var(--s-3);margin-top:var(--s-7);flex-wrap:wrap}@media (max-width:480px){.hero-cta{flex-direction:column;align-items:flex-start}}section{padding:var(--s-8) 0;position:relative}@media (max-width:760px){section{padding:var(--s-7) 0}}section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(700px 400px at 50% 0%,var(--section-tint, transparent),transparent 70%);opacity:.6}section>*{position:relative;z-index:1}#about{--section-tint:rgba(46,124,255,.08);--section-accent:var(--accent)}#services{--section-tint:rgba(0,231,199,.07);--section-accent:var(--accent-2)}#projects{--section-tint:rgba(74,222,128,.06);--section-accent:var(--accent-3)}#method{--section-tint:rgba(0,231,199,.07);--section-accent:var(--accent-2)}#tech{--section-tint:rgba(46,124,255,.07);--section-accent:var(--accent)}#contact{--section-tint:rgba(46,124,255,.1);--section-accent:var(--accent)}.section-head{text-align:center;max-width:780px;margin:0 auto var(--s-7)}.section-tag{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--section-accent, var(--accent));display:inline-flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}.section-tag:before,.section-tag:after{content:"";width:24px;height:1px;background:var(--section-accent, var(--accent))}.section-title{font-family:var(--display);font-weight:300;font-size:clamp(32px,5.5vw,78px);line-height:1.05;letter-spacing:-.035em;font-variation-settings:"opsz" 144,"SOFT" 50}.section-title em{font-style:italic;color:var(--section-accent, var(--accent))}.section-lede{color:var(--ink-dim);font-size:clamp(15px,1.4vw,17px);line-height:1.65;margin-top:var(--s-4);font-weight:300}.about-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--surf-1),var(--surf-2));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:var(--s-8);max-width:920px;margin:0 auto;position:relative;overflow:hidden}.about-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),var(--accent-2),var(--accent-3),transparent)}.about-card h3{font-family:var(--display);font-weight:400;font-size:24px;letter-spacing:-.01em;margin-bottom:var(--s-4)}.about-card p{color:var(--ink);font-size:17px;line-height:1.7}.about-card ul{list-style:none;display:grid;gap:var(--s-3);margin:var(--s-5) 0}.about-card ul li{color:var(--ink);font-size:16px;display:flex;align-items:flex-start;gap:12px}@media (max-width:680px){.about-card{padding:var(--s-7) var(--s-5)}}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-4)}@media (max-width:720px){.services{grid-template-columns:1fr}}.service{background:linear-gradient(180deg,var(--surf-1),var(--surf-2));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:var(--radius);padding:var(--s-7);position:relative;overflow:hidden;transition:all .35s ease}@media (max-width:480px){.service{padding:var(--s-6) var(--s-5)}}.service:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),var(--accent-2));opacity:.55}.service:hover{border-color:var(--line-strong);transform:translateY(-4px)}.service .icon{width:56px;height:56px;border-radius:14px;background:#2e7cff14;border:1px solid rgba(46,124,255,.2);display:grid;place-items:center;margin-bottom:var(--s-5);color:var(--accent)}.service .icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.5}.service h3{font-family:var(--display);font-weight:400;font-size:28px;letter-spacing:-.02em;line-height:1.15;color:var(--accent);margin-bottom:var(--s-5)}.service h3 .num{font-family:var(--mono);font-size:13px;color:var(--ink-faint);margin-right:var(--s-3);letter-spacing:.1em;font-weight:500}.service ul{list-style:none;display:grid;gap:var(--s-3)}.service ul li{padding-left:var(--s-5);position:relative;color:var(--ink);font-size:15px;line-height:1.55}.service ul li:before{content:"";position:absolute;left:0;top:9px;width:8px;height:8px;border-radius:50%;background:var(--accent)}.service-wide{grid-column:1 / -1;background:radial-gradient(800px 300px at 100% 0%,var(--mesh-cyan-mid),transparent 60%),radial-gradient(700px 300px at 0% 100%,var(--mesh-green),transparent 60%),linear-gradient(180deg,var(--surf-1),var(--surf-2))}.service-wide:before{background:linear-gradient(90deg,var(--accent),var(--accent-2),var(--accent-3));opacity:.7}.service-wide ul{grid-template-columns:repeat(2,1fr);gap:var(--s-3) var(--s-6)}@media (max-width:680px){.service-wide ul{grid-template-columns:1fr}}.projects{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-4)}@media (max-width:1024px){.projects{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.projects{grid-template-columns:1fr}}.project{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--surf-3),var(--surf-4));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:var(--s-7) var(--s-6);position:relative;overflow:hidden;transition:all .35s ease}.project:hover{transform:translateY(-4px);border-color:var(--line-strong)}.project .ribbon{position:absolute;top:0;left:0;right:0;height:3px}.project.p1 .ribbon{background:linear-gradient(90deg,#a855f7,#ec4899)}.project.p2 .ribbon{background:linear-gradient(90deg,#3b82f6,#06b6d4)}.project.p3 .ribbon{background:linear-gradient(90deg,#10b981,#34d399)}.project h4{font-family:var(--display);font-weight:500;font-size:22px;line-height:1.25;letter-spacing:-.01em;color:var(--ink);margin-bottom:var(--s-5)}.project ul{list-style:none;display:grid;gap:var(--s-3)}.project ul li{display:flex;align-items:flex-start;gap:var(--s-3);color:var(--ink);font-size:15px;line-height:1.5}.project ul li .check{width:18px;height:18px;flex-shrink:0;margin-top:3px;color:var(--accent)}.project ul li .check svg{width:100%;height:100%;stroke:currentColor;fill:none;stroke-width:2.5}.method{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-3)}@media (max-width:1080px){.method{grid-template-columns:repeat(3,1fr)}}@media (max-width:680px){.method{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.method{grid-template-columns:1fr}}.step{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--surf-3),var(--surf-4));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:var(--s-6);position:relative;transition:all .35s ease}.step:hover{border-color:var(--accent);transform:translateY(-3px)}.step .step-icon{font-size:32px;margin-bottom:var(--s-4);display:block;filter:drop-shadow(0 4px 12px rgba(46,124,255,.2))}.step .step-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--accent);text-transform:uppercase;margin-bottom:var(--s-2)}.step h4{font-family:var(--display);font-weight:500;font-size:20px;letter-spacing:-.01em;color:var(--ink);margin-bottom:var(--s-3)}.step p{color:var(--ink-dim);font-size:14px;line-height:1.55}.tech-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s-4)}@media (max-width:1280px){.tech-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:720px){.tech-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.tech-grid{grid-template-columns:1fr}}.tech-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,var(--surf-3),var(--surf-4));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:var(--s-6);transition:all .3s ease;position:relative;overflow:hidden}.tech-card:hover{border-color:var(--accent);transform:translateY(-3px)}.tech-card:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(400px 200px at 0% 0%,rgba(46,124,255,.06),transparent 60%);opacity:0;transition:opacity .35s;pointer-events:none}.tech-card:hover:before{opacity:1}.tech-card .head{display:flex;align-items:center;gap:var(--s-3);margin-bottom:var(--s-4)}.tech-card .emoji{font-size:28px}.tech-card h5{font-family:var(--display);font-weight:500;font-size:22px;letter-spacing:-.01em;color:var(--accent)}.tech-card p{color:var(--ink);font-size:15px;line-height:1.55}.contact-wrap{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s-6);align-items:start}@media (max-width:980px){.contact-wrap{grid-template-columns:1fr}}.form-card{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--surf-form),var(--surf-form-2));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:var(--s-7)}@media (max-width:680px){.form-card{padding:var(--s-6) var(--s-5)}}.field{margin-bottom:var(--s-5)}.field label{display:block;font-size:14px;font-weight:500;color:var(--ink);margin-bottom:var(--s-3)}.field label .req{color:#ff6b6b;margin-left:4px}.field input,.field select,.field textarea{width:100%;padding:var(--s-3) var(--s-4);background:var(--surf-3);border:1px solid var(--line-strong);border-radius:12px;color:var(--ink);font-family:inherit;font-size:16px;transition:border-color .25s,background .25s}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);background:#2e7cff0a}.field input::-moz-placeholder,.field textarea::-moz-placeholder{color:var(--ink-faint)}.field input::placeholder,.field textarea::placeholder{color:var(--ink-faint)}.field select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%238e96ab' d='M6 9L1 4h10z'/></svg>");background-repeat:no-repeat;background-position:right 18px center;padding-right:42px}.submit-btn{width:100%;padding:var(--s-4);border-radius:12px;background:var(--accent);color:#fff;border:0;font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:all .25s;box-shadow:0 8px 28px #2e7cff40;margin-top:var(--s-2)}.submit-btn:hover{background:#5b9dff;transform:translateY(-1px);box-shadow:0 12px 36px #2e7cff59}.contact-info{border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,var(--surf-form),var(--surf-form-2));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:var(--s-7)}.contact-info h3{font-family:var(--display);font-weight:400;font-size:28px;letter-spacing:-.02em;color:var(--accent);margin-bottom:var(--s-3)}.contact-info p.intro{color:var(--ink-dim);font-size:15px;margin-bottom:var(--s-6);line-height:1.6}.contact-row{display:flex;align-items:flex-start;gap:var(--s-4);padding:var(--s-4) 0;border-bottom:1px solid var(--line)}.contact-row:last-child{border-bottom:0}.contact-row .ico{width:42px;height:42px;border-radius:10px;flex-shrink:0;background:#2e7cff14;border:1px solid rgba(46,124,255,.2);display:grid;place-items:center;color:var(--accent)}.contact-row .ico svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}.contact-row .meta{flex:1}.contact-row .meta .lbl{font-family:var(--mono);font-size:11px;letter-spacing:.18em;color:var(--ink-dim);text-transform:uppercase;margin-bottom:var(--s-1)}.contact-row .meta .val{color:var(--ink);font-size:15px;line-height:1.6}.contact-row .meta .val a{color:var(--accent)}.contact-row .meta .val a:hover{text-decoration:underline}.flag{display:inline-block;margin-right:6px}footer{border-top:1px solid var(--line);padding:var(--s-6) 0;margin-top:0;text-align:center}footer .copy{font-family:var(--mono);font-size:12px;color:var(--ink-faint);letter-spacing:.1em}[data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}[data-reveal].in{opacity:1;transform:none}
