/* ---- Hero ---- */
.ah-hero { position: relative; background: var(--grad-hero); color: #fff; padding: 172px 0 var(--space-3xl); overflow: hidden; }
.ah-hero .wrap { position: relative; z-index: 2; }
.ah-hero-grid { display: grid; grid-template-columns: 1.05fr 1fr; gap: var(--space-2xl); align-items: center; }
.ah-hero h1 { color: #fff; letter-spacing: -.02em; margin: 0 0 var(--space-m); }
.ah-hero h1 .hl { color: var(--color-accent); }
.ah-hero .lede { font-size: var(--text-lg); color: rgba(255,255,255,.9); max-width: 33em; margin: 0 0 var(--space-s); line-height: var(--line-relaxed); }
.ah-hero .tagline { font-size: var(--text-md); font-weight: var(--weight-semibold); color: var(--color-accent); margin: 0 0 var(--space-l); }
.ah-hero .hero-note { margin: var(--space-m) 0 0; font-size: var(--text-sm); color: rgba(255,255,255,.72); }

.ah-hero-visual { position: relative; }
.ah-hero-visual img { width: 100%; height: auto; filter: drop-shadow(0 30px 60px rgba(13,38,56,.55)); border-radius: var(--radius-lg); }
.ah-badge { position: absolute; background: #fff; color: var(--color-secondary); border-radius: var(--radius-lg); box-shadow: var(--shadow-4);
  padding: var(--space-xs) var(--space-s); display: flex; align-items: center; gap: var(--space-xs); font-weight: var(--weight-bold); z-index: 3; }
.ah-badge .big { font-size: var(--text-xl); color: var(--color-primary); line-height: var(--line-none); }
.ah-badge .lbl { font-size: var(--text-xs); color: var(--color-ink-soft); font-weight: var(--weight-semibold); line-height: var(--line-snug); }
.ah-badge.b1 { top: 8%; left: -26px; }
.ah-badge.b2 { bottom: 10%; right: -20px; }
@media (prefers-reduced-motion: no-preference) {
  .ah-badge.b1 { animation: ah-float 6s ease-in-out infinite; }
  .ah-badge.b2 { animation: ah-float 6s ease-in-out infinite 1.5s; }
}
@keyframes ah-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }

/* ---- Money section background ---- */
.ah-money { background: linear-gradient(160deg, var(--brand-50), #fff); }

/* ---- gp-free band overrides (not in global.css) ---- */
.gp-free .section-head h2 { color: #fff; }
.gp-free .section-head p { color: rgba(255,255,255,.85); }
.gp-free-card .chip-ic { background: rgba(255,255,255,.16); }

/* ---- Revenue / upside estimator ---- */
.pr-upside { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-l); align-items: stretch; }
.pr-upside-copy { background: #fff; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: var(--space-l) var(--space-l) var(--space-l); box-shadow: var(--shadow-md); display: flex; flex-direction: column; }
.pr-upside-copy h3 { color: var(--color-secondary); margin: 0 0 var(--space-xs); }
.pr-upside-copy > p { line-height: var(--line-relaxed); color: var(--color-ink-soft); margin: 0 0 var(--space-m); }
.pr-upside-copy .btn { align-self: flex-start; }
.pr-upside-note { font-size: var(--text-sm); color: var(--color-ink-soft); line-height: var(--line-normal); margin: var(--space-s) 0 0; }
.pr-upside-bars { display: flex; flex-direction: column; }

/* ---- How-it-works step badges ---- */
.pr-steps .card { position: relative; padding-top: var(--space-l); }
.pr-n { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: var(--radius-lg);
  background: var(--grad-chip); color: #fff; font-weight: var(--weight-extrabold); font-size: var(--text-lg); margin-bottom: var(--space-xs);
  box-shadow: 0 8px 16px rgba(67,143,185,.3); }

/* ---- Responsive ---- */
@media (max-width: 980px) {
  .ah-hero-grid { grid-template-columns: 1fr; gap: var(--space-xl); }
  .ah-hero-visual { max-width: 520px; margin: 0 auto; }
  .ah-badge.b1 { left: 0; }
  .ah-badge.b2 { right: 0; }
}
@media (max-width: 880px) {
  .pr-upside { grid-template-columns: 1fr; }
  .gp-free-grid { grid-template-columns: 1fr; max-width: 460px; }
}
@media (max-width: 760px) {
  .ah-hero { padding: 140px 0 var(--space-3xl); }
  .stat-strip .stat:nth-child(2) { border-right: 0; }
  .stat-strip .stat { border-bottom: 1px solid var(--color-border-soft); }
}
