/* ═══════════════════════════════════════════════
   VP3 Feature Pages — Light Theme
   Shared styles for all /pages/*.html feature pages
   ═══════════════════════════════════════════════ */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:#ffffff;color:#1e293b;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}

:root{
  --white:#ffffff;--bg:#f8fafc;--bg2:#f1f5f9;--bg3:#e2e8f0;
  --tx:#0f172a;--tx2:#334155;--tx3:#64748b;--tx4:#94a3b8;
  --bdr:#e2e8f0;--bdr2:#cbd5e1;
  --ac:#6366f1;--ac2:#818cf8;--ac3:#4f46e5;
  --gn:#22c55e;--gn2:#16a34a;
  --yl:#f59e0b;--rd:#ef4444;
  --pu:#a855f7;--pk:#ec4899;--cy:#06b6d4;
  --mono:'IBM Plex Mono',monospace;
  --hd:'Archivo Black','DM Sans',sans-serif;
  --bd:'DM Sans',sans-serif;
  --maxW:1100px;
}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 0;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);border-bottom:1px solid var(--bdr);transition:box-shadow .3s}
.nav.scrolled{box-shadow:0 1px 8px rgba(0,0,0,.06)}
.nav-inner{max-width:var(--maxW);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between}
.nav-logo{font-family:var(--mono);font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--tx)}
.nav-logo b{color:var(--ac)}
.nav-links{display:flex;align-items:center;gap:24px}
.nav-link{font-size:12px;font-weight:600;color:var(--tx3);transition:color .2s}
.nav-link:hover{color:var(--tx)}
.nav-cta{font-size:11px;font-weight:700;padding:8px 20px;border-radius:8px;background:var(--tx);color:#fff;transition:transform .2s;border:none;cursor:pointer}
.nav-cta:hover{transform:translateY(-1px)}

/* ── HERO ── */
.hero{padding:120px 24px 80px;text-align:center;position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(99,102,241,.06),transparent 70%)}
.hero-content{position:relative;z-index:1;max-width:760px;margin:0 auto}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 14px;border-radius:100px;background:rgba(99,102,241,.06);border:1px solid rgba(99,102,241,.12);font-size:10px;font-weight:700;color:var(--ac);letter-spacing:.1em;text-transform:uppercase;margin-bottom:24px}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--gn);animation:dotPulse 2s ease-in-out infinite}
@keyframes dotPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(34,197,94,.3)}50%{opacity:.6;box-shadow:0 0 0 5px rgba(34,197,94,0)}}
.hero h1{font-family:var(--hd);font-size:clamp(24px,4.5vw,44px);line-height:1.1;color:var(--tx);margin-bottom:20px;letter-spacing:-.03em}
.hero h1 .grad{color:inherit}
.hero-sub{font-size:clamp(14px,1.8vw,18px);color:var(--tx3);max-width:620px;margin:0 auto 32px;line-height:1.7}
.hero-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}
.btn-pri{font-size:13px;font-weight:700;padding:12px 28px;border-radius:8px;background:var(--ac);color:#fff;border:none;cursor:pointer;transition:transform .2s,box-shadow .2s}
.btn-pri:hover{transform:translateY(-1px);box-shadow:0 8px 24px rgba(99,102,241,.25)}
.btn-ghost{font-size:13px;font-weight:600;padding:12px 28px;border-radius:8px;background:transparent;color:var(--tx2);border:1px solid var(--bdr);cursor:pointer;transition:border-color .2s,color .2s}
.btn-ghost:hover{border-color:var(--ac);color:var(--ac)}

/* ── SECTIONS ── */
.section{padding:80px 24px;position:relative}
.section-inner{max-width:var(--maxW);margin:0 auto}
.section-label{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--ac);margin-bottom:10px}
.section-title{font-family:var(--hd);font-size:clamp(22px,3.5vw,36px);color:var(--tx);margin-bottom:14px;letter-spacing:-.02em;line-height:1.15}
.section-desc{font-size:14px;color:var(--tx3);max-width:600px;line-height:1.7;margin-bottom:40px}
.section-alt{background:var(--bg)}
.section-center{text-align:center}
.section-center .section-desc{margin-left:auto;margin-right:auto}

/* ── FEATURE CARDS ── */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.card{border:1px solid var(--bdr);border-radius:14px;padding:24px;background:var(--white);transition:border-color .2s,box-shadow .2s}
.card:hover{border-color:rgba(99,102,241,.2);box-shadow:0 4px 20px rgba(0,0,0,.04)}
.card-ico{font-size:28px;margin-bottom:14px}
.card-name{font-size:15px;font-weight:900;color:var(--tx);margin-bottom:6px}
.card-desc{font-size:12px;color:var(--tx3);line-height:1.7}
.card-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}
.card-tag{font-size:8px;font-weight:700;padding:3px 8px;border-radius:100px;background:rgba(99,102,241,.06);color:var(--ac);letter-spacing:.04em;text-transform:uppercase}
.card-tag.gn{background:rgba(34,197,94,.06);color:var(--gn2)}
.card-tag.yl{background:rgba(245,158,11,.06);color:#b45309}
.card-tag.pu{background:rgba(168,85,247,.06);color:var(--pu)}
.card-tag.cy{background:rgba(6,182,212,.06);color:#0891b2}

/* ── LIST SECTIONS ── */
.list-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.list-col h3{font-size:16px;font-weight:800;color:var(--tx);margin-bottom:10px}
.list-col p{font-size:13px;color:var(--tx3);line-height:1.7;margin-bottom:16px}
.list-items{list-style:none;display:flex;flex-direction:column;gap:8px}
.list-items li{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--tx2);line-height:1.6}
.list-items li::before{content:'\2713';color:var(--gn);font-weight:900;flex-shrink:0;margin-top:1px}

/* ── HIGHLIGHT BOX ── */
.highlight{padding:24px;border:1px solid var(--bdr);border-radius:14px;background:var(--bg);margin-top:32px}
.highlight-title{font-size:14px;font-weight:800;color:var(--tx);margin-bottom:6px}
.highlight-desc{font-size:12px;color:var(--tx3);line-height:1.7}
.highlight.accent{border-color:rgba(99,102,241,.15);background:rgba(99,102,241,.03)}
.highlight.accent .highlight-title{color:var(--ac)}

/* ── FLOW STEPS ── */
.flow-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:24px}
.flow-step{text-align:center;padding:16px 12px;border:1px solid var(--bdr);border-radius:10px;background:var(--white);transition:border-color .2s}
.flow-step:hover{border-color:rgba(99,102,241,.2)}
.flow-num{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--ac);margin-bottom:4px}
.flow-label{font-size:10px;font-weight:600;color:var(--tx2);line-height:1.4}

/* ── STATS BAR ── */
.stats-bar{display:flex;gap:0;border:1px solid var(--bdr);border-radius:12px;overflow:hidden;margin:32px auto;max-width:600px;background:var(--white)}
.stat-item{flex:1;text-align:center;padding:16px 12px;border-right:1px solid var(--bdr)}
.stat-item:last-child{border-right:none}
.stat-val{font-family:var(--mono);font-size:20px;font-weight:700;color:var(--tx)}
.stat-lbl{font-size:9px;color:var(--tx4);margin-top:2px;text-transform:uppercase;letter-spacing:.08em}

/* ── COMPARISON TABLE ── */
.compare-table{width:100%;border-collapse:collapse;font-size:12px;border:1px solid var(--bdr);border-radius:12px;overflow:hidden}
.compare-table th{background:var(--bg);padding:10px 14px;text-align:left;font-weight:800;color:var(--tx);font-size:11px;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--bdr)}
.compare-table td{padding:10px 14px;border-bottom:1px solid var(--bdr);color:var(--tx2)}
.compare-table tr:last-child td{border-bottom:none}
.compare-table .yes{color:var(--gn);font-weight:700}
.compare-table .no{color:var(--tx4)}

/* ── FOOTER ── */
.footer{background:var(--tx);padding:48px 24px 32px;color:rgba(255,255,255,.5)}
.footer-inner{max-width:var(--maxW);margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;margin-bottom:32px}
.footer-brand .footer-logo{font-family:var(--mono);font-size:18px;font-weight:700;color:#fff;margin-bottom:8px}
.footer-brand .footer-logo b{color:var(--ac2)}
.footer-brand p{font-size:11px;color:rgba(255,255,255,.35);line-height:1.7;max-width:240px}
.footer-col-title{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.6);margin-bottom:12px}
.footer-col a{display:block;font-size:12px;color:rgba(255,255,255,.4);padding:3px 0;transition:color .2s}
.footer-col a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.06);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-copy{font-size:10px;color:rgba(255,255,255,.25)}
.footer-bottom-links{display:flex;gap:16px}
.footer-bottom-links a{font-size:10px;color:rgba(255,255,255,.3);transition:color .2s}
.footer-bottom-links a:hover{color:#fff}

/* ── CTA BAND ── */
.cta-band{text-align:center;padding:64px 24px;background:var(--bg);border-top:1px solid var(--bdr)}
.cta-band h2{font-family:var(--hd);font-size:clamp(20px,3vw,32px);color:var(--tx);margin-bottom:10px;letter-spacing:-.02em}
.cta-band p{font-size:14px;color:var(--tx3);margin-bottom:24px;max-width:480px;margin-left:auto;margin-right:auto}

/* ── RESPONSIVE ── */
@media(max-width:768px){
  .card-grid{grid-template-columns:1fr}
  .list-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  .nav-links{gap:12px}
  .nav-link.hide-mobile{display:none}
}
@media(max-width:480px){
  .footer-grid{grid-template-columns:1fr}
  .stats-bar{flex-direction:column}
  .stat-item{border-right:none;border-bottom:1px solid var(--bdr)}
  .stat-item:last-child{border-bottom:none}
}
