/* ============================================================
   CrisisShieldAI — Design System
   Dark · electric blue/violet · cinematic motion
   ============================================================ */
:root{
  --bg:#04060c;
  --bg-2:#070a12;
  --panel:rgba(16,22,38,.5);
  --panel-solid:#0b101c;
  --stroke:rgba(120,150,210,.13);
  --stroke-strong:rgba(130,170,255,.3);
  --txt:#eef2ff;
  --txt-dim:#9aa7c4;
  --txt-mute:#67738f;
  --blue:#4da3ff;
  --blue-2:#2f7dff;
  --violet:#8b6bff;
  --cyan:#37e0d8;
  --green:#3ddc87;
  --amber:#ffb84d;
  --red:#ff5e6c;
  --grad:linear-gradient(115deg,#5cb0ff,#8b6bff 52%,#37e0d8);
  --grad-2:linear-gradient(120deg,#2f7dff,#8b6bff);
  --shadow:0 40px 90px -34px rgba(0,0,0,.85);
  --r:20px;
  --maxw:1180px;
  --ease:cubic-bezier(.22,1,.36,1);
  --font-d:'Sora',system-ui,sans-serif;
  --font-b:'Inter',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition-duration:.01ms!important}}
body{
  font-family:var(--font-b);
  background:var(--bg);color:var(--txt);line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;position:relative;
}
a{color:inherit;text-decoration:none}
.container{width:min(92%,var(--maxw));margin-inline:auto}
::selection{background:rgba(123,92,255,.4);color:#fff}

/* ---------- Ambient layers ---------- */
#bg-grid{position:fixed;inset:0;width:100%;height:100%;z-index:-3;opacity:.5}
.aurora{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none}
.aurora-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.5;mix-blend-mode:screen}
.aurora .a1{width:44vw;height:44vw;background:radial-gradient(circle,#2f7dff,transparent 65%);top:-14%;left:-8%;animation:drift 24s var(--ease) infinite}
.aurora .a2{width:40vw;height:40vw;background:radial-gradient(circle,#8b6bff,transparent 65%);top:16%;right:-14%;animation:drift 30s var(--ease) infinite reverse}
.aurora .a3{width:36vw;height:36vw;background:radial-gradient(circle,#37e0d8,transparent 68%);bottom:-16%;left:32%;animation:drift 28s var(--ease) infinite}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(6%,8%) scale(1.14)}66%{transform:translate(-5%,-4%) scale(.92)}}
.noise{position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

.cursor-glow{position:fixed;top:0;left:0;width:480px;height:480px;border-radius:50%;pointer-events:none;z-index:0;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(77,123,255,.12),transparent 60%);opacity:0;transition:opacity .4s;mix-blend-mode:screen}
@media (pointer:fine){.cursor-glow{opacity:1}}

.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:120;background:var(--grad);box-shadow:0 0 16px rgba(77,163,255,.7)}

/* ---------- Glass ---------- */
.glass{background:var(--panel);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid var(--stroke);border-radius:var(--r)}

/* ---------- Buttons ---------- */
.btn{--pad:.72rem 1.25rem;display:inline-flex;align-items:center;gap:.5rem;padding:var(--pad);border-radius:13px;font-weight:600;font-size:.92rem;cursor:pointer;border:1px solid transparent;transition:transform .25s var(--ease),box-shadow .3s var(--ease),background .3s,border-color .3s;white-space:nowrap;position:relative;font-family:var(--font-b)}
.btn-lg{--pad:.98rem 1.7rem;font-size:1rem}
.btn-primary{background:var(--grad-2);color:#fff;box-shadow:0 12px 34px -12px rgba(77,123,255,.75)}
.btn-primary:hover{box-shadow:0 20px 46px -14px rgba(123,92,255,.85)}
.btn-outline{border-color:var(--stroke-strong);color:var(--txt);background:rgba(255,255,255,.02)}
.btn-outline:hover{border-color:var(--blue);background:rgba(77,163,255,.08)}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Nav ---------- */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:.4s var(--ease)}
.nav.scrolled{background:rgba(5,8,15,.78);backdrop-filter:blur(16px);border-bottom:1px solid var(--stroke)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 0;gap:1rem}
.nav.scrolled .nav-inner{padding:.72rem 0}
.brand{display:flex;align-items:center;gap:.6rem;font-family:var(--font-d);font-weight:800;font-size:1.12rem;letter-spacing:-.02em}
.brand-mark{display:grid;place-items:center;filter:drop-shadow(0 4px 14px rgba(77,163,255,.55))}
.brand-text span{color:var(--blue)}
.nav-links{display:flex;gap:.3rem}
.nav-links a{padding:.5rem .85rem;border-radius:10px;color:var(--txt-dim);font-weight:500;font-size:.92rem;transition:.25s;position:relative}
.nav-links a::after{content:"";position:absolute;left:.85rem;right:.85rem;bottom:.35rem;height:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease);border-radius:2px}
.nav-links a:hover{color:var(--txt)}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-links a.active{color:var(--txt)}
.nav-cta{display:flex;align-items:center;gap:.6rem}
.nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.nav-toggle span{width:24px;height:2px;background:var(--txt);border-radius:2px;transition:.3s var(--ease)}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.open span:nth-child(2){opacity:0}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ---------- Pills ---------- */
.pill{display:inline-flex;align-items:center;gap:.5rem;padding:.42rem .9rem;border-radius:999px;font-size:.82rem;font-weight:500;color:var(--txt-dim);border:1px solid var(--stroke-strong);background:rgba(77,163,255,.06)}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(61,220,135,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(61,220,135,.55)}70%{box-shadow:0 0 0 9px rgba(61,220,135,0)}100%{box-shadow:0 0 0 0 rgba(61,220,135,0)}}

/* ---------- Headings ---------- */
h1,h2,h3,h4{font-family:var(--font-d);font-weight:700}

/* ============================================================ HERO */
.hero{position:relative;padding:10rem 0 4rem}
.hero-inner{display:grid;grid-template-columns:1.08fr .92fr;gap:3.5rem;align-items:center}
.hero-copy h1{font-size:clamp(2.5rem,5.4vw,4.3rem);line-height:1.04;font-weight:800;letter-spacing:-.035em;margin:1.2rem 0}
.hero-sub{font-size:1.12rem;color:var(--txt-dim);max-width:34rem}
.hero-actions{display:flex;gap:.9rem;margin:1.9rem 0 1.7rem;flex-wrap:wrap}
.hero-trust{font-size:.8rem;color:var(--txt-mute)}
.hero-trust>span{display:block;margin-bottom:.6rem;text-transform:uppercase;letter-spacing:.14em}
.logo-row{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;font-weight:600;color:var(--txt-dim)}
.logo-row i{width:4px;height:4px;border-radius:50%;background:var(--txt-mute)}
[data-decrypt]{font-family:var(--font-d)}

/* radar */
.hero-visual{position:relative}
.radar{position:relative;padding:1rem;display:grid;place-items:center;box-shadow:var(--shadow);overflow:hidden;animation:floaty 8s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
.radar-svg{width:100%;max-width:330px;aspect-ratio:1}
.radar-svg .ring{fill:none;stroke:rgba(120,160,255,.16);stroke-width:1}
.radar-svg .cross{stroke:rgba(120,160,255,.1);stroke-width:1}
.sweep-g{transform-origin:120px 120px;animation:sweep 4s linear infinite}
@keyframes sweep{to{transform:rotate(360deg)}}
.blip{fill:var(--blue);animation:blipPulse 2.4s ease-out infinite}
.blip.crit{fill:var(--red)}.blip.high{fill:var(--amber)}
@keyframes blipPulse{0%{opacity:0;r:1}10%{opacity:1;r:4}60%{opacity:.7}100%{opacity:0;r:7}}
.radar-tag{position:absolute;bottom:1rem;left:1rem;display:inline-flex;align-items:center;gap:.4rem;font-family:'JetBrains Mono',monospace;font-size:.7rem;color:var(--txt-dim);background:rgba(5,8,15,.6);padding:.3rem .6rem;border-radius:8px;border:1px solid var(--stroke)}

.console{position:absolute;right:-26px;bottom:-30px;width:74%;overflow:hidden;box-shadow:var(--shadow);animation:floaty 7s ease-in-out infinite .4s}
.console-bar{display:flex;align-items:center;gap:.5rem;padding:.6rem .9rem;border-bottom:1px solid var(--stroke);background:rgba(255,255,255,.02)}
.console-bar .dot{width:10px;height:10px;border-radius:50%}
.dot.r{background:#ff5f57}.dot.y{background:#febc2e}.dot.g{background:#28c840}
.console-title{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--txt-mute);margin-left:.3rem}
.console-body{padding:.8rem .9rem;height:150px;overflow:hidden;font-family:'JetBrains Mono',monospace;font-size:.7rem;line-height:1.7}
.log-line{display:flex;gap:.5rem;opacity:0;transform:translateY(8px);animation:logIn .5s var(--ease) forwards}
@keyframes logIn{to{opacity:1;transform:none}}
.log-line .t{color:var(--txt-mute)}
.log-line .lvl{font-weight:700}
.lvl.crit{color:var(--red)}.lvl.high{color:var(--amber)}.lvl.med{color:var(--blue)}.lvl.info{color:var(--green)}
.log-line .msg{color:var(--txt-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.float-card{position:absolute;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.15rem;box-shadow:var(--shadow);min-width:150px;z-index:3}
.fc-1{top:-22px;right:-14px;animation:floaty 6s ease-in-out infinite}
.fc-2{bottom:42px;left:-30px;animation:floaty 9s ease-in-out infinite .5s}
.fc-label{font-size:.68rem;color:var(--txt-mute);text-transform:uppercase;letter-spacing:.08em}
.fc-num{font-family:var(--font-d);font-size:1.45rem;font-weight:800;letter-spacing:-.02em}
.fc-num small{font-size:.85rem;color:var(--txt-dim)}
.fc-trend{font-size:.72rem;font-weight:600}
.fc-trend.up{color:var(--green)}.fc-trend.down{color:var(--blue)}

.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:6rem;padding-top:2.4rem;border-top:1px solid var(--stroke)}
.hero-stats .stat b{display:block;font-family:var(--font-d);font-size:clamp(1.7rem,3vw,2.5rem);font-weight:800;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;letter-spacing:-.02em}
.hero-stats .stat span{font-size:.85rem;color:var(--txt-mute)}

/* ============================================================ MARQUEE */
.marquee-sec{padding:1.5rem 0;border-block:1px solid var(--stroke);background:rgba(255,255,255,.012);overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.marquee{display:flex;width:max-content;animation:scrollx 38s linear infinite}
.marquee:hover{animation-play-state:paused}
.marquee-track{display:flex;align-items:center;gap:2.2rem;padding-right:2.2rem;font-family:var(--font-d);font-weight:600;font-size:1.1rem;color:var(--txt-mute)}
.marquee-track i{color:var(--blue);font-size:.6rem;opacity:.6;font-style:normal}
.marquee-track span{transition:.3s}
.marquee-track span:hover{color:var(--txt)}
@keyframes scrollx{to{transform:translateX(-50%)}}

/* ============================================================ SECTIONS */
.section{padding:6.5rem 0;position:relative}
.section-head{text-align:center;max-width:46rem;margin:0 auto 3.4rem}
.eyebrow{display:inline-block;font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);margin-bottom:1rem;font-family:'JetBrains Mono',monospace}
.section-head h2{font-size:clamp(2rem,3.8vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.1}
.section-head p{color:var(--txt-dim);margin-top:1rem;font-size:1.05rem}

/* ---------- BENTO ---------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;grid-auto-rows:minmax(180px,auto)}
.bento-card{padding:1.7rem;position:relative;overflow:hidden;transition:transform .4s var(--ease),border-color .4s,box-shadow .4s;will-change:transform}
.bento-card:hover{border-color:var(--stroke-strong);box-shadow:0 30px 70px -32px rgba(77,123,255,.5)}
.bento-card.span-2{grid-column:span 2}
.bento-card.tall{grid-row:span 2}
.bc-glow{position:absolute;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(77,123,255,.22),transparent 65%);top:-90px;right:-90px;pointer-events:none}
.fc-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;margin-bottom:1.1rem;position:relative}
.ic-blue{color:var(--blue);background:rgba(77,163,255,.12)}
.ic-violet{color:var(--violet);background:rgba(139,107,255,.12)}
.ic-cyan{color:var(--cyan);background:rgba(55,224,216,.12)}
.ic-green{color:var(--green);background:rgba(61,220,135,.12)}
.ic-amber{color:var(--amber);background:rgba(255,184,77,.12)}
.bento-card h3{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}
.bento-card>p{color:var(--txt-dim);font-size:.94rem;margin:.5rem 0 0}
.bento-card.tall>p{margin-bottom:1rem}
ul.check{list-style:none;display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}
ul.check li{position:relative;padding-left:1.5rem;font-size:.9rem;color:var(--txt-dim)}
ul.check li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:14px;border-radius:50%;background:rgba(61,220,135,.15)}
ul.check li::after{content:"";position:absolute;left:4.5px;top:.62em;width:4px;height:7px;border:2px solid var(--green);border-top:0;border-left:0;transform:rotate(40deg)}
.mini-bars{display:flex;align-items:flex-end;gap:.4rem;height:54px;margin-top:1.2rem}
.mini-bars i{flex:1;height:var(--h);border-radius:5px 5px 0 0;background:var(--grad-2);opacity:.85;transform-origin:bottom;animation:barRise 1.2s var(--ease) backwards}
.mini-bars i:nth-child(2){animation-delay:.05s}.mini-bars i:nth-child(3){animation-delay:.1s}.mini-bars i:nth-child(4){animation-delay:.15s}.mini-bars i:nth-child(5){animation-delay:.2s}.mini-bars i:nth-child(6){animation-delay:.25s}.mini-bars i:nth-child(7){animation-delay:.3s}
@keyframes barRise{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.cta-card{background:linear-gradient(140deg,rgba(47,125,255,.18),rgba(139,107,255,.14));display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:.7rem}
.cta-card h3{font-size:1.4rem}
.cta-card p{color:var(--txt-dim);font-size:.95rem}

/* ---------- solutions ---------- */
.solutions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.solution{padding:1.6rem;position:relative;overflow:hidden;transition:transform .4s var(--ease),border-color .4s}
.solution:hover{transform:translateY(-7px);border-color:var(--stroke-strong)}
.sol-num{font-family:'JetBrains Mono',monospace;font-size:.95rem;font-weight:700;color:var(--blue);opacity:.7}
.solution h3{margin:.6rem 0 .5rem;font-size:1.2rem}
.solution p{color:var(--txt-dim);font-size:.92rem;margin-bottom:1rem}
.tag{display:inline-block;font-size:.74rem;padding:.28rem .6rem;border-radius:8px;background:rgba(255,255,255,.05);border:1px solid var(--stroke);color:var(--txt-dim);margin:.2rem .3rem 0 0}

/* ---------- pipeline ---------- */
.pipeline{display:flex;align-items:stretch;gap:1.4rem;justify-content:center;flex-wrap:wrap;position:relative}
.pipe-line{position:absolute;top:50%;left:4%;right:4%;height:2px;background:rgba(120,160,255,.12);border-radius:2px;overflow:hidden;z-index:0}
.pipe-line span{position:absolute;inset:0;width:0;background:var(--grad);box-shadow:0 0 12px rgba(77,163,255,.6)}
.pipe-stage{flex:1;min-width:230px;padding:1.6rem;transition:transform .4s var(--ease);position:relative;z-index:1;background:var(--panel-solid)}
.pipe-stage:hover{transform:translateY(-7px)}
.pipe-stage.accent{background:linear-gradient(150deg,rgba(139,107,255,.18),rgba(47,125,255,.1));border-color:var(--stroke-strong)}
.pipe-head{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.6rem}
.pipe-badge{align-self:flex-start;font-family:'JetBrains Mono',monospace;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);padding:.25rem .55rem;border-radius:7px;background:rgba(77,163,255,.12)}
.pipe-badge.violet{color:var(--violet);background:rgba(139,107,255,.14)}
.pipe-stage h3{font-size:1.18rem}
.pipe-stage>p{color:var(--txt-dim);font-size:.92rem;margin-bottom:1rem}
.chips{display:flex;flex-wrap:wrap;gap:.45rem}
.chips span{font-size:.78rem;padding:.32rem .65rem;border-radius:8px;background:rgba(255,255,255,.04);border:1px solid var(--stroke);color:var(--txt-dim)}
.stack-strip{margin-top:3rem;text-align:center}
.strip-label{display:block;font-size:.76rem;text-transform:uppercase;letter-spacing:.16em;color:var(--txt-mute);margin-bottom:1rem;font-family:'JetBrains Mono',monospace}
.strip-items{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.4rem}
.strip-items span{font-family:var(--font-d);font-weight:700;color:var(--txt-dim);font-size:1rem;opacity:.8;transition:.3s}
.strip-items span:hover{opacity:1;color:var(--blue)}

/* ---------- dashboard preview ---------- */
.dash-preview{padding:1.6rem;position:relative;overflow:hidden;transition:transform .4s var(--ease)}
.dash-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;margin-bottom:1.4rem}
.kpi{padding:1rem 1.1rem;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid var(--stroke)}
.kpi span{display:block;font-size:.74rem;color:var(--txt-mute);text-transform:uppercase;letter-spacing:.06em}
.kpi b{font-family:var(--font-d);font-size:1.7rem;font-weight:800;letter-spacing:-.02em}
.kpi.crit b{color:var(--red)}.kpi.risk b{color:var(--amber)}
.dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.dash-panel{padding:1.2rem;border-radius:14px;background:rgba(255,255,255,.025);border:1px solid var(--stroke)}
.panel-h{font-family:var(--font-d);font-weight:600;font-size:.95rem;margin-bottom:1rem}
.sev-bars{display:flex;flex-direction:column;gap:.85rem}
.sev{display:grid;grid-template-columns:70px 1fr 34px;align-items:center;gap:.7rem;font-size:.84rem;color:var(--txt-dim)}
.sev .track{height:9px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.sev .track i{display:block;height:100%;width:0;border-radius:99px;animation:grow 1.4s var(--ease) forwards}
.sev .track i.crit{background:var(--red)}.sev .track i.high{background:var(--amber)}
.sev .track i.med{background:var(--blue)}.sev .track i.low{background:var(--green)}
.sev b{text-align:right;font-family:'JetBrains Mono',monospace;color:var(--txt)}
@keyframes grow{to{width:var(--w)}}
.feed-mini{display:flex;flex-direction:column;gap:.6rem}
.feed-item{display:flex;align-items:center;gap:.7rem;padding:.6rem .7rem;border-radius:10px;background:rgba(255,255,255,.03);font-size:.82rem}
.feed-sev{font-size:.66rem;font-weight:700;padding:.16rem .45rem;border-radius:6px;text-transform:uppercase}
.feed-sev.crit{color:var(--red);background:rgba(255,94,108,.13)}
.feed-sev.high{color:var(--amber);background:rgba(255,184,77,.13)}
.feed-sev.med{color:var(--blue);background:rgba(77,163,255,.13)}
.feed-item .fname{font-weight:600}
.feed-item .fsrc{margin-left:auto;color:var(--txt-mute);font-size:.72rem;font-family:'JetBrains Mono',monospace}
.dash-launch{margin-top:1.4rem}

/* ---------- blog ---------- */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.blog-card{padding:1.5rem;transition:transform .4s var(--ease),border-color .4s}
.blog-card:hover{transform:translateY(-7px);border-color:var(--stroke-strong)}
.bc-cat{display:inline-block;font-family:'JetBrains Mono',monospace;font-size:.7rem;font-weight:700;padding:.25rem .6rem;border-radius:7px;color:var(--blue);background:rgba(77,163,255,.12);margin-bottom:.9rem}
.bc-cat.violet{color:var(--violet);background:rgba(139,107,255,.12)}
.bc-cat.cyan{color:var(--cyan);background:rgba(55,224,216,.12)}
.bc-cat.green{color:var(--green);background:rgba(61,220,135,.12)}
.bc-cat.amber{color:var(--amber);background:rgba(255,184,77,.12)}
.blog-card h3{font-size:1.1rem;font-weight:700;line-height:1.3}
.blog-card p{color:var(--txt-dim);font-size:.9rem;margin:.5rem 0 1rem}
.bc-read{font-size:.82rem;font-weight:600;color:var(--blue)}

/* ---------- CTA ---------- */
.cta-section{padding:5rem 0 7rem}
.cta-panel{text-align:center;padding:3.8rem 2rem;position:relative;overflow:hidden;border-color:var(--stroke-strong)}
.cta-glow{position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(139,107,255,.25),transparent 60%);pointer-events:none}
.cta-panel h2{font-size:clamp(1.9rem,3.8vw,2.9rem);font-weight:800;letter-spacing:-.035em;position:relative}
.cta-panel>p{color:var(--txt-dim);max-width:40rem;margin:1rem auto 1.9rem;position:relative}
.cta-actions{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap;position:relative}

/* ---------- footer ---------- */
.footer{border-top:1px solid var(--stroke);padding:3.5rem 0 2.5rem;background:rgba(5,8,15,.6)}
.footer-inner{display:grid;grid-template-columns:1.3fr 2fr;gap:2.5rem}
.footer-brand>p{color:var(--txt-dim);font-size:.9rem;max-width:24rem;margin:1rem 0}
.copyright{font-size:.82rem;color:var(--txt-mute)}
.footer-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.footer-cols h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;color:var(--txt);margin-bottom:.9rem}
.footer-cols a{display:block;color:var(--txt-dim);font-size:.9rem;padding:.28rem 0;transition:.2s}
.footer-cols a:hover{color:var(--blue);transform:translateX(3px)}

/* ---------- reveal (GSAP fallback) ---------- */
[data-anim]{opacity:0}
.no-gsap [data-anim]{opacity:1}

/* ============================================================ RESPONSIVE */
@media (max-width:980px){
  .hero-inner{grid-template-columns:1fr;gap:5rem}
  .hero-visual{max-width:460px;margin-inline:auto;width:100%}
  .bento{grid-template-columns:repeat(2,1fr)}
  .bento-card.span-2{grid-column:span 2}
  .bento-card.tall{grid-row:auto}
  .solutions-grid{grid-template-columns:repeat(2,1fr)}
  .blog-grid{grid-template-columns:repeat(2,1fr)}
  .dash-kpis{grid-template-columns:repeat(3,1fr)}
  .footer-inner{grid-template-columns:1fr}
  .pipe-line{display:none}
}
@media (max-width:680px){
  .nav-links,.nav-cta{display:none}
  .nav-toggle{display:flex}
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:.2rem;padding:1rem 4%;background:rgba(7,10,18,.97);backdrop-filter:blur(16px);border-bottom:1px solid var(--stroke);transform:translateY(-12px);opacity:0;pointer-events:none;transition:.3s var(--ease)}
  .nav-links.open{transform:none;opacity:1;pointer-events:auto;display:flex}
  .hero{padding-top:8rem}
  .hero-stats{grid-template-columns:repeat(2,1fr);gap:1.6rem 1rem;margin-top:4rem}
  .bento,.solutions-grid,.blog-grid,.dash-grid,.dash-kpis{grid-template-columns:1fr}
  .bento-card.span-2{grid-column:auto}
  .console{position:relative;right:auto;bottom:auto;width:100%;margin-top:1rem}
  .fc-2{display:none}
  .footer-cols{grid-template-columns:1fr 1fr}
}
