:root{--navy-900: #06132a;--navy-800: #0b1f3a;--navy-700: #142e52;--navy-600: #1d3f6e;--line: rgba(255,255,255,.1);--line-2: rgba(255,255,255,.18);--text: #ecf2fb;--text-dim: rgba(236,242,251,.62);--text-faint: rgba(236,242,251,.4);--accent: #9ec3ff;--maxw: 1280px;--font-main: "Outfit", system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{background:var(--navy-900);color:var(--text);font-family:var(--font-main);-webkit-font-smoothing:antialiased;overflow-x:hidden}body{font-weight:400;line-height:1.5}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.lenis.lenis-smooth{scroll-behavior:auto!important}.nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:4px 48px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(to bottom,#06132ab3,#06132a00)}.nav .logo{height:125px;filter:brightness(0) invert(1);opacity:.95}.nav .links{display:flex;gap:36px;font-size:14px;color:var(--text-dim);letter-spacing:.02em}.nav .links a{transition:color .2s}.nav .links a:hover{color:var(--text)}.nav .cta{display:inline-flex;align-items:center;gap:10px;padding:10px 18px 10px 12px;border:1px solid var(--line-2);border-radius:999px;background:#ffffff0a;font-size:14px;transition:background .2s}.nav .cta:hover{background:#ffffff14}.nav .cta .dot{width:10px;height:10px;border-radius:50%;background:#ff5470;box-shadow:0 0 12px #ff5470aa}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer;z-index:101}.mobile-menu{position:fixed;top:0;left:0;width:100%;height:100vh;background:var(--navy-900);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:2rem;transform:translate(100%);transition:transform .3s ease-in-out;z-index:99}.mobile-menu.open{transform:translate(0)}.mobile-menu a{font-size:1.5rem;color:var(--text);letter-spacing:.04em}.hero{position:relative;min-height:100vh;padding:140px 48px 80px;display:grid;grid-template-columns:1.05fr .95fr;column-gap:80px;align-items:start;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(900px 600px at 18% 30%,rgba(40,90,180,.22),transparent 60%),radial-gradient(700px 500px at 90% 85%,rgba(20,46,82,.55),transparent 65%);pointer-events:none}.aurora-wrap{position:absolute;inset:0;pointer-events:none;z-index:1}.aurora{position:absolute;left:50%;top:46%;width:640px;height:760px;transform:translate(-50%,-50%);transition:transform .45s cubic-bezier(.2,.7,.2,1);will-change:transform;filter:blur(.5px) saturate(1.1);mix-blend-mode:screen;opacity:.95}.hero-inner{position:relative;z-index:3;max-width:680px}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:32px}.eyebrow .pulse{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent)}h1.headline{font-family:var(--font-main);font-weight:300;font-size:clamp(36px,4.8vw,72px);line-height:1.05;letter-spacing:-.035em;margin:0 0 32px;text-wrap:balance}h1.headline em{font-style:normal;color:var(--accent);font-weight:400}.hero-right{position:relative;z-index:3;padding-top:36px;display:flex;flex-direction:column;gap:40px}.hero-right .copy{font-size:22px;line-height:1.4;color:var(--text);max-width:440px;font-weight:300}.hero-right .copy span.dim{color:var(--text-faint)}.hr-rule{height:1px;background:var(--line);width:100%;max-width:480px}.see-us{display:flex;align-items:center;justify-content:space-between;max-width:480px}.see-us .lbl{font-size:13px;color:var(--text-dim);letter-spacing:.05em}.socials{display:flex;gap:10px}.socials a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--line-2);transition:background .2s,transform .2s}.socials a:hover{background:#ffffff0f;transform:translateY(-2px)}.socials svg{width:16px;height:16px;stroke:var(--text);fill:none;stroke-width:1.6}.svc-list{position:absolute;left:48px;bottom:48px;z-index:3;width:340px}.svc-list .head{font-size:13px;color:var(--text-dim);letter-spacing:.05em;padding-bottom:14px;border-bottom:1px solid var(--line)}.svc-list ul{list-style:none;padding:0;margin:14px 0 0}.svc-list li{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:14px;padding:10px 0;font-size:15px;color:var(--text);border-bottom:1px solid var(--line);cursor:pointer;transition:color .2s,padding-left .2s}.svc-list li:last-child{border-bottom:none}.svc-list li .dash{display:inline-block;width:18px;height:1px;background:var(--text-dim);transition:background .2s,width .2s}.svc-list li:hover{color:#fff}.svc-list li:hover .dash{background:var(--accent);width:24px}.svc-list li .ar{opacity:0;transform:translate(-6px);transition:.2s;color:var(--accent)}.svc-list li:hover .ar{opacity:1;transform:translate(0)}.featured{position:absolute;right:48px;bottom:48px;z-index:3;width:380px;border:1px solid var(--line-2);border-radius:24px;padding:18px;display:grid;grid-template-columns:108px 1fr auto;align-items:center;gap:16px;background:linear-gradient(180deg,#142e528c,#0b1f3a66);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .3s,border-color .3s}.featured:hover{transform:translateY(-4px);border-color:#9ec3ff59}.featured .thumb{width:108px;height:108px;border-radius:16px;overflow:hidden;background:linear-gradient(135deg,#0f2a4d,#1d3f6e),repeating-linear-gradient(45deg,rgba(255,255,255,.06) 0 6px,transparent 6px 12px);background-blend-mode:overlay;display:grid;place-items:center;color:#fff6;font-family:ui-monospace,monospace;font-size:10px;position:relative}.featured .thumb:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,rgba(158,195,255,.25),transparent 60%)}.featured .label{font-size:13px;color:var(--text-dim)}.featured .label strong{display:block;color:var(--text);font-size:18px;font-weight:600;margin-bottom:4px;letter-spacing:-.01em}.featured .arrow{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--navy-900);display:grid;place-items:center;transition:transform .25s}.featured:hover .arrow{transform:rotate(-45deg)}section.section{position:relative;padding:140px 48px;max-width:var(--maxw);margin:0 auto}.sec-label{display:inline-flex;align-items:center;gap:10px;padding:8px 16px;border:1px solid var(--line-2);border-radius:999px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin-bottom:48px}.sec-label .sq{width:10px;height:10px;background:var(--accent);border-radius:2px}.sec-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:80px;align-items:end;margin-bottom:64px}h2.sec-title{font-family:var(--font-main);font-size:clamp(36px,4.8vw,72px);line-height:1.05;letter-spacing:-.035em;font-weight:300;margin:0;text-wrap:balance}h2.sec-title em{font-style:normal;color:var(--accent);font-weight:400}.sec-blurb{font-size:20px;line-height:1.5;color:var(--text-dim);max-width:460px}.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.svc-card{position:relative;border:1px solid var(--line);border-radius:28px;padding:36px;background:linear-gradient(180deg,#142e5259,#0b1f3a8c);min-height:380px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;transition:border-color .3s,transform .3s}.svc-card:hover{border-color:var(--line-2);transform:translateY(-4px)}.svc-card .num{font-family:ui-monospace,monospace;font-size:13px;color:var(--text-faint);letter-spacing:.1em}.svc-card h3{font-family:var(--font-main);font-weight:400;font-size:32px;line-height:1.08;letter-spacing:-.025em;margin:18px 0 14px}.svc-card p{font-size:15px;color:var(--text-dim);margin:0 0 24px;line-height:1.55}.svc-card .tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.svc-card .tag{font-size:12px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:#ffffff08}.svc-card .glow{position:absolute;top:-40%;right:-30%;width:60%;aspect-ratio:1;background:radial-gradient(circle,rgba(158,195,255,.18),transparent 60%);pointer-events:none}.svc-card:nth-child(2) .glow{background:radial-gradient(circle,rgba(120,200,170,.16),transparent 60%)}.svc-card:nth-child(3) .glow{background:radial-gradient(circle,rgba(220,170,255,.14),transparent 60%)}.svc-card:nth-child(4) .glow{background:radial-gradient(circle,rgba(255,200,150,.14),transparent 60%)}.mv{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:48px}.mv-card{border:1px solid var(--line);border-radius:28px;padding:48px;background:linear-gradient(180deg,#142e5240,#0b1f3a80)}.mv-card .kicker{font-family:ui-monospace,monospace;font-size:12px;color:var(--accent);letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px}.mv-card h3{font-family:var(--font-main);font-weight:400;font-size:40px;line-height:1.08;margin:0 0 24px;letter-spacing:-.03em}.mv-card p{font-size:17px;line-height:1.55;color:var(--text-dim);margin:0}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.team-card{border:1px solid var(--line);border-radius:24px;padding:32px;background:#ffffff05;display:flex;flex-direction:column;gap:18px;min-height:300px}.avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--navy-600),var(--navy-700));border:1px solid var(--line-2);display:grid;place-items:center;font-family:var(--font-main);font-weight:500;font-size:20px;color:var(--accent);letter-spacing:.02em}.team-card .name{font-size:20px;font-weight:600;letter-spacing:-.01em}.team-card .role{font-size:13px;color:var(--accent);letter-spacing:.06em;text-transform:uppercase;margin-top:-12px}.team-card p{font-size:14px;color:var(--text-dim);line-height:1.55;margin:0}.projects{border-top:1px solid var(--line)}.proj-row{display:grid;grid-template-columns:60px 1.2fr 2fr auto;gap:32px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line);cursor:pointer;transition:padding .3s}.proj-row:hover{padding-left:16px}.proj-row .pn{font-family:ui-monospace,monospace;color:var(--text-faint);font-size:13px;letter-spacing:.1em}.proj-row .pname{font-family:var(--font-main);font-weight:400;font-size:30px;letter-spacing:-.03em;transition:color .2s}.proj-row:hover .pname{color:var(--accent)}.proj-row .pdesc{font-size:15px;color:var(--text-dim);line-height:1.5}.proj-row .pcat{font-size:12px;color:var(--text-dim);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.contact-section{max-width:var(--maxw);margin:80px auto 32px;border-radius:36px;padding:96px 64px;border:1px solid var(--line-2);background:radial-gradient(800px 400px at 80% 0%,rgba(158,195,255,.18),transparent 60%),radial-gradient(600px 400px at 10% 100%,rgba(40,90,180,.22),transparent 60%),linear-gradient(180deg,var(--navy-800),var(--navy-900));overflow:hidden;text-align:center}.contact-section h2{font-family:var(--font-main);font-weight:300;font-size:clamp(48px,6vw,92px);line-height:1;letter-spacing:-.035em;margin:0 auto 28px;max-width:14ch}.contact-section h2 em{font-style:normal;color:var(--accent);font-weight:400}.contact-section .sub{font-size:18px;color:var(--text-dim);max-width:520px;margin:0 auto 40px;line-height:1.5}.contact-buttons{display:inline-flex;gap:16px;flex-wrap:wrap;justify-content:center}.btn{display:inline-flex;align-items:center;gap:10px;padding:18px 28px;border-radius:999px;font-size:15px;font-weight:500;letter-spacing:-.01em;transition:transform .2s,background .2s;font-family:var(--font-main)}.btn-primary{background:#fff;color:var(--navy-900)}.btn-primary:hover{transform:translateY(-2px)}.btn-ghost{border:1px solid var(--line-2);color:var(--text)}.btn-ghost:hover{background:#ffffff0a}footer{max-width:var(--maxw);margin:0 auto;padding:60px 48px 40px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr auto auto;gap:40px;align-items:end;color:var(--text-dim);font-size:13px}footer .ftl img{height:125px;filter:brightness(0) invert(1);opacity:.9;margin-bottom:14px}footer .ftl p{margin:0;max-width:280px;line-height:1.55}footer .ftc h4{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);margin:0 0 12px;font-weight:400}footer .ftc a{display:block;color:var(--text);margin-bottom:6px;transition:color .2s}footer .ftc a:hover{color:var(--accent)}footer .copy{grid-column:1/-1;border-top:1px solid var(--line);margin-top:32px;padding-top:24px;display:flex;justify-content:space-between;font-size:12px}.cursor-glow{position:fixed;top:0;left:0;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(158,195,255,.07) 0%,transparent 65%);pointer-events:none;z-index:0;will-change:transform;margin-left:-350px;margin-top:-350px}.ripple-btn{position:relative;overflow:hidden}.ripple{position:absolute;width:6px;height:6px;border-radius:50%;background:#ffffff73;transform:translate(-50%,-50%) scale(0);animation:ripple-out .6s ease-out forwards;pointer-events:none}@keyframes ripple-out{to{transform:translate(-50%,-50%) scale(60);opacity:0}}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}[data-reveal].revealed{opacity:1;transform:translateY(0)}@media(max-width:980px){.nav{padding:10px 20px}.nav .logo{height:64px}.nav .links,.nav .cta{display:none}.mobile-menu-btn{display:block}.hero{grid-template-columns:1fr;padding:110px 24px 48px;row-gap:40px}.hero-right{padding-top:0}.hero-right .copy{font-size:18px;max-width:100%}.svc-list{position:static;width:100%;left:unset;bottom:unset}.featured{position:static;width:100%;right:unset;bottom:unset;grid-template-columns:80px 1fr auto}h1.headline{font-size:clamp(36px,9vw,64px)}section.section{padding:72px 24px}.sec-grid{grid-template-columns:1fr;gap:24px;margin-bottom:40px}h2.sec-title{font-size:clamp(48px,10vw,80px)}.sec-blurb{font-size:17px;max-width:100%}.svc-grid{grid-template-columns:1fr}.svc-card{min-height:auto}.mv{grid-template-columns:1fr}.mv-card h3{font-size:28px}.proj-row{grid-template-columns:40px 1fr;gap:12px;padding:20px 0}.proj-row .pdesc,.proj-row .pcat{display:none}.proj-row .pname{font-size:20px}.contact-section{margin:48px 20px;padding:56px 24px;border-radius:24px}.contact-buttons{flex-direction:column;align-items:center}.btn{width:100%;justify-content:center}footer{grid-template-columns:1fr;padding:40px 20px;gap:28px}}@media(max-width:600px){.nav{padding:8px 16px}.nav .logo{height:52px}section.section{padding:56px 16px}h2.sec-title{font-size:clamp(40px,11vw,64px)}.hero{padding:100px 16px 40px}.hero-right .copy{font-size:16px}.svc-card{padding:28px}.mv-card{padding:32px 24px}.contact-section{margin:32px 16px;padding:48px 20px}footer{padding:36px 16px}}
