
:root{
  --ink:#090d12;--ink-2:#0e141c;--panel:#121b25;--panel-2:#172330;
  --paper:#f3f2ed;--white:#fcfbf7;--muted:#9aa7b5;--line:rgba(255,255,255,.11);
  --teal:#35e4c5;--cyan:#40bff2;--blue:#347fe7;--violet:#b84af0;--pink:#ef5ba9;
  --grad:linear-gradient(110deg,var(--teal),var(--cyan) 40%,var(--blue) 65%,var(--violet));
  --radius:28px;--radius-sm:17px;--max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--ink);color:var(--paper);font-family:Inter,Manrope,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;overflow-x:hidden}
body:before{content:"";position:fixed;z-index:-3;inset:0;background:
 radial-gradient(circle at 10% 5%,rgba(53,228,197,.09),transparent 25%),
 radial-gradient(circle at 90% 5%,rgba(184,74,240,.09),transparent 27%),
 linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
 linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
 background-size:auto,auto,70px 70px,70px 70px}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}
img,video{max-width:100%;display:block}
::selection{background:var(--teal);color:#07100e}
.shell{width:min(var(--max),calc(100% - 42px));margin-inline:auto}
.section{padding:120px 0}
.section.compact{padding:80px 0}
.page{min-height:100vh}
.skip-link{position:absolute;left:-999px;top:0;background:white;color:black;padding:10px;z-index:999}
.skip-link:focus{left:10px;top:10px}
.progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--grad);z-index:200}
.site-header{height:102px;display:flex;justify-content:space-between;align-items:center;position:relative;z-index:80}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:45px;height:45px;object-fit:cover;border-radius:14px;background:#121923;box-shadow:0 0 30px rgba(53,228,197,.13)}
.brand span{font-size:23px;letter-spacing:-1.1px;font-weight:300}.brand strong{font-weight:820;background:var(--grad);-webkit-background-clip:text;color:transparent}
.main-nav{display:flex;align-items:center;gap:31px}
.main-nav>a,.nav-trigger{font-size:13px;color:#d2dae2;background:none;border:0;padding:10px 0;cursor:pointer}
.main-nav>a:hover,.nav-trigger:hover{color:white}
.nav-cta{padding:12px 18px!important;border:1px solid var(--line)!important;border-radius:999px;background:rgba(255,255,255,.035)!important}
.nav-group{position:relative}
.mega{position:absolute;top:48px;right:-200px;width:min(980px,90vw);display:none;background:rgba(12,18,25,.97);border:1px solid var(--line);border-radius:23px;padding:30px;box-shadow:0 35px 100px rgba(0,0,0,.5);backdrop-filter:blur(22px)}
.nav-group:hover .mega,.nav-group:focus-within .mega{display:block}
.mega-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px}
.mega-col>strong{display:block;color:var(--teal);text-transform:uppercase;font-size:10px;letter-spacing:1.8px;margin-bottom:10px}
.mega-col a{display:block;color:#aebac5;font-size:12px;padding:5px 0}.mega-col a:hover{color:white;transform:translateX(2px)}
.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle i{display:block;width:25px;height:2px;background:white;margin:5px;border-radius:10px}
.eyebrow{display:flex;align-items:center;gap:11px;text-transform:uppercase;letter-spacing:2.4px;font-size:10px;font-weight:800;color:#b8c3cd;margin:0 0 18px}.eyebrow:before{content:"";width:28px;height:1px;background:var(--grad)}
.hero{min-height:880px;position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:70px;align-items:center;padding:85px 0 65px}
h1,h2,h3,h4,p{margin-top:0}
h1{font-size:clamp(58px,7.4vw,104px);line-height:.94;letter-spacing:-5.8px;margin:0 0 28px}
h2{font-size:clamp(38px,5vw,68px);line-height:1.03;letter-spacing:-3.4px;margin-bottom:22px}
h3{font-size:27px;line-height:1.12;letter-spacing:-1px}
.gradient-text{background:var(--grad);-webkit-background-clip:text;color:transparent}
.lead{font-size:18px;color:var(--muted);max-width:760px}
.hero-actions,.button-row{display:flex;gap:13px;flex-wrap:wrap;margin-top:36px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 21px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:760;transition:.28s;cursor:pointer;background:rgba(255,255,255,.025)}
.btn:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.25)}
.btn.primary{background:var(--grad);color:#07110f;border:0;box-shadow:0 17px 50px rgba(56,171,220,.16)}
.btn.light{background:var(--paper);color:#0a1016;border:0}.btn.dark{background:#0b1016;color:white}
.hero-proof{display:flex;gap:20px;flex-wrap:wrap;margin-top:31px;color:#c5ced7;font-size:11px}.hero-proof span:before{content:"✓";color:var(--teal);margin-right:7px}
.hero-media{height:580px;position:relative;border-radius:36px;overflow:hidden;background:#101823;box-shadow:0 45px 100px rgba(0,0,0,.45)}
.hero-media video,.hero-media img{width:100%;height:100%;object-fit:cover;opacity:.72}
.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,15,.05),rgba(5,10,15,.65)),linear-gradient(90deg,rgba(34,206,190,.16),rgba(170,56,230,.13))}
.media-label{position:absolute;z-index:2;left:25px;right:25px;bottom:25px;border:1px solid var(--line);border-radius:18px;padding:18px;background:rgba(8,13,19,.72);backdrop-filter:blur(15px);display:flex;justify-content:space-between;align-items:center}.media-label strong{font-size:14px}.media-label span{font-size:10px;color:#bdc7d0;text-transform:uppercase;letter-spacing:1.6px}
.float-chip{position:absolute;z-index:4;background:rgba(12,18,25,.9);border:1px solid var(--line);padding:11px 15px;border-radius:999px;font-size:10px;letter-spacing:1px;box-shadow:0 15px 40px rgba(0,0,0,.3);animation:float 6s ease-in-out infinite}.chip-a{top:10%;left:-5%}.chip-b{top:27%;right:-5%;animation-delay:-2s}.chip-c{bottom:23%;left:-7%;animation-delay:-4s}
@keyframes float{50%{transform:translateY(-10px)}}
.trust-strip{border-block:1px solid var(--line);display:grid;grid-template-columns:1.6fr repeat(6,1fr);align-items:center;min-height:82px;color:#cad3dc}.trust-strip>span{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:#7f8d9a}.trust-strip div{text-align:center;font-size:12px}
.section-head{max-width:780px;margin-bottom:55px}.section-head.wide{max-width:none;display:flex;justify-content:space-between;align-items:end;gap:30px}.section-head p:not(.eyebrow){color:var(--muted);font-size:17px;max-width:700px}
.kicker-link{font-size:12px;border-bottom:1px solid #52606c;padding-bottom:6px;white-space:nowrap}
.category-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.category-card{min-height:390px;border:1px solid var(--line);border-radius:var(--radius);padding:32px;position:relative;overflow:hidden;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.005));transition:.35s}.category-card:hover{transform:translateY(-6px);background:var(--panel)}.category-card:before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;filter:blur(20px);opacity:.15;right:-100px;top:-120px;background:var(--grad)}
.category-card .num{font-size:10px;color:var(--teal)}.category-card h3{font-size:37px;margin:62px 0 15px}.category-card p{color:var(--muted);max-width:520px}.category-card ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:24px 0 0;list-style:none}.category-card li{font-size:10px;border:1px solid var(--line);border-radius:999px;padding:7px 10px;color:#c2ccd5}
.light-section{background:var(--paper);color:#111820}.light-section .eyebrow{color:#56616c}.light-section .section-head p:not(.eyebrow),.light-section .muted{color:#5d6874}.light-section .eyebrow:before{background:linear-gradient(90deg,#139c92,#6f3cd7)}
.case-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:60px 26px}.case-card:nth-child(even){margin-top:60px}.case-media{height:470px;border-radius:var(--radius);overflow:hidden;position:relative;background:#c8ced2}.case-media img{width:100%;height:100%;object-fit:cover;transition:.6s}.case-card:hover .case-media img{transform:scale(1.04)}.case-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(0,0,0,.58))}
.case-tag{position:absolute;z-index:2;left:22px;bottom:20px;color:white;font-size:10px;letter-spacing:1.5px;text-transform:uppercase}.case-card h3{margin:18px 0 8px}.case-card p{color:#5c6670;max-width:580px}
.system-lab{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}
.ecosystem{height:550px;border:1px solid var(--line);border-radius:var(--radius);position:relative;overflow:hidden;background:radial-gradient(circle at center,rgba(57,183,221,.12),transparent 45%),var(--ink-2)}
.eco-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:150px;height:150px;border-radius:50%;background:var(--grad);color:#07110f;display:grid;place-items:center;text-align:center;font-weight:850;box-shadow:0 0 80px rgba(52,190,210,.2)}
.eco-node{position:absolute;border:1px solid var(--line);background:#121c26;border-radius:17px;padding:15px 18px;cursor:grab;user-select:none;font-size:12px;box-shadow:0 15px 35px rgba(0,0,0,.25)}.eco-node:active{cursor:grabbing}.eco-node.active{border-color:var(--teal);box-shadow:0 0 28px rgba(53,228,197,.16)}
.eco-node[data-n="1"]{left:7%;top:12%}.eco-node[data-n="2"]{right:7%;top:12%}.eco-node[data-n="3"]{right:5%;bottom:16%}.eco-node[data-n="4"]{left:7%;bottom:14%}.eco-node[data-n="5"]{left:39%;top:7%}
.process-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.process-step{min-height:285px;padding:27px;border-right:1px solid var(--line);background:linear-gradient(160deg,rgba(255,255,255,.025),transparent)}.process-step:last-child{border:0}.process-step span{font-size:10px;color:var(--teal)}.process-step h3{font-size:22px;margin:65px 0 12px}.process-step p{font-size:13px;color:var(--muted)}
.insight-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:18px}.insight-card{min-height:400px;padding:28px;border:1px solid var(--line);border-radius:var(--radius);display:flex;flex-direction:column;justify-content:flex-end;position:relative;overflow:hidden;background:var(--panel)}.insight-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.45}.insight-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(7,12,18,.94))}.insight-card>*:not(img){position:relative;z-index:2}.insight-card small{color:var(--teal);text-transform:uppercase;letter-spacing:1.5px}.insight-card h3{margin:10px 0 0}
.cta-band{margin:100px auto;padding:55px 60px;border-radius:34px;background:var(--grad);color:#07110f;display:flex;align-items:center;justify-content:space-between;gap:35px}.cta-band h2{max-width:790px;margin:0}.cta-band .eyebrow{color:#07110f}.cta-band .eyebrow:before{background:#07110f}
.page-hero{min-height:630px;position:relative}.page-hero-inner{padding:92px 0 80px}.page-hero h1{max-width:1080px}.page-hero .lead{max-width:820px}
.page-hero-media{margin-top:45px;height:520px;border-radius:var(--radius);overflow:hidden;position:relative}.page-hero-media img,.page-hero-media video{width:100%;height:100%;object-fit:cover;opacity:.72}.page-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,10,15,.38),transparent,rgba(5,10,15,.2))}
.service-overview{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px;align-items:start}.sticky{position:sticky;top:100px}.large-copy{font-size:clamp(28px,3.2vw,43px);line-height:1.15;letter-spacing:-1.8px}.body-copy p{font-size:17px;color:var(--muted)}
.pain-grid,.outcome-grid,.deliverable-grid,.technology-grid,.industry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.info-card{border:1px solid var(--line);border-radius:20px;padding:24px;min-height:175px;background:rgba(255,255,255,.02)}.info-card span{font-size:10px;color:var(--teal)}.info-card h3{font-size:19px;margin:24px 0 0}.info-card p{font-size:13px;color:var(--muted)}
.deliverable-grid{grid-template-columns:repeat(3,1fr)}.deliverable-card{min-height:210px;padding:26px;border-radius:20px;background:var(--paper);color:#141a20;display:flex;flex-direction:column}.deliverable-card span{font-size:10px;color:#55717d}.deliverable-card h3{font-size:20px;margin:auto 0 0}
.timeline{border-top:1px solid var(--line)}.timeline-row{display:grid;grid-template-columns:70px 1fr 1.2fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line);align-items:center}.timeline-row span{font-size:11px;color:var(--teal)}.timeline-row strong{font-size:20px}.timeline-row p{margin:0;color:var(--muted);font-size:13px}
.tech-list{display:flex;flex-wrap:wrap;gap:10px}.tech-list span{padding:11px 15px;border:1px solid var(--line);border-radius:999px;font-size:11px;color:#c3cdd6}
.faq{max-width:900px}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-q{width:100%;display:flex;justify-content:space-between;gap:20px;text-align:left;background:none;border:0;padding:23px 0;cursor:pointer;font-size:17px}.faq-q b{font-weight:400}.faq-a{max-height:0;overflow:hidden;transition:max-height .35s}.faq-a p{color:var(--muted);padding:0 45px 22px 0;margin:0}.faq-item.open .faq-a{max-height:220px}.faq-item.open .faq-q i{transform:rotate(45deg)}.faq-q i{font-style:normal;transition:.25s}
.service-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-link-card{padding:22px;border:1px solid var(--line);border-radius:18px;min-height:135px;display:flex;flex-direction:column;justify-content:space-between;transition:.25s}.service-link-card:hover{background:var(--panel);transform:translateY(-4px)}.service-link-card small{color:var(--teal)}.service-link-card strong{font-size:16px}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:55px 25px}.portfolio-card .case-media{height:430px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:40px}.filter-row button{border:1px solid var(--line);background:none;padding:10px 16px;border-radius:999px;font-size:11px;cursor:pointer}.filter-row button.active{background:var(--paper);color:#10161d}.portfolio-card.hidden{display:none}
.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.metric{border:1px solid var(--line);border-radius:20px;padding:28px}.metric strong{font-size:44px;line-height:1;display:block}.metric span{font-size:11px;color:var(--muted)}
.quote{padding:55px;border-left:2px solid var(--teal);background:rgba(255,255,255,.02);font-size:30px;line-height:1.3;letter-spacing:-1px}
.article{max-width:820px}.article h2{font-size:40px;margin-top:55px}.article h3{font-size:26px;margin-top:38px}.article p,.article li{color:#b6c0ca;font-size:17px}.article img{border-radius:22px;margin:35px 0}.article .pull{font-size:28px;color:white;border-left:2px solid var(--teal);padding-left:25px;margin:38px 0}
.lab-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.lab-card{min-height:340px;border:1px solid var(--line);border-radius:var(--radius);padding:28px;display:flex;flex-direction:column;background:radial-gradient(circle at 90% 10%,rgba(184,74,240,.17),transparent 38%),var(--panel);transition:.3s}.lab-card:hover{transform:translateY(-5px)}.lab-card span{font-size:10px;color:var(--teal)}.lab-card h3{font-size:31px;margin:auto 0 10px}.lab-card p{color:var(--muted);font-size:14px}
.game-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:60px;align-items:start}.game-panel{border:1px solid var(--line);border-radius:var(--radius);padding:35px;background:var(--panel)}.game-progress{height:6px;border-radius:999px;background:#293541;overflow:hidden;margin-bottom:28px}.game-progress i{display:block;height:100%;width:10%;background:var(--grad);transition:.3s}.question h2{font-size:34px}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice{border:1px solid var(--line);background:#0d141c;border-radius:16px;padding:18px;text-align:left;cursor:pointer;transition:.2s}.choice:hover,.choice.selected{border-color:var(--teal);background:rgba(53,228,197,.07)}.result-box{display:none}.result-box.show{display:block}.score-ring{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;margin:10px auto 30px;background:conic-gradient(var(--teal) var(--score,70%),#26313b 0);position:relative}.score-ring:after{content:"";position:absolute;inset:13px;border-radius:50%;background:var(--panel)}.score-ring strong{position:relative;z-index:2;font-size:43px}
.scope-options{display:grid;gap:10px}.scope-option{display:flex;align-items:center;gap:12px;padding:15px;border:1px solid var(--line);border-radius:14px;cursor:pointer}.scope-option input{accent-color:var(--teal)}.estimate{font-size:48px;font-weight:800;letter-spacing:-2px}
.trait-pair{display:grid;grid-template-columns:1fr 1fr;gap:16px}.trait-card{min-height:220px;border:1px solid var(--line);border-radius:22px;padding:25px;display:flex;align-items:end;font-size:25px;font-weight:800;cursor:pointer;background:linear-gradient(145deg,rgba(53,228,197,.09),rgba(184,74,240,.1));transition:.25s}.trait-card:hover{transform:scale(1.02);border-color:var(--teal)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:block;font-size:11px;color:#c7d0d8}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;margin-top:8px;background:#0d141b;border:1px solid var(--line);border-radius:14px;color:white;padding:14px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--teal)}
.project-summary{white-space:pre-wrap;background:#0b1118;border:1px solid var(--line);padding:25px;border-radius:18px;color:#c7d0d8;font-family:ui-monospace,monospace;font-size:12px;min-height:250px}
.footer{border-top:1px solid var(--line);background:#070b10;padding:75px 0 30px}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(3,.7fr);gap:40px}.footer-brand p{color:var(--muted);max-width:380px;margin-top:25px}.footer-col strong{display:block;color:#778592;text-transform:uppercase;letter-spacing:1.8px;font-size:10px;margin-bottom:15px}.footer-col a{display:block;color:#c4cdd5;font-size:13px;margin:8px 0}.footer-bottom{border-top:1px solid var(--line);margin-top:60px;padding-top:24px;display:flex;justify-content:space-between;gap:20px;color:#6f7d89;font-size:10px}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .78s ease,transform .78s ease}.reveal.in{opacity:1;transform:none}
.page-transition{position:fixed;inset:0;background:var(--ink);z-index:300;transform:translateY(-100%);pointer-events:none}.page-transition.enter{animation:curtain .7s ease}.page-transition.leave{transform:translateY(100%);transition:.5s}
@keyframes curtain{0%{transform:translateY(0)}100%{transform:translateY(-100%)}}
.cursor-dot,.cursor-ring{position:fixed;left:0;top:0;pointer-events:none;z-index:250;border-radius:50%;display:none}.cursor-dot{width:5px;height:5px;background:var(--teal)}.cursor-ring{width:34px;height:34px;border:1px solid rgba(53,228,197,.45);transition:width .2s,height .2s}
.media-credit{font-size:10px;color:#667582;margin-top:8px}
@media(pointer:fine){.cursor-dot,.cursor-ring{display:block}}
@media(max-width:980px){
 .main-nav{position:absolute;left:0;right:0;top:84px;display:none;flex-direction:column;align-items:stretch;background:#0e161f;border:1px solid var(--line);padding:22px;border-radius:20px}.main-nav.open{display:flex}.menu-toggle{display:block}.nav-group{display:none}
 .hero-grid,.service-overview,.system-lab,.game-shell{grid-template-columns:1fr}.hero-media{height:500px}.trust-strip{grid-template-columns:repeat(3,1fr);gap:18px;padding:25px}.trust-strip>span{grid-column:1/-1;text-align:center}
 .process-grid{grid-template-columns:repeat(2,1fr)}.process-step{border-bottom:1px solid var(--line)}.insight-grid{grid-template-columns:1fr 1fr}.insight-card:first-child{grid-column:1/-1}
 .deliverable-grid{grid-template-columns:repeat(2,1fr)}.service-nav{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.sticky{position:static}
}
@media(max-width:680px){
 .shell{width:min(var(--max),calc(100% - 26px))}.site-header{height:85px}h1{font-size:50px;letter-spacing:-3px}h2{letter-spacing:-2.2px}.section{padding:85px 0}.hero{min-height:auto}.hero-grid{padding-top:55px}.hero-media{height:400px}.float-chip{display:none}
 .trust-strip{grid-template-columns:repeat(2,1fr)}.category-grid,.case-grid,.pain-grid,.outcome-grid,.deliverable-grid,.technology-grid,.industry-grid,.portfolio-grid,.lab-grid,.metrics,.form-grid,.choice-grid,.trait-pair{grid-template-columns:1fr}.case-card:nth-child(even){margin-top:0}.case-media,.portfolio-card .case-media{height:350px}.section-head.wide{display:block}.kicker-link{display:inline-block;margin-top:12px}.process-grid{grid-template-columns:1fr}.process-step{min-height:220px}.insight-grid{grid-template-columns:1fr}.insight-card:first-child{grid-column:auto}.cta-band{padding:38px 25px;display:block}.cta-band .btn{margin-top:25px}
 .page-hero-inner{padding-top:55px}.page-hero-media{height:350px}.timeline-row{grid-template-columns:45px 1fr}.timeline-row p{grid-column:2}.service-nav{grid-template-columns:1fr}.quote{padding:32px;font-size:23px}.footer-grid{grid-template-columns:1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:6px}.field.full{grid-column:auto}
}
@media(prefers-reduced-motion:reduce){
 *,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}.cursor-dot,.cursor-ring{display:none!important}
}

/* Full-project extensions: service themes, animated technical hero and interactive labs */
.dark-panel{background:var(--ink-2);border-block:1px solid var(--line)}
.service-page .page-hero-media{isolation:isolate}
.service-page .page-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 35%,rgba(5,10,15,.78)),linear-gradient(120deg,rgba(53,228,197,.12),rgba(184,74,240,.12));z-index:1}
.service-signal{position:absolute;z-index:3;inset:0;display:grid;place-items:center;pointer-events:none;overflow:hidden}
.service-signal i{position:absolute;width:120px;height:120px;border:1px solid rgba(255,255,255,.35);border-radius:50%;animation:signal 4.8s ease-out infinite}
.service-signal i:nth-child(2){animation-delay:1.6s}.service-signal i:nth-child(3){animation-delay:3.2s}
.service-signal strong{position:absolute;right:22px;bottom:22px;padding:10px 13px;border:1px solid var(--line);border-radius:999px;background:rgba(8,13,19,.74);backdrop-filter:blur(12px);font-size:9px;text-transform:uppercase;letter-spacing:1.7px}
@keyframes signal{0%{transform:scale(.25);opacity:.85}90%,100%{transform:scale(5);opacity:0}}
.service-brand{--service-accent:#ef5ba9}.service-web{--service-accent:#35e4c5}.service-marketing{--service-accent:#40bff2}.service-software{--service-accent:#b84af0}
.service-page .page-hero .eyebrow:before,.service-page .service-context .eyebrow:before{background:linear-gradient(90deg,var(--service-accent,var(--teal)),var(--cyan))}
.service-related-work .case-card p{color:#5c6670}.service-engagement .info-card p{margin-top:13px}
.lab-grid{grid-template-columns:repeat(3,1fr)}
.ecosystem-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
.ecosystem-option{padding:15px;border-radius:15px;border:1px solid var(--line);background:#0d141c;text-align:left;cursor:pointer;transition:.22s}
.ecosystem-option:hover,.ecosystem-option.active{border-color:var(--teal);background:rgba(53,228,197,.08);transform:translateY(-2px)}
.ecosystem-map{position:relative;height:500px;border:1px solid var(--line);border-radius:22px;background:radial-gradient(circle at center,rgba(64,191,242,.14),transparent 33%),#0b1219;overflow:hidden}
.system-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:125px;height:125px;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:850;background:var(--grad);color:#07110f;box-shadow:0 0 55px rgba(53,228,197,.18);z-index:3}
.system-node{position:absolute;display:grid;place-items:center;min-width:88px;min-height:48px;padding:10px 13px;border:1px solid var(--line);border-radius:15px;background:#131e29;color:#6f7d89;font-size:11px;transition:.35s;opacity:.48}
.system-node.active{opacity:1;color:white;border-color:var(--teal);box-shadow:0 0 30px rgba(53,228,197,.15);transform:scale(1.05)}
.system-node.active:after{content:"";position:absolute;width:150px;height:1px;background:linear-gradient(90deg,var(--teal),transparent);transform-origin:left center;z-index:-1}
.n-brand{left:8%;top:10%}.n-brand.active:after{transform:rotate(29deg)}.n-website{left:40%;top:5%}.n-website.active:after{transform:rotate(81deg)}.n-commerce{right:6%;top:14%}.n-commerce.active:after{right:50%;transform:rotate(151deg)}.n-search{right:3%;top:47%}.n-search.active:after{right:50%;transform:rotate(180deg)}.n-content{right:8%;bottom:10%}.n-content.active:after{right:50%;transform:rotate(209deg)}.n-paid{left:40%;bottom:5%}.n-paid.active:after{transform:rotate(272deg)}.n-email{left:7%;bottom:12%}.n-email.active:after{transform:rotate(330deg)}.n-data{left:2%;top:47%}.n-data.active:after{transform:rotate(0deg)}
.ecosystem-result{padding:22px 4px 0}.ecosystem-result strong{font-size:20px}.ecosystem-result p{color:var(--muted);font-size:13px;margin-top:8px}
.recommendation-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}.recommendation-tags span,.recommendation-tags a{padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:10px;background:rgba(255,255,255,.025)}
.sound-toggle{border:1px solid var(--line);border-radius:999px;padding:9px 13px;background:rgba(255,255,255,.03);font-size:10px;cursor:pointer}.sound-toggle[aria-pressed="true"]{border-color:var(--teal);color:var(--teal)}
.challenge-stage h2{font-size:34px}.challenge-copy{color:var(--muted);margin-bottom:22px}.challenge-options{display:grid;grid-template-columns:1fr 1fr;gap:15px}.challenge-card{border:1px solid var(--line);border-radius:20px;padding:22px;background:#0d141c;cursor:pointer;min-height:230px;text-align:left;transition:.25s}.challenge-card:hover{border-color:var(--teal);transform:translateY(-3px)}.challenge-card strong{display:block;font-size:19px;margin-bottom:12px}.challenge-card p{font-size:13px;color:var(--muted)}
.load-demo{margin-top:20px}.load-track{height:10px;border-radius:999px;background:#27333e;overflow:hidden;margin:10px 0}.load-track i{display:block;height:100%;width:0;background:var(--grad)}.challenge-card.slow .load-track i{animation:loadSlow 3.6s linear forwards}.challenge-card.fast .load-track i{animation:loadFast .85s ease-out forwards}@keyframes loadSlow{to{width:100%}}@keyframes loadFast{to{width:100%}}
.nav-sim{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.nav-sim span{font-size:10px;padding:7px 9px;border:1px solid var(--line);border-radius:999px}.nav-sim.clear span:nth-child(3){border-color:var(--teal)}
.cta-sim{margin-top:22px;display:inline-flex;padding:12px 16px;border-radius:999px;border:1px solid var(--line);font-size:12px}.cta-sim.specific{background:var(--grad);color:#07110f;border:0}
.needs-summary{padding:18px;border:1px solid var(--line);border-radius:18px;background:#0d141c;margin-top:18px}
.cms-note{border:1px solid var(--line);border-radius:18px;padding:20px;background:rgba(255,255,255,.025)}
@media(max-width:980px){.ecosystem-builder{grid-template-columns:1fr}.ecosystem-map{height:450px}}
@media(max-width:680px){.ecosystem-options,.challenge-options{grid-template-columns:1fr}.ecosystem-map{height:430px}.system-node{min-width:72px;font-size:9px}.system-core{width:100px;height:100px}.challenge-card{min-height:190px}}
@media(prefers-reduced-motion:reduce){.service-signal i,.load-track i{animation:none!important}.load-track i{width:100%}}
