
/* Minimal scroll reveal + nav underline + typography scale */
:root{
  --qw-font-body: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  --qw-font-head: ui-sans-serif, system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial;
  --qw-fs-h1: 42px; --qw-fs-h2: 32px; --qw-fs-h3: 24px; --qw-fs-body: 18px;
}
body{font-family:var(--qw-font-body); font-size:var(--qw-fs-body); line-height:1.6; color:#eaf3ff;}
h1,h2,h3{font-family:var(--qw-font-head); line-height:1.2; margin:0 0 12px;}
h1{font-size:var(--qw-fs-h1);} h2{font-size:var(--qw-fs-h2);} h3{font-size:var(--qw-fs-h3);}
.section{padding:80px 0;} .section-tight{padding:40px 0;}
.section--alt{background:rgba(255,255,255,0.02);} /* alternating background */
.btn{display:inline-block; padding:12px 18px; border-radius:10px; border:1px solid rgba(255,255,255,0.1);}
.btn:hover{box-shadow:0 6px 18px rgba(42,161,255,0.25); transform:translateY(-1px); transition:.2s;}
/* nav underline */
nav a{position:relative; text-decoration:none;}
nav a::after{content:""; position:absolute; left:0; bottom:-3px; height:2px; width:0; background:#2aa1ff; transition:width .2s;}
nav a:hover::after{width:100%;}

/* card + grid helpers */
.grid{display:grid; gap:20px;}
.grid-3{grid-template-columns:repeat(3, minmax(0,1fr));}
.grid-2{grid-template-columns:repeat(2, minmax(0,1fr));}
.card{background:rgba(255,255,255,0.02); border:1px solid rgba(255,255,255,0.06); border-radius:16px; padding:20px;}
@media (max-width: 900px){ .grid-3{grid-template-columns:1fr;} .grid-2{grid-template-columns:1fr;} }

/* scroll reveal */
.reveal{opacity:0; transform:translateY(14px); transition:opacity .5s ease, transform .5s ease;}
.reveal.revealed{opacity:1; transform:none;}

/* FAQ */
.faq-item{border-bottom:1px solid rgba(255,255,255,0.1);}
.faq-q{cursor:pointer; padding:16px 0; display:flex; justify-content:space-between; align-items:center;}
.faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
.faq-item.active .faq-a{max-height:600px;}

/* stats strip */
.stats{display:grid; grid-template-columns:repeat(3,1fr); gap:16px;}
.stat{padding:16px; text-align:center; border:1px solid rgba(255,255,255,0.06); border-radius:12px; background:rgba(255,255,255,0.02);}
.stat .num{font-size:28px; font-weight:800; color:#fff;}
.stat .lbl{opacity:.8; font-size:14px;}

/* logo strip (placeholders) */
.logo-strip{display:flex; gap:24px; align-items:center; opacity:.6; filter:grayscale(100%); flex-wrap:wrap;}
.logo-strip .logo{width:120px; height:36px; background:#fff; border-radius:4px; opacity:.3;}


/* Highlight QuickWave column in comparison grid */
[data-qa="qw-compare"] .grid .card:first-child{
  background: rgba(42,161,255,0.08);
  border-color: rgba(42,161,255,0.35);
}

/* Hero spacing tweak */
[data-qa="hero"] .container{ padding-top: 8px; }
