@import "https://fonts.googleapis.com/css2?family=Sora:wght@400;600;700;800&family=Manrope:wght@400;500;700&display=swap";:root{--text:#d8ebff;--text-muted:#9bbce5;--title:#f3f8ff;--line:#7db0ff47;--blue:#3a8dff;--blue-strong:#1b6dff;--bg-primary:#010716;--bg-secondary:#031133;--topbar-bg:#031133}:root.light-mode{--text:#1a1a2e;--text-muted:#4a5568;--title:#0d0d1a;--line:#0052cc33;--blue:#0052cc;--blue-strong:#003a99;--bg-primary:#f5f7fa;--bg-secondary:#fff;--topbar-bg:#fff}:root.light-mode body{background:linear-gradient(135deg,#f5f7fa 0%,#e8ecf1 100%)}*{box-sizing:border-box}html,body,#app{min-height:100%}html{scroll-behavior:smooth}body{color:var(--text);background-blend-mode:normal, soft-light, normal, normal, normal;background:linear-gradient(#020b1fad,#020b1fad),url(/background-simple.gif) 50%/cover no-repeat fixed,radial-gradient(circle at 15% 12%,#3a8dff24,#0000 38%),radial-gradient(circle at 84% 18%,#00bcff14,#0000 36%),linear-gradient(145deg,#010716 10%,#031133 52%,#020a1f 100%);margin:0;font-family:Manrope,sans-serif;line-height:1.5;transition:background .3s,color .3s}h1,h2,h3,p{margin:0}a{color:inherit}.page-shell{width:min(1160px,92vw);margin:0 auto;padding-bottom:4rem;animation:.9s ease-out both rise}.topbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);z-index:30;background:var(--topbar-bg);width:100vw;margin-left:calc(50% - 50vw);padding:.45rem 0;transition:background-color .3s,border-color .3s,box-shadow .3s;position:sticky;top:0;box-shadow:0 10px 24px #02081647}:root.light-mode .topbar{box-shadow:0 10px 24px #00000014}.topbar-inner{justify-content:space-between;align-items:center;gap:1rem;width:min(1160px,92vw);min-height:68px;margin:0 auto;display:flex}.brand{letter-spacing:.22em;color:var(--title);margin-left:1rem;font-family:Sora,sans-serif;font-size:1.28rem;font-weight:800;line-height:1}.menu{gap:.35rem;margin-left:auto;display:flex}.menu a{min-height:38px;color:var(--text-muted);border-radius:999px;justify-content:center;align-items:center;padding:.45rem .85rem;font-size:.96rem;font-weight:600;text-decoration:none;transition:color .18s,transform .18s,background .18s;display:inline-flex}.menu a:hover{color:var(--title);background:#2358b459;transform:translateY(-2px)}.theme-toggle{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;padding:0;transition:border-color .18s,background .18s,transform .18s;display:inline-flex}.theme-toggle:hover{border-color:var(--blue);background:#0052cc1a;transform:scale(1.05)}.theme-icon{width:20px;height:20px;stroke:var(--text-muted);transition:stroke .3s;display:inline-flex}.theme-toggle:hover .theme-icon{stroke:var(--blue)}.lang-select-wrap{display:inline-flex}.lang-select{border:1px solid var(--line);cursor:pointer;letter-spacing:.05em;text-align:center;width:46px;height:38px;color:var(--text);appearance:none;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:0 .6rem 0 .3rem;font-size:13px;font-weight:700;transition:border-color .18s,background .18s,color .18s,transform .18s;display:inline-flex}.lang-select:hover{border-color:var(--blue);color:var(--blue);background:#0052cc1a;transform:scale(1.05)}.lang-select:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.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}.hero{align-items:center;min-height:calc(100svh - 110px);padding:5rem 0 4rem;display:flex;position:relative}.hero-copy{max-width:900px}.hero-badge{color:#fff;z-index:2;background:radial-gradient(circle at 30% 28%,#ffffff4d,#fff0 42%),linear-gradient(135deg,#0052ccf5,#407effe0);border:1px solid #0052cc57;border-radius:999px;align-items:center;padding:.7rem 1rem;display:inline-flex;position:absolute;top:1.25rem;right:0;box-shadow:0 12px 32px #001e5a2e}.hero-badge-text{color:#fff;letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;font-weight:800;line-height:1.1}.eyebrow,.connect-eyebrow,.section-title p{color:var(--blue);text-transform:uppercase;letter-spacing:.14em;font-size:.8rem;font-weight:700}.hero h1{color:var(--title);margin-top:.85rem;font-family:Sora,sans-serif;font-size:clamp(1.7rem,3.7vw,3.05rem);line-height:1.1}.lead{max-width:76ch;color:var(--text-muted);margin-top:1rem;font-size:1.03rem;font-weight:500}.scroll-down{color:var(--blue);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.45rem;margin-top:1.35rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.scroll-down:after{content:"↓";font-size:.95rem;animation:1.3s ease-in-out infinite downPulse}.projects{flex-direction:column;justify-content:center;margin-top:1.8rem;padding-top:1.1rem;scroll-margin-top:110px;display:flex}.section-title h2,.connect h2{color:var(--title);margin-top:.55rem;font-family:Sora,sans-serif;font-size:clamp(1.5rem,2.8vw,2.2rem)}.connect-intro{max-width:none;color:var(--text-muted);text-transform:none;letter-spacing:normal;white-space:nowrap;margin-top:.65rem;font-size:1.08rem;font-weight:600}.projects-grid{grid-template-columns:repeat(2,1fr);gap:1rem;max-height:calc(100svh - 200px);margin-top:1.4rem;padding-right:.5rem;display:grid;overflow-y:auto}.projects-grid::-webkit-scrollbar{width:6px}.projects-grid::-webkit-scrollbar-track{background:0 0}.projects-grid::-webkit-scrollbar-thumb{background:#7db0ff6b;border-radius:3px}.projects-grid::-webkit-scrollbar-thumb:hover{background:#7db0ff99}.project-card{background:radial-gradient(circle at 85% 14%,#57f0ff1f,#57f0ff00 40%),linear-gradient(160deg,#1f5ac459,#0922578c);border:1px solid #7db0ff5c;border-radius:1rem;padding:1.05rem;transition:transform .18s,border-color .18s,background .3s,box-shadow .3s;box-shadow:0 16px 26px #030c2157}:root.light-mode .project-card{background:linear-gradient(160deg,#f5f7fa99,#e6f0ff80);box-shadow:0 8px 16px #3a8dff1a}:root.light-mode .project-card h3{color:var(--title)}.project-card:hover{border-color:#80c9ffe0;transform:translateY(-2px)}.project-status{color:var(--blue);text-transform:uppercase;letter-spacing:.12em;margin:0;font-size:.68rem;font-weight:700}.project-card h3{color:#f3f8ff;margin-top:.45rem;font-family:Sora,sans-serif;font-size:1.25rem}.project-card p+p{color:var(--text-muted);margin-top:.55rem;font-weight:500}.section-divider{justify-content:center;margin:2rem 0 1.3rem;display:flex}.section-divider span{background:radial-gradient(circle,#80c9ff59,#80c9ff00 72%),linear-gradient(90deg,#3a8dff33,#57f0ff38);border:1px solid #7db0ff61;border-radius:999px;width:min(420px,82vw);height:13px}.connect{margin-top:1.8rem;padding-top:1.1rem;scroll-margin-top:110px}.connect p{max-width:68ch;color:var(--text-muted);margin-top:.65rem;font-weight:500}.connect-grid{grid-template-columns:1.2fr .8fr;gap:1rem;margin-top:1.15rem;display:grid}.contact-form,.contact-card{background:#0618409e;border:1px solid #7db0ff59;border-radius:1rem;padding:1rem;transition:background-color .3s,border-color .3s}:root.light-mode .contact-form,:root.light-mode .contact-card{background:#fff;border-color:#3a8dff26}.contact-form{flex-direction:column;gap:.7rem;display:flex}.contact-form label{color:#d8ebff;font-weight:700;transition:color .3s}:root.light-mode .contact-form label{color:#1a1a2e}.contact-form input,.contact-form textarea{color:#e6f1ff;width:100%;min-height:48px;font:inherit;background:#020b1fb3;border:1px solid #7db0ff57;border-radius:.8rem;padding:.8rem .9rem;transition:background-color .3s,border-color .3s,color .3s}:root.light-mode .contact-form input,:root.light-mode .contact-form textarea{color:#1a1a2e;background:#f5f7fa;border-color:#3a8dff40}.contact-form textarea{resize:vertical;min-height:128px}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#8fb3e0;transition:color .3s}:root.light-mode .contact-form input::placeholder,:root.light-mode .contact-form textarea::placeholder{color:#a0aec0}.contact-form input:focus,.contact-form textarea:focus{outline-offset:1px;outline:2px solid #7ab3ff8c}.btn{border:0;border-radius:999px;padding:.8rem 1.25rem;font-weight:700;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s}.btn:hover{transform:translateY(-2px)}.btn.primary{color:#f4f9ff;background:linear-gradient(135deg, var(--blue), var(--blue-strong));box-shadow:0 14px 24px #1b6dff5c}.contact-form .btn{align-self:flex-start}.form-status{color:#98ecbd;font-size:.95rem}.contact-card h3{color:var(--title);margin-bottom:.6rem;font-family:Sora,sans-serif;font-size:1.1rem}.contact-card p+p{margin-top:.45rem}.contact-card a{color:var(--blue);font-weight:600;text-decoration:none}.contact-card a:hover{color:var(--blue-strong);text-decoration:underline}.site-footer{border-top:1px solid var(--line);margin-top:2rem;padding:1.2rem 0 .4rem}.site-footer p{color:var(--blue);font-size:.92rem}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes downPulse{0%,to{opacity:.8;transform:translateY(0)}50%{opacity:1;transform:translateY(3px)}}@media (width>=681px) and (width<=1024px){.page-shell,.topbar-inner{width:min(1120px,94vw)}.topbar{padding:.35rem 0}.brand{margin-left:.7rem;font-size:1.14rem}.menu a{min-height:35px;padding:.4rem .72rem;font-size:.9rem}.hero{min-height:calc(100svh - 98px);padding:4.2rem 0 3.2rem}.projects{min-height:calc(100svh - 98px)}.hero h1{font-size:clamp(1.95rem,4.2vw,2.5rem)}.lead{max-width:62ch;font-size:1rem}.connect-grid{grid-template-columns:1fr}}@media (width>=1200px){.page-shell,.topbar-inner{width:min(1240px,90vw)}.brand{margin-left:1.35rem;font-size:1.38rem}.hero{min-height:calc(100svh - 118px)}}@media (width<=680px){.page-shell,.topbar-inner{width:min(1160px,94vw)}.topbar{padding:.28rem 0}.topbar-inner{flex-wrap:wrap;gap:.35rem;min-height:auto;padding:.25rem 0}.brand{margin-left:.35rem;font-size:1.02rem}.menu{flex-wrap:wrap;width:100%;margin-left:0}.menu a{flex:1;min-width:90px}.hero{min-height:calc(100svh - 96px);padding:3.1rem 0 2.6rem}.projects{min-height:calc(100svh - 96px)}.hero h1{font-size:clamp(1.55rem,7.2vw,2.05rem)}.lead{font-size:.98rem}.projects-grid{gap:.85rem}.project-card h3{font-size:1.1rem}.connect{margin-top:2.2rem;padding:0}.connect-grid{grid-template-columns:1fr}.section-divider span{width:min(300px,86vw);height:10px}.connect-intro{white-space:normal;font-size:1rem}}
