/* Final accessibility and responsive polish for AV Academia. */

/* Small uppercase labels and secondary controls remain compact, but readable. */
.brand-name,
.kicker,
.hero-price span,
.video-duration,
.video-stage-copy small,
.video-caption small,
.trust-label,
.before-after span,
.desk-list article > span,
.proof-caption span,
.method-products span,
.strategy-grid span,
.voice-feature cite,
.team-people span,
.offer-card .offer-window,
.offer-card > span,
.offer-card .offer-saving,
.eyebrow,
.inside-index > p,
.inside-index li span,
.showcase-label > span,
.conversion-break p,
.strategy-extra span {
  font-size: 12px;
  line-height: 1.45;
}

/* Buttons, links and concise captions. */
.header-cta,
.button,
.media-link,
.trust-early a,
.desk-heading > a,
.proof-caption a,
.strategy-grid a,
.voices-head > a,
.offer-card > small,
.final-cta > div > a:not(.button),
.mobile-whatsapp,
.gallery-rail figcaption,
.record-image figcaption,
.trade-grid figcaption,
.evidence-image figcaption {
  font-size: 13px;
  line-height: 1.4;
}

/* Supporting copy. */
.hero-price small,
.hero-contact-note,
.video-stage-copy p,
.proof-line span,
.record-numbers span,
.offer-card > em,
.offer-card > p,
.inside-index li,
.inside-proofbar span,
footer > p {
  font-size: 13px;
  line-height: 1.5;
}

.price-note,
.video-caption p,
.proof-caption p,
.desk-list p,
.offer-copy li,
.faq-list details p,
.showcase-label p,
.strategy-extra p,
.results-legal {
  font-size: 14px;
  line-height: 1.65;
}

/* Legal copy and light-background captions need both size and contrast. */
.evidence-copy > small,
footer > small {
  font-size: 12px;
  line-height: 1.6;
}

.evidence-copy > small,
.offer-card > small,
.results-legal,
.record-image figcaption,
.evidence-image figcaption,
.gallery-rail figcaption {
  color: #52676f;
}

footer > small,
footer > p {
  color: #aebdc2;
}

.dark-block .gallery-rail figcaption,
.strategy-showcase .gallery-rail figcaption,
.experience-showcase .gallery-rail figcaption,
.desk-list p,
.proof-caption p,
.strategy-extra p {
  color: #aebdc2;
}

/* The new proof point uses words instead of an inflated quantity. */
.proof-line .proof-analysis strong {
  font-size: clamp(14px, 1.25vw, 18px);
  letter-spacing: 0.02em;
  line-height: 1.15;
}

/* Clear keyboard focus without altering the visual identity. */
a:focus-visible,
summary:focus-visible {
  outline: 3px solid #63d7f5;
  outline-offset: 4px;
}

@media (max-width: 720px) {
  .header-cta,
  .brand-name {
    font-size: 12px;
  }

  .mobile-whatsapp {
    font-size: 13px;
    padding-inline: 16px;
    text-align: center;
  }

  .proof-line .proof-analysis strong {
    font-size: 14px;
  }

  .proof-line .proof-analysis span {
    font-size: 12px;
  }
}
