/* AVA: scoped header CTA */
.cta-join-waitlist,
a.cta-join-waitlist,
button.cta-join-waitlist {
  background-color: #0099CC;   /* AVA accent teal */
  border-color: #0099CC;
  color: #fff;
  border-radius: 12px;
  padding: 10px 16px;
  font-weight: 600;
  transition: filter .2s ease;
}
.cta-join-waitlist:hover { filter: brightness(0.92); }

/* === AVA Layout Utilities (safe, scoped) === */
:root{
  --ava-max-width: 1200px;
  --ava-gutter: clamp(16px, 4vw, 40px);
}

/* Consistent page margins/padding */
.ava-wrap{
  max-width: var(--ava-max-width);
  margin-inline: auto;
  padding-inline: var(--ava-gutter);
}

/* Home hero centering */
.ava-hero{ text-align:center; }
.ava-hero .ava-hero-ctas{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:16px; }
.ava-hero .ava-badge{ display:inline-block; margin:8px 0 12px; }

/* Footer legal links centering (does not affect header) */
.site-footer .legal-links,
footer .legal-links{ text-align:center; }

/* Optional section vertical rhythm */
.section, section.ava-section{ margin-block: clamp(28px, 6vw, 56px); }

/* Prevent extra width on small screens */
img, iframe{ max-width:100%; height:auto; }

/* === AVA Typographic Hierarchy & Spacing (scoped, additive) === */
:root{
  --ava-max-width: 1200px;
  --ava-gutter: clamp(16px, 4vw, 40px);
}

.ava-wrap{ max-width: var(--ava-max-width); margin-inline:auto; padding-inline: var(--ava-gutter); }

/* Text container width for comfortable reading */
.ava-text{ max-width: 760px; margin-inline:auto; }

/* Headings (scoped classes so we don't alter global styles) */
.ava-h1{ font-family: "Montserrat", sans-serif; font-weight: 800; font-size: clamp(32px, 4.2vw, 48px); line-height:1.15; letter-spacing:-0.01em; color:#003366; margin: 0 0 12px; }
.ava-h2{ font-family: "Montserrat", sans-serif; font-weight: 700; font-size: clamp(22px, 2.6vw, 28px); line-height:1.2; color:#003366; margin: 0 0 10px; }
.ava-h3{ font-family: "Montserrat", sans-serif; font-weight: 700; font-size: clamp(18px, 2vw, 22px); line-height:1.25; color:#003366; margin: 0 0 8px; }

/* Lead/body */
.ava-lead{ font-family: "Open Sans", sans-serif; font-weight: 400; font-size: clamp(16px, 1.6vw, 20px); line-height:1.55; color:#2a3a4a; margin: 0 0 16px; }
.ava-body{ font-family: "Open Sans", sans-serif; font-weight: 400; font-size: 16px; line-height:1.6; color:#2a3a4a; }

/* Home hero centering + CTAs */
.ava-hero{ text-align:center; padding-block: clamp(24px, 7vw, 72px); background: transparent; }
.ava-hero .ava-hero-ctas{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:14px; }
.ava-badge{ display:inline-block; background:#F4F9FA; color:#003366; border:1px solid rgba(0,51,102,0.08); border-radius:999px; padding:6px 12px; font-size:14px; margin: 6px 0 10px; }

/* Section rhythm (remove big blanks safely) */
.ava-section{ margin-block: clamp(28px, 6vw, 56px); }
.ava-tight{ margin-block: clamp(16px, 4vw, 40px); }

/* Trim accidental large gaps from first/last elements without deleting HTML */
.ava-wrap > *:first-child{ margin-top: clamp(16px, 3vw, 28px) !important; }
.ava-wrap > *:last-child{ margin-bottom: clamp(24px, 5vw, 48px) !important; }

/* Normalize stacked sections spacing */
.ava-section + .ava-section{ margin-top: clamp(24px, 5vw, 48px); }

/* Help: prevent oversized spacer blocks from creating huge gaps */
[class*="spacer"], .spacer, .space, .gap { margin-block: clamp(8px, 3vw, 20px) !important; }

/* Keep embeds responsive */
iframe{ max-width:100%; border:0; }

/* ===== AVA Hero + CTA polish (Home only) ===== */
:root{
  --ava-max-width: 1200px;
  --ava-gutter: clamp(16px, 4vw, 40px);
  --ava-navy: #003366;
  --ava-teal: #0099CC;
  --ava-teal-dark: #0077AA;
  --ava-muted: #5A6B7A;
  --ava-border: #CBD5E1;
}

/* Consistent horizontal margins */
.ava-wrap{
  max-width: var(--ava-max-width);
  margin-inline: auto;
  padding-inline: var(--ava-gutter);
}

/* Centered hero block */
.ava-hero{
  text-align: center;
  padding-block: clamp(36px, 10vw, 80px);
}
.ava-hero h1{
  font-size: clamp(34px, 6vw, 56px);
  line-height: 1.12;
  margin: 6px 0 12px;
  color: var(--ava-navy);
}
.ava-hero .lead{
  font-size: clamp(16px, 2.2vw, 20px);
  color: var(--ava-muted);
  margin: 0 0 14px;
}

/* Phase badge */
.ava-hero .ava-badge{
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid var(--ava-border);
  border-radius: 9999px;
  font-size: 14px;
  margin: 10px 0 14px;
  background: #fff;
}

/* CTA row */
.ava-hero-ctas{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 14px;
  margin-top: 12px;
  flex-wrap: wrap;
}

/* AVA buttons (larger, less rounded than pills) */
.ava-btn{
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 48px;
  min-width: 180px;
  padding: 12px 20px;
  border-radius: 12px;           /* less rounded than current */
  font-weight: 600;
  line-height: 1;
  border: 2px solid transparent;
  text-decoration: none;
  transition: filter .2s ease, transform .15s ease;
}
.ava-btn:focus{ outline: 2px solid var(--ava-teal); outline-offset: 2px; }

.ava-btn-primary{
  background: var(--ava-teal);
  color: #fff;
  border-color: var(--ava-teal);
}
.ava-btn-primary:hover{ filter: brightness(.92); transform: translateY(-1px); }

.ava-btn-ghost{
  background: transparent;
  color: var(--ava-navy);
  border-color: var(--ava-border);
}
.ava-btn-ghost:hover{ border-color: var(--ava-teal); color: var(--ava-teal); }

/* Ensure embeds don't overflow */
img, iframe{ max-width:100%; height:auto; }

/* ===== END AVA Hero + CTA polish ===== */

/* === AVA hero support line + divider === */
.ava-hero .ava-hero-support{
  margin-top: clamp(36px, 5vw, 48px);  /* balanced vertical rhythm below CTAs */
  font-size: clamp(14px, 1.8vw, 16px);
  color: var(--ava-muted, #5A6B7A);
  text-align: center;
}
.ava-divider{
  max-width: var(--ava-max-width, 1200px);
  margin: clamp(20px, 6vw, 40px) auto 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, #E6EEF3, transparent);
  border: 0;
}

/* Center the single-line contact row in footers (Home) */
.site-footer .contact-line,
footer .contact-line{
  text-align: center;
}

/* (If not present) ensure the footer legal links keep centering */
.site-footer .legal-links,
footer .legal-links{
  text-align: center;
}

/* --- AVA micro-fix: ensure breathing room below CTAs on Home hero --- */
.ava-hero .ava-hero-ctas{ margin-bottom: 0 !important; }
.ava-hero .ava-hero-support{
  display: block;
  margin-top: clamp(36px, 5vw, 48px) !important; /* enforce spacing */
  font-size: clamp(14px, 1.8vw, 16px);
  color: var(--ava-muted, #5A6B7A);
  text-align: center;
}

/* --- AVA micro-fix: center single-line contact row in footer on waitlist --- */
footer .contact-line, .site-footer .contact-line{
  display: block;
  width: 100%;
  text-align: center !important;
  margin: 8px auto 0;
}
