/* Layout: long scrolling homepage. Sticky nav, full-width intro, the tool cube centre stage, then layered service panels, catalogue, process, trust and contact. Single dark look (Deep Teal & Copper). */
:root{
  --forest:#0A1F15; --deep:#0F2E20; --fg:#F6F2E4; --muted:#A9BBA9; --emerald:#14A863; --ivory:#FBF8EE; --gold:#E0B23A;
  --glass:rgba(200,230,205,.07); --line:rgba(200,230,205,.15);
  --f-display:"Red Hat Display",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-body:"Red Hat Text",system-ui,-apple-system,"Segoe UI",sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--forest);color:var(--fg);font-family:var(--f-body);font-size:16px;line-height:1.6}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--forest)}
.in{max-width:1200px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
a{color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.kicker{font-family:var(--f-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
h2.h{font-family:var(--f-display);font-weight:900;font-size:clamp(28px,4vw,46px);line-height:1.05;letter-spacing:-.02em;margin:10px 0 14px;text-wrap:balance}
.lead{color:var(--muted);max-width:60ch;margin:0}
section{padding-block:96px}
.btn{display:inline-block;text-decoration:none;font-weight:600;font-size:15px;padding:13px 22px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-family:var(--f-body)}
.btn.pri{background:var(--gold);color:var(--forest)}
.btn.sec{background:var(--glass);border-color:var(--line);color:var(--fg);backdrop-filter:blur(10px)}

/* nav */
.nav{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;background:color-mix(in srgb,var(--forest) 78%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .in{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px}
.lockup{display:flex;align-items:center;gap:10px;text-decoration:none;min-width:0}
.lockup svg{width:38px;height:auto;flex:none}
.lockup img.brand{width:auto;height:54px}
.word{font-family:var(--f-display);font-size:19px;line-height:1;letter-spacing:-.01em}
.word b{font-weight:900}.word span{font-weight:500;opacity:.75}
.links{display:flex;gap:24px;font-size:14.5px}
.links a{text-decoration:none;color:var(--muted)}
.links a:hover{color:var(--fg)}
@media (max-width:900px){.links{display:none}}
@media (max-width:420px){.nav .btn{display:none}}

/* tabs */
.view[hidden]{display:none}
section{scroll-margin-top:84px}
@media (max-width:900px){section{scroll-margin-top:112px}}
.view{animation:viewIn .35s ease both}
@keyframes viewIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.view{animation:none}}
.page-sec{padding-block:72px}
.view>.page-sec:first-child{padding-top:64px}
.links a{display:inline-flex;align-items:center;gap:6px;padding:6px 2px;border-bottom:2px solid transparent}
.links a svg{width:16px;height:16px}
.links a[aria-current="page"]{color:var(--fg);border-bottom-color:var(--gold)}
@media (max-width:900px){
  .nav .in{flex-wrap:wrap;row-gap:4px}
  .links{display:flex;order:3;width:100%;overflow-x:auto;gap:20px;scrollbar-width:none;padding-bottom:2px}
  .links::-webkit-scrollbar{display:none}
  .links a{white-space:nowrap;flex:none}
}
.foot-links{display:flex;flex-wrap:wrap;gap:18px}
.foot-links a{color:var(--muted);text-decoration:none}.foot-links a:hover{color:var(--fg)}
/* about + how we work */
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:36px}
.facts div{background:var(--glass);border:1px solid var(--line);border-radius:16px;padding:22px}
.facts b{display:block;font-family:var(--f-display);font-weight:900;font-size:clamp(30px,4vw,42px);color:var(--gold);line-height:1}
.facts span{display:block;color:var(--muted);margin-top:8px;font-size:14.5px}
.story{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:48px}
.story h3{font-family:var(--f-display);font-size:22px;margin:0 0 12px}
.story p{color:var(--muted);margin:0 0 12px}
.values{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.values li{color:var(--muted);padding-left:18px;position:relative}
.values li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:2px;background:var(--emerald)}
.values b{color:var(--fg)}
.stage-list{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.stage-list li{background:var(--glass);border:1px solid var(--line);border-radius:14px;padding:18px}
.stage-list .n{font-family:var(--f-mono);font-size:12px;color:var(--gold);letter-spacing:.1em}
.stage-list h4{margin:6px 0;font-size:16px}
.stage-list p{margin:0;color:var(--muted);font-size:13.5px}
.lead a{color:var(--gold)}
.client-box{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;background:var(--glass);border:1px solid var(--line);border-radius:18px;padding:28px}
.client-box h3{font-family:var(--f-display);font-size:22px;margin:6px 0}
.client-box p{margin:0;color:var(--muted)}
.soon{opacity:.7;cursor:default}
.mail{color:var(--muted);margin-top:18px;font-size:14.5px}.mail a{color:var(--gold)}
@media (max-width:900px){.stage-list{grid-template-columns:repeat(2,minmax(0,1fr))}.story{grid-template-columns:1fr;gap:28px}}
@media (max-width:560px){.facts,.stage-list{grid-template-columns:1fr}}

.banner{position:relative;padding-block:56px 44px;border-bottom:1px solid var(--line);background:radial-gradient(60% 120% at 50% 0%,rgba(20,168,99,.22),transparent 70%)}
.banner::after{content:"";position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);width:min(320px,60%);height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.banner .in{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.banner-logo{display:block;height:clamp(84px,14vw,150px);width:auto;max-width:100%}
.banner-tag{margin:0;font-family:var(--f-mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
/* intro */
.intro{position:relative;overflow:hidden;padding-block:72px 64px;border-bottom:1px solid var(--line)}
.intro::before{content:"";position:absolute;inset:0;background:radial-gradient(50% 80% at 85% 20%,rgba(20,168,99,.32),transparent 70%),radial-gradient(40% 60% at 10% 100%,rgba(224,178,58,.12),transparent 70%);pointer-events:none}
.intro .in{position:relative;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:40px;align-items:center}
.intro h1{font-family:var(--f-display);font-weight:900;font-size:clamp(36px,6vw,74px);line-height:.98;letter-spacing:-.03em;margin:14px 0 18px;text-wrap:balance}
.intro h1 em{font-style:normal;color:var(--gold)}
.intro p{color:var(--muted);font-size:18px;max-width:52ch;margin:0 0 26px}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.cards{position:relative;display:flex;flex-direction:column;gap:14px}
.float{padding:16px 18px;border-radius:14px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 24px 60px -24px rgba(0,0,0,.6);animation:bob 7s ease-in-out infinite;max-width:300px}
.float b{display:block;font-family:var(--f-display);font-size:16px}
.float span{color:var(--muted);font-size:14px}
.float:nth-child(1){margin-left:18%}
.float:nth-child(2){margin-left:0;animation-delay:-2.3s}
.float:nth-child(3){margin-left:30%;animation-delay:-4.6s}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:7px;box-shadow:0 0 12px var(--gold);vertical-align:1px}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@media (max-width:860px){.intro .in{grid-template-columns:1fr}.float:nth-child(n){margin-left:0}}

/* cube */
.toolkit{text-align:center;padding-bottom:40px}
.toolkit .lead{margin:0 auto}
.stage{position:relative;margin-top:28px;height:620px;border-radius:20px;background:radial-gradient(55% 55% at 50% 50%,rgba(20,168,99,.22),transparent 72%)}
.stage canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:pointer}
.info{position:absolute;right:16px;top:50%;transform:translateY(-50%);width:min(340px,40%);text-align:left;padding:22px;border-radius:16px;background:rgba(15,46,32,.62);border:1px solid var(--line);backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);box-shadow:0 30px 70px -30px rgba(0,0,0,.7);transition:opacity .5s,transform .5s}
.info.idle{opacity:.85}
.info .cat{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.info h3{font-family:var(--f-display);font-weight:900;font-size:26px;line-height:1.1;margin:8px 0 10px}
.info p{color:var(--muted);font-size:14.5px;margin:0 0 12px}
.info ul{margin:0 0 16px;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}
.info li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:1px;background:var(--emerald);margin-right:9px;vertical-align:2px}
.info .meth{font-size:13px;color:var(--muted)}
.info .meth b{color:var(--fg)}
.info .btn{padding:10px 16px;font-size:14px}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:18px}
.chip{font:500 13.5px var(--f-body);padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--fg);cursor:pointer}
.chip[aria-pressed="true"]{border-color:var(--gold);color:var(--gold)}
.fallback{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;align-content:center;padding:24px;max-width:640px;margin:0 auto}
.fallback div{aspect-ratio:1/1;max-width:100%;border-radius:10px;display:flex;align-items:flex-end;padding:12px;font-family:var(--f-display);font-weight:700;font-size:14px;text-align:left}
@media (max-width:860px){
  .stage{height:auto;display:flex;flex-direction:column}
  .stage canvas{position:relative;height:420px}
  .info{position:relative;right:auto;top:auto;transform:none;width:auto;margin-top:8px}
  .fallback{position:relative;grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* services: layered floating panels */
.layers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px;perspective:1200px}
.layer{padding:24px;border-radius:16px;background:linear-gradient(160deg,rgba(20,168,99,.16),rgba(15,46,32,.6));border:1px solid var(--line);box-shadow:0 30px 60px -30px rgba(0,0,0,.7);transition:transform .4s;min-width:0}
.layer:nth-child(2){transform:translateY(28px)}
.layer:nth-child(3){transform:translateY(8px)}
.layer:nth-child(4){transform:translateY(40px)}
.layer:hover{transform:translateY(-8px) rotateX(4deg)}
.layer .n{font-family:var(--f-mono);font-size:12px;color:var(--gold)}
.layer h3{font-family:var(--f-display);font-size:21px;font-weight:700;margin:10px 0 8px}
.layer p{color:var(--muted);font-size:14.5px;margin:0}
@media (max-width:900px){.layers{grid-template-columns:repeat(2,minmax(0,1fr))}.layer:nth-child(n){transform:none}}
@media (max-width:520px){.layers{grid-template-columns:1fr}}

/* catalogue */
.cat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:40px;perspective:1100px}
.prod{position:relative;border-radius:18px;border:1px solid var(--line);background:var(--deep);transform-style:preserve-3d;transition:transform .25s ease-out,box-shadow .25s;overflow:hidden;min-width:0;display:flex;flex-direction:column;cursor:pointer;box-shadow:0 30px 60px -35px rgba(0,0,0,.8)}
.prod:hover{box-shadow:0 40px 80px -30px rgba(0,0,0,.9)}
.prod::after{content:"";position:absolute;inset:0;background:radial-gradient(40% 60% at var(--gx,80%) var(--gy,0%),rgba(224,178,58,.16),transparent 70%);pointer-events:none}
.viz{aspect-ratio:16/9;max-width:100%;background:radial-gradient(70% 90% at 50% 100%,rgba(20,168,99,.28),transparent 70%),#0C2619;border-bottom:1px solid var(--line);display:block}
.viz svg{width:100%;height:100%;display:block}
.prod .pb{padding:22px 24px 24px;display:flex;flex-direction:column;gap:8px;transform:translateZ(24px)}
.prod .row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.prod .tag{font-family:var(--f-mono);font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.beta{font-family:var(--f-mono);font-size:11px;letter-spacing:.06em;padding:3px 9px;border-radius:999px;border:1px solid var(--gold);color:var(--gold)}
.prod h3{font-family:var(--f-display);font-size:28px;font-weight:900;margin:0;line-height:1.05}
.prod .tl{color:var(--fg);margin:0;font-weight:500}
.prod p.d{color:var(--muted);margin:0;font-size:14.5px}
.prod .acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}
.prod .acts .btn{padding:10px 16px;font-size:14px}
@media (max-width:760px){.cat-grid{grid-template-columns:1fr}}
@keyframes orbit{to{transform:rotate(360deg)}}
@keyframes pulse{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes rise{from{transform:scaleY(.2)}to{transform:scaleY(1)}}
.orbit{transform-origin:170px 100px;animation:orbit 18s linear infinite}
.orbit .counter{transform-box:fill-box;transform-origin:center;animation:orbit 18s linear infinite reverse}
.glow{animation:pulse 3s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.orbit,.orbit .counter,.glow{animation:none}}

/* product overlay */
.ov[hidden]{display:none}
.ov{position:fixed;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));background:rgba(4,16,10,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.ov-panel{position:relative;width:min(860px,100%);max-height:100%;overflow:auto;border-radius:20px;background:rgba(15,46,32,.92);border:1px solid var(--line);box-shadow:0 50px 120px -40px rgba(0,0,0,.9);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ov-panel .viz{aspect-ratio:auto;min-height:100%;border-bottom:0;border-right:1px solid var(--line)}
.ov-body{padding:28px;display:flex;flex-direction:column;gap:10px}
.ov-body h3{font-family:var(--f-display);font-size:30px;font-weight:900;margin:0;line-height:1.05}
.ov-body p{color:var(--muted);margin:0;font-size:14.5px}
.ov-body ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px;font-size:14px}
.ov-body li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:1px;background:var(--emerald);margin-right:9px;vertical-align:2px}
.ov-close{position:absolute;top:10px;right:10px;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:var(--glass);color:var(--fg);font-size:18px;cursor:pointer;z-index:2}
@media (max-width:760px){.ov-panel{grid-template-columns:1fr}.ov-panel .viz{aspect-ratio:16/9;min-height:0;border-right:0;border-bottom:1px solid var(--line)}}

/* packages */
.pk-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}
.cur{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--muted)}
.cur select{width:auto;padding:7px 10px;font-size:14px}
.pkgs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:40px;align-items:center}
.pkg{padding:28px;border-radius:18px;border:1px solid var(--line);background:var(--deep);display:flex;flex-direction:column;gap:12px;min-width:0}
.pkg.hi{border-color:var(--gold);background:linear-gradient(170deg,rgba(224,178,58,.14),rgba(15,46,32,.9) 45%);transform:translateY(-14px);box-shadow:0 40px 80px -40px rgba(224,178,58,.45);padding-block:38px}
.pkg .pill{align-self:flex-start;font-family:var(--f-mono);font-size:11px;padding:3px 9px;border-radius:999px;background:var(--gold);color:var(--forest)}
.pkg h3{font-family:var(--f-display);font-size:26px;font-weight:900;margin:0}
.pkg .for{color:var(--muted);font-size:14px;margin:0}
.pkg .price{font-family:var(--f-display);font-size:20px;font-weight:700;border-block:1px solid var(--line);padding-block:12px}
.pkg .price small{display:block;font-family:var(--f-mono);font-size:11.5px;font-weight:400;color:var(--muted)}
.pkg ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:7px;font-size:14px}
.pkg li::before{content:"";display:inline-block;width:6px;height:6px;border-radius:1px;background:var(--emerald);margin-right:9px;vertical-align:2px}
.pkg .btn{text-align:center;margin-top:6px}
@media (max-width:900px){.pkgs{grid-template-columns:1fr}.pkg.hi{transform:none}}

/* process */
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:40px;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.step{padding:28px;border-right:1px solid var(--line);min-width:0}
.step:last-child{border-right:0}
.step .n{font-family:var(--f-display);font-weight:900;font-size:44px;color:var(--emerald);line-height:1}
.step h3{font-family:var(--f-display);font-size:20px;margin:12px 0 6px}
.step p{color:var(--muted);margin:0;font-size:15px}
@media (max-width:760px){.steps{grid-template-columns:1fr}.step{border-right:0;border-bottom:1px solid var(--line)}.step:last-child{border-bottom:0}}

/* trust */
.trust{background:var(--deep);border-block:1px solid var(--line)}
.trust .in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:center}
.track{display:flex;flex-direction:column;gap:12px}
.track div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:14px;align-items:center;font-size:14.5px}
.track span{font-family:var(--f-mono);font-size:12px;color:var(--muted)}
.bar{height:8px;border-radius:4px;background:rgba(200,230,205,.12);overflow:hidden}
.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--emerald),var(--gold))}
@media (max-width:760px){.trust .in{grid-template-columns:1fr}}

/* contact */
.contact .in{position:relative}
.cta-box{position:relative;overflow:hidden;border-radius:22px;padding:48px;border:1px solid var(--line);background:radial-gradient(60% 90% at 100% 0%,rgba(20,168,99,.35),transparent 70%),var(--deep);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}
form{display:flex;flex-direction:column;gap:10px;padding:22px;border-radius:14px;background:var(--glass);border:1px solid var(--line);backdrop-filter:blur(12px)}
label{font-size:13px;color:var(--muted)}
input,textarea,select{font:inherit;font-size:15px;color:var(--fg);background:rgba(10,31,21,.6);border:1px solid var(--line);border-radius:8px;padding:10px 12px;width:100%}
.sent{color:var(--gold);font-size:14px;min-height:1.4em;margin:0}
@media (max-width:760px){.cta-box{grid-template-columns:1fr;padding:24px}}
#maze-bg,#maze-mouse{position:fixed;top:0;left:0;pointer-events:none;z-index:0}
main,footer{position:relative;z-index:1}
footer{padding-block:32px;border-top:1px solid var(--line);color:var(--muted);font-size:13.5px}
footer .in{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}
@media (prefers-reduced-motion:reduce){.float{animation:none}html{scroll-behavior:auto}}
/* live site additions */
.sent.err{color:#F2A08A}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.controls{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.controls li{background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14.5px;color:var(--muted)}
.controls b{display:block;font-family:var(--f-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
@media (max-width:520px){.controls{grid-template-columns:1fr}}
.soon-page{min-height:60vh;display:flex;align-items:center}
.soon-page .btns{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
