
/* ── QF SHARED NAV + FOOTER CSS (canonical — do not duplicate per page) ── */
.qf-nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  background:rgba(15,15,15,0.9); backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(255,255,255,0.06);
  font-family:'DM Sans',sans-serif;
}
.qf-nav .qf-nav-inner {
  max-width:1200px; margin:0 auto; padding:0 24px;
  display:flex; align-items:center; justify-content:space-between;
  height:72px;
}
.qf-nav .qf-logo {
  font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:22px;
  text-transform:uppercase; color:#fff; letter-spacing:.05em;
  text-decoration:none; display:inline-block;
}
.qf-nav .qf-logo span { color:#00FF88; }
.qf-nav ul {
  display:flex; gap:28px; list-style:none; align-items:center;
  margin:0; padding:0;
}
.qf-nav ul a {
  color:rgba(255,255,255,0.6); font-size:14px; font-weight:500;
  text-decoration:none; transition:color .15s;
  letter-spacing:.01em;
}
.qf-nav ul a:hover, .qf-nav ul a.qf-active { color:#fff; }
.qf-nav .qf-live-dot {
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:#00FF88; margin-left:6px; vertical-align:middle;
  animation:qf-pulse 2s infinite;
}
@keyframes qf-pulse { 0%,100%{opacity:1} 50%{opacity:.3} }
.qf-nav .qf-cta {
  background:#00FF88 !important; color:#0F0F0F !important;
  padding:10px 20px; border-radius:6px;
  font-family:'Barlow Condensed',sans-serif; font-weight:700 !important;
  text-transform:uppercase; letter-spacing:.05em; font-size:13px !important;
  transition:background .15s;
}
.qf-nav .qf-cta:hover { background:#00e07a !important; color:#0F0F0F !important; }
.qf-mobile-toggle {
  display:none; background:none; border:none; color:#fff;
  font-size:24px; cursor:pointer; padding:8px;
}
@media (max-width:820px){
  .qf-nav ul {
    display:none; position:absolute; top:72px; left:0; right:0;
    background:rgba(15,15,15,0.98); backdrop-filter:blur(20px);
    border-bottom:1px solid rgba(255,255,255,0.06);
    flex-direction:column; gap:0; padding:12px 24px 20px;
  }
  .qf-nav ul.qf-open { display:flex; }
  .qf-nav ul li { width:100%; }
  .qf-nav ul a { display:block; padding:12px 0; }
  .qf-mobile-toggle { display:inline-block; }
}
body.qf-has-nav { padding-top:72px; }

/* Unified footer */
footer.qf-footer { border-top:1px solid rgba(255,255,255,0.06); padding:72px 0 32px; background:rgba(0,0,0,0.3); color:#fff; font-family:'DM Sans',sans-serif; font-weight:300; }
footer.qf-footer .qf-footer-inner { max-width:1200px; margin:0 auto; padding:0 24px; }
footer.qf-footer .qf-footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:48px; margin-bottom:48px; }
@media (max-width:820px){ footer.qf-footer .qf-footer-grid { grid-template-columns:1fr 1fr; gap:32px; } }
@media (max-width:520px){ footer.qf-footer .qf-footer-grid { grid-template-columns:1fr; gap:28px; } }
footer.qf-footer .qf-brand h3 { font-family:'Barlow Condensed',sans-serif; font-weight:800; font-size:22px; text-transform:uppercase; letter-spacing:.05em; margin:0 0 12px; color:#fff; }
footer.qf-footer .qf-brand h3 span { color:#00FF88; }
footer.qf-footer .qf-brand p { font-size:13px; color:rgba(255,255,255,0.55); line-height:1.7; max-width:360px; margin:0; }
footer.qf-footer .qf-brand p.hq { margin-top:14px; font-family:'JetBrains Mono',monospace; font-size:11px; color:rgba(255,255,255,0.3); letter-spacing:.08em; text-transform:uppercase; }
footer.qf-footer .qf-col h4 { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:500; color:rgba(255,255,255,0.4); letter-spacing:.12em; text-transform:uppercase; margin:0 0 16px; }
footer.qf-footer .qf-col a { display:block; color:rgba(255,255,255,0.7); text-decoration:none; font-size:14px; padding:5px 0; transition:color .15s; }
footer.qf-footer .qf-col a:hover { color:#00FF88; }
footer.qf-footer .qf-bottom { border-top:1px solid rgba(255,255,255,0.06); padding-top:24px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; font-size:12px; color:rgba(255,255,255,0.3); font-family:'JetBrains Mono',monospace; }
footer.qf-footer .qf-bottom a { color:rgba(255,255,255,0.5); text-decoration:none; }
footer.qf-footer .qf-bottom a:hover { color:#00FF88; }
footer.qf-footer .qf-bottom-links a { margin-left:16px; }

/* ── SCALE-DOWN PASS (Apr 15 2026) ───────────────────────────────── */
/* Bring headings into enterprise range: H1 max 64px, H2 max 42px. */
.hero h1,
.ab-hero h1,
.sol-hero h1,
.pf-hero h1,
.contact-head h1,
.contact-hero h1 {
  font-size: clamp(40px, 5vw, 64px) !important;
  line-height: 1.05 !important;
}
.section-title,
.sec-head h2,
.cap-section h2,
.cap-head h2,
.bottom-cta h2,
.hq-section h2 {
  font-size: clamp(26px, 3.4vw, 42px) !important;
  line-height: 1.1 !important;
}
.hero-sub,
.ab-hero .lede,
.sol-hero p,
.pf-hero p,
.contact-head p,
.contact-hero p,
.sec-head p,
.cap-head .cap-desc,
.bottom-cta p {
  font-size: 17px !important;
  line-height: 1.6 !important;
}
.hero-buttons .btn-primary,
.hero-buttons .btn-secondary,
.btn-primary,
.btn-secondary {
  padding: 14px 28px !important;
  font-size: 14px !important;
}
.form-card h2 { font-size: 20px !important; }
.principle h3, .engage-card h3 { font-size: 18px !important; }
.case-card h3 { font-size: 18px !important; }
.stat .num, .stat-item .num { font-size: 30px !important; }
.score-ring .score-val { font-size: 22px !important; }
.verb { font-size: 11px !important; padding:6px 12px !important; }
.anchor-chip .a-icon { font-size: 15px !important; }
.anchor-chip .a-lbl { font-size: 12px !important; }
/* Hero meta tiles */
.hero-meta-item .val { font-size: 16px !important; }
/* Tighten cap-item on homepage capabilities card */
.cap-item h4 { font-size: 14px !important; }
.cap-item p { font-size: 12px !important; }
/* END SCALE-DOWN */

/* ── NAV RESET: guard against legacy generic nav{} rules on any page ── */
.qf-nav { height:72px !important; padding:0 !important; }
.qf-nav .qf-nav-inner { height:72px; padding:0 24px; }

/* ── HOW IT WORKS + cta-section inherit scale ── */
.page-hero h1 { font-size: clamp(40px, 5vw, 64px) !important; line-height: 1.05 !important; }
.cta-section h2 { font-size: clamp(26px, 3.4vw, 42px) !important; line-height: 1.1 !important; }
.page-hero p, .cta-section p { font-size: 17px !important; line-height: 1.6 !important; }
