@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;600&display=swap');

/* ============ TOKENS ============ */
:root{
  --ink:#15181f;
  --ink-2:#3b414d;
  --ink-3:#6b7280;
  --ink-4:#9aa0aa;
  --white:#ffffff;
  --paper:#f3f5f9;
  --paper-2:#eaedf3;
  --line:#dfe3eb;
  --line-2:#cdd2dd;
  --electric:#0a56ff;
  --electric-2:#3f82ff;
  --electric-3:#8fb4ff;
  --electric-soft:#e8f0ff;
  --electric-tint:#f4f8ff;
  --shadow-sm:0 1px 2px rgba(21,24,31,.05);
  --shadow-md:0 14px 34px -16px rgba(21,24,31,.22);
  --shadow-lg:0 40px 70px -34px rgba(10,86,255,.35);
  --radius:14px;
  --radius-sm:9px;
  --radius-lg:24px;
  --f-display:'Space Grotesk',system-ui,sans-serif;
  --f-body:'Manrope',system-ui,sans-serif;
  --f-mono:'JetBrains Mono',ui-monospace,monospace;
  --maxw:1200px;
}

/* ============ RESET ============ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0}
img,svg,video{display:block;max-width:100%}
button,input,select,textarea{font:inherit;color:inherit}
ul,ol{margin:0;padding:0;list-style:none}
a{text-decoration:none;color:inherit}
h1,h2,h3,h4,p{margin:0}

/* ============ BASE ============ */
body{
  font-family:var(--f-body);
  background:var(--white);
  color:var(--ink-2);
  line-height:1.65;
  font-size:clamp(1rem,.96rem + .2vw,1.09rem);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.container{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:clamp(1.25rem,4vw,3rem)}
section{padding-block:clamp(4.5rem,9vw,7.5rem)}

/* ============ TYPE ============ */
h1,h2,h3,h4{font-family:var(--f-display);color:var(--ink);line-height:1.06;letter-spacing:-.02em;font-weight:600}
h1{font-size:clamp(2.5rem,1.2rem + 5vw,4.7rem);font-weight:700}
h2{font-size:clamp(1.95rem,1.15rem + 3vw,3.15rem)}
h3{font-size:clamp(1.35rem,1.05rem + 1.1vw,1.85rem);line-height:1.18}
p{max-width:64ch}
.lead{font-size:clamp(1.12rem,1rem + .6vw,1.32rem);color:var(--ink-2);line-height:1.6}
.eyebrow{font-family:var(--f-mono);font-size:.76rem;letter-spacing:.22em;text-transform:uppercase;color:var(--electric);font-weight:500}
.mono{font-family:var(--f-mono)}

/* ============ LINKS / BUTTONS ============ */
a{transition:color .2s ease}
.btn{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--f-display);font-weight:600;font-size:1rem;padding:.9rem 1.6rem;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;transition:transform .18s ease,background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--electric);color:#fff;box-shadow:var(--shadow-lg)}
.btn-primary:hover{background:#0a49e0}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--ink);background:var(--white)}
.btn-sm{padding:.55rem 1rem;font-size:.9rem;border-radius:var(--radius-sm)}
.btn-arrow::after{content:"→";transition:transform .2s ease}
.btn-arrow:hover::after{transform:translateX(4px)}

/* ============ HEADER ============ */
.site{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.86);backdrop-filter:saturate(160%) blur(14px);border-bottom:1px solid var(--line);transition:box-shadow .25s ease}
.site.scrolled{box-shadow:0 12px 30px -22px rgba(21,24,31,.4)}
.site-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-block:.7rem}
.brand{display:flex;align-items:center;gap:.65rem}
.brand-mark{width:34px;height:34px;flex:none}
.brand-name{font-family:var(--f-display);font-weight:700;font-size:1.15rem;color:var(--ink);letter-spacing:-.01em}
.brand-name b{color:var(--electric);font-weight:700}
.site-status{display:flex;align-items:center;gap:.6rem}
.status-pill{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-3);display:inline-flex;align-items:center;gap:.45rem;background:var(--paper);border:1px solid var(--line);padding:.4rem .7rem;border-radius:100px}
.status-dot{width:8px;height:8px;border-radius:50%;background:#14c37a;box-shadow:0 0 0 0 rgba(20,195,122,.55);animation:pulse 2.4s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(20,195,122,.5)}70%{box-shadow:0 0 0 7px rgba(20,195,122,0)}100%{box-shadow:0 0 0 0 rgba(20,195,122,0)}}
.site-nav{display:flex;align-items:center;gap:.3rem;padding-block:.55rem;border-top:1px solid var(--line)}
.site-nav a{font-size:.92rem;font-weight:500;color:var(--ink-2);padding:.5rem .7rem;border-radius:var(--radius-sm);position:relative}
.site-nav a:hover{color:var(--ink);background:var(--paper)}
.site-nav a[aria-current="page"]{color:var(--ink);font-weight:600}
.site-nav a[aria-current="page"]::after{content:"";position:absolute;left:.7rem;right:.7rem;bottom:.15rem;height:2px;background:var(--electric);border-radius:2px}
.site-nav .btn{margin-left:auto}
.nav-toggle{display:none}

/* ============ HERO ============ */
.hero{position:relative;overflow:hidden;padding-block:clamp(3.5rem,7vw,6.5rem)}
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    radial-gradient(58% 55% at 88% 0%,rgba(10,86,255,.10),transparent 62%),
    linear-gradient(to right,rgba(21,24,31,.045) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(21,24,31,.045) 1px,transparent 1px);
  background-size:auto,46px 46px,46px 46px;
  mask:linear-gradient(to bottom,black,transparent 92%)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,4rem);align-items:center}
.hero-copy{max-width:34ch}
.hero h1{margin-top:1.1rem}
.hero .lead{margin-top:1.4rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.1rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:2rem}
.chip{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.04em;color:var(--ink-3);border:1px solid var(--line);background:var(--white);padding:.4rem .7rem;border-radius:100px}

/* console panel */
.console{background:var(--ink);border-radius:var(--radius-lg);padding:1.35rem;box-shadow:var(--shadow-lg);color:#dfe6f2;font-family:var(--f-mono);position:relative}
.console-top{display:flex;align-items:center;gap:.5rem;margin-bottom:1.1rem}
.console-top .dot{width:9px;height:9px;border-radius:50%;background:#39424f}
.console-top .dot.on{background:var(--electric)}
.console-title{font-size:.72rem;letter-spacing:.08em;color:#8a93a6;margin-left:.3rem;text-transform:uppercase}
.console-live{margin-left:auto;font-size:.66rem;letter-spacing:.1em;color:#14c37a;display:inline-flex;align-items:center;gap:.35rem}
.console-live::before{content:"";width:6px;height:6px;border-radius:50%;background:#14c37a;animation:pulse 2s infinite}
.console-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.07)}
.console-row:last-child{border-bottom:0}
.c-key{font-size:.8rem;color:#aeb6c6}
.c-val{font-size:.92rem;font-weight:600;color:#fff}
.c-val.good{color:#4fd6a0}
.c-val.warn{color:#f5b342}
.spark{width:120px;height:30px;color:var(--electric-2)}
.spark line{stroke:rgba(255,255,255,.18);stroke-width:1}
.spark polyline{fill:none;stroke:var(--electric-2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.console-foot{display:flex;align-items:center;justify-content:space-between;margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);font-size:.72rem;color:#8a93a6}
.console-foot b{color:#fff}

/* ============ SECTION HEAD ============ */
.sec-head{max-width:46rem}
.sec-head .eyebrow{display:inline-block;margin-bottom:1rem}
.sec-head h2{margin-bottom:1rem}
.sec-head .lead{margin-top:.4rem}
.sec-head.center{text-align:center;margin-inline:auto}
.sec-head.center h2{margin-inline:auto}

/* ============ CARDS / FEATURES ============ */
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:3rem}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.9rem;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--line-2)}
.card-ico{width:48px;height:48px;border-radius:12px;background:var(--electric-soft);color:var(--electric);display:flex;align-items:center;justify-content:center;margin-bottom:1.2rem}
.card-ico svg{width:24px;height:24px}
.card h3{margin-bottom:.6rem}
.card p{font-size:.98rem;color:var(--ink-3)}

/* ============ STATS ============ */
.stats{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem}
.stat{padding:1rem 0;border-top:2px solid var(--ink);padding-top:1.4rem}
.stat-num{font-family:var(--f-display);font-weight:700;font-size:clamp(2.4rem,1.4rem + 3vw,3.6rem);color:var(--ink);letter-spacing:-.03em;line-height:1}
.stat-num .u{color:var(--electric)}
.stat-label{margin-top:.5rem;font-family:var(--f-mono);font-size:.78rem;letter-spacing:.05em;color:var(--ink-3);text-transform:uppercase}

/* ============ CTA BAND ============ */
.cta{background:var(--ink);color:#e7ecf5;border-radius:0}
.cta .container{position:relative}
.cta-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:2.5rem;align-items:center}
.cta h2{color:#fff;margin-bottom:.9rem}
.cta p{color:#b9c1d0;max-width:46ch}
.cta-actions{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:1.8rem}
.cta .btn-ghost{border-color:rgba(255,255,255,.25);color:#fff}
.cta .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff}
.cta-note{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:1.4rem}
.cta-note .eyebrow{color:var(--electric-3)}
.cta-note p{margin-top:.9rem;color:#c4ccda;font-size:.95rem}

/* ============ FAQ ============ */
.faq{max-width:48rem;margin-inline:auto}
.faq-item{border-bottom:1px solid var(--line)}
.faq-item:first-child{border-top:1px solid var(--line)}
.faq-q{width:100%;text-align:left;background:none;border:0;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem 0;font-family:var(--f-display);font-weight:600;font-size:clamp(1.05rem,1rem + .4vw,1.25rem);color:var(--ink)}
.faq-q .ind{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid var(--line-2);display:flex;align-items:center;justify-content:center;font-family:var(--f-mono);color:var(--ink-3);transition:transform .25s ease,background .2s ease,color .2s ease}
.faq-item.open .faq-q .ind{transform:rotate(45deg);background:var(--electric);color:#fff;border-color:var(--electric)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq-item.open .faq-a{max-height:340px}
.faq-a p{padding-bottom:1.4rem;color:var(--ink-3);font-size:.98rem}

/* ============ CONTENT / 2-COL ============ */
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);align-items:start}
.two-col .lead{margin-bottom:1.4rem}

/* ============ IMAGES ============ */
.img-frame{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-md)}
.img-frame img{width:100%;height:100%;object-fit:cover}

/* ============ FORMS ============ */
.field{display:flex;flex-direction:column;gap:.45rem;margin-bottom:1.1rem}
.field label{font-size:.85rem;font-weight:600;color:var(--ink)}
.field input,.field select,.field textarea{font:inherit;padding:.85rem 1rem;border:1px solid var(--line-2);border-radius:var(--radius-sm);background:var(--white);color:var(--ink);transition:border-color .2s ease,box-shadow .2s ease}
.field textarea{resize:vertical;min-height:120px}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--electric);box-shadow:0 0 0 4px var(--electric-soft)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 1.2rem}
.form-grid .span-2{grid-column:1/-1}

/* ============ FOOTER ============ */
.site-foot{background:var(--ink);color:#c4ccda;margin-top:0}
.site-foot .container{padding-block:clamp(3.5rem,6vw,5rem)}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:2.5rem}
.foot-brand .brand-name{color:#fff}
.foot-brand p{margin-top:1.1rem;max-width:34ch;color:#9aa3b4;font-size:.95rem}
.foot-coord{font-family:var(--f-mono);font-size:.78rem;color:var(--electric-3);margin-top:1.4rem;letter-spacing:.03em}
.foot-col h4{font-family:var(--f-mono);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#7f8a9c;margin-bottom:1.1rem;font-weight:500}
.foot-col a{display:block;padding:.32rem 0;color:#c4ccda;font-size:.94rem;transition:color .2s ease}
.foot-col a:hover{color:#fff}
.foot-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.8rem;border-top:1px solid rgba(255,255,255,.12)}
.foot-bottom small{color:#7f8a9c;font-size:.82rem}
.foot-social{display:flex;gap:.6rem}
.foot-social a{width:38px;height:38px;border-radius:10px;border:1px solid rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;color:#c4ccda;transition:all .2s ease}
.foot-social a:hover{background:var(--electric);border-color:var(--electric);color:#fff;transform:translateY(-2px)}
.foot-social svg{width:18px;height:18px}

/* ============ RESPONSIVE ============ */
@media (max-width:960px){
  .hero-grid{grid-template-columns:1fr;gap:2.5rem}
  .hero-copy{max-width:40ch}
  .console{max-width:520px}
  .cta-grid,.two-col{grid-template-columns:1fr;gap:2rem}
  .foot-top{grid-template-columns:1fr 1fr;gap:2rem}
  .foot-brand{grid-column:1/-1}
}
@media (max-width:820px){
  .nav-toggle{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--f-mono);font-size:.8rem;letter-spacing:.04em;color:var(--ink);background:var(--paper);border:1px solid var(--line);padding:.5rem .8rem;border-radius:var(--radius-sm);cursor:pointer}
  .nav-toggle .bar{width:18px;height:2px;background:var(--ink);border-radius:2px}
  .site-status .status-pill{display:none}
  .site-nav{flex-direction:column;align-items:stretch;gap:0;display:none;padding:.5rem 0}
  .site.nav-open .site-nav{display:flex}
  .site-nav a{padding:.8rem .6rem;border-radius:0}
  .site-nav a:hover{background:var(--paper)}
  .site-nav a[aria-current="page"]::after{left:.6rem;right:auto;width:22px;bottom:.6rem}
  .site-nav .btn{margin-left:0;margin-top:.5rem;justify-content:center}
  .card-grid{grid-template-columns:1fr}
  .stats-grid{grid-template-columns:1fr 1fr}
  .form-grid{grid-template-columns:1fr}
}
@media (max-width:520px){
  .foot-top{grid-template-columns:1fr}
  .foot-bottom{flex-direction:column;align-items:flex-start}
  .hero-actions .btn{flex:1;justify-content:center}
}

/* ============ MOTION ============ */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
.stagger>*{transition-delay:calc(var(--i,0)*70ms)}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none;transition:none}
} html{-webkit-text-size-adjust:100%} body{margin:0} *{box-sizing:border-box} img,svg,video{max-width:100%;height:auto} 