/* ===================================================================
   ClusterZap.ai — Design System
   Fonts: Montserrat (display + body)
=================================================================== */
:root{
  --ink:#0A0A14;
  --ink-2:#12121F;
  --paper:#F7F6F2;
  --brand:#00DC82;
  --brand-dark:#00b86c;
  --accent:#2563EB;
  --cyan:#06B6D4;
  --gold:#F5C842;
  --mid:#6B6880;
  --white:#FFFFFF;
  --border:rgba(10,10,20,.08);
  --border-light:rgba(255,255,255,.12);
  --radius:18px;
  --radius-sm:10px;
  --nav-h:74px;
  --font-body:'Montserrat',system-ui,-apple-system,sans-serif;
  --font-display:'Montserrat',system-ui,-apple-system,sans-serif;
  --shadow-sm:0 2px 10px rgba(10,10,20,.05);
  --shadow:0 14px 40px rgba(10,10,20,.10);
  --shadow-lg:0 30px 70px rgba(10,10,20,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
h1,h2,h3,h4,h5,.display,.h-display{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.1}
h1{font-size:clamp(2.3rem,5vw,3.8rem)}
h2{font-size:clamp(1.9rem,3.5vw,2.8rem)}
h3{font-size:1.35rem}
p{color:#33333f}
a{text-decoration:none;color:var(--accent);transition:.2s}
a:hover{color:var(--brand-dark)}
.lead-muted{color:var(--mid);font-size:1.12rem}
.section{padding:clamp(3.5rem,7vw,6.5rem) 0}
.section-sm{padding:clamp(2.5rem,5vw,4rem) 0}
.container-tight{max-width:1180px}
.eyebrow{font-family:var(--font-display);font-weight:600;letter-spacing:.16em;text-transform:uppercase;font-size:.78rem;color:var(--brand-dark);margin-bottom:1rem;display:inline-block}
.text-gradient{background:linear-gradient(100deg,var(--brand),var(--cyan));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}

/* ---------- Buttons ---------- */
.btn{font-family:var(--font-display);font-weight:600;border-radius:999px;padding:.8rem 1.7rem;transition:.22s;border:0;font-size:.98rem}
.btn-brand{background:var(--brand);color:var(--ink)}
.btn-brand:hover{background:var(--brand-dark);color:var(--ink);transform:translateY(-2px);box-shadow:0 10px 24px rgba(0,220,130,.35)}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#000;color:#fff;transform:translateY(-2px)}
.btn-outline-ink{background:transparent;color:var(--ink);border:1.5px solid rgba(10,10,20,.22)}
.btn-outline-ink:hover{background:var(--ink);color:#fff}
.btn-outline-light{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.3)}
.btn-outline-light:hover{background:#fff;color:var(--ink)}
.btn-lg{padding:1rem 2.2rem;font-size:1.05rem}

/* ---------- Navbar ---------- */
.navbar{height:var(--nav-h);background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid transparent;transition:.3s}
.navbar.scrolled{background:rgba(255,255,255,.97);border-bottom-color:var(--border);box-shadow:var(--shadow-sm)}
.navbar .navbar-brand img{height:34px;width:auto}
.navbar .nav-link{font-family:var(--font-display);font-weight:600;color:var(--ink)!important;font-size:.95rem;padding:.5rem .9rem!important}
.navbar .nav-link:hover{color:var(--brand-dark)!important}
.dropdown-menu{border:0;border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:.6rem;margin-top:.6rem}
.dropdown-item{border-radius:8px;font-size:.92rem;padding:.5rem .8rem;font-weight:500}
.dropdown-item:hover{background:var(--paper);color:var(--brand-dark)}
.mega .dropdown-menu{min-width:520px}
.mega-head{font-family:var(--font-display);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mid);padding:.4rem .8rem .1rem}

/* ---------- Hero ---------- */
.hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;padding:clamp(4.5rem,9vw,7.5rem) 0 clamp(3.5rem,7vw,6rem)}
.hero h1{color:#fff}
.hero p{color:rgba(255,255,255,.74)}
.hero-glow{position:absolute;border-radius:50%;filter:blur(90px);opacity:.5;z-index:0}
.hero-glow.g1{width:480px;height:480px;background:var(--brand);top:-160px;right:-120px;opacity:.28}
.hero-glow.g2{width:420px;height:420px;background:var(--accent);bottom:-180px;left:-120px;opacity:.32}
.hero .container{position:relative;z-index:2}
.hero-sub{background:linear-gradient(180deg,var(--ink),var(--ink-2))}

/* ---------- Stats ---------- */
.stat-num{font-family:var(--font-display);font-weight:800;font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1}
.stat-strip{background:var(--ink-2);color:#fff}
.stat-strip .stat-num{color:var(--brand)}
.stat-label{color:var(--mid);font-size:.86rem;text-transform:uppercase;letter-spacing:.06em;margin-top:.4rem}

/* ---------- Cards ---------- */
.card-soft{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem;height:100%;transition:.25s}
.card-soft:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}
.card-soft .ico{width:50px;height:50px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(0,220,130,.15),rgba(6,182,212,.12));color:var(--brand-dark);font-size:1.3rem;margin-bottom:1.1rem}
.card-num{font-family:var(--font-display);font-weight:800;color:var(--brand);font-size:1.4rem}
.bg-paper{background:var(--paper)}
.bg-ink{background:var(--ink);color:#fff}
.bg-ink h2,.bg-ink h3{color:#fff}
.bg-ink p{color:rgba(255,255,255,.72)}

/* ---------- Testimonials ---------- */
.quote{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem;height:100%}
.quote .mark{font-family:var(--font-display);font-size:3rem;line-height:.4;color:var(--brand);height:1.4rem;display:block}
.quote p{font-size:1.05rem;color:var(--ink);font-weight:500}
.quote cite{display:block;margin-top:1rem;font-style:normal;color:var(--mid);font-size:.9rem;font-weight:600}

/* ---------- Comparison columns ---------- */
.compare{border-radius:var(--radius);padding:2rem;height:100%}
.compare.bad{background:#fff;border:1px dashed rgba(10,10,20,.2)}
.compare.good{background:linear-gradient(160deg,var(--ink),var(--ink-2));color:#fff}
.compare ul{list-style:none;padding:0;margin:1rem 0 0}
.compare li{padding:.45rem 0 .45rem 1.8rem;position:relative}
.compare.bad li::before{content:"\2715";position:absolute;left:0;color:#c44;font-weight:700}
.compare.good li{color:rgba(255,255,255,.85)}
.compare.good li::before{content:"\2713";position:absolute;left:0;color:var(--brand);font-weight:700}

/* ---------- Outcomes ---------- */
.outcome{background:#fff;border:1px solid var(--border);border-left:4px solid var(--brand);border-radius:12px;padding:1.4rem 1.5rem;height:100%}
.outcome .metric{font-family:var(--font-display);font-weight:700;font-size:1.1rem;margin-bottom:.3rem}
.outcome .tf{display:inline-block;margin-top:.8rem;font-size:.74rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-dark);background:rgba(0,220,130,.12);padding:.25rem .7rem;border-radius:999px}

/* ---------- Pricing ---------- */
.plan{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem;height:100%;display:flex;flex-direction:column;transition:.25s}
.plan:hover{box-shadow:var(--shadow);transform:translateY(-4px)}
.plan.featured{background:var(--ink);color:#fff;border-color:var(--ink);box-shadow:var(--shadow-lg)}
.plan.featured p,.plan.featured li{color:rgba(255,255,255,.8)}
.plan .plan-name{font-family:var(--font-display);font-weight:700;font-size:1.4rem}
.plan .badge-pop{background:var(--brand);color:var(--ink);font-weight:700;font-size:.72rem;padding:.3rem .8rem;border-radius:999px;letter-spacing:.05em}
.plan ul{list-style:none;padding:0;margin:1.2rem 0;flex:1}
.plan li{padding:.4rem 0 .4rem 1.7rem;position:relative;font-size:.95rem}
.plan li::before{content:"\2713";position:absolute;left:0;color:var(--brand-dark);font-weight:700}
.plan.featured li::before{color:var(--brand)}

/* ---------- Tables ---------- */
.table-compare{width:100%;border-collapse:separate;border-spacing:0;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.table-compare th,.table-compare td{padding:.85rem 1.1rem;text-align:center;border-bottom:1px solid var(--border)}
.table-compare th{font-family:var(--font-display);background:var(--ink);color:#fff;font-size:.92rem}
.table-compare td:first-child,.table-compare th:first-child{text-align:left;font-weight:600}
.table-compare tbody tr:nth-child(even){background:var(--paper)}
.table-compare .yes{color:var(--brand-dark);font-weight:700}
.table-compare .no{color:#b9b9c2}

/* ---------- FAQ ---------- */
.accordion-item{border:1px solid var(--border);border-radius:var(--radius-sm)!important;margin-bottom:.7rem;overflow:hidden}
.accordion-button{font-family:var(--font-display);font-weight:600;color:var(--ink);font-size:1.02rem}
.accordion-button:not(.collapsed){background:var(--paper);color:var(--ink);box-shadow:none}
.accordion-button:focus{box-shadow:none}
.accordion-button::after{background-size:1rem}

/* ---------- Challenge list ---------- */
.challenge li{padding:.6rem 0 .6rem 2rem;position:relative;border-bottom:1px solid var(--border)}
.challenge li::before{content:"\2192";position:absolute;left:0;color:var(--accent);font-weight:700}

/* ---------- Channel pills / chips ---------- */
.chip{display:inline-flex;align-items:center;gap:.4rem;background:#fff;border:1px solid var(--border);border-radius:999px;padding:.55rem 1.1rem;font-weight:600;font-size:.92rem;margin:.3rem;transition:.2s}
.chip:hover{border-color:var(--brand);color:var(--brand-dark);transform:translateY(-2px)}
.bg-ink .chip{background:rgba(255,255,255,.06);border-color:var(--border-light);color:#fff}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(120deg,var(--ink),#161628);color:#fff;border-radius:var(--radius);padding:clamp(2.5rem,5vw,4rem);position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;width:340px;height:340px;background:var(--brand);filter:blur(110px);opacity:.25;right:-80px;top:-100px}
.cta-band .container{position:relative;z-index:2}

/* ---------- Forms ---------- */
.form-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.form-control,.form-select{border-radius:10px;border:1px solid var(--border);padding:.75rem 1rem;font-size:.97rem}
.form-control:focus,.form-select:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,220,130,.18)}
.form-label{font-weight:600;font-size:.9rem;margin-bottom:.35rem}

/* ---------- Footer ---------- */
.footer{background:var(--ink);color:rgba(255,255,255,.66);padding:4rem 0 1.5rem}
.footer img{height:34px;margin-bottom:1.2rem}
.footer h6{color:#fff;font-family:var(--font-display);letter-spacing:.05em;font-size:.8rem;text-transform:uppercase;margin-bottom:1.1rem}
.footer a{color:rgba(255,255,255,.66);font-size:.92rem;display:block;padding:.28rem 0}
.footer a:hover{color:var(--brand)}
.footer-bottom{border-top:1px solid var(--border-light);margin-top:2.5rem;padding-top:1.5rem;font-size:.86rem}

/* ---------- Misc / Industries ---------- */
.ind-card{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--ink);color:#fff;padding:1.8rem;height:100%;transition:.25s}
.ind-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.ind-card .ind-stat{color:var(--brand);font-family:var(--font-display);font-weight:700}
.logo-ph{background:var(--paper);border:1px dashed var(--border);border-radius:12px;height:90px;display:grid;place-items:center;color:var(--mid);font-weight:600;font-size:.85rem}

/* ---------- Reveal animation ---------- */
.reveal{opacity:0;transform:translateY(24px);transition:.7s cubic-bezier(.16,.84,.44,1)}
.reveal.in{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media(max-width:991px){
  .mega .dropdown-menu{min-width:auto}
  .navbar-collapse{background:#fff;padding:1rem;border-radius:var(--radius-sm);box-shadow:var(--shadow);margin-top:.6rem}
}
