@charset "UTF-8";
:root{--ink:#080d17;--navy:#0b1322;--navy-2:#111d31;--blue:#397cff;--cyan:#7ad9f8;--line:rgba(190,215,246,.16);--muted:#9baec7;--cream:#eef1f2;--max:1320px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:82px}
body{margin:0;background:var(--ink);color:#f4f7fb;font-family:"Aptos","Segoe UI",Arial,sans-serif;line-height:1.5;overflow-x:hidden}
button,input,textarea{font:inherit}
a{color:inherit;text-decoration:none}
button{cursor:pointer}
em{font-style:normal;color:#75aaff}
::selection{background:#397cff;color:white}
:focus-visible{outline:2px solid #91d9ff;outline-offset:4px}
.wrap{width:min(calc(100% - 112px),var(--max));margin-inline:auto}
.skip-link{position:fixed;z-index:100;top:-80px;left:20px;background:white;color:#091526;padding:12px 18px;border-radius:4px}
.skip-link:focus{top:12px}
.header{height:76px;padding-inline:max(56px,calc((100vw - var(--max))/2));position:fixed;z-index:30;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;background:rgba(7,12,22,.78);border-bottom:1px solid rgba(183,211,247,.11);backdrop-filter:blur(20px)}
.brand{display:inline-flex;align-items:center;gap:9px;font-size:28px;font-weight:800;line-height:1;letter-spacing:-1.9px;color:#f8fbff}
.brand img{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 0 10px rgba(15,125,255,.25))}
.brand-dot{color:#5b9dff}
.nav{display:flex;align-items:center;gap:clamp(20px,2.3vw,38px);font-size:13px;font-weight:650;color:#b8c4d5}
.nav>a:not(.nav-contact){transition:color .2s}
.nav>a:hover{color:white}
.nav-contact{border:1px solid rgba(119,170,242,.43);padding:11px 16px;border-radius:4px;color:#f3f8ff;transition:background .2s,border-color .2s}
.nav-contact:hover{background:#1d3f71;border-color:#62a1ff}
.nav-contact span{margin-left:14px;color:#82c1ff}
.menu-toggle{display:none}
.scene-layer{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:0;transition:opacity .35s}
.scene-layer.is-visible{opacity:1}
.scene-layer:not(.is-visible){opacity:0!important}
.scene-layer canvas{display:block;width:100%;height:100%}
html.webgl-ready .hero-art,html.webgl-ready .contact-art{visibility:hidden}
section{position:relative;scroll-margin-top:76px}
.eyebrow{display:inline-flex;align-items:center;gap:11px;color:#77b9ff;font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase}
.eyebrow i{display:inline-block;width:26px;height:1px;background:currentColor}
h1,h2,h3,p{margin-top:0}
h1,h2{font-weight:650;letter-spacing:-.065em;line-height:1.04}
.hero{min-height:760px;min-height:100svh;background:radial-gradient(ellipse 38% 58% at 72% 48%,rgba(31,86,152,.20),transparent 80%),linear-gradient(130deg,#080d18,#0c1728 74%,#08101e);overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.95%,rgba(100,149,209,.07) 50%,transparent 50.05%);pointer-events:none}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(134,166,206,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(134,166,206,.035) 1px,transparent 1px);background-size:86px 86px;mask-image:linear-gradient(90deg,transparent 35%,black 85%)}
.hero-inner{min-height:760px;min-height:100svh;display:flex;align-items:center;position:relative;z-index:3;padding-top:76px;padding-bottom:80px}
.hero-copy{width:min(53%,680px);position:relative;z-index:5}
.hero h1{font-size:clamp(52px,5.25vw,76px);max-width:680px;margin:27px 0;letter-spacing:-.055em}
.hero h1 em{color:#83bdff}
.hero p{font-size:clamp(16px,1.2vw,18px);line-height:1.65;color:#b8c5d6;max-width:480px;margin-bottom:32px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:28px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;border:0;border-radius:3px;min-height:54px;padding:15px 20px;font-size:13px;font-weight:750;letter-spacing:.005em;transition:transform .25s,background .25s,box-shadow .25s}
.button:hover{transform:translateY(-3px)}
.button-primary{background:#377af6;color:#fff;box-shadow:0 16px 38px rgba(39,105,231,.2)}
.button-primary:hover{background:#5796ff;box-shadow:0 20px 42px rgba(39,105,231,.28)}
.button span,.text-link span{font-size:19px;font-weight:400;line-height:1}
.text-link{display:inline-flex;align-items:center;gap:14px;font-size:13px;font-weight:750;color:#d8e5f6;border-bottom:1px solid #7c9abd;padding-bottom:7px;transition:color .2s,border-color .2s}
.text-link:hover{color:#87c5ff;border-color:#87c5ff}
.hero-art{position:absolute;right:1%;top:51%;width:min(40vw,560px);transform:translateY(-50%);filter:drop-shadow(0 38px 45px rgba(1,6,17,.55))}
.static-mark img{width:100%;height:auto;display:block}
.hero-side-note{position:absolute;right:0;bottom:65px;color:#748ba9;font-size:10px;letter-spacing:.25em}
.scroll-cue{position:absolute;z-index:5;bottom:46px;left:max(56px,calc((100vw - var(--max))/2));color:#88a0bd;font-size:11px;letter-spacing:.12em;text-transform:uppercase;display:flex;align-items:center;gap:18px}
.scroll-cue span{font-size:20px;color:#71b8ff}
.story{background:radial-gradient(ellipse 55% 50% at 25% 50%,#142945 0%,#0a1424 55%,#080e19 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:clip}
.story-sticky{position:relative;padding:100px 0}
.story-content{display:grid;gap:110px}
.story-panel{max-width:600px;position:relative;z-index:4}
.story h2{font-size:clamp(46px,4.5vw,70px);margin:21px 0}
.story p{font-size:17px;line-height:1.7;color:#acbfd5;max-width:540px}
.story-intro{min-height:360px}
.chapter-label,.service-index{display:inline-block;margin-top:30px;color:#6e9ccf;font-size:11px;letter-spacing:.19em;font-weight:750}
.story-art{position:absolute;right:4%;top:11%;width:42%;max-width:620px;opacity:.45}
.service-panel{border-top:1px solid rgba(157,204,255,.16);padding-top:32px}
.interface-preview{height:260px;margin-top:26px;overflow:hidden;border:1px solid rgba(185,215,246,.2);box-shadow:0 26px 56px rgba(0,0,0,.25)}
.web-preview{background:#d6e0e1;border-radius:8px}
.preview-browser{height:24px;background:#e8edee;display:flex;align-items:center;padding:0 11px;gap:4px;color:#7e8991;font-size:8px}
.preview-browser i{width:5px;height:5px;border-radius:50%;background:#aebdc3}
.preview-browser span{margin:auto}
.preview-web-body{position:relative;height:calc(100% - 24px);background:#0b2028;overflow:hidden;padding:16px 24px}
.preview-web-nav{position:relative;z-index:2;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.2em;font-weight:800}
.preview-web-nav span{font-size:7px;letter-spacing:.03em;font-weight:500;color:#b2c7c9}
.preview-web-copy{position:absolute;z-index:2;left:25px;bottom:25px;display:grid;gap:8px}
.preview-web-copy small{font-size:7px;letter-spacing:.2em;color:#9bb7b9}
.preview-web-copy strong{font-size:31px;letter-spacing:-.06em;line-height:1}
.preview-web-copy b{font-size:7px;letter-spacing:.14em;color:#c9e3e2}
.preview-web-orb{position:absolute;right:1%;top:-15%;width:48%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 31% 24%,#ffe7c0,#a56941 32%,#402a27 67%,#0e2427 71%);box-shadow:0 0 70px #e2a66c55}
.app-preview{display:grid;place-items:center;background:radial-gradient(circle at 50% 90%,#496da0,#151e3b 70%);border-radius:8px}
.app-phone{height:350px;width:178px;transform:translateY(28px) rotate(-7deg);background:#f5f1e9;color:#1e2942;border:5px solid #172138;border-radius:27px;box-shadow:16px 20px 28px #0007;padding:14px;overflow:hidden}
.app-status{font-size:8px;font-weight:800;display:flex;justify-content:space-between}.app-greeting{font-size:11px;font-weight:700;margin:22px 0 13px;display:flex;justify-content:space-between}.app-greeting span{font-size:20px;color:#eb985d}
.app-balance{height:105px;border-radius:12px;padding:13px;background:linear-gradient(140deg,#293967,#455c91);color:white;display:flex;flex-direction:column}.app-balance small{font-size:7px;opacity:.75}.app-balance strong{font-size:17px;line-height:1.05;margin-top:6px}.app-balance span{font-size:7px;margin-top:auto}.app-list{padding-top:15px}.app-list>b{font-size:10px}.app-list>div{display:flex;align-items:center;gap:7px;border-bottom:1px solid #dfe0dc;padding:7px 0;font-size:7px;font-weight:700}.app-list i{width:19px;height:19px;background:#d6dcec;border-radius:5px}.app-list small{display:block;font-size:5px;color:#858b9c}.app-list em{margin-left:auto;font-size:11px;color:#455c91}.app-tabs{display:flex;justify-content:space-between;padding-top:9px;color:#405b90}
.system-preview{display:flex;background:#e9eff4;color:#1a2b3f;border-radius:8px}
.system-sidebar{width:46px;background:#101e30;color:#8cb5e4;display:flex;align-items:center;flex-direction:column;gap:20px;padding:15px 0;font-size:14px}.system-sidebar b{color:#6daaff;margin-bottom:16px}
.system-main{flex:1;padding:14px 18px;min-width:0}.system-top{display:flex;justify-content:space-between;font-size:10px;font-weight:800;border-bottom:1px solid #cdd7e2;padding-bottom:9px}.system-welcome{font-size:13px;font-weight:800;margin:14px 0}.system-welcome small{display:block;font-size:7px;font-weight:500;color:#7c8999}.system-metrics{display:grid;grid-template-columns:1fr 1fr;gap:9px}.system-metrics>div{display:flex;flex-direction:column;padding:10px;border:1px solid #d3dce6;background:white;border-radius:5px}.system-metrics small{font-size:7px;color:#64788d}.system-metrics strong{font-size:23px}.system-metrics span{font-size:6px;color:#397a9e}.system-chart{background:white;border:1px solid #d3dce6;border-radius:5px;margin-top:9px;padding:7px}.system-chart small{font-size:7px;font-weight:700}.system-chart>div{display:flex;align-items:end;height:31px;gap:5px;margin-top:4px}.system-chart i{flex:1;height:35%;background:#a3bfdc;border-radius:2px 2px 0 0}.system-chart i:nth-child(2n){height:65%}.system-chart i:nth-child(3n){height:85%;background:#4c87cf}
.story-rail{display:none}
html.enhanced .story{height:320vh}
html.enhanced .story-sticky{position:sticky;top:0;height:100vh;height:100svh;padding:0;overflow:hidden}
html.enhanced .story-content{height:100%;display:block;position:relative;z-index:4}
html.enhanced .story-panel{position:absolute;right:0;top:50%;width:min(48%,585px);max-width:none;min-height:0;border:0;padding:0;opacity:0;visibility:hidden;transform:translateY(calc(-50% + 20px));transition:opacity .38s ease,transform .5s ease,visibility .38s}
html.enhanced .story-panel.is-active{opacity:1;visibility:visible;transform:translateY(-50%)}
html.enhanced .story-art{display:none}
html.enhanced .story-rail{position:absolute;z-index:5;top:50%;left:max(35px,calc((100vw - var(--max))/2));transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:14px;color:#7e9bbc;font-size:10px;letter-spacing:.1em}
.story-progress{width:1px;height:120px;background:#2a4566;position:relative}.story-progress i{display:block;width:2px;height:0;background:#6bb8ff;transition:height .12s linear}
.portfolio{z-index:4;background:var(--cream);color:#122035;padding:125px 0 135px}
.portfolio em{color:#346cae}
.portfolio .eyebrow{color:#427caf}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:45px}
.section-heading h2,.about h2,.contact h2{font-size:clamp(48px,5vw,78px);margin:20px 0 0}
.section-heading p{max-width:305px;color:#536475;font-size:15px;line-height:1.6;margin:0 0 4px}
.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.project-card{min-width:0}
.project-image{height:340px;overflow:hidden;display:grid;place-items:center;transition:transform .35s,box-shadow .35s}
.project-card:hover .project-image{transform:translateY(-6px);box-shadow:0 22px 34px #18344a23}
.project-web .project-image{background:#a9babb;padding:30px 0 0 30px}.project-app .project-image{background:radial-gradient(circle at 55% 55%,#b9a6ba,#4d4561)}.project-system .project-image{background:#b5c7d1;padding:35px 0 0 32px}
.concept-site{position:relative;background:#162b2c;color:#e9e6d9;width:100%;height:100%;padding:22px;overflow:hidden;box-shadow:-18px 0 35px #182c3050}.concept-nav{display:flex;justify-content:space-between;font-size:13px;letter-spacing:.18em;font-weight:800}.concept-nav span{font-size:8px}.concept-head{position:relative;z-index:2;margin-top:75px;font-family:Georgia,serif;font-size:clamp(24px,2.3vw,36px);line-height:1.05}.concept-head i{font-weight:400}.concept-shape{position:absolute;right:-15%;top:17%;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 27% 24%,#e5c79d,#86543d 40%,#283636 70%);box-shadow:0 0 75px #dfad7144}.concept-footer{position:absolute;bottom:21px;left:22px;font-size:8px;letter-spacing:.2em}
.concept-app{height:285px;width:180px;position:relative;overflow:hidden;background:#f8e9dc;border:6px solid #222437;border-radius:25px;color:#353349;padding:15px;transform:rotate(-8deg) translateY(26px);box-shadow:22px 20px 35px #201d2d55}.concept-app-top{display:flex;justify-content:space-between;font-size:13px;font-weight:800}.concept-app-top span{color:#bd7489}.concept-app>small{display:block;font-size:6px;letter-spacing:.15em;margin-top:38px}.concept-app>strong{display:block;font-size:20px;letter-spacing:-.05em;line-height:1.05;margin-top:8px}.concept-app-art{position:absolute;top:125px;right:-30px;width:145px;height:145px;border-radius:50%;border:18px solid #a99bb9;box-shadow:inset 0 0 0 17px #d7b0ad,0 0 0 18px #daa8a65e}.concept-app-bottom{position:absolute;left:12px;right:12px;bottom:14px;background:#483e65;color:white;border-radius:20px;padding:8px;font-size:7px;display:flex;justify-content:space-between}
.concept-dashboard{width:100%;height:100%;background:#f4f7fa;color:#233144;box-shadow:-18px 0 35px #18344a33;padding:18px}.concept-dash-top{font-weight:800;font-size:12px;display:flex;justify-content:space-between}.concept-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;height:185px;margin-top:34px}.concept-dash-feature{background:#1d344e;color:white;padding:17px;font-size:24px;line-height:1.1;letter-spacing:-.04em}.concept-dash-feature span{display:block;font-size:7px;letter-spacing:.12em;margin-top:35px;color:#88c2f5}.concept-dash-bars{background:#d9e5ee;display:flex;align-items:end;gap:8px;padding:18px}.concept-dash-bars i{flex:1;height:45%;background:#527da5}.concept-dash-bars i:nth-child(2n){height:78%}.concept-dash-bars i:nth-child(3n){height:60%;background:#8fb1ce}.concept-dash-bottom{display:flex;gap:25px;margin-top:17px;font-size:8px;color:#647789}
.project-meta{display:flex;justify-content:space-between;gap:10px;padding-top:23px}.project-meta>div>span{font-size:10px;font-weight:800;letter-spacing:.16em;color:#44749f}.project-meta h3{font-size:21px;letter-spacing:-.04em;margin:7px 0 4px}.project-meta p{font-size:13px;line-height:1.5;color:#5d6c7b;margin:0}.project-number{font-size:12px;color:#7490a8}
.about{z-index:4;background:#e2e8eb;color:#15253a;padding:150px 0}
.about em{color:#3876bd}
.about .eyebrow{color:#3476b7}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:11%}
.about-heading{position:sticky;top:140px;align-self:start}
.about-heading p{margin:30px 0 0;max-width:450px;color:#526474;font-size:17px;line-height:1.7}
.process-list{border-top:1px solid #afbeca}.process-list article{display:grid;grid-template-columns:48px 1fr 20px;gap:15px;padding:33px 0;border-bottom:1px solid #afbeca}.process-list article>span{font-size:12px;font-weight:800;color:#427db5}.process-list h3{font-size:23px;letter-spacing:-.04em;margin:0 0 8px}.process-list p{font-size:15px;line-height:1.6;color:#5a6c7a;margin:0}.process-list b{font-size:20px;font-weight:400;color:#4f8cc6}
.contact{z-index:1;background:radial-gradient(circle at 19% 62%,#152944,#0a1220 55%,#080d17);padding:155px 0 130px;overflow:hidden}
.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;position:relative;z-index:4}
.contact-copy{position:relative;min-height:490px}
.contact h2{max-width:600px;margin-bottom:24px}
.contact-copy>p{max-width:490px;color:#a9bed5;font-size:17px;line-height:1.65}
.contact-art{position:absolute;bottom:-65px;left:-18%;width:80%;opacity:.2}
.contact form{background:rgba(23,39,62,.72);border:1px solid rgba(148,192,241,.24);padding:35px;box-shadow:0 30px 70px #0003;backdrop-filter:blur(12px)}
.form-kicker{display:flex;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:.17em;color:#94c8ff;margin-bottom:22px}.form-kicker span{font-size:18px}
.form-row{margin-bottom:19px}.form-row label{display:block;font-size:12px;font-weight:750;margin-bottom:8px;color:#ecf4ff}.form-row input,.form-row textarea{display:block;width:100%;border:1px solid #536a83;border-radius:2px;background:#0c192b;color:white;padding:13px 14px;font-size:14px;outline:none;transition:border-color .2s,box-shadow .2s}.form-row input::placeholder,.form-row textarea::placeholder{color:#8195ac}.form-row input:focus,.form-row textarea:focus{border-color:#8ac8ff;box-shadow:0 0 0 2px #6ab1ff33}.form-row textarea{min-height:100px;resize:vertical}.form-note{font-size:12px;line-height:1.55;color:#b3c5d8;margin:0 0 20px}.form-status{min-height:1.6em;margin:12px 0 0;color:#b6d7ff;font-size:13px}
.footer{position:relative;z-index:4;background:#060b13;border-top:1px solid var(--line);color:#91a5ba}.footer-inner{min-height:135px;display:flex;align-items:center;justify-content:space-between;gap:30px}.footer p{font-size:13px;margin:0}.footer small{font-size:11px}.footer .brand{font-size:23px}.footer .brand img{width:30px;height:30px}
@media(max-width:1100px){.wrap{width:min(calc(100% - 72px),var(--max))}.header{padding-inline:36px}.hero h1{font-size:clamp(55px,6.5vw,80px)}.project-image{height:290px}.about-layout,.contact-layout{gap:7%}}
@media(max-width:800px){.header{height:68px;padding-inline:28px}.menu-toggle{display:flex;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid #5b718b;background:transparent;border-radius:2px}.menu-toggle span{width:19px;height:2px;background:white;transition:transform .2s}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.nav{display:none;position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:13px 28px 25px;background:#0c1728;border-bottom:1px solid var(--line);box-shadow:0 24px 35px #0006}.nav.open{display:flex}.nav>a{padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}.nav .nav-contact{margin-top:15px;padding:13px 16px;text-align:center}.hero-inner{min-height:750px}.hero-copy{width:70%}.hero-art{right:-20%;width:65%;opacity:.55}.hero-side-note{display:none}.story-art{opacity:.25}.project-grid{grid-template-columns:repeat(2,1fr)}.project-grid .project-card:last-child{grid-column:1/-1;max-width:calc(50% - 11px)}.about-layout,.contact-layout{grid-template-columns:1fr;gap:55px}.about-heading{position:static}.contact-copy{min-height:auto}.contact-art{display:none}.contact form{max-width:660px}.footer-inner{flex-wrap:wrap;padding-block:35px}}
@media(max-width:700px){html{scroll-padding-top:68px}.wrap{width:calc(100% - 40px)}section{scroll-margin-top:68px}.hero{min-height:0}.hero-inner{min-height:760px;min-height:100svh;align-items:flex-start;padding-top:130px;padding-bottom:210px}.hero-copy{width:100%}.hero h1{font-size:clamp(46px,12vw,66px);margin:23px 0;max-width:520px}.hero p{font-size:16px;max-width:460px;margin-bottom:26px}.hero-actions{gap:20px}.hero-art{width:63%;right:-5%;top:auto;bottom:5px;transform:none;opacity:.74}.scroll-cue{left:20px;bottom:33px}.story-sticky{padding:85px 0 100px}.story-content{gap:88px}.story h2{font-size:clamp(44px,10vw,62px)}.story p{font-size:16px}.story-intro{min-height:270px}.story-art{top:28px;right:-18%;width:75%;opacity:.16}.service-panel{padding-top:28px}.interface-preview{max-width:520px}.section-heading{display:block;margin-bottom:35px}.section-heading p{margin-top:20px}.portfolio{padding:88px 0}.section-heading h2,.about h2,.contact h2{font-size:clamp(46px,11vw,64px)}.project-grid{grid-template-columns:1fr;gap:35px}.project-grid .project-card:last-child{grid-column:auto;max-width:none}.project-image{height:320px}.about{padding:95px 0}.process-list article{padding:24px 0}.contact{padding:95px 0}.contact form{padding:24px}.footer-inner{display:grid;gap:12px}.footer{padding:15px 0}}
@media(max-width:420px){.header{padding-inline:20px}.hero-inner{padding-top:112px;padding-bottom:180px;min-height:790px;min-height:100svh}.hero h1{font-size:49px}.hero p{font-size:15px;line-height:1.6}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.hero-art{width:72%;right:-11%;bottom:2px}.scroll-cue{bottom:25px}.interface-preview{height:225px}.preview-web-copy strong{font-size:26px}.section-heading h2,.about h2,.contact h2{font-size:46px}.project-image{height:295px}.concept-head{font-size:27px}.process-list article{grid-template-columns:30px 1fr 14px;gap:10px}.process-list h3{font-size:20px}}
@media(max-width:1100px){.hero h1{font-size:clamp(50px,5.6vw,65px)}}
@media(max-width:800px){.hero-copy{width:57%}.hero h1{font-size:clamp(46px,6.4vw,54px)}.hero-art{width:45%;right:0;opacity:1}.hero p{max-width:360px}}
@media(max-width:700px){.hero-inner{min-height:860px;min-height:max(860px,100svh);align-items:flex-start;padding-top:120px;padding-bottom:315px}.hero-copy{width:100%}.hero h1{font-size:clamp(44px,10vw,54px);margin:20px 0}.hero-art{width:min(70vw,290px);right:2%;top:auto;bottom:52px;transform:none;opacity:1}.scroll-cue{bottom:24px}.hero p{max-width:470px;margin-bottom:24px}}
@media(max-width:420px){.hero-inner{min-height:840px;min-height:max(840px,100svh);padding-top:112px;padding-bottom:310px}.hero h1{font-size:45px}.hero-art{width:70%;right:1%;bottom:53px}.hero-actions{gap:15px}}
/* Digital universe: the atmosphere is localized so the page keeps its dark negative space. */
.header{top:20px;left:50%;right:auto;width:min(calc(100% - 88px),1480px);height:76px;transform:translateX(-50%);padding:0 22px 0 29px;border:1px solid rgba(91,150,245,.38);border-radius:42px;background:rgba(4,15,38,.76);box-shadow:0 0 0 1px rgba(7,83,192,.1) inset,0 14px 45px rgba(0,5,19,.34),0 0 26px rgba(5,77,198,.14);backdrop-filter:blur(14px)}
.header::before{content:"";position:absolute;z-index:-1;inset:-25px -10px;pointer-events:none;background:radial-gradient(ellipse 23% 65% at 18% 50%,rgba(6,85,208,.15),transparent 82%),radial-gradient(ellipse 25% 70% at 82% 45%,rgba(0,119,216,.1),transparent 80%)}
.header .brand{position:relative;z-index:2;font-size:27px;letter-spacing:-1.5px}
.header .brand img{width:37px;height:37px}
.nav{position:absolute;left:50%;transform:translateX(-50%);gap:clamp(22px,3vw,50px);color:#c5d4eb}
.nav>a:not(.mobile-nav-contact){position:relative;padding:27px 0}
.nav>a[aria-current="location"]{color:#fff}
.nav>a[aria-current="location"]::after{content:"";position:absolute;left:0;right:0;bottom:16px;height:2px;background:#49a8ff;box-shadow:0 0 10px #1688ff}
.mobile-nav-contact{display:none}
.header>.nav-contact{position:relative;z-index:2;display:inline-flex;align-items:center;gap:14px;border-radius:999px;border:1px solid #65b7ff;background:rgba(4,20,50,.48);box-shadow:0 0 15px rgba(29,133,255,.2),inset 0 0 0 1px rgba(99,185,255,.1);padding:12px 21px;color:#fff}
.header>.nav-contact span{margin:0;color:#bde7ff}
.hero{min-height:860px;min-height:100svh;background:#020714;isolation:isolate}
.hero::before,.hero-grid{display:none}
.hero-atmosphere,.starfield,.finale-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.hero-atmosphere{z-index:0}
.hero-atmosphere i{display:block;position:absolute;border-radius:50%;pointer-events:none}
.hero-atmosphere i:nth-child(1){width:58%;height:260px;top:-140px;left:5%;background:radial-gradient(ellipse at center,rgba(4,76,170,.17),rgba(3,36,96,.07) 40%,transparent 72%)}
.hero-atmosphere i:nth-child(2){width:45%;height:260px;top:-120px;right:3%;background:radial-gradient(ellipse at center,rgba(5,88,188,.12),transparent 72%)}
.hero-atmosphere i:nth-child(3){width:min(78vw,1060px);height:470px;top:31%;left:50%;transform:translateX(-50%);background:radial-gradient(ellipse at center,rgba(7,86,191,.17),rgba(4,42,114,.08) 40%,transparent 71%)}
.starfield{z-index:0;opacity:.8;background-image:radial-gradient(circle at 12% 22%,#74baff 0 1px,transparent 2px),radial-gradient(circle at 24% 39%,#5498ed 0 1px,transparent 2px),radial-gradient(circle at 33% 13%,#74baff 0 1px,transparent 2px),radial-gradient(circle at 72% 18%,#4a9deb 0 1px,transparent 2px),radial-gradient(circle at 87% 29%,#71baff 0 1px,transparent 2px),radial-gradient(circle at 18% 67%,#438be5 0 1px,transparent 2px),radial-gradient(circle at 81% 70%,#559ef4 0 1px,transparent 2px),radial-gradient(circle at 92% 53%,#438be5 0 1px,transparent 2px),radial-gradient(circle at 8% 81%,#2f70c2 0 1px,transparent 2px),radial-gradient(circle at 67% 82%,#458de4 0 1px,transparent 2px)}
.orbit-field{position:absolute;left:50%;width:min(56vw,750px);height:min(18vw,245px);border:1px solid rgba(89,168,255,.63);border-radius:50%;box-shadow:0 0 14px rgba(23,117,255,.34),inset 0 0 12px rgba(35,125,255,.14);pointer-events:none}
.orbit-field i{position:absolute;display:block;width:6px;height:6px;border-radius:50%;background:#baf4ff;box-shadow:0 0 8px 3px #5fe6ff,0 0 24px 9px rgba(28,122,255,.56)}
.orbit-field i:first-child{top:20%;right:6%}.orbit-field i:last-child{bottom:22%;left:5%;width:4px;height:4px}
.hero-orbit{z-index:1;top:60%;transform:translate(-50%,-50%) rotate(-13deg) scale(calc(1 + var(--hero-progress,0) * .4));opacity:calc(1 - var(--hero-progress,0) * .55);transition:opacity .2s}
.hero-inner{min-height:860px;min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding-top:clamp(145px,17vh,175px);padding-bottom:70px;text-align:center}
.hero-heading,.hero-bottom{position:relative;z-index:4;width:100%}
.hero-heading .eyebrow{color:#8bbcff;font-size:12px;font-weight:650;letter-spacing:.28em}
.hero-heading .eyebrow b{font-size:13px;color:#43aaff;font-weight:400}
.hero h1{max-width:none;margin:20px auto 0;font-size:clamp(54px,5.15vw,78px);line-height:1.02;letter-spacing:-.052em;font-weight:620}
.hero h1 em{color:#67d8ff}
.hero-art{left:50%;right:auto;top:60%;width:min(25vw,340px);transform:translate(-50%,-50%);filter:drop-shadow(0 0 25px rgba(5,111,255,.28))}
.hero-bottom p{max-width:780px;margin:0 auto 26px;color:#c6d4e9;font-size:clamp(16px,1.35vw,20px);line-height:1.5}
.hero-actions{justify-content:center;gap:18px}
.hero-actions .button{min-height:54px;border-radius:999px;padding:13px 30px;font-size:14px}
.hero-actions .button-primary{min-width:204px;background:linear-gradient(110deg,#0868f4,#098fff);border:1px solid #58b8ff;box-shadow:0 0 22px rgba(12,116,255,.42),inset 0 1px 0 rgba(230,248,255,.3)}
.button-secondary{min-width:220px;border:1px solid rgba(99,154,244,.67);background:rgba(1,8,22,.54);color:#f2f7ff}
.button-secondary:hover{background:rgba(18,57,118,.6)}
.scroll-cue{left:50%;bottom:12px;transform:translateX(-50%);width:38px;height:42px;border:1px solid rgba(76,136,222,.45);border-radius:24px 24px 8px 8px;justify-content:center;color:#d1e8ff}
.scroll-cue span{font-size:23px;line-height:1;transform:translateY(-4px);color:#d1e8ff}
.contact{z-index:auto;background:#020714;padding:0;overflow:hidden;scroll-margin-top:0}
.finale-atmosphere{z-index:0;background:radial-gradient(ellipse 36% 25% at 50% 35%,rgba(7,79,179,.14),transparent 80%),radial-gradient(ellipse 30% 13% at 30% 3%,rgba(3,69,161,.08),transparent 85%),radial-gradient(ellipse 30% 12% at 72% 5%,rgba(3,69,161,.07),transparent 85%)}
.finale-stars{opacity:.65}
.finale-head{position:relative;min-height:890px;min-height:100svh;padding-top:145px;text-align:center}
.finale-head>.eyebrow,.finale-head>h2{position:relative;z-index:4}
.finale-head h2{font-size:clamp(52px,5.2vw,78px);max-width:1000px;margin:20px auto;line-height:1.06}
.finale-title-mobile{display:none}
.finale-head h2 em{color:#6fd7ff}
.finale-orbit{z-index:1;top:65%;transform:translate(-50%,-50%) rotate(-13deg)}
.contact-art{display:block;position:absolute;z-index:3;left:50%;top:65%;bottom:auto;width:min(25vw,340px);transform:translate(-50%,-50%);opacity:1;filter:drop-shadow(0 0 25px rgba(5,111,255,.22))}
.finale-cta{position:absolute;z-index:4;left:50%;bottom:37px;transform:translateX(-50%);min-width:200px;border:1px solid #58b8ff;border-radius:999px;background:linear-gradient(110deg,#0868f4,#098fff);box-shadow:0 0 22px rgba(12,116,255,.4);font-size:14px}
.finale-cta:hover{transform:translateX(-50%) translateY(-3px)}
.contact-layout{position:relative;z-index:4;grid-template-columns:minmax(0,1fr) minmax(400px,560px);gap:10%;padding-top:45px;padding-bottom:70px;align-items:start}
.contact-copy{min-height:0;padding-top:90px}
.contact-copy>p{font-size:clamp(22px,2.3vw,34px);line-height:1.35;max-width:510px;color:#e4eeff;letter-spacing:-.035em;margin-bottom:30px}
.contact form{background:rgba(8,25,56,.78);border:1px solid rgba(79,153,240,.38);border-radius:20px;box-shadow:0 20px 65px rgba(0,5,19,.35);backdrop-filter:blur(10px)}
#contactForm{scroll-margin-top:130px}
.contact form .button{border-radius:999px}
.finale-wordmark{position:relative;z-index:4;text-align:center;padding:60px 0 20px;color:rgba(180,213,255,.2);font-size:clamp(130px,23vw,360px);font-weight:800;letter-spacing:-.095em;line-height:.8}
.finale-wordmark span{color:rgba(74,164,255,.4)}
.footer{background:#020714;border-top:1px solid rgba(91,150,245,.18)}
.footer-inner{min-height:98px}
.footer a{font-size:12px;color:#adcdf5;transition:color .2s}.footer a:hover{color:#fff}
@media(max-width:800px){
  .header{top:12px;width:calc(100% - 28px);height:64px;padding:0 15px 0 20px;border-radius:35px}
  #contactForm{scroll-margin-top:100px}
  .header .brand{font-size:24px}.header .brand img{width:34px;height:34px}
  .header>.nav-contact{display:none}
  .menu-toggle{border:1px solid rgba(97,166,246,.55);border-radius:50%;background:rgba(3,22,50,.55);width:42px;height:42px}
  .nav{position:absolute;top:calc(100% + 10px);left:0;right:0;transform:none;display:none;align-items:stretch;gap:0;padding:12px 22px 22px;border:1px solid rgba(91,150,245,.35);border-radius:24px;background:rgba(4,16,40,.96);box-shadow:0 22px 40px rgba(0,4,18,.5);backdrop-filter:blur(14px)}
  .nav.open{display:flex}.nav>a:not(.mobile-nav-contact){padding:12px 0}.nav>a[aria-current="location"]::after{bottom:5px;right:auto;width:26px}
  .nav .mobile-nav-contact{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:13px 16px;border:1px solid rgba(99,166,255,.55);border-radius:999px;color:#fff;background:rgba(15,75,150,.32)}
  .hero-inner{padding-top:155px;padding-bottom:78px}.hero h1{font-size:clamp(50px,6.8vw,64px)}.hero-art{width:min(40vw,340px)}
  .hero-orbit,.finale-orbit{width:82vw;height:25vw}.finale-head h2{font-size:clamp(48px,6.5vw,68px)}.contact-art{width:min(40vw,340px)}
  .contact-layout{grid-template-columns:1fr;gap:30px}.contact-copy{padding-top:0}.contact form{max-width:none}
}
@media(max-width:700px){
  .hero{min-height:844px;min-height:max(844px,100svh)}.hero-inner{min-height:844px;min-height:max(844px,100svh);padding-top:126px;padding-bottom:77px}.hero-heading .eyebrow{font-size:10px;letter-spacing:.2em}.hero h1{font-size:clamp(43px,10.4vw,57px);line-height:1.05;margin-top:19px}
  .hero-art{width:min(65vw,280px);top:52%;bottom:auto;right:auto;transform:translate(-50%,-50%)}.hero-orbit{top:52%;width:90vw;height:32vw}.hero-atmosphere i:nth-child(3){top:36%;height:360px}.hero-bottom p{font-size:15px;max-width:340px;margin-bottom:18px}.hero-actions{gap:10px}.hero-actions .button{min-height:48px;padding:10px 18px;font-size:12px;min-width:0}.hero-actions .button-primary{min-width:145px}.hero-actions .button-secondary{min-width:0}.scroll-cue{bottom:13px}
  .finale-head{min-height:820px;min-height:max(820px,100svh);padding-top:140px}.finale-head h2{font-size:clamp(42px,10.3vw,58px)}.finale-title-desktop{display:none}.finale-title-mobile{display:block}.contact-art{width:min(65vw,280px);top:64%}.finale-orbit{top:64%;width:90vw;height:32vw}.finale-cta{bottom:33px}.contact-layout{padding-top:25px}.contact-copy>p{font-size:25px}.finale-wordmark{font-size:27vw;padding-top:70px}
}
@media(max-width:420px){.hero h1{font-size:44px}.hero-bottom p{max-width:330px}.hero-actions{flex-direction:row;align-items:center}.hero-actions .button-secondary{font-size:11px;padding-inline:13px}.contact form{padding:23px}.footer-inner{gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}.scene-layer{display:none!important}.static-mark{opacity:1!important}.hero-orbit{transform:translate(-50%,-50%) rotate(-13deg)!important}}

/* Subtle motion stays on decorative layers, away from readable content. */
.hero-atmosphere i:nth-child(1){animation:nebula-one 28s ease-in-out infinite alternate}
.hero-atmosphere i:nth-child(2){animation:nebula-two 34s ease-in-out infinite alternate}
.hero-atmosphere i:nth-child(3){animation:nebula-center 31s ease-in-out infinite alternate}
.hero .starfield{animation:star-breathe 9s ease-in-out infinite alternate}
.hero-orbit .orbital-traveler{position:absolute;left:50%;top:50%;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#d8fbff;box-shadow:0 0 9px 3px #8cecff,0 0 22px 8px #3b94ff99;animation:orbit-travel 18s linear infinite;z-index:1}
.hero-orbit .orbital-traveler::after{content:"";position:absolute;inset:-8px;border-radius:50%;background:#6adfff44;filter:blur(8px)}
.hero-art::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.18;background:linear-gradient(110deg,transparent 42%,#c9f8ff 49%,transparent 55%);mix-blend-mode:screen;mask-image:url('assets/zentra-mark.svg');mask-size:contain;mask-position:center;mask-repeat:no-repeat;animation:logo-reflection 12s ease-in-out infinite}
@keyframes nebula-one{to{transform:translate3d(24px,14px,0)}}
@keyframes nebula-two{to{transform:translate3d(-19px,21px,0)}}
@keyframes nebula-center{to{transform:translate3d(calc(-50% + 18px),-14px,0)}}
@keyframes star-breathe{to{opacity:.53}}
@keyframes orbit-travel{from{transform:rotate(0deg) translateX(calc(min(56vw,750px) * .5)) scale(.75)}25%{opacity:.65}50%{transform:rotate(180deg) translateX(calc(min(56vw,750px) * .5)) scale(1.16);opacity:1}75%{opacity:.65}to{transform:rotate(360deg) translateX(calc(min(56vw,750px) * .5)) scale(.75)}}
@keyframes logo-reflection{0%,28%,100%{transform:translateX(-105%)}52%{transform:translateX(105%)}}
.project-link{display:block;height:100%}.project-link:focus-visible{outline-offset:7px}.project-link:hover .project-meta h3 span,.project-link:focus-visible .project-meta h3 span{transform:translate(3px,-3px)}
.project-image{padding:0!important;background:#d5dde4!important;border-radius:4px}.project-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.project-meta h3 span{display:inline-block;color:#377af6;transition:transform .25s}
.project-card:nth-child(2) .project-image img{object-position:left top}
@media(min-width:701px) and (max-width:800px){.project-grid .project-card:last-child{margin-inline:auto;width:100%}}
.finale-wordmark{color:#4383d5;text-shadow:0 1px #a9eaff,0 2px #397bc6,0 3px #1d569e,0 5px 8px #0055ae66,0 20px 36px #071426;filter:drop-shadow(0 0 18px #1267bc33)}
.finale-wordmark span{color:#4eafff}
html.webgl-ready .finale-wordmark{color:transparent;text-shadow:none;filter:none}
html.webgl-ready .finale-wordmark span{color:transparent}
@media(max-width:800px){.hero-orbit .orbital-traveler{animation-name:orbit-travel-tablet}}
@keyframes orbit-travel-tablet{from{transform:rotate(0deg) translateX(41vw)}50%{transform:rotate(180deg) translateX(41vw)}to{transform:rotate(360deg) translateX(41vw)}}
@media(max-width:700px){.hero-orbit .orbital-traveler{animation-name:orbit-travel-mobile}}
@keyframes orbit-travel-mobile{from{transform:rotate(0deg) translateX(45vw)}50%{transform:rotate(180deg) translateX(45vw)}to{transform:rotate(360deg) translateX(45vw)}}
@media(prefers-reduced-motion:reduce){.hero-orbit .orbital-traveler{display:none}.hero-art::after{display:none}}
.orbital-light{display:none;position:absolute;z-index:2;width:7px;height:7px;border-radius:50%;pointer-events:none;background:#e0fbff;box-shadow:0 0 8px 3px #8deaff,0 0 22px 8px #2586ff99;opacity:.8;transform:translate(-50%,-50%)}
html.webgl-ready .orbital-light{display:block}
.orbital-light.in-front{z-index:4;opacity:1}
.atmosphere-paused .hero-atmosphere i,.atmosphere-paused .starfield,.atmosphere-paused .hero-art::after{animation-play-state:paused}
@media(max-width:800px){html.webgl-ready .orbital-light{display:none}}
