:root{--bg:#040812;--ink:#f2f6ff;--muted:#a2b1c8;--cyan:#46f4ec;--blue:#348cff;--line:#b7d9ff24;--max:1320px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.65 Manrope,system-ui,sans-serif;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--cyan);outline-offset:7px}.wrap{width:min(calc(100% - 100px),var(--max));margin:auto}.skip{position:fixed;left:20px;top:-100px;background:var(--cyan);color:#040812;padding:12px;z-index:100}.skip:focus{top:20px}.page-glow{position:absolute;inset:0 0 auto;height:1000px;z-index:-1;background:radial-gradient(ellipse at 77% 40%,#06365780,transparent 58%);pointer-events:none}.scroll-progress{position:fixed;z-index:50;left:0;top:0;height:2px;width:100%;background:linear-gradient(90deg,var(--blue),var(--cyan));transform:scaleX(var(--progress,0));transform-origin:left;box-shadow:0 0 12px var(--cyan)}header{height:100px;position:relative;z-index:3}nav{height:100%;display:flex;align-items:center;justify-content:space-between}.wordmark{display:flex;align-items:center;gap:10px;font-weight:800;font-size:26px;letter-spacing:-1px}.spark{display:inline-block;width:32px;height:32px;background:linear-gradient(145deg,#baffff,#24dce9 40%,#226bf3);clip-path:polygon(50% 0,63% 37%,100% 50%,63% 63%,50% 100%,37% 63%,0 50%,37% 37%);transform:rotate(-10deg)}.navlinks{display:flex;align-items:center;gap:36px;font-size:14px;font-weight:600}.navlinks>a:not(.nav-cta){position:relative}.navlinks>a:not(.nav-cta)::after{content:"";position:absolute;bottom:-6px;left:0;width:100%;height:1px;background:var(--cyan);transform:scaleX(0);transform-origin:left;transition:transform .3s}.navlinks>a:hover::after{transform:scaleX(1)}.nav-cta{padding:12px 22px;border:1px solid #8acdd848;border-radius:99px;background:#b7ffff08;transition:background .3s}.nav-cta:hover{background:#b7ffff15}.nav-cta span{margin-left:20px;color:var(--cyan)}
.hero{position:relative;min-height:740px;height:calc(100svh - 100px);max-height:980px;display:flex;align-items:center;padding:30px 0 100px;isolation:isolate}.hero-copy-block{width:58%;z-index:2;pointer-events:none}.hero-copy-block a{pointer-events:auto}.eyebrow,.kicker{font:400 12px/1.5 'DM Mono',monospace;letter-spacing:.13em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:12px;color:#d1e1ed;margin-bottom:28px}.signal{height:6px;width:6px;background:var(--cyan);box-shadow:0 0 14px #46f4ec;border-radius:50%;position:relative}.signal::after{content:"";position:absolute;inset:-5px;border:1px solid #46f4ec;animation:signal 3s ease-out infinite;border-radius:50%}h1{font-size:clamp(68px,7.7vw,116px);line-height:1.01;letter-spacing:-.067em;font-weight:600;margin:0 0 30px}.line{display:block;white-space:nowrap}h1 em,h2 em,.manifesto em{font-style:normal;background:linear-gradient(110deg,#d5ffff,#44efe9 30%,#5a9aff 60%,#b3f5ff 85%);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:gradient-flow 8s ease-in-out infinite alternate}.hero-copy{font-size:clamp(21px,2.1vw,29px);line-height:1.4;letter-spacing:-.035em;margin:0 0 18px}.hero-description{max-width:395px;color:var(--muted);margin:0;font-size:16px}.actions{display:flex;gap:28px;align-items:center;margin-top:33px}.primary{background:#affff5;color:#03171d;padding:16px 21px;border-radius:3px;font-size:14px;font-weight:800;display:flex;gap:32px;align-items:center;box-shadow:0 0 32px #30e8ed15;position:relative;overflow:hidden;transition:box-shadow .3s}.primary span{font-size:22px}.primary::before{content:"";position:absolute;inset:-100%;background:linear-gradient(110deg,transparent 43%,#fff9 50%,transparent 57%);animation:cta-shine 6s ease-in-out infinite}.primary:hover{box-shadow:0 0 38px #46f4ec55}.secondary{font-size:14px;font-weight:600;border-bottom:1px solid #8eb3c848;padding:10px 0}.secondary span{margin-left:12px}.magnetic{will-change:transform}.spark-stage{position:absolute;right:-11%;top:-2%;width:72%;height:96%;z-index:1;pointer-events:none}.spark-stage::before{content:"";position:absolute;inset:12%;background:radial-gradient(ellipse,#08788238,transparent 68%);filter:blur(45px);animation:core-breathe 5s ease-in-out infinite alternate}.spark-stage canvas{position:absolute;width:100%;height:100%;inset:0}.spark-fallback{position:absolute;inset:20%;display:grid;place-items:center;transition:opacity .6s}.spark-fallback .spark{width:100%;height:100%;filter:drop-shadow(0 0 40px cyan);animation:fallback-turn 12s ease-in-out infinite}.webgl-ready .spark-fallback{opacity:0}.stage-caption{position:absolute;bottom:6%;left:30%;right:17%;display:flex;gap:15px;align-items:center;color:#7fbed3;font:10px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.14em}.caption-line{height:1px;flex:1;background:#57bdcf4a}.hero-bottom{position:absolute;bottom:32px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;z-index:3}.scroll-cue{display:flex;gap:15px;align-items:center;color:#879db5;font:11px 'DM Mono',monospace;letter-spacing:.08em;text-transform:uppercase}.scroll-line{width:1px;height:32px;background:#95c7d438;position:relative;overflow:hidden}.scroll-line::after{content:"";position:absolute;inset:0;background:var(--cyan);animation:scroll-tick 2s ease-in-out infinite}.motion-toggle{background:transparent;border:1px solid #8eb3c82e;border-radius:99px;padding:9px 14px;color:#a5bacb;font:11px 'DM Mono',monospace;cursor:pointer;display:flex;gap:13px;align-items:center}.motion-toggle:hover{border-color:var(--cyan);color:var(--cyan)}.hero-copy-block>*{animation:enter .9s both cubic-bezier(.16,1,.3,1)}.hero-copy-block>:nth-child(2){animation-delay:.12s}.hero-copy-block>:nth-child(3){animation-delay:.25s}.hero-copy-block>:nth-child(4){animation-delay:.35s}.hero-copy-block>:nth-child(5){animation-delay:.45s}
.ticker{border-block:1px solid var(--line);overflow:hidden;background:#a8e7ff03;transform:rotate(-1.5deg);position:relative;z-index:2;width:104%;margin-left:-2%}.ticker-track{display:flex;width:max-content;animation:marquee 32s linear infinite}.ticker-track>div{display:flex;align-items:center;gap:44px;padding:24px 22px;font-size:23px;font-weight:500;letter-spacing:-.03em;white-space:nowrap;color:#c2d3e4}.ticker i{font-style:normal;font-size:30px;color:#54efe7;animation:spin 10s linear infinite}.expertise{padding:150px 0 130px}.section-head{display:grid;grid-template-columns:1fr 2fr;gap:20px;margin-bottom:70px;align-items:start}.kicker{color:#62d3de;margin:6px 0 25px}.section-head .kicker{grid-row:span 2}h2{font-size:clamp(44px,5vw,72px);line-height:1.06;font-weight:500;letter-spacing:-.05em;margin:0}h2>span{color:#788da9}.section-head>p:last-child{grid-column:2;margin:8px 0 0;color:var(--muted);font-size:17px}.services{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.service{position:relative;isolation:isolate;background:linear-gradient(125deg,#0f1c2b99,#070e1b);border:1px solid #8faecc29;padding:38px 40px 24px;overflow:hidden;transition:border-color .4s,transform .6s;min-height:425px}.service::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(550px circle at var(--mx,60%) var(--my,20%),#11cede22,transparent 65%);opacity:.6;transition:opacity .4s}.service:hover{border-color:#55dfe879;transform:translateY(-6px)}.service:hover::before{opacity:1}.card-top{display:flex;justify-content:space-between;height:95px;align-items:flex-start}.number{font:12px 'DM Mono',monospace;color:#6c8ba5;letter-spacing:.1em}.service h3{font-size:clamp(26px,3vw,38px);font-weight:500;letter-spacing:-.04em;line-height:1.16;margin:5px 0 20px}.service p{max-width:410px;font-size:16px;color:var(--muted);margin:0 0 28px}.card-bottom{border-top:1px solid #a9c9f119;padding-top:17px;display:flex;justify-content:space-between;align-items:center;font:11px 'DM Mono',monospace;color:#a9c5d6}.card-bottom>span:last-child{font-size:20px;color:#43d4e2;transition:transform .4s}.service:hover .card-bottom>span:last-child{transform:rotate(90deg)}.card-art{position:absolute;right:40px;top:20px;width:115px;height:115px;perspective:500px;opacity:.85;pointer-events:none}.card-art i{display:block;position:absolute;border:1px solid #4adee9b3;box-shadow:inset 0 0 20px #2adcfb13,0 0 12px #17e0e81a}.art-web{transform:rotate(-15deg)}.art-web i{width:75px;height:53px;left:20px;top:25px;transform:rotateY(-25deg);animation:layers 5s ease-in-out infinite}.art-web i:nth-child(2){animation-delay:-1.6s}.art-web i:nth-child(3){animation-delay:-3.3s}.art-app{transform:rotate(-15deg)}.art-app i{inset:25px;transform:rotateX(55deg) rotateZ(45deg);animation:stack 4s ease-in-out infinite}.art-app i:nth-child(2){animation-delay:-1.3s}.art-app i:nth-child(3){animation-delay:-2.6s}.art-ai i{inset:14px;border-radius:50%;animation:orbit-a 8s linear infinite}.art-ai i:nth-child(2){animation-delay:-2.6s}.art-ai i:nth-child(3){animation-delay:-5.3s}.art-ai .spark{position:absolute;inset:40px;width:35px;height:35px;animation:spin 12s linear infinite}.art-team{animation:spin 18s linear infinite}.art-team i{width:25px;height:25px;border-radius:50%;background:#58f4ed0c}.art-team i:nth-child(1){left:45px;top:8px}.art-team i:nth-child(2){right:8px;top:45px}.art-team i:nth-child(3){left:45px;bottom:8px}.art-team i:nth-child(4){left:8px;top:45px}.art-team::before{content:"";position:absolute;inset:22px;border:1px dashed #46d3e260;border-radius:50%}
.approach{position:relative;overflow:hidden;border-block:1px solid var(--line);padding:130px 0 95px;background:radial-gradient(ellipse at 100% 20%,#08435a50,transparent 60%),#060d19}.approach .wrap{position:relative;z-index:2}.manifesto{font-size:clamp(46px,6.7vw,94px);font-weight:500;line-height:1.08;letter-spacing:-.06em;margin:45px 0 80px}.approach-orbit{position:absolute;width:670px;height:670px;right:-240px;top:-80px;perspective:700px;opacity:.65}.approach-orbit>span{position:absolute;inset:0;border:1px solid #50e8eb7d;border-radius:50%;animation:orbit-a 26s linear infinite;box-shadow:0 0 35px #31d9ec12}.approach-orbit>span:nth-child(2){inset:40px;animation-delay:-8s}.approach-orbit>span:nth-child(3){inset:80px;animation-delay:-16s}.approach-orbit>.spark{position:absolute;width:240px;height:240px;top:215px;left:215px;opacity:.2;animation:spin 30s linear infinite}.principles{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.principle{padding-top:25px;border-top:1px solid #779bb53d}.principle>span{font:11px 'DM Mono',monospace;color:#66dae4}.principle h3{font-weight:500;font-size:22px;letter-spacing:-.025em;margin:20px 0 8px}.principle p{color:var(--muted);font-size:15px;margin:0}.partner{padding:120px 0}.partner-card{position:relative;isolation:isolate;overflow:hidden;border:1px solid #6de4f04a;background:linear-gradient(110deg,#0b2932,#071321 70%);padding:70px 60px;display:flex;align-items:center;gap:50px}.partner-card>div:not(.partner-spark){position:relative;z-index:2;flex:1}.partner-card p:not(.kicker){max-width:550px;color:#a9bfce;font-size:17px;line-height:1.7;margin:30px 0 0}.partner-spark{position:absolute;width:550px;height:550px;right:-40px;top:-60px;opacity:.07;animation:spin 38s linear infinite}.partner-spark .spark{width:100%;height:100%}.round-link{border:1px solid #a7fff99c;background:#78fff111;width:160px;height:160px;flex-shrink:0;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-align:center;font-size:14px;font-weight:600;line-height:1.4;z-index:2;box-shadow:0 0 0 15px #5cf4e903,0 0 0 30px #5cf4e903;transition:background .3s,box-shadow .3s}.round-link b{font-size:32px;font-weight:400;color:#affff5}.round-link:hover{background:#46e7df22;box-shadow:0 0 0 20px #5cf4e90a,0 0 0 40px #5cf4e905,0 0 60px #12cdc522}footer{padding-bottom:35px}.footer-top{display:flex;align-items:center;gap:50px;border-bottom:1px solid var(--line);padding:10px 0 55px}.footer-brand{font-size:70px;letter-spacing:-.07em;font-weight:700;display:flex;gap:20px;align-items:center}.footer-brand .spark{width:55px;height:55px}.footer-top>p{margin-left:auto;font-size:15px;color:var(--muted)}.back-top{font-size:12px;color:#b2ccda}.footer-bottom{display:flex;justify-content:space-between;padding-top:25px;color:#718ba3;font:11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.08em}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(45px);transition:opacity .9s,transform .9s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0)*70ms)}.js-motion .reveal.visible{opacity:1;transform:none}
@keyframes gradient-flow{to{background-position:100% 50%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes signal{to{transform:scale(2);opacity:0}}@keyframes core-breathe{to{transform:scale(1.15);opacity:.5}}@keyframes scroll-tick{from{transform:translateY(-110%)}to{transform:translateY(110%)}}@keyframes cta-shine{0%,60%{transform:translateX(-100%)}90%,100%{transform:translateX(100%)}}@keyframes enter{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}@keyframes marquee{to{transform:translateX(-50%)}}@keyframes layers{0%,100%{transform:translate3d(-10px,-10px,-10px) rotateY(-25deg);opacity:.2}50%{transform:translate3d(12px,14px,20px) rotateY(-25deg);opacity:1}}@keyframes stack{0%,100%{transform:translateY(-16px) rotateX(55deg) rotateZ(45deg);opacity:.25}50%{transform:translateY(20px) rotateX(55deg) rotateZ(45deg);opacity:1}}@keyframes orbit-a{from{transform:rotateX(60deg) rotateY(-25deg) rotateZ(0)}to{transform:rotateX(60deg) rotateY(335deg) rotateZ(360deg)}}@keyframes fallback-turn{50%{transform:rotate(20deg) scale(.94)}}
@media(min-width:1500px){.spark-stage{right:-15%;width:78%}}@media(max-width:1100px){.wrap{width:calc(100% - 60px)}h1{font-size:8.2vw}.hero{min-height:680px}.spark-stage{right:-13%;width:75%}.actions{gap:18px}.secondary{font-size:12px}.stage-caption{right:20%;left:30%;font-size:8px}.service{padding-inline:30px}.partner-card{padding:50px 35px}}
@media(max-width:760px){.wrap{width:calc(100% - 36px)}header{height:80px}.wordmark{font-size:22px}.navlinks>a:not(.nav-cta){display:none}.nav-cta{padding:10px 16px;font-size:12px}.nav-cta span{margin-left:10px}.hero{height:auto;min-height:0;max-height:none;display:block;padding:45px 0 60px}.hero-copy-block{width:100%}.eyebrow{font-size:10px;letter-spacing:.07em;margin-bottom:25px}h1{font-size:clamp(54px,11.6vw,86px);margin-bottom:22px}.hero-copy{font-size:23px}.hero-description{max-width:340px;font-size:15px}.actions{gap:24px;margin-top:27px}.primary{font-size:12px;gap:20px;padding:12px 17px}.secondary{font-size:12px}.spark-stage{position:relative;top:auto;right:auto;width:calc(100% + 36px);margin:0 -18px;height:410px;margin-top:-8px;margin-bottom:15px}.stage-caption{bottom:0;left:21%;right:21%;font-size:8px}.hero-bottom{bottom:20px}.scroll-cue{font-size:9px}.scroll-line{height:24px}.motion-toggle{font-size:10px}.ticker-track>div{font-size:19px;gap:28px;padding:18px 14px}.expertise{padding:90px 0}.section-head{grid-template-columns:1fr;gap:5px;margin-bottom:40px}.section-head .kicker{grid-row:auto}.section-head>p:last-child{grid-column:1;font-size:15px;margin-top:15px}h2{font-size:46px}.services{grid-template-columns:1fr;gap:16px}.service{padding:30px 25px 20px;min-height:385px}.card-top{height:90px}.service h3{font-size:34px}.service p{font-size:15px}.card-art{right:30px}.approach{padding:80px 0 65px}.manifesto{font-size:clamp(39px,8.9vw,65px);margin:30px 0 55px}.approach-orbit{width:480px;height:480px;right:-290px;top:0}.principles{grid-template-columns:1fr;gap:28px}.principle{padding-top:18px}.principle h3{margin-top:12px}.partner{padding:75px 0}.partner-card{padding:40px 25px;display:block}.partner-card h2{font-size:42px}.partner-card p:not(.kicker){font-size:15px}.round-link{margin-top:40px;width:135px;height:135px;font-size:12px}.partner-spark{right:-150px;top:160px}.footer-top{flex-wrap:wrap;gap:20px;padding-bottom:35px}.footer-brand{font-size:50px;gap:13px;width:100%}.footer-brand .spark{width:40px;height:40px}.footer-top>p{margin:0;font-size:14px}.back-top{margin-left:auto}.footer-bottom{font-size:9px;gap:15px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}.magnetic{transform:none!important}}
body.motion-paused *,body.motion-paused *::before,body.motion-paused *::after{animation-play-state:paused!important}.motion-paused .reveal{opacity:1;transform:none}
main{overflow:clip}
.contributions{padding:120px 0 0;position:relative}
.contributions-heading{display:grid;grid-template-columns:1fr 2fr;gap:18px 32px;align-items:start;margin-bottom:48px}
.contributions-heading .kicker{grid-row:span 2}
.contributions-heading h2{font-size:clamp(38px,4.5vw,62px)}
.contributions-heading>p:last-child{grid-column:2;max-width:510px;color:var(--muted);font-size:16px;margin:0}
.client-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);position:relative;isolation:isolate}
.client-grid::before{content:"";position:absolute;inset:-1px 0 auto;height:1px;background:linear-gradient(90deg,transparent,#59eee9,transparent);width:35%;animation:client-scan 9s ease-in-out infinite;pointer-events:none}
.client-logo{margin:0;min-height:168px;display:flex;align-items:center;justify-content:center;position:relative;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,#14233244,#080f1800);isolation:isolate;transition:background .4s;overflow:hidden}
.client-logo::before{content:"";position:absolute;inset:0;z-index:-1;opacity:0;background:radial-gradient(ellipse at 50% 80%,#38d7e91f,transparent 75%);transition:opacity .5s}
.client-logo:hover::before{opacity:1}
.client-logo img{max-width:76%;object-fit:contain;filter:brightness(0) invert(1);opacity:.62;transform:translateY(-4px);transition:opacity .4s,transform .5s;pointer-events:none}
.client-logo:hover img{opacity:1;transform:translateY(-8px)}
.client-logo>span{position:absolute;bottom:14px;color:#86adbf;font:10px 'DM Mono',monospace;letter-spacing:.05em;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s}
.client-logo:hover>span{opacity:1;transform:none}
.client-logo:first-child img{height:100px}
.client-duke img{opacity:0!important}
.client-duke::after{content:"";position:absolute;width:215px;max-width:76%;aspect-ratio:960/540;left:50%;top:50%;transform:translate(-50%,calc(-50% - 4px));background:#fff;mask-image:linear-gradient(#fff,#fff),url(assets/clients/duke-grace.png);mask-mode:alpha,luminance;mask-composite:subtract;mask-size:100% 100%;mask-repeat:no-repeat;opacity:.62;transition:opacity .4s,transform .5s;pointer-events:none}
.client-duke:hover::after{opacity:1;transform:translate(-50%,calc(-50% - 8px))}
@keyframes client-scan{0%,100%{transform:translateX(0);opacity:.3}50%{transform:translateX(185%);opacity:.85}}
@media(max-width:1000px){.client-logo{min-height:145px}}
@media(max-width:760px){.contributions{padding-top:80px}.contributions-heading{grid-template-columns:1fr;gap:10px;margin-bottom:32px}.contributions-heading .kicker{grid-row:auto;margin-bottom:10px}.contributions-heading>p:last-child{grid-column:1;font-size:15px;margin-top:6px}.client-grid{grid-template-columns:repeat(2,1fr)}.client-logo{min-height:130px}.client-logo img{max-width:75%;max-height:64px}.client-duke img{max-height:90px}.client-logo>span{opacity:1;transform:none;bottom:10px;font-size:9px}.client-logo img{transform:translateY(-9px)}}
@media(max-width:760px){h1{font-size:clamp(44px,13.8vw,86px)}}
@media(max-width:360px){.actions{gap:16px}.primary{gap:12px;padding-inline:13px}.secondary span{margin-left:5px}}

/* Contact modal */
.round-link{cursor:pointer;color:inherit;font-family:inherit;padding:0}
.contact-modal{border:1px solid #6de4f04a;background:linear-gradient(110deg,#0b2932,#071321 70%);color:var(--ink);padding:0;width:min(calc(100% - 36px),660px);max-height:calc(100dvh - 40px);margin:auto;overflow:auto;box-shadow:0 30px 90px #00000080,0 0 60px #12cdc51a}
.contact-modal::backdrop{background:#02050cb8;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.contact-modal[open]{animation:modal-in .55s cubic-bezier(.16,1,.3,1)}
.contact-modal[open]::backdrop{animation:backdrop-in .4s}
body.motion-paused .contact-modal,body.motion-paused .contact-modal::backdrop{animation-play-state:running!important}
body.modal-open{overflow:hidden}
.contact-modal [hidden]{display:none!important}
.modal-inner{padding:52px 56px 46px;position:relative}
.modal-close{position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:50%;border:1px solid #8eb3c82e;background:transparent;color:#a5bacb;font-size:16px;cursor:pointer;display:grid;place-items:center;transition:border-color .3s,color .3s,transform .3s}
.modal-close:hover{border-color:var(--cyan);color:var(--cyan);transform:rotate(90deg)}
.contact-modal .kicker{margin:0 0 18px}
.contact-modal h2{font-size:clamp(34px,4vw,50px);margin-bottom:12px}
.modal-intro>p:last-child{color:var(--muted);font-size:15px;margin:0 0 34px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px}
.field{display:flex;flex-direction:column;gap:8px}
.field.wide{grid-column:1/-1}
.field label{font:400 11px/1.5 'DM Mono',monospace;letter-spacing:.1em;text-transform:uppercase;color:#86adbf}
.field label i{font-style:normal;text-transform:none;letter-spacing:0;color:#5f7d92}
.field input,.field select,.field textarea{background:#b7ffff08;border:1px solid #8faecc29;border-radius:3px;color:var(--ink);padding:13px 15px;font:inherit;font-size:15px;width:100%;transition:border-color .3s,background .3s,box-shadow .3s}
.field textarea{min-height:130px;resize:vertical}
.field :is(input,select,textarea):focus{outline:none;border-color:var(--cyan);background:#b7ffff0f;box-shadow:0 0 0 3px #46f4ec22}
.field select{appearance:none;-webkit-appearance:none;padding-right:42px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%2346f4ec' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;cursor:pointer}
.field select:invalid{color:#7f95ab}
.field select option{background:#071321;color:var(--ink)}
.field-error{font-size:12px;color:#ff9a9a;display:none}
.field.invalid .field-error{display:block}
.field.invalid :is(input,select,textarea){border-color:#ff7b7b99}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-foot{grid-column:1/-1;display:flex;align-items:center;gap:24px;margin-top:6px;flex-wrap:wrap}
.form-foot .primary{border:0;cursor:pointer}
.form-foot .primary[disabled]{opacity:.6;cursor:progress}
.form-status{font-size:13px;color:var(--muted);margin:0;flex:1}
.form-status.err{color:#ff9a9a}
.form-done{text-align:center;padding:24px 0 10px}
.form-done .spark{width:48px;height:48px;filter:drop-shadow(0 0 22px #46f4ec88)}
.form-done h3{font-size:34px;font-weight:500;letter-spacing:-.04em;margin:20px 0 8px}
.form-done p{color:var(--muted);margin:0 0 26px}
.form-done .secondary{background:none;border:0;border-bottom:1px solid #8eb3c848;color:inherit;cursor:pointer;font-weight:600;padding:10px 0}
@keyframes modal-in{from{opacity:0;transform:translateY(26px) scale(.98)}}
@keyframes backdrop-in{from{opacity:0}}
@media(max-width:760px){.contact-modal{width:calc(100% - 24px);max-height:calc(100dvh - 24px)}.modal-inner{padding:44px 22px 32px}.contact-modal h2{font-size:34px}.contact-form{grid-template-columns:1fr;gap:18px}.form-done h3{font-size:28px}}
