*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}html,body{min-height:100%}body{color:#eef1ff;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;background:#04030c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif}img{max-width:100%}button{font-family:inherit}.space-root{color:#eef1ff;background:radial-gradient(1200px 800px at 78% -10%,#1a1550 0%,#1a155000 60%),radial-gradient(1000px 900px at 10% 110%,#0a2a4a 0%,#0a2a4a00 55%),linear-gradient(#05060f 0%,#070512 45%,#04030c 100%);width:100%;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;position:relative;overflow-x:clip}.starfield-canvas{z-index:0;pointer-events:none;position:fixed;inset:0}.nebula{z-index:0;pointer-events:none;filter:blur(6px);background:radial-gradient(420px 420px at 20% 30%,#7f77dd29,#0000 70%),radial-gradient(520px 520px at 82% 68%,#4a89dc24,#0000 70%),radial-gradient(360px 360px at 60% 12%,#c56cd61a,#0000 70%);animation:44s ease-in-out infinite alternate nebula-drift;position:fixed;inset:-20%}@keyframes nebula-drift{0%{transform:translate(-2%,-1%)scale(1)}to{transform:translate(2%,2%)scale(1.08)}}.intro{z-index:3;max-width:640px;padding:clamp(28px,6vw,72px) clamp(20px,5vw,64px) 0;position:relative}.intro-eyebrow{text-transform:uppercase;letter-spacing:.32em;color:#9aa2d8;margin-bottom:14px;font-size:12px;font-weight:600}.intro-name{letter-spacing:-.02em;background:linear-gradient(120deg,#fff 0%,#c9d0ff 55%,#8f9bff 100%);color:#0000;text-shadow:0 0 40px #8f9bff40;-webkit-background-clip:text;background-clip:text;font-size:clamp(34px,6vw,58px);font-weight:800;line-height:1.02}.intro-role{color:#b9c0ee;margin-top:8px;font-size:clamp(15px,2.4vw,19px);font-weight:500}.intro-text{color:#99a0c9;max-width:46ch;margin-top:16px;font-size:15px;line-height:1.65}.window-field{z-index:2;width:100%;min-height:var(--field-min,145vh);position:relative}.proj-window{-webkit-backdrop-filter:blur(10px);box-shadow:0 20px 50px -20px #000000b3, 0 0 0 1px #ffffff0a inset, 0 0 32px -8px color-mix(in srgb, var(--accent) 55%, transparent);color:inherit;cursor:pointer;text-align:left;animation:float-window var(--float-dur,24s) ease-in-out var(--float-delay,0s) infinite;will-change:transform;background:linear-gradient(#181a30b8,#0c0d1cb8);border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;gap:0;padding:0;transition:transform .25s,box-shadow .3s,border-color .3s;display:flex;position:absolute;overflow:hidden;transform:translate(0,0)}.proj-window:hover,.proj-window:focus-visible{border-color:color-mix(in srgb, var(--accent) 70%, white 10%);box-shadow:0 28px 60px -18px #000c, 0 0 0 1px #ffffff14 inset, 0 0 48px -4px color-mix(in srgb, var(--accent) 80%, transparent);z-index:5;outline:none;animation-play-state:paused;transform:translateY(-8px)scale(1.07)}@keyframes float-window{0%{transform:translate3d(0, 0, 0) rotate(calc(var(--rot,1deg) * -1))}20%{transform:translate3d(var(--fx,20px), calc(var(--fy,22px) * -1), 0) rotate(var(--rot,1deg))}40%{transform:translate3d(calc(var(--fx,20px) * .25), calc(var(--fy,22px) * -1.5), 0) rotate(calc(var(--rot,1deg) * -.6))}60%{transform:translate3d(calc(var(--fx,20px) * -.85), calc(var(--fy,22px) * -.7), 0) rotate(var(--rot,1deg))}80%{transform:translate3d(calc(var(--fx,20px) * -.4), calc(var(--fy,22px) * .35), 0) rotate(calc(var(--rot,1deg) * -.5))}to{transform:translate3d(0, 0, 0) rotate(calc(var(--rot,1deg) * -1))}}.pw-titlebar{background:#ffffff0a;border-bottom:1px solid #ffffff12;align-items:center;gap:8px;padding:9px 12px;display:flex}.pw-lights{gap:5px;display:inline-flex}.pw-lights span{background:#ffffff2e;border-radius:50%;width:9px;height:9px}.pw-lights span:first-child{background:#ff5f57}.pw-lights span:nth-child(2){background:#febc2e}.pw-lights span:nth-child(3){background:#28c840}.pw-glyph{margin-left:4px;font-size:14px;line-height:1}.pw-name{color:#eaecff;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.pw-status,.modal-status{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:color-mix(in srgb, var(--accent) 72%, white 28%);background:color-mix(in srgb, var(--accent) 20%, transparent);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);border-radius:999px;flex:none;padding:3px 8px;font-size:9.5px;font-weight:700}.pw-status{margin-left:auto}.modal-status{margin-left:2px;padding:4px 10px;font-size:10.5px}.pw-preview{padding:12px 12px 0;display:block}.pw-shot{aspect-ratio:16/10;object-fit:cover;object-position:top center;border:1px solid #ffffff14;border-radius:8px;width:100%;display:block}.pw-tagline{color:#b7bde6;padding:10px 14px 2px;font-size:12.5px;line-height:1.4;display:block}.pw-hint{letter-spacing:.14em;text-transform:uppercase;color:color-mix(in srgb, var(--accent) 70%, white 20%);opacity:0;padding:4px 14px 12px;font-size:10.5px;transition:opacity .25s;display:block}.proj-window:hover .pw-hint,.proj-window:focus-visible .pw-hint{opacity:1}.shot-placeholder{aspect-ratio:16/10;background:radial-gradient(120% 100% at 20% 0%, color-mix(in srgb, var(--accent) 38%, #0b0d1f) 0%, #0b0d1f 70%);border:1px solid #ffffff14;border-radius:8px;width:100%;position:relative;overflow:hidden}.shot-chrome{background:#00000040;gap:5px;padding:8px 10px;display:flex}.shot-chrome .dot{background:#ffffff40;border-radius:50%;width:7px;height:7px}.shot-body{padding:14px 16px}.shot-glyph{filter:drop-shadow(0 4px 12px color-mix(in srgb, var(--accent) 60%, transparent));margin-bottom:12px;font-size:30px}.shot-bars{flex-direction:column;gap:7px;margin-bottom:14px;display:flex}.shot-bars span{background:linear-gradient(90deg, color-mix(in srgb, var(--accent) 60%, white 5%), transparent);border-radius:4px;height:7px}.shot-tiles{gap:8px;display:flex}.shot-tiles span{background:#ffffff0f;border:1px solid #ffffff12;border-radius:6px;flex:1;height:34px}.shot-watermark{letter-spacing:.2em;text-transform:uppercase;color:#ffffff47;font-size:9px;position:absolute;bottom:6px;right:8px}.space-footer{z-index:2;letter-spacing:.08em;color:#6f77a6;padding:18px clamp(20px,5vw,64px) 30px;font-size:12px;position:relative}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);background:#04040cad;justify-content:center;align-items:center;padding:20px;animation:.2s fade-in;display:flex;position:fixed;inset:0}.pf-modal{width:min(920px,100%);max-height:88vh;box-shadow:0 40px 120px -30px #000000e6, 0 0 60px -10px color-mix(in srgb, var(--accent) 45%, transparent);background:linear-gradient(#16182ef5,#0b0c1afa);border:1px solid #ffffff24;border-radius:16px;flex-direction:column;animation:.28s cubic-bezier(.2,.9,.3,1) modal-in;display:flex;overflow:hidden}.modal-titlebar{background:#ffffff0a;border-bottom:1px solid #ffffff14;align-items:center;gap:10px;padding:12px 16px;display:flex}.modal-glyph{margin-left:4px;font-size:16px}.modal-name{color:#eef1ff;font-size:15px;font-weight:700}.modal-close{color:#cfd4f5;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:8px;width:30px;height:30px;margin-left:auto;font-size:13px;transition:background .2s,color .2s}.modal-close:hover{color:#fff;background:#ffffff1f}.modal-body{grid-template-columns:minmax(0,300px) 1fr;align-items:stretch;gap:0;display:grid;overflow:auto}.modal-gallery{background:#0003;border-right:1px solid #ffffff0f;flex-direction:column;justify-content:center;align-self:start;padding:24px 20px;display:flex;position:sticky;top:0}.gallery-stage{border-radius:12px;position:relative;overflow:hidden}.gallery-stage img{border-radius:12px;width:100%;display:block}.gallery-stage img.zoomable{cursor:zoom-in}.gallery-stage:has(img.zoomable):after{content:"⤢";color:#fff;opacity:0;pointer-events:none;background:#0a0c1ab8;border:1px solid #ffffff2e;border-radius:8px;place-items:center;width:28px;height:28px;font-size:14px;transition:opacity .2s;display:grid;position:absolute;bottom:10px;right:10px}.gallery-stage:has(img.zoomable):hover:after{opacity:1}.lightbox{z-index:60;-webkit-backdrop-filter:blur(6px);cursor:zoom-out;background:#03030ae6;place-items:center;padding:clamp(16px,4vw,48px);animation:.18s fade-in;display:grid;position:fixed;inset:0}.lightbox img{border:1px solid #ffffff24;border-radius:12px;width:auto;max-width:min(1040px,92vw);height:auto;max-height:86vh;animation:.22s cubic-bezier(.2,.9,.3,1) modal-in;box-shadow:0 40px 120px -30px #000000e6}.lightbox-close{color:#fff;cursor:pointer;background:#141628cc;border:1px solid #ffffff2e;border-radius:10px;width:40px;height:40px;font-size:16px;transition:background .2s;position:fixed;top:18px;right:20px}.lightbox-close:hover{background:#282c4ae6}.lightbox-nav{color:#fff;cursor:pointer;background:#141628b8;border:1px solid #ffffff2e;border-radius:50%;place-items:center;width:48px;height:48px;font-size:26px;line-height:1;transition:background .2s;display:grid;position:fixed;top:50%;transform:translateY(-50%)}.lightbox-nav:hover{background:#282c4aeb}.lightbox-nav.prev{left:clamp(10px,3vw,32px)}.lightbox-nav.next{right:clamp(10px,3vw,32px)}.lightbox-count{font-variant-numeric:tabular-nums;color:#cfd4f5;background:#141628b8;border:1px solid #ffffff24;border-radius:999px;padding:5px 12px;font-size:13px;position:fixed;bottom:22px;left:50%;transform:translate(-50%)}.gallery-nav{color:#fff;cursor:pointer;background:#0a0c1ab3;border:1px solid #ffffff29;border-radius:50%;place-items:center;width:36px;height:36px;font-size:20px;line-height:1;transition:background .2s;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.gallery-nav:hover{background:#1e2242e6}.gallery-nav.prev{left:10px}.gallery-nav.next{right:10px}.gallery-dots{justify-content:center;gap:7px;margin-top:14px;display:flex}.gallery-dots button{cursor:pointer;background:#ffffff40;border:none;border-radius:50%;width:8px;height:8px;transition:background .2s,transform .2s}.gallery-dots button.on{background:var(--accent);transform:scale(1.3)}.modal-detail{padding:22px 24px 26px}.modal-tagline{text-transform:uppercase;letter-spacing:.1em;color:color-mix(in srgb, var(--accent) 65%, white 25%);margin-bottom:12px;font-size:13px;font-weight:600}.modal-desc{color:#c7ccf0;font-size:14.5px;line-height:1.65}.modal-detail h3{text-transform:uppercase;letter-spacing:.12em;color:#9aa2d8;margin:22px 0 10px;font-size:13px}.modal-highlights{flex-direction:column;gap:9px;list-style:none;display:flex}.modal-highlights li{color:#cbd0f2;padding-left:22px;font-size:14px;line-height:1.5;position:relative}.modal-highlights li:before{content:"";background:var(--accent);width:8px;height:8px;box-shadow:0 0 10px color-mix(in srgb, var(--accent) 80%, transparent);border-radius:50%;position:absolute;top:7px;left:3px}.modal-tech{flex-wrap:wrap;gap:8px;margin-top:22px;display:flex}.tech-chip{color:#d3d8f6;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:999px;padding:5px 11px;font-size:12px}.modal-links{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.modal-link{color:#0a0b1a;background:color-mix(in srgb, var(--accent) 82%, white 18%);border-radius:10px;padding:9px 16px;font-size:13.5px;font-weight:600;text-decoration:none;transition:transform .15s,filter .2s}.modal-link:hover{filter:brightness(1.08);transform:translateY(-2px)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:860px){.modal-body{grid-template-columns:1fr}.modal-gallery{border-bottom:1px solid #ffffff0f;border-right:none}.window-field{flex-direction:column;align-items:center;gap:20px;min-height:0;padding:24px 16px 40px;display:flex}.proj-window{animation:none;width:min(340px,100%)!important;position:static!important}.proj-window:hover,.proj-window:focus-visible{transform:translateY(-4px)scale(1.01)}.pw-hint{opacity:1}}@media (prefers-reduced-motion:reduce){.proj-window,.nebula,.pf-modal,.modal-backdrop{animation:none!important}}:root{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}.space-root{--brand-1:#8b5cf6;--brand-2:#4c9bf5}.brand-gradient{background:linear-gradient(120deg, var(--brand-1), var(--brand-2))}.site-nav,.hero,.services,.work,.about,.contact,.site-footer{z-index:2;position:relative}.services,.work,.about,.contact{scroll-margin-top:84px}.fcl-lockup{align-items:center;gap:12px;display:inline-flex}.fcl-wordmark{text-transform:uppercase;letter-spacing:.2em;color:#f4f5ff;white-space:nowrap;font-size:15px;font-weight:800;line-height:1}.fcl-orbit-dot{transform-box:view-box;transform-origin:50px 50px;animation:16s linear infinite fcl-orbit}@keyframes fcl-orbit{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.fcl-orbit-dot{animation:none}}.btn-primary,.btn-ghost{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-size:14.5px;font-weight:600;text-decoration:none;transition:transform .15s,filter .2s,background .2s,border-color .2s;display:inline-flex}.btn-primary{color:#0a0b1a;background:linear-gradient(120deg, var(--brand-1), var(--brand-2));box-shadow:0 10px 30px -10px color-mix(in srgb, var(--brand-1) 70%, transparent)}.btn-primary:hover{filter:brightness(1.07);transform:translateY(-2px)}.btn-primary:disabled{opacity:.6;cursor:default;filter:none;transform:none}.btn-ghost{color:#dfe3ff;background:#ffffff0a;border-color:#ffffff29}.btn-ghost:hover{background:#ffffff14;border-color:#ffffff4d;transform:translateY(-2px)}.btn-sm{border-radius:9px;padding:9px 16px;font-size:13.5px}.site-nav{z-index:40;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:20px;padding:14px clamp(16px,5vw,56px);transition:background .3s,border-color .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s;display:flex;position:sticky;top:0}.site-nav.scrolled{-webkit-backdrop-filter:blur(14px);background:#080814b8;border-bottom-color:#ffffff14}.nav-logo{text-decoration:none}.nav-links{align-items:center;gap:clamp(14px,2.5vw,30px);display:flex}.nav-links>a:not(.btn-primary){color:#b7bde6;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.nav-links>a:not(.btn-primary):hover{color:#fff}.hero{text-align:center;flex-direction:column;align-items:center;max-width:900px;margin:0 auto;padding:clamp(56px,12vh,130px) clamp(20px,6vw,40px) clamp(40px,8vh,80px);display:flex}.hero-mark{filter:drop-shadow(0 0 40px #7c5cf666);margin-bottom:26px}.hero-eyebrow{text-transform:uppercase;letter-spacing:.34em;color:#9aa2d8;margin-bottom:20px;font-size:12px;font-weight:600}.hero-headline{letter-spacing:-.025em;text-wrap:balance;background:linear-gradient(118deg,#fff 0%,#d7dcff 48%,#9fb4ff 100%);color:#0000;text-shadow:0 0 60px #8f9bff38;-webkit-background-clip:text;background-clip:text;font-size:clamp(36px,6.4vw,68px);font-weight:800;line-height:1.03}.hero-subhead{color:#aab1da;max-width:62ch;margin-top:22px;font-size:clamp(15px,2vw,18px);line-height:1.65}.hero-cta{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:34px;display:flex}.section-head{text-align:center;max-width:720px;margin:0 auto clamp(34px,5vw,56px)}.section-eyebrow{text-transform:uppercase;letter-spacing:.28em;color:color-mix(in srgb, var(--brand-1) 60%, #c9cff0 40%);margin-bottom:14px;font-size:12px;font-weight:600}.section-title{letter-spacing:-.02em;color:#f2f3ff;text-wrap:balance;font-size:clamp(27px,4.2vw,44px);font-weight:800;line-height:1.08}.section-lead{color:#a2a9d2;margin-top:16px;font-size:clamp(14.5px,1.7vw,17px);line-height:1.65}.services{padding:clamp(40px,8vh,90px) clamp(20px,5vw,56px)}.service-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:1120px;margin:0 auto;display:grid}.service-card{-webkit-backdrop-filter:blur(8px);background:linear-gradient(#181a3099,#0c0d1c8c);border:1px solid #ffffff1a;border-radius:16px;padding:26px 24px 28px;transition:transform .2s,border-color .25s,box-shadow .25s}.service-card:hover{border-color:#8b5cf666;transform:translateY(-4px);box-shadow:0 24px 50px -24px #000000b3,0 0 40px -12px #7c5cf666}.service-glyph{background:linear-gradient(135deg,#8b5cf638,#4c9bf529);border:1px solid #ffffff14;border-radius:12px;place-items:center;width:46px;height:46px;margin-bottom:16px;font-size:22px;display:inline-grid}.service-card h3{color:#eef0ff;margin-bottom:9px;font-size:17px;font-weight:700}.service-card p{color:#a1a8cf;font-size:14px;line-height:1.6}.work{padding:clamp(40px,8vh,90px) 0 clamp(20px,4vh,40px)}.work .section-head{padding:0 20px}.about{padding:clamp(40px,8vh,90px) clamp(20px,5vw,56px)}.about-inner{text-align:center;-webkit-backdrop-filter:blur(8px);background:linear-gradient(#14162c80,#0a0b1a66);border:1px solid #ffffff14;border-radius:20px;max-width:760px;margin:0 auto;padding:clamp(30px,5vw,52px)}.about-body{color:#b3b9de;margin-top:18px;font-size:clamp(15px,1.9vw,18px);line-height:1.75}.contact{padding:clamp(40px,8vh,96px) clamp(20px,5vw,56px) clamp(60px,10vh,110px)}.contact-inner{grid-template-columns:.85fr 1.15fr;align-items:start;gap:clamp(28px,5vw,64px);max-width:1080px;margin:0 auto;display:grid}.contact-copy .section-eyebrow,.contact-copy .section-title,.contact-copy .section-lead{text-align:left}.contact-copy .section-title{font-size:clamp(26px,3.6vw,40px)}.contact-email{color:color-mix(in srgb, var(--brand-2) 70%, white 20%);border-bottom:1px solid color-mix(in srgb, var(--brand-2) 40%, transparent);margin-top:22px;padding-bottom:2px;font-size:15px;font-weight:600;text-decoration:none;display:inline-block}.contact-email:hover{color:#fff}.contact-form{-webkit-backdrop-filter:blur(10px);background:linear-gradient(#16182ea8,#0b0c1ab3);border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:16px;padding:clamp(22px,3vw,32px);display:flex}.field-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field>span{color:#c2c7ea;letter-spacing:.01em;font-size:12.5px;font-weight:600}.field>span em{color:#7f86ac;font-style:normal;font-weight:400}.field input,.field select,.field textarea{font:inherit;color:#eef0ff;background:#00000040;border:1px solid #ffffff24;border-radius:10px;width:100%;padding:11px 13px;font-size:14.5px;transition:border-color .2s,box-shadow .2s}.field textarea{resize:vertical;min-height:108px}.field select{appearance:none;cursor:pointer}.field input::placeholder,.field textarea::placeholder{color:#6f76a0}.field input:focus,.field select:focus,.field textarea:focus{border-color:color-mix(in srgb, var(--brand-1) 70%, transparent);outline:none;box-shadow:0 0 0 3px #8b5cf62e}.contact-form .btn-primary{align-self:flex-start;margin-top:4px}.hp-field{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.form-error{color:#f5b6b6;font-size:13.5px;line-height:1.5}.form-error a{color:#f5c4b3}.contact-sent{background:linear-gradient(#16182eb3,#0b0c1abf);border:1px solid #8b5cf64d;border-radius:18px;flex-direction:column;align-items:flex-start;gap:12px;padding:clamp(26px,4vw,40px);display:flex}.contact-sent-mark{color:#0a0b1a;background:linear-gradient(120deg, var(--brand-1), var(--brand-2));border-radius:50%;place-items:center;width:46px;height:46px;font-size:22px;display:grid}.contact-sent h3{color:#f2f3ff;font-size:20px;font-weight:700}.contact-sent p{color:#aab1da;font-size:14.5px;line-height:1.6}.contact-sent a{color:color-mix(in srgb, var(--brand-2) 75%, white 15%)}.site-footer{border-top:1px solid #ffffff12;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:28px clamp(20px,5vw,56px) 40px;display:flex}.footer-copy{color:#6f77a6;letter-spacing:.03em;font-size:12.5px}@media (max-width:760px){.nav-links>a:not(.btn-primary){display:none}.contact-inner,.field-row{grid-template-columns:1fr}.fcl-wordmark{letter-spacing:.16em;font-size:13px}}
