/* ========================================================================
   Node.js VPS (MERN/MEAN) — Consolidated Styles
   - All styles moved from inline <style> blocks into this file
   - Duplicates merged (chips, buttons, gradients, accordions, tables)
   - Class names unchanged => visuals remain identical
   ======================================================================== */

/* ---------- Global Brand Tokens ---------- */
:root{
  /* Core brand gradient */
  --brand-sky:    #0ea5ea;
  --brand-violet: #7c3aed;

  /* Text & UI */
  --text-hero:    #ffffff;
  --text-muted:   rgba(255,255,255,.75);

  /* Shared surfaces */
  --glass-bg:     rgba(255,255,255,.08);
  --glass-br:     rgba(255,255,255,.16);
  --chip-bg:      rgba(255,255,255,.10);
  --chip-br:      rgba(255,255,255,.20);

  /* Section-specific aliases (kept for drop-in parity) */
  --hero-from: var(--brand-sky);
  --hero-to:   var(--brand-violet);

  --wwg-from:  var(--brand-sky);
  --wwg-to:    var(--brand-violet);
  --wwg-card-bg:#ffffff; --wwg-muted:#6b7280; --wwg-ring:rgba(14,165,234,.15);

  --pp-from:  var(--brand-sky);
  --pp-to:    var(--brand-violet);
  --pp-muted:#6b7280; --pp-ring:rgba(14,165,234,.18);

  --feat-from: var(--brand-sky);
  --feat-to:   var(--brand-violet);
  --feat-muted:#6b7280; --feat-card:#ffffff; --feat-ring:rgba(14,165,234,.18);

  --req-from: var(--brand-sky);
  --req-to:   var(--brand-violet);
  --req-muted:#6b7280; --req-card:#ffffff; --req-ring:rgba(14,165,234,.18);

  --spec-from: var(--brand-sky);
  --spec-to:   var(--brand-violet);
  --spec-muted:#6b7280; --spec-card:#ffffff; --spec-ring:rgba(14,165,234,.18);

  --how-from: var(--brand-sky);
  --how-to:   var(--brand-violet);
  --how-muted:#6b7280; --how-card:#ffffff; --how-ring:rgba(14,165,234,.18);

  --cta-from: var(--brand-sky);
  --cta-to:   var(--brand-violet);
  --cta-muted:rgba(255,255,255,.75);

  --faq-from: var(--brand-sky);
  --faq-to:   var(--brand-violet);
  --faq-muted:#6b7280; --faq-ring:rgba(14,165,234,.18);

  --pol-muted:#6b7280; --pol-ring:rgba(14,165,234,.16);
}

/* ---------- Reusable micro-components (merged) ---------- */
.chips{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:.85rem}
.chip{
  display:inline-flex;align-items:center;gap:.5rem;
  padding:.45rem .8rem;border-radius:999px;
  background:var(--chip-bg);border:1px solid var(--chip-br);
  color:#e9f8ff;font-size:.9rem
}
/* Buttons */
.btn-brand{--bs-btn-padding-y:.75rem;--bs-btn-padding-x:1.25rem;--bs-btn-font-weight:700;color:#0b1020;background-image:linear-gradient(90deg,#a7f3d0,#67e8f9,#93c5fd);border:0}
.btn-brand:focus-visible{outline:3px solid #fff;outline-offset:2px}
.btn-ghost{border-width:2px}
body.dark .btn-brand{color:#0b1020}
.btn-gradient{color:#0b1020;border:0;border-radius:.75rem;font-weight:700;padding:.85rem 1.25rem;background-image:linear-gradient(90deg,#a7f3d0,#67e8f9,#93c5fd)}
.btn-primary-gradient{color:#0b1020;background-image:linear-gradient(90deg,#a7f3d0,#67e8f9,#93c5fd);border:0}

/* Accordion polish (shared by FAQ) */
.accordion.faq-accordion .accordion-item{
  background:#fff;border:1px solid rgba(14,165,234,.14);border-radius:.9rem;overflow:hidden;
  box-shadow:0 12px 36px rgba(17,24,39,.06);margin-bottom:.8rem
}
.accordion.faq-accordion .accordion-button{
  padding:1rem 1rem 1rem 2.75rem;font-weight:700;
  background-image:linear-gradient(90deg,rgba(14,165,234,.06),rgba(124,58,237,.06))
}
.accordion.faq-accordion .accordion-button.collapsed{background:#fff}
.accordion.faq-accordion .accordion-button:focus{box-shadow:none}
.accordion.faq-accordion .accordion-button::after{filter:grayscale(.2)}
.accordion.faq-accordion .accordion-header .accordion-button::before{
  content:"❓";position:absolute;left:1rem;font-size:1rem;opacity:.85
}
.accordion.faq-accordion .accordion-body{color:#111827;line-height:1.6}
.accordion.faq-accordion code{background:#0b1220;color:#e5e7eb;padding:.15rem .35rem;border-radius:.35rem}

/* Compare / spec tables */
.compare-table,.spec-table{width:100%;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:.8rem;border:1px solid rgba(14,165,234,.15);background:#fff}
.compare-table th,.compare-table td,.spec-table th,.spec-table td{padding:.8rem .9rem;border-bottom:1px solid rgba(226,232,240,.8);text-align:center;vertical-align:middle}
.compare-table thead th,.spec-table thead th{background:#f8fafc;font-weight:800}
.compare-table tbody th{ text-align:left;font-weight:700 }
.compare-table .tick{color:#16a34a;font-weight:800}
.compare-table .dash{color:#9ca3af}

/* Code block utility */
pre.code{margin:0;white-space:pre-wrap;word-break:break-word;background:#0b1220;color:#e5e7eb;padding:1rem;border-radius:.6rem;font-size:.9rem}

/* Section background grid (used via ::before in many sections) */
.section-grid::before{
  content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;
  background:
    repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 44px),
    repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 44px);
  mask-image: radial-gradient(70% 50% at 50% 10%, #000 30%, transparent 85%);
}

/* ========================================================================
   HERO
   ======================================================================== */
.hero{position:relative;overflow:hidden;color:var(--text-hero)}
.hero__bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(800px 400px at 10% -10%, rgba(255,255,255,.10), transparent 55%),
    radial-gradient(700px 400px at 110% 20%, rgba(255,255,255,.07), transparent 60%),
    linear-gradient(135deg,var(--hero-from) 0%, var(--hero-to) 70%)
}
.hero__inner{position:relative;z-index:1;padding:clamp(56px,8vw,120px) 0}
.hero__title{color:#fff;font-weight:800;line-height:1.05;font-size:clamp(32px,5vw,56px);letter-spacing:-.01em;text-wrap:balance;text-shadow:0 1px 1px rgba(0,0,0,.15);margin:0 0 .5rem}
.hero__title span{background:none;-webkit-background-clip:initial;background-clip:initial;color:inherit}
.hero__lead{font-size:clamp(16px,2.2vw,20px);color:var(--text-muted);margin-bottom:1.25rem;line-height:1.55;max-width:60ch;text-wrap:pretty}
.hero__bullets{margin:0 0 1.35rem 0;padding:0;list-style:none}
.hero__bullets li{display:flex;align-items:flex-start;gap:.6rem;margin:.35rem 0;color:#f1f5f9;line-height:1.55}
.hero__bullets .e{flex:0 0 1.25em;text-align:center;line-height:1.1}
.hero__ctas{display:flex;flex-wrap:wrap;gap:.85rem;align-items:center}
.hero__tip{color:var(--text-muted);font-size:.92rem}
.hero__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1rem;background:var(--glass-bg);border:1px solid var(--glass-br);border-radius:1rem;padding:.75rem}
.stat{text-align:center;padding:.5rem}
.stat__value{font-weight:800;font-size:clamp(18px,3vw,24px);line-height:1;font-variant-numeric:tabular-nums lining-nums;letter-spacing:-.01em}
.stat__label{font-size:.8rem;color:var(--text-muted)}
.hero__media-card{background:var(--glass-bg);border:1px solid var(--glass-br);border-radius:1rem;padding:clamp(.75rem,2vw,1.25rem);box-shadow:0 10px 30px rgba(0,0,0,.15)}
.hero__media picture,.hero__media img{display:block;width:100%;height:auto}
.hero__wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:auto}
@media (prefers-reduced-motion:reduce){.hero__bg{background-attachment:initial}}

/* ========================================================================
   WHO / WHAT YOU GET
   ======================================================================== */
.wwg-section{position:relative;overflow:hidden;background:
  radial-gradient(1200px 640px at -10% 0%, rgba(126,34,206,.12), transparent 60%),
  radial-gradient(800px 460px at 110% 20%, rgba(14,165,234,.10), transparent 62%),
  linear-gradient(180deg, #f7f9ff 0%, #f9f9ff 24%, #fafcff 60%, #ffffff 100%)}
.wwg-section::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background:
  repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 40px),
  repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 40px);
  mask-image: radial-gradient(70% 50% at 50% 10%, #000 30%, transparent 90%)}
.wwg-heading{text-align:center;margin-bottom:2.25rem}
.wwg-heading h2{font-weight:800;letter-spacing:-.015em;margin:0 0 .5rem;font-size:clamp(28px,3.6vw,40px)}
.wwg-heading p{color:var(--wwg-muted);max-width:70ch;margin:0 auto;font-size:clamp(15px,1.4vw,18px)}
.wwg-card{background:var(--wwg-card-bg);border-radius:1rem;box-shadow:0 10px 30px rgba(17,24,39,.08);border:1px solid rgba(14,165,234,.08);height:100%;position:relative;transition:transform .25s ease,box-shadow .25s ease}
.wwg-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(17,24,39,.10)}
.wwg-card .inner{padding:clamp(20px,3vw,28px) clamp(20px,3vw,32px)}
.wwg-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:600;color:#2563eb;font-size:.9rem;letter-spacing:.02em;background:linear-gradient(90deg,rgba(14,165,234,.12),rgba(124,58,237,.12));border:1px solid rgba(14,165,234,.22);padding:.35rem .7rem;border-radius:999px}
.wwg-card h3{font-weight:800;margin:.9rem 0 .6rem;letter-spacing:-.01em;font-size:clamp(22px,2.8vw,26px)}
.wwg-list{list-style:none;padding:0;margin:0}
.wwg-list li{display:flex;gap:.65rem;align-items:flex-start;color:#111827;font-size:1rem;line-height:1.55;padding:.35rem 0}
.wwg-list li .ic{flex:0 0 1.35em;text-align:center;line-height:1.1;transform:translateY(.05em)}
.wwg-list li .muted{color:var(--wwg-muted)}
.wwg-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.wwg-chip{font-size:.85rem;color:#0b1220;background:#f1f5ff;border:1px solid rgba(14,165,234,.25);border-radius:999px;padding:.35rem .6rem}
.wwg-checklist{margin-top:1.25rem;padding:.9rem 1rem;background:linear-gradient(90deg,rgba(14,165,234,.08),rgba(124,58,237,.08));border:1px dashed var(--wwg-ring);border-radius:.9rem;display:flex;flex-wrap:wrap;gap:.6rem .9rem;align-items:center}
.wwg-checklist .item{display:flex;gap:.45rem;align-items:center;color:#1f2937}
.wwg-cta{text-align:center;margin-top:2.25rem}
.wwg-cta .btn{padding:.85rem 1.25rem;font-weight:700;border-radius:.75rem}

/* ========================================================================
   PLANS & PRICING
   ======================================================================== */
.plans-section{position:relative;overflow:hidden;background:
  radial-gradient(1100px 520px at -10% 0%, rgba(14,165,234,.08), transparent 60%),
  radial-gradient(900px 500px at 110% 10%, rgba(124,58,237,.08), transparent 62%),
  linear-gradient(180deg,#ffffff 0%,#fbfbff 30%,#ffffff 100%)}
.plans-section::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background:
  repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 44px),
  repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 44px);
  mask-image: radial-gradient(70% 50% at 50% 10%, #000 30%, transparent 85%)}
.plans-heading{text-align:center;margin-bottom:2.2rem}
.plans-heading h2{font-weight:800;letter-spacing:-.015em;font-size:clamp(28px,3.4vw,40px);margin:0 0 .5rem}
.plans-heading p.lead{color:var(--pp-muted);max-width:76ch;margin:0 auto .35rem}
.plans-badge{display:inline-block;margin-top:.35rem;background:#fff3cd;color:#111827;border:1px solid #ffe69c;border-radius:999px;padding:.25rem .6rem;font-weight:600;font-size:.85rem}
.billing-toggle{display:flex;justify-content:center;margin:1.25rem 0 2rem}
.toggle-pill{display:inline-flex;border:1px solid var(--pp-ring);border-radius:999px;padding:.25rem;background:#fff;box-shadow:0 6px 20px rgba(17,24,39,.08);gap:.25rem}
.toggle-pill button{border:0;background:transparent;padding:.55rem 1rem;font-weight:700;border-radius:999px;color:#111827}
.toggle-pill button[aria-pressed="true"]{background:linear-gradient(90deg,#a7f3d0,#67e8f9,#93c5fd);color:#0b1020}
.save-chip{margin-left:.6rem;font-weight:700;color:#065f46;background:#d1fae5;border:1px solid #a7f3d0;border-radius:999px;padding:.2rem .5rem;font-size:.8rem}
.pp-highlights .card{border:1px solid rgba(14,165,234,.12);border-radius:1rem;height:100%;box-shadow:0 10px 30px rgba(17,24,39,.06)}
.pp-highlights h5{font-weight:800;margin:.25rem 0 .4rem}
.pp-highlights p{color:var(--pp-muted);margin:0}
.plan-card{position:relative;background:#fff;border:1px solid rgba(14,165,234,.12);border-radius:1.1rem;box-shadow:0 16px 40px rgba(17,24,39,.08);height:100%;overflow:hidden}
.plan-card.light{background:#f8fafc}
.plan-card .ribbon{position:absolute;top:16px;right:16px;z-index:2}
.plan-card .topbar{height:6px;background:linear-gradient(90deg,var(--pp-from),var(--pp-to))}
.plan-card .inner{padding:clamp(20px,3vw,28px)}
.plan-title{font-weight:800;letter-spacing:-.01em;margin:0 0 .25rem;font-size:1.25rem}
.plan-sub{color:var(--pp-muted);margin:0}
.plan-specs{display:flex;gap:.5rem;flex-wrap:wrap;margin:.8rem 0 .4rem}
.pill{font-size:.85rem;background:#f1f5ff;border:1px solid rgba(14,165,234,.24);color:#0b1220;border-radius:999px;padding:.25rem .55rem}
.feat-list{list-style:none;padding:0;margin:1rem 0 0}
.feat-list li{display:flex;gap:.55rem;align-items:flex-start;padding:.38rem 0;color:#111827}
.feat-list .e{flex:0 0 1.2em;text-align:center}
.price-wrap{margin-top:1rem;text-align:center}
.price-kicker{font-size:.85rem;color:var(--pp-muted);margin:0}
.price{font-weight:800;color:#0b1220;line-height:1;font-size:clamp(26px,3vw,32px);letter-spacing:-.01em}
.price small{font-weight:600;color:var(--pp-muted)}
.price-note{color:var(--pp-muted);font-size:.85rem;margin-top:.25rem;min-height:1.25rem}
.plan-cta .btn{padding:.8rem 1.2rem;font-weight:700;border-radius:.7rem}
.compare-wrap{margin-top:2rem}
.policy{margin-top:1.25rem;color:var(--pp-muted)}

/* ========================================================================
   FEATURES
   ======================================================================== */
.features-section{position:relative;overflow:hidden;background:
  radial-gradient(1200px 620px at -10% 0%, rgba(14,165,234,.12), transparent 60%),
  radial-gradient(900px 520px at 110% 15%, rgba(124,58,237,.12), transparent 62%),
  linear-gradient(180deg,#fbfdff 0%,#ffffff 60%,#fbfdff 100%)}
.features-section::before{content:"";position:absolute;inset:0;opacity:.045;pointer-events:none;background:
  repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 44px),
  repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 44px);
  mask-image: radial-gradient(70% 50% at 50% 10%, #000 30%, transparent 85%)}
.section-heading{text-align:center;margin-bottom:2.2rem}
.section-heading h2{font-weight:800;letter-spacing:-.015em;margin:0 0 .5rem;font-size:clamp(28px,3.6vw,40px)}
.section-heading p{color:var(--feat-muted);margin:0 auto;max-width:74ch;font-size:clamp(15px,1.5vw,18px)}
.stack-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1rem}
.stack-chip{font-size:.85rem;color:#0b1220;background:#f1f5ff;border:1px solid rgba(14,165,234,.28);border-radius:999px;padding:.35rem .6rem;font-weight:600}
.feature-card{background:var(--feat-card);border-radius:1rem;border:1px solid rgba(14,165,234,.12);box-shadow:0 12px 36px rgba(17,24,39,.08);height:100%;transition:transform .25s ease,box-shadow .25s ease;padding:clamp(20px,2.8vw,28px)}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(17,24,39,.10)}
.icon-badge{width:48px;height:48px;display:inline-grid;place-items:center;border-radius:12px;background:linear-gradient(135deg,rgba(14,165,234,.18),rgba(124,58,237,.18));border:1px solid var(--feat-ring);color:#2563eb;margin-bottom:.6rem}
.feature-card h5{font-weight:800;margin:.25rem 0 .4rem;letter-spacing:-.01em}
.feature-card p{color:#111827;margin:0;line-height:1.55}
.feature-card .muted{color:var(--feat-muted)}
.list-card{background:#fff;border:1px solid rgba(14,165,234,.12);border-radius:1rem;box-shadow:0 10px 30px rgba(17,24,39,.06);height:100%;padding:clamp(20px,2.6vw,26px)}
.list-card h5{font-weight:800;margin:0 0 .4rem;letter-spacing:-.01em}
.checklist{list-style:none;padding:0;margin:.2rem 0 0}
.checklist li{display:flex;gap:.55rem;align-items:flex-start;padding:.35rem 0;font-size:1rem;color:#111827}
.checklist .e{flex:0 0 1.25em;text-align:center;line-height:1.1}
.note{color:var(--feat-muted);font-size:.92rem;margin-top:.55rem}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;margin-top:1.25rem;padding:.8rem;border-radius:.9rem;background:linear-gradient(90deg,rgba(14,165,234,.08),rgba(124,58,237,.08));border:1px dashed var(--feat-ring)}
.stat .v{font-weight:800;font-size:clamp(16px,2.4vw,20px);letter-spacing:-.01em}
.stat .l{font-size:.82rem;color:var(--feat-muted)}

/* ========================================================================
   REQUIREMENTS
   ======================================================================== */
.req-section{position:relative;overflow:hidden;background:
  radial-gradient(1100px 540px at -10% 0%, rgba(14,165,234,.10), transparent 60%),
  radial-gradient(900px 520px at 110% 10%, rgba(124,58,237,.10), transparent 62%),
  linear-gradient(180deg,#fbfdff 0%,#ffffff 60%,#fbfdff 100%)}
.req-section::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background:
  repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 44px),
  repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 44px);
  mask-image: radial-gradient(70% 50% at 50% 12%, #000 30%, transparent 85%)}
.req-heading{text-align:center;margin-bottom:2rem}
.req-heading h2{font-weight:800;letter-spacing:-.015em;font-size:clamp(26px,3.2vw,38px);margin:0 0 .5rem}
.req-heading p{color:var(--req-muted);max-width:72ch;margin:0 auto}
.step-card{background:var(--req-card);border-radius:1rem;border:1px solid rgba(14,165,234,.14);box-shadow:0 12px 36px rgba(17,24,39,.08);height:100%;padding:clamp(18px,2.6vw,26px);position:relative}
.step-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;background:linear-gradient(90deg,rgba(14,165,234,.12),rgba(124,58,237,.12));border:1px solid var(--req-ring);border-radius:999px;padding:.28rem .6rem;color:#2563eb;font-size:.9rem}
.step-title{font-weight:800;margin:.7rem 0 .35rem;letter-spacing:-.01em;font-size:1.05rem}
.step-text{color:#111827;margin:0;line-height:1.55}
.step-text .muted{color:var(--req-muted)}
.req-check{display:flex;flex-wrap:wrap;gap:.6rem .9rem;align-items:center;border:1px dashed var(--req-ring);border-radius:.9rem;padding:.85rem 1rem;background:linear-gradient(90deg,rgba(14,165,234,.08),rgba(124,58,237,.08));margin-top:1rem}
.req-check .item{display:flex;gap:.45rem;align-items:center;color:#1f2937}
.req-note{color:var(--req-muted);font-size:.92rem;margin-top:.7rem}
details.env-block{margin-top:1rem;background:#fff;border:1px solid rgba(14,165,234,.16);border-radius:.8rem;overflow:hidden;box-shadow:0 8px 24px rgba(17,24,39,.06)}
details.env-block>summary{cursor:pointer;padding:.8rem 1rem;font-weight:700;list-style:none;background:#f8fafc;border-bottom:1px solid rgba(226,232,240,.8)}
details.env-block[open]>summary{border-bottom-color:rgba(226,232,240,1)}
.env-body{padding:1rem}
.req-cta{text-align:center;margin-top:2.2rem}

/* ========================================================================
   TECH SPECS
   ======================================================================== */
.specs-section{position:relative;overflow:hidden;background:
  radial-gradient(1100px 520px at -10% 0%, rgba(14,165,234,.10), transparent 60%),
  radial-gradient(900px 500px at 110% 10%, rgba(124,58,237,.10), transparent 62%),
  linear-gradient(180deg,#ffffff 0%,#fbfbff 30%,#ffffff 100%)}
.specs-section::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background:
  repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 44px),
  repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 44px);
  mask-image: radial-gradient(70% 50% at 50% 12%, #000 30%, transparent 85%)}
.specs-heading{text-align:center;margin-bottom:2rem}
.specs-heading h2{font-weight:800;letter-spacing:-.015em;font-size:clamp(28px,3.4vw,40px);margin:0 0 .5rem}
.specs-heading p{color:var(--spec-muted);max-width:72ch;margin:0 auto}
.facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-top:1.2rem}
.fact{background:#f8fafc;border:1px solid rgba(14,165,234,.14);border-radius:.9rem;padding:1rem;text-align:left;height:100%}
.fact h6{margin:0 0 .3rem;text-transform:uppercase;color:var(--spec-muted);font-weight:800;font-size:.85rem;letter-spacing:.08em}
.fact p{margin:0;color:#111827}
.table-wrap{margin-top:1.5rem}
.spec-table thead th{text-align:left}
.spec-table tbody td,.spec-table tbody th{padding:.8rem .9rem;border-bottom:1px solid rgba(226,232,240,.7);vertical-align:top}
.spec-table tbody tr:last-child td,.spec-table tbody tr:last-child th{border-bottom:0}
.spec-table tbody th{width:22%;color:#111827}
.spec-note{color:var(--spec-muted);font-size:.92rem;margin-top:.6rem}
@media (max-width:991.98px){.facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:575.98px){.facts{grid-template-columns:1fr}}

/* ========================================================================
   HOW IT WORKS
   ======================================================================== */
.howit-section{position:relative;overflow:hidden;background:
  radial-gradient(1100px 540px at -10% 0%, rgba(14,165,234,.10), transparent 60%),
  radial-gradient(900px 520px at 110% 10%, rgba(124,58,237,.10), transparent 62%),
  linear-gradient(180deg,#fbfdff 0%,#ffffff 60%,#fbfdff 100%)}
.howit-section::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background:
  repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 44px),
  repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 44px);
  mask-image: radial-gradient(70% 50% at 50% 12%, #000 30%, transparent 85%)}
.howit-heading{text-align:center;margin-bottom:2.1rem}
.howit-heading h2{font-weight:800;letter-spacing:-.015em;font-size:clamp(28px,3.4vw,40px);margin:0 0 .5rem}
.howit-heading p{color:var(--how-muted);max-width:72ch;margin:0 auto}
.how-rail{position:relative;margin:1rem auto 2rem;max-width:860px;height:6px;background:linear-gradient(90deg,var(--how-from),var(--how-to));border-radius:999px;opacity:.25}
.how-card{background:var(--how-card);border-radius:1rem;border:1px solid rgba(14,165,234,.14);box-shadow:0 12px 36px rgba(17,24,39,.08);height:100%;padding:clamp(18px,2.6vw,26px);position:relative;transition:transform .25s ease,box-shadow .25s ease}
.how-card:hover{transform:translateY(-4px);box-shadow:0 16px 44px rgba(17,24,39,.10)}
.step-badge{display:inline-flex;align-items:center;gap:.5rem;font-weight:800;color:#2563eb;font-size:.9rem;letter-spacing:.02em;background:linear-gradient(90deg,rgba(14,165,234,.12),rgba(124,58,237,.12));border:1px solid var(--how-ring);border-radius:999px;padding:.35rem .7rem}
.how-card h5{font-weight:800;margin:.65rem 0 .35rem;letter-spacing:-.01em}
.how-card p{color:#111827;margin:0;line-height:1.55}
.how-card .muted{color:var(--how-muted)}
.how-notice{margin-top:1.25rem;background:#fff;border:1px solid rgba(14,165,234,.16);border-radius:.9rem;padding:.9rem 1rem;box-shadow:0 10px 30px rgba(17,24,39,.06);font-size:.98rem;color:#1f2937}

/* ========================================================================
   CTA / CONTACT
   ======================================================================== */
.cta-section{position:relative;overflow:hidden;color:#fff;background:
  radial-gradient(1200px 560px at -10% 0%, rgba(14,165,234,.20), transparent 60%),
  radial-gradient(900px 520px at 110% 20%, rgba(124,58,237,.22), transparent 62%),
  linear-gradient(135deg, var(--cta-from) 0%, var(--cta-to) 70%)}
.cta-section::before{content:"";position:absolute;inset:0;opacity:.08;pointer-events:none;background:
  repeating-linear-gradient(90deg,#fff 0 1px,transparent 1px 48px),
  repeating-linear-gradient(0deg,#fff 0 1px,transparent 1px 48px);
  mask-image: radial-gradient(65% 45% at 50% 0%, #000 35%, transparent 85%)}
.cta-heading h2{font-weight:800;letter-spacing:-.015em;margin:0 0 .45rem;font-size:clamp(26px,3.2vw,36px)}
.cta-heading p{color:var(--cta-muted);margin:0}
.cta-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}
.cta-actions .btn{padding:.9rem 1.25rem;font-weight:700;border-radius:.75rem}
.btn-cta{color:#0b1020;background-image:linear-gradient(90deg,#a7f3d0,#67e8f9,#93c5fd);border:0}
.cta-links{margin-top:.6rem}
.cta-links a{color:var(--cta-muted);margin-right:1rem;text-decoration:none}
.cta-links a:hover{color:#fff;text-decoration:underline}
.cta-card{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);border-radius:1rem;padding:clamp(14px,2vw,18px)}

/* ========================================================================
   FAQ
   ======================================================================== */
.faq-section{position:relative;overflow:hidden;background:
  radial-gradient(1100px 540px at -10% 0%, rgba(14,165,234,.10), transparent 60%),
  radial-gradient(900px 520px at 110% 10%, rgba(124,58,237,.10), transparent 62%),
  linear-gradient(180deg,#fbfdff 0%,#ffffff 60%,#fbfdff 100%)}
.faq-section::before{content:"";position:absolute;inset:0;opacity:.04;pointer-events:none;background:
  repeating-linear-gradient(90deg,#000 0 1px,transparent 1px 44px),
  repeating-linear-gradient(0deg,#000 0 1px,transparent 1px 44px);
  mask-image: radial-gradient(70% 50% at 50% 12%, #000 30%, transparent 85%)}
.faq-heading{text-align:center;margin-bottom:2rem}
.faq-heading h2{font-weight:800;letter-spacing:-.015em;font-size:clamp(28px,3.4vw,40px);margin:0 0 .45rem}
.faq-heading p{color:var(--faq-muted);margin:0 auto;max-width:72ch}
.faq-links{margin-top:1.25rem;text-align:center;border:1px dashed var(--faq-ring);border-radius:.9rem;padding:.85rem 1rem;background:linear-gradient(90deg,rgba(14,165,234,.08),rgba(124,58,237,.08));display:flex;flex-wrap:wrap;gap:.9rem;justify-content:center}
.faq-links a{text-decoration:none;font-weight:700}

/* ========================================================================
   POLICIES
   ======================================================================== */
.policies-section{background:linear-gradient(180deg,#ffffff 0%,#fbfbff 60%,#ffffff 100%)}
.pol-heading{text-align:center;margin-bottom:1.6rem}
.pol-heading h3{font-weight:800;letter-spacing:-.015em;margin:0 0 .35rem;font-size:clamp(22px,2.8vw,28px)}
.pol-heading p{color:var(--pol-muted);margin:0 auto;max-width:68ch}
.pol-card{background:#f8fafc;border:1px solid var(--pol-ring);border-radius:1rem;height:100%;padding:clamp(18px,2.4vw,24px)}
.pol-card h6{text-transform:uppercase;color:var(--pol-muted);letter-spacing:.08em;font-weight:800;margin:0 0 .35rem}
.pol-card p{margin:0;color:#111827;line-height:1.6}
.pol-card.small p{font-size:.95rem}
