*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --bg:#060609;--bg2:#0b0b12;--bg3:#111119;
  --surface:#1a1a24;--surface2:#222230;--surface3:#2a2a38;
  --text:#f2f2f7;--text2:#8e8eaa;--text3:#55556e;
  --blue:#3d7eff;--violet:#7c3aed;--purple:#a855f7;
  --emerald:#10b981;--cyan:#06b6d4;--amber:#f59e0b;--rose:#f43f5e;--orange:#f97316;
  --border:rgba(255,255,255,.06);--border2:rgba(255,255,255,.10);--border3:rgba(255,255,255,.16);
  --font:'Figtree',sans-serif;--display:'Bricolage Grotesque',sans-serif;--mono:'Fira Code',monospace;
}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body.page-template-template-request-quote-page{font-family:var(--font);background:var(--bg);color:var(--text);overflow-x:hidden;line-height:1.6}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block;object-fit:cover}
button{font-family:inherit;cursor:pointer;border:none;outline:none;background:none}
input,textarea,select{font-family:inherit}
.container{max-width:1240px;margin:0 auto;padding:0 36px}

/* noise overlay */
body.page-template-template-request-quote-page::after{content:'';position:fixed;inset:0;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.016'/%3E%3C/svg%3E");pointer-events:none;z-index:9999}
::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(var(--blue),var(--violet));border-radius:2px}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes pulse{0%,100%{opacity:.25}50%{opacity:1}}
@keyframes morphBlob{0%,100%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes glow{0%,100%{box-shadow:0 0 20px rgba(61,126,255,.15)}50%{box-shadow:0 0 40px rgba(61,126,255,.35)}}
@keyframes codeScroll{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
@keyframes progressIn{from{width:0}to{width:var(--w)}}
@keyframes countUp{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}

.reveal{opacity:0;transform:translateY(22px);transition:all .8s cubic-bezier(.16,1,.3,1)}
.reveal.vis{opacity:1;transform:translateY(0)}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}.d4{transition-delay:.28s}.d5{transition-delay:.35s}.d6{transition-delay:.42s}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;transition:all .4s}
.nav.scrolled{background:rgba(6,6,9,.95);backdrop-filter:blur(28px) saturate(1.6);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.3px}
.logo-ic{width:32px;height:32px;border-radius:8px;background:linear-gradient(135deg,var(--blue),var(--violet));display:grid;place-items:center;font-size:15px;font-weight:900;color:#fff;flex-shrink:0;position:relative;overflow:hidden}
.logo-ic::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.18))}
.nav-crumb{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;color:var(--text3)}
.nc-sep{opacity:.4}.nc-cur{color:var(--blue)}
.nav-links{display:flex;align-items:center;gap:4px}
.nav-link{padding:7px 14px;font-size:13px;font-weight:500;color:var(--text3);border-radius:8px;transition:all .2s}
.nav-link:hover{color:var(--text);background:rgba(255,255,255,.04)}
.nav-right{display:flex;align-items:center;gap:10px}
.btn-ghost{padding:7px 18px;font-size:13px;font-weight:500;color:var(--text2);border-radius:50px;border:1px solid var(--border);transition:all .3s}
.btn-ghost:hover{color:var(--text);border-color:var(--border2)}
.btn-cta{padding:9px 22px;font-size:13px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));border-radius:50px;transition:all .3s;position:relative;overflow:hidden}
.btn-cta::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--violet),var(--purple));opacity:0;transition:.3s}
.btn-cta:hover::after{opacity:1}
.btn-cta:hover{transform:translateY(-1px);box-shadow:0 6px 22px rgba(61,126,255,.4)}
.btn-cta span{position:relative;z-index:1}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;align-items:center;padding:80px 0 60px;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0}
.hb-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:60px 60px}
.hb-dots{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1px);background-size:60px 60px;background-position:30px 30px}
.hb-fade{position:absolute;inset:0;background:radial-gradient(ellipse 88% 75% at 50% 50%,transparent 15%,var(--bg) 72%)}
.hb-orb1{position:absolute;width:900px;height:900px;border-radius:50%;background:radial-gradient(circle,rgba(124,58,237,.15),transparent 68%);top:-300px;right:-200px;animation:morphBlob 24s ease-in-out infinite}
.hb-orb2{position:absolute;width:700px;height:700px;border-radius:50%;background:radial-gradient(circle,rgba(61,126,255,.1),transparent 68%);bottom:-250px;left:-200px;animation:morphBlob 30s ease-in-out infinite reverse}
.hb-line{position:absolute;left:0;right:0;height:1px;top:48%;background:linear-gradient(90deg,transparent,rgba(124,58,237,.3) 30%,rgba(61,126,255,.2) 65%,transparent)}

.hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;position:relative;z-index:2}

/* Hero left */
.h-eyebrow{display:flex;align-items:center;gap:8px;margin-bottom:20px;animation:fadeUp .5s ease both}
.h-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 13px 4px 7px;background:rgba(124,58,237,.08);border:1px solid rgba(124,58,237,.22);border-radius:50px;font-family:var(--mono);font-size:10px;color:#c084fc}
.h-badge-dot{width:6px;height:6px;border-radius:50%;background:#9333ea;animation:pulse 2s infinite}
.h-badge2{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.2);border-radius:50px;font-family:var(--mono);font-size:10px;color:var(--emerald)}
.hero h1{font-family:var(--display);font-size:clamp(42px,5.2vw,72px);font-weight:800;line-height:1.01;letter-spacing:-3px;margin-bottom:22px;animation:fadeUp .6s ease .06s both}
.h1-g1{background:linear-gradient(135deg,var(--text) 40%,rgba(242,242,247,.6));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.h1-g2{background:linear-gradient(125deg,#c084fc,var(--violet) 35%,var(--blue) 70%,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-sub{font-size:17px;color:var(--text2);line-height:1.78;max-width:500px;margin-bottom:34px;animation:fadeUp .6s ease .12s both}
.hero-cta{display:flex;align-items:center;gap:12px;margin-bottom:36px;animation:fadeUp .6s ease .18s both;flex-wrap:wrap}
.btn-hero-main{padding:15px 34px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));border-radius:50px;transition:all .3s;position:relative;overflow:hidden;cursor:pointer}
.btn-hero-main::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--violet),#c084fc);opacity:0;transition:.3s}
.btn-hero-main:hover::after{opacity:1}
.btn-hero-main:hover{transform:translateY(-2px);box-shadow:0 14px 42px rgba(61,126,255,.4)}
.btn-hero-main span{position:relative;z-index:1}
.btn-hero-ghost{padding:15px 28px;font-size:15px;font-weight:600;color:var(--text2);border:1px solid var(--border2);border-radius:50px;transition:all .3s;cursor:pointer}
.btn-hero-ghost:hover{border-color:rgba(124,58,237,.4);color:#c084fc;background:rgba(124,58,237,.04)}

.hero-proof{display:flex;align-items:center;gap:16px;animation:fadeUp .6s ease .24s both;flex-wrap:wrap}
.hp{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text3)}
.hp-ic{font-size:15px}
.hp strong{color:var(--text2);font-weight:600}
.hp-sep{width:1px;height:16px;background:var(--border2)}

/* Hero right — code terminal */
.hero-terminal{position:relative;animation:fadeIn .9s ease .2s both}
.ht-glow{position:absolute;inset:-40px;background:radial-gradient(ellipse at 50% 50%,rgba(124,58,237,.1),transparent 70%);pointer-events:none}
.terminal{background:#0d0d16;border:1px solid rgba(255,255,255,.1);border-radius:18px;overflow:hidden;box-shadow:0 52px 120px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.04),inset 0 1px 0 rgba(255,255,255,.07);position:relative;animation:glow 4s ease-in-out infinite}
.term-head{display:flex;align-items:center;gap:10px;padding:13px 18px;border-bottom:1px solid rgba(255,255,255,.06);background:rgba(255,255,255,.02)}
.term-dots{display:flex;gap:5px}
.td{width:10px;height:10px;border-radius:50%}
.td:nth-child(1){background:#ef4444}.td:nth-child(2){background:#f59e0b}.td:nth-child(3){background:#22c55e}
.term-tab{font-family:var(--mono);font-size:11px;color:var(--text2);margin-left:6px;display:flex;align-items:center;gap:6px}
.term-tab-dot{width:6px;height:6px;border-radius:50%;background:var(--violet);animation:pulse 2s infinite}
.term-lang{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--text3)}
.term-body{padding:20px;font-family:var(--mono);font-size:12.5px;line-height:1.9;max-height:420px;overflow:hidden;position:relative}
.term-body::after{content:'';position:absolute;bottom:0;left:0;right:0;height:80px;background:linear-gradient(to top,#0d0d16,transparent);pointer-events:none}
.term-scroll{animation:codeScroll 18s linear infinite}

/* Syntax colors */
.tc-kw{color:#c084fc}
.tc-fn{color:#60a5fa}
.tc-str{color:#6ee7b7}
.tc-num{color:#fbbf24}
.tc-cm{color:#55556e;font-style:italic}
.tc-cls{color:#f9a8d4}
.tc-op{color:#94a3b8}
.tc-pl{color:#fb923c}

/* Floating cards on terminal */
.tf-card1{position:absolute;top:-18px;left:-28px;background:var(--surface2);border:1px solid var(--border2);border-radius:12px;padding:10px 14px;font-family:var(--mono);font-size:10px;box-shadow:0 12px 30px rgba(0,0,0,.5);animation:float 5s ease-in-out infinite;z-index:10;min-width:180px}
.tfc-label{color:var(--text3);margin-bottom:3px}
.tfc-val{font-size:13px;font-weight:700;font-family:var(--display);letter-spacing:-.3px}
.tf-card2{position:absolute;bottom:-16px;right:-20px;background:var(--surface2);border:1px solid rgba(16,185,129,.22);border-radius:10px;padding:9px 13px;font-size:11px;box-shadow:0 10px 28px rgba(0,0,0,.5);animation:float 7s ease-in-out infinite reverse;z-index:10;display:flex;align-items:center;gap:8px}
.tfc2-dot{width:8px;height:8px;border-radius:50%;background:var(--emerald);animation:pulse 1.5s infinite;flex-shrink:0}

/* ── TICKER ── */
.ticker{background:var(--bg2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:10px 0;overflow:hidden;position:relative}
.ticker::before,.ticker::after{content:'';position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none}
.ticker::before{left:0;background:linear-gradient(90deg,var(--bg2),transparent)}
.ticker::after{right:0;background:linear-gradient(270deg,var(--bg2),transparent)}
.ticker-track{display:flex;gap:48px;animation:ticker 40s linear infinite;width:max-content}
.ti{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;font-weight:500;white-space:nowrap}
.ti-dot{width:5px;height:5px;border-radius:50%}
.ti-label{color:var(--text3)}
.ti-val{color:var(--text2)}
.ti-sep{color:var(--text3);opacity:.3}

/* ── SECTION LABELS ── */
.sec-eyebrow{font-family:var(--mono);font-size:10px;letter-spacing:3.5px;text-transform:uppercase;color:var(--blue);margin-bottom:12px;display:inline-flex;align-items:center;gap:8px}
.sec-eyebrow::before{content:'//';color:var(--violet);opacity:.6}
.sec-h{font-family:var(--display);font-size:clamp(30px,4vw,50px);font-weight:800;line-height:1.07;letter-spacing:-1.5px}
.grad{background:linear-gradient(125deg,#c084fc,var(--violet) 35%,var(--blue) 65%,#60a5fa);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.sec-sub{font-size:16px;color:var(--text2);line-height:1.75;max-width:560px}

/* ── SERVICES ── */
.services{padding:120px 0;background:var(--bg2)}
.services-header{text-align:center;margin-bottom:60px}
.svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.svc-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:36px;position:relative;overflow:hidden;transition:all .45s cubic-bezier(.16,1,.3,1);cursor:default}
.svc-card:hover{transform:translateY(-6px);box-shadow:0 32px 80px rgba(0,0,0,.4)}
.svc-card.feat{border-color:rgba(124,58,237,.22);background:linear-gradient(145deg,rgba(124,58,237,.07),var(--surface))}
.svc-card.feat:hover{border-color:rgba(124,58,237,.38)}
.svc-glow{position:absolute;inset:0;opacity:0;transition:.4s;pointer-events:none}
.svc-card:nth-child(1) .svc-glow{background:radial-gradient(at 50% 0%,rgba(61,126,255,.08),transparent 70%)}
.svc-card:nth-child(2) .svc-glow{background:radial-gradient(at 50% 0%,rgba(124,58,237,.1),transparent 70%)}
.svc-card:nth-child(3) .svc-glow{background:radial-gradient(at 50% 0%,rgba(16,185,129,.07),transparent 70%)}
.svc-card:hover .svc-glow{opacity:1}
.svc-ribbon{position:absolute;top:0;left:50%;transform:translateX(-50%);background:linear-gradient(135deg,var(--violet),var(--purple));color:#fff;font-size:10px;font-weight:700;padding:4px 14px;border-radius:0 0 9px 9px;font-family:var(--mono);white-space:nowrap;letter-spacing:.4px}
.svc-ico{width:56px;height:56px;border-radius:16px;display:grid;place-items:center;font-size:26px;margin-bottom:22px;position:relative;z-index:1}
.svc-card:nth-child(1) .svc-ico{background:rgba(61,126,255,.12)}
.svc-card:nth-child(2) .svc-ico{background:rgba(124,58,237,.14)}
.svc-card:nth-child(3) .svc-ico{background:rgba(16,185,129,.1)}
.svc-n{font-family:var(--display);font-size:21px;font-weight:800;letter-spacing:-.4px;margin-bottom:10px;position:relative;z-index:1}
.svc-desc{font-size:14px;color:var(--text2);line-height:1.72;margin-bottom:22px;position:relative;z-index:1}
.svc-feats{display:flex;flex-direction:column;gap:9px;margin-bottom:28px;position:relative;z-index:1}
.svc-feat{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--text2)}
.svc-ck{width:18px;height:18px;border-radius:5px;display:grid;place-items:center;font-size:10px;font-weight:800;flex-shrink:0}
.svc-card:nth-child(1) .svc-ck{background:rgba(61,126,255,.12);color:var(--blue)}
.svc-card:nth-child(2) .svc-ck{background:rgba(124,58,237,.15);color:#c084fc}
.svc-card:nth-child(3) .svc-ck{background:rgba(16,185,129,.1);color:var(--emerald)}
.svc-price{padding-top:20px;border-top:1px solid var(--border);position:relative;z-index:1}
.svc-from{font-family:var(--mono);font-size:10px;color:var(--text3);margin-bottom:3px}
.svc-price-n{font-family:var(--display);font-size:30px;font-weight:900;letter-spacing:-1px;line-height:1}
.svc-cta{margin-top:16px;display:block;width:100%;padding:11px;border-radius:50px;font-size:13px;font-weight:700;text-align:center;cursor:pointer;transition:all .3s}
.svc-card:nth-child(1) .svc-cta{border:1px solid rgba(61,126,255,.3);color:#93c5fd;background:rgba(61,126,255,.06)}
.svc-card:nth-child(1) .svc-cta:hover{background:rgba(61,126,255,.12)}
.svc-card:nth-child(2) .svc-cta{background:linear-gradient(135deg,var(--violet),var(--purple));color:#fff}
.svc-card:nth-child(2) .svc-cta:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(124,58,237,.35)}
.svc-card:nth-child(3) .svc-cta{border:1px solid rgba(16,185,129,.3);color:var(--emerald);background:rgba(16,185,129,.06)}
.svc-card:nth-child(3) .svc-cta:hover{background:rgba(16,185,129,.12)}

/* ── PROCESS ── */
.process{padding:120px 0}
.process-inner{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:start}
.proc-left{position:sticky;top:110px}
.proc-steps{display:flex;flex-direction:column;gap:0;margin-top:44px}
.proc-step{display:flex;gap:20px;padding:24px 0;cursor:pointer;transition:all .25s;position:relative}
.proc-step:not(:last-child)::after{content:'';position:absolute;left:21px;bottom:0;top:0;width:1px;background:linear-gradient(to bottom,rgba(255,255,255,.07) 0%,rgba(255,255,255,.07) calc(100% - 48px),transparent);pointer-events:none}
.ps-num-col{display:flex;flex-direction:column;align-items:center;gap:0;flex-shrink:0}
.ps-num{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-family:var(--mono);font-size:13px;font-weight:700;border:1px solid var(--border2);background:var(--surface);transition:all .3s;position:relative;z-index:1}
.proc-step.on .ps-num{background:linear-gradient(135deg,var(--blue),var(--violet));border-color:transparent;color:#fff;box-shadow:0 6px 18px rgba(61,126,255,.3)}
.ps-body{flex:1}
.ps-title{font-family:var(--display);font-size:16px;font-weight:700;letter-spacing:-.2px;margin-bottom:5px;color:var(--text2);transition:color .25s}
.proc-step.on .ps-title{color:var(--text)}
.ps-desc{font-size:13px;color:var(--text3);line-height:1.6;transition:color .25s;max-height:0;overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1)}
.proc-step.on .ps-desc{color:var(--text2);max-height:100px}
.ps-time{font-family:var(--mono);font-size:10px;color:var(--text3);margin-top:6px;opacity:0;transition:opacity .3s}
.proc-step.on .ps-time{opacity:1}

/* Process right panels */
.proc-right{padding-top:108px}
.proc-panel{display:none;animation:fadeIn .4s ease}
.proc-panel.on{display:block}
.pp-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden}
.pp-head{padding:20px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.pp-title{font-family:var(--display);font-size:15px;font-weight:700}
.pp-step-badge{font-family:var(--mono);font-size:10px;padding:3px 10px;background:rgba(61,126,255,.1);border:1px solid rgba(61,126,255,.2);border-radius:20px;color:#93c5fd}
.pp-body{padding:24px}
/* Panel 1: Discovery call mockup */
.call-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.call-item{background:rgba(255,255,255,.03);border:1px solid var(--border);border-radius:10px;padding:14px;transition:all .3s}
.call-item:hover{border-color:var(--border2)}
.ci-label{font-family:var(--mono);font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:5px}
.ci-val{font-size:13px;font-weight:600;color:var(--text2)}
.call-notes{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:10px;padding:14px}
.cn-label{font-family:var(--mono);font-size:9px;color:var(--text3);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px}
.cn-items{display:flex;flex-direction:column;gap:6px}
.cn-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text2)}
.cn-dot{width:5px;height:5px;border-radius:50%;background:var(--blue);flex-shrink:0}
/* Panel 2: Spec document */
.spec-doc{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:10px;padding:18px}
.sd-title{font-family:var(--display);font-size:14px;font-weight:700;margin-bottom:12px;display:flex;align-items:center;gap:8px}
.sd-rows{display:flex;flex-direction:column;gap:10px}
.sd-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.sdr-label{font-size:12px;color:var(--text3);flex-shrink:0;width:100px}
.sdr-val{font-size:12px;color:var(--text2);text-align:right;font-family:var(--mono)}
.sd-divider{height:1px;background:var(--border)}
.sd-price-row{display:flex;justify-content:space-between;padding-top:8px}
.sdpr-label{font-family:var(--display);font-size:14px;font-weight:700}
.sdpr-val{font-family:var(--display);font-size:20px;font-weight:900;letter-spacing:-.5px;background:linear-gradient(135deg,var(--blue),var(--violet));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
/* Panel 3: Build progress */
.build-progress{display:flex;flex-direction:column;gap:14px}
.bp-task{background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:10px;padding:14px}
.bp-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.bp-name{font-family:var(--display);font-size:13px;font-weight:700}
.bp-pct{font-family:var(--mono);font-size:11px;font-weight:600}
.bp-bar{height:5px;background:rgba(255,255,255,.05);border-radius:3px;overflow:hidden}
.bp-fill{height:100%;border-radius:3px}
.bp-meta{font-size:11px;color:var(--text3);margin-top:6px;display:flex;gap:12px}
/* Panel 4: Launch */
.launch-checklist{display:flex;flex-direction:column;gap:10px}
.lc-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:10px}
.lc-ico{width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-size:13px;flex-shrink:0}
.lc-check{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:10px;font-weight:800;flex-shrink:0;margin-left:auto}
.lc-check.done{background:rgba(16,185,129,.15);color:var(--emerald)}
.lc-check.pend{background:rgba(61,126,255,.1);color:#93c5fd;font-family:var(--mono);font-size:9px}

/* ── CASE STUDIES ── */
.case-studies{padding:120px 0;background:var(--bg2)}
.cs-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:52px;flex-wrap:wrap;gap:20px}
.cs-filter{display:flex;gap:6px}
.csf-btn{padding:7px 18px;border-radius:50px;font-size:13px;font-weight:600;color:var(--text3);cursor:pointer;border:1px solid var(--border);transition:all .25s}
.csf-btn:hover{color:var(--text2);border-color:var(--border2)}
.csf-btn.on{background:rgba(61,126,255,.1);border-color:rgba(61,126,255,.3);color:var(--text)}
.cs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cs-grid .cs-card:first-child{grid-column:span 3}

.cs-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;transition:all .4s cubic-bezier(.16,1,.3,1);cursor:pointer;position:relative}
.cs-card:hover{border-color:var(--border2);transform:translateY(-4px);box-shadow:0 28px 70px rgba(0,0,0,.4)}
.cs-img{position:relative;overflow:hidden}
.cs-img img{width:100%;transition:filter .5s;filter:brightness(.45) saturate(.6)}
.cs-card:hover .cs-img img{filter:brightness(.58) saturate(.8)}
.cs-img-ov{position:absolute;inset:0}
.cs-img-h{height:220px}
.cs-img-h img{height:220px}
.cs-img-feat{height:340px}
.cs-img-feat img{height:340px}
.cs-inner{padding:24px}
.cs-meta{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.cs-platform{padding:3px 10px;border-radius:20px;font-family:var(--mono);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}
.cs-p-woo{background:rgba(147,51,234,.15);color:#c084fc;border:1px solid rgba(147,51,234,.25)}
.cs-p-shop{background:rgba(22,163,74,.15);color:#4ade80;border:1px solid rgba(22,163,74,.25)}
.cs-p-both{background:rgba(61,126,255,.12);color:#93c5fd;border:1px solid rgba(61,126,255,.2)}
.cs-type{font-family:var(--mono);font-size:10px;color:var(--text3)}
.cs-dur{font-family:var(--mono);font-size:10px;color:var(--text3);margin-left:auto}
.cs-title{font-family:var(--display);font-size:19px;font-weight:800;letter-spacing:-.4px;margin-bottom:8px;line-height:1.2;transition:color .2s}
.cs-card:hover .cs-title{color:#c084fc}
.cs-desc{font-size:13px;color:var(--text2);line-height:1.68;margin-bottom:16px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.cs-metrics{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.cs-metric{padding:5px 12px;border-radius:6px;font-family:var(--mono);font-size:11px;font-weight:700;border:1px solid}
.csm-green{background:rgba(16,185,129,.08);color:var(--emerald);border-color:rgba(16,185,129,.18)}
.csm-blue{background:rgba(61,126,255,.08);color:#93c5fd;border-color:rgba(61,126,255,.18)}
.csm-violet{background:rgba(124,58,237,.08);color:#c084fc;border-color:rgba(124,58,237,.18)}
.csm-amber{background:rgba(245,158,11,.08);color:var(--amber);border-color:rgba(245,158,11,.18)}
.cs-client{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border);padding-top:14px}
.cs-av{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}
.cs-av img{width:100%;height:100%}
.cs-client-name{font-family:var(--display);font-size:13px;font-weight:700}
.cs-client-role{font-size:11px;color:var(--text3)}
.cs-arrow{margin-left:auto;font-size:18px;color:var(--text3);opacity:0;transform:translateX(-4px);transition:all .25s}
.cs-card:hover .cs-arrow{opacity:1;transform:translateX(0)}

/* Featured case study overlay content */
.cs-feat-content{position:absolute;inset:0;padding:32px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(to top,rgba(6,6,9,.92) 40%,transparent 80%)}
.cfc-meta{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.cfc-title{font-family:var(--display);font-size:clamp(22px,2.5vw,32px);font-weight:800;letter-spacing:-.7px;margin-bottom:10px;line-height:1.15}
.cfc-desc{font-size:14px;color:rgba(242,242,247,.75);line-height:1.7;max-width:680px;margin-bottom:18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cfc-metrics{display:flex;gap:10px;flex-wrap:wrap}

/* ── TECH STACK ── */
.tech{padding:80px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.tech-inner{display:flex;align-items:center;gap:52px;flex-wrap:wrap}
.tech-label{font-family:var(--mono);font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--text3);flex-shrink:0}
.tech-items{display:flex;align-items:center;gap:8px;flex-wrap:wrap;flex:1}
.tech-item{padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:8px;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--text2);cursor:default;transition:all .25s;display:flex;align-items:center;gap:7px}
.tech-item:hover{border-color:var(--border2);color:var(--text);background:var(--surface2)}
.tech-item-dot{width:6px;height:6px;border-radius:50%}

/* ── TESTIMONIALS ── */
.testimonials{padding:120px 0}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:52px}
.tc{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:26px;position:relative;overflow:hidden;transition:all .35s cubic-bezier(.16,1,.3,1)}
.tc:hover{border-color:var(--border2);transform:translateY(-4px)}
.tc::before{content:'"';font-family:var(--display);font-size:80px;font-weight:900;color:var(--violet);opacity:.06;position:absolute;top:-16px;right:16px;line-height:1;pointer-events:none}
.tc-stars{color:var(--amber);font-size:13px;letter-spacing:1.5px;margin-bottom:12px}
.tc-text{font-size:14px;color:var(--text2);line-height:1.8;margin-bottom:20px;font-style:italic;position:relative;z-index:1}
.tc-auth{display:flex;align-items:center;gap:11px}
.tc-av{width:38px;height:38px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--surface2)}
.tc-av img{width:100%;height:100%}
.tc-name{font-family:var(--display);font-size:14px;font-weight:700}
.tc-role{font-size:11px;color:var(--text3)}
.tc-result{margin-left:auto;text-align:right;flex-shrink:0}
.tc-result-n{font-family:var(--display);font-size:18px;font-weight:900;letter-spacing:-.5px;background:linear-gradient(135deg,var(--emerald),var(--cyan));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.tc-result-l{font-size:10px;color:var(--text3);margin-top:1px}

/* ── QUOTE FORM ── */
.quote-section{padding:100px 0;background:var(--bg2)}
.quote-inner{display:grid;grid-template-columns:1fr 540px;gap:72px;align-items:start}
.quote-left{}
.quote-left .sec-sub{margin-top:14px;margin-bottom:36px}

/* what's included */
.whats-in{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
.wi-item{display:flex;align-items:flex-start;gap:13px;padding:16px;background:var(--surface);border:1px solid var(--border);border-radius:13px;transition:all .3s}
.wi-item:hover{border-color:var(--border2);transform:translateX(4px)}
.wi-ico{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;font-size:17px;flex-shrink:0}
.wi-title{font-family:var(--display);font-size:14px;font-weight:700;margin-bottom:3px}
.wi-desc{font-size:12px;color:var(--text3);line-height:1.5}

/* quote timeline estimate */
.timeline-est{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px}
.te-title{font-family:var(--mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:2px;color:var(--text3);margin-bottom:14px}
.te-rows{display:flex;flex-direction:column;gap:10px}
.te-row{display:flex;align-items:center;gap:12px}
.ter-label{font-size:13px;color:var(--text2);width:140px;flex-shrink:0}
.ter-bar{flex:1;height:6px;background:rgba(255,255,255,.04);border-radius:3px;overflow:hidden}
.ter-fill{height:100%;border-radius:3px;animation:progressIn 1.2s cubic-bezier(.16,1,.3,1) both}
.ter-time{font-family:var(--mono);font-size:11px;color:var(--text3);min-width:60px;text-align:right}

/* Form */
.quote-form{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:36px;position:sticky;top:90px}
.qf-title{font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.4px;margin-bottom:6px}
.qf-sub{font-size:13px;color:var(--text3);margin-bottom:24px;line-height:1.6}
.field{margin-bottom:16px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.field label{display:block;font-size:11px;font-weight:600;color:var(--text3);text-transform:uppercase;letter-spacing:1.5px;font-family:var(--mono);margin-bottom:6px}
.field label .req{color:var(--rose)}
.field input,.field textarea,.field select{width:100%;background:rgba(255,255,255,.04);border:1px solid var(--border2);border-radius:10px;padding:11px 13px;font-size:14px;color:var(--text);transition:all .3s}
.field input::placeholder,.field textarea::placeholder{color:var(--text3)}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:rgba(61,126,255,.45);background:rgba(61,126,255,.04);box-shadow:0 0 0 3px rgba(61,126,255,.07)}
.field select option{background:var(--surface2)}
.field textarea{min-height:120px;resize:vertical;line-height:1.6}
.btn-quote{width:100%;padding:14px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--blue),var(--violet));border-radius:50px;cursor:pointer;transition:all .3s;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:8px}
.btn-quote::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,var(--violet),#c084fc);opacity:0;transition:.3s}
.btn-quote:hover::after{opacity:1}
.btn-quote:hover{transform:translateY(-2px);box-shadow:0 12px 36px rgba(61,126,255,.4)}
.btn-quote.loading{pointer-events:none}
.bq-label{position:relative;z-index:1}
.bq-spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;position:relative;z-index:1}
.btn-quote.loading .bq-label{display:none}
.btn-quote.loading .bq-spinner{display:block}
.qf-note{text-align:center;margin-top:12px;font-size:12px;color:var(--text3);display:flex;align-items:center;justify-content:center;gap:5px}
.qf-success{display:none;text-align:center;padding:24px 0}
.qfs-ico{font-size:40px;margin-bottom:14px}
.qfs-title{font-family:var(--display);font-size:20px;font-weight:800;margin-bottom:8px}
.qfs-desc{font-size:14px;color:var(--text2);line-height:1.7}
.qfs-back{margin-top:16px;font-size:13px;color:var(--blue);cursor:pointer;transition:color .2s}
.qfs-back:hover{color:#93c5fd}

/* ── FAQ ── */
.faq{padding:100px 0;border-top:1px solid var(--border)}
.faq-inner{max-width:780px;margin:0 auto}
.faq-list{display:flex;flex-direction:column;gap:8px;margin-top:44px}
.fi{background:var(--surface);border:1px solid var(--border);border-radius:13px;overflow:hidden;transition:all .3s}
.fi.open{border-color:rgba(61,126,255,.2)}
.fi-q{display:flex;align-items:center;justify-content:space-between;padding:17px 20px;cursor:pointer;font-family:var(--display);font-size:14px;font-weight:700;gap:12px;transition:color .2s}
.fi-q:hover{color:var(--blue)}
.fi-ch{width:22px;height:22px;border-radius:6px;background:rgba(255,255,255,.04);border:1px solid var(--border);display:grid;place-items:center;font-size:11px;flex-shrink:0;transition:all .3s}
.fi.open .fi-ch{transform:rotate(180deg);background:rgba(61,126,255,.1);border-color:rgba(61,126,255,.2);color:var(--blue)}
.fi-a{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.16,1,.3,1)}
.fi.open .fi-a{max-height:300px}
.fi-a-inner{padding:0 20px 18px;font-size:14px;color:var(--text2);line-height:1.75}

/* ── CTA ── */
.cta{padding:100px 0;background:var(--bg2);position:relative;overflow:hidden;text-align:center}
.cta-bg{position:absolute;inset:0}
.cta-bg-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);background-size:52px 52px}
.cta-bg-gl{position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(124,58,237,.08),transparent)}
.cta-content{position:relative;z-index:1}
.cta h2{font-family:var(--display);font-size:clamp(36px,5vw,62px);font-weight:800;letter-spacing:-2px;line-height:1.05;margin-bottom:16px}
.cta p{font-size:17px;color:var(--text2);max-width:460px;margin:0 auto 44px;line-height:1.75}
.cta-btns{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.cta-trust{display:flex;justify-content:center;gap:24px;margin-top:28px;flex-wrap:wrap}
.ct-item{font-size:12px;color:var(--text3);display:flex;align-items:center;gap:5px}

/* ── FOOTER ── */
.footer{border-top:1px solid var(--border);padding:44px 0 26px}
.foot-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:24px}
.foot-links{display:flex;gap:20px;flex-wrap:wrap}
.foot-links a{font-size:13px;color:var(--text3);transition:color .2s}
.foot-links a:hover{color:var(--text)}
.foot-bot{display:flex;align-items:center;justify-content:space-between;padding-top:20px;border-top:1px solid var(--border);font-size:12px;color:var(--text3);flex-wrap:wrap;gap:8px}
.foot-bot a{transition:color .2s}.foot-bot a:hover{color:var(--text)}

/* ── RESPONSIVE ── */
@media(max-width:1100px){
  .hero-inner{grid-template-columns:1fr;gap:52px}
  .hero-terminal{max-width:560px}
  .process-inner{grid-template-columns:1fr;gap:40px}
  .proc-left{position:static}
  .proc-right{padding-top:0}
  .cs-grid .cs-card:first-child{grid-column:span 1}
  .cs-grid{grid-template-columns:1fr 1fr}
  .quote-inner{grid-template-columns:1fr;gap:40px}
  .quote-form{position:static}
  .svc-grid,.testi-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .svc-grid,.cs-grid,.testi-grid{grid-template-columns:1fr}
  .hero-cta{flex-direction:column;align-items:flex-start}
  .field-row{grid-template-columns:1fr}
  .cta-btns{flex-direction:column;align-items:center}
  .call-grid{grid-template-columns:1fr}
}
