/* =============================================================================
   coverage.css — /coverage/ hub page (namespaced; uses only var(--gv-*) tokens).
   Brand rule: NO BLUE. Page stays cream (#FAF6ED). Element-scale gradients only.
   Two equal, line-neutral cards (Medicare · Final Expense). Medicare chrome is
   confined to the Medicare card; the Final Expense card carries no Medicare cue.
   ============================================================================= */

/* ---- Shared button system (matches contact.css canonical .gv-btn) --------- */
.gv-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-family: var(--gv-font-label);
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  min-height: 56px;
  padding: 0 28px;
  border-radius: 999px;
  border: 2px solid transparent;
  cursor: pointer;
  transition:
    filter var(--gv-dur) var(--gv-ease),
    box-shadow var(--gv-dur) var(--gv-ease),
    transform var(--gv-dur-press) var(--gv-ease-out);
  -webkit-tap-highlight-color: transparent;
}
.gv-btn:focus-visible { outline: 3px solid var(--gv-gold-text); outline-offset: 3px; }
.gv-btn:active { transform: scale(0.97); }
.gv-btn--filled {
  background: var(--gv-grad-gold);
  color: var(--gv-ink-deepest);
  border-color: transparent;
}
.gv-btn--filled:hover { filter: brightness(1.04); box-shadow: var(--gv-shadow-lg); }
@media (prefers-reduced-motion: reduce) {
  .gv-btn { transition: none; }
  .gv-btn:active { transform: none; }
}

/* ---- Page header ---------------------------------------------------------- */
.gv-cov-header {
  padding-top: 40px;
  padding-bottom: 8px;
  text-align: center;
}
@media (min-width: 768px) {
  .gv-cov-header { padding-top: 72px; padding-bottom: 16px; }
}
.gv-cov-header__rule {
  max-width: 240px;
  margin: 14px auto 22px;
}
.gv-cov-header__h1 {
  font-family: var(--gv-font-display);
  font-size: clamp(32px, 6vw, 52px);
  font-weight: 500;
  color: var(--gv-text);
  line-height: var(--gv-display-lh);
  letter-spacing: var(--gv-display-tracking);
  margin: 0 0 16px;
}
.gv-cov-header__intro {
  font-family: var(--gv-font-body);
  font-size: clamp(18px, 2.2vw, 20px);
  color: var(--gv-text-body);
  line-height: var(--gv-body-lh);
  margin: 0 auto;
  max-width: 56ch;
}
.gv-cov-header__reassure {
  font-family: var(--gv-font-body);
  font-size: 16px;
  color: var(--gv-text-muted);
  margin: 18px auto 0;
  max-width: 48ch;
}

/* ---- Two equal cards ------------------------------------------------------ */
.gv-cov-cards {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  padding-top: 32px;
  padding-bottom: 56px;
}
@media (min-width: 768px) {
  .gv-cov-cards {
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    padding-top: 40px;
    padding-bottom: 88px;
    align-items: stretch;
  }
}

/* Card — same .gv-card double-bezel system, laid out as a full clickable block */
.gv-cov-card {
  display: flex;
  flex-direction: column;
  background-color: var(--gv-card);
  border: 1px solid var(--gv-rule);
  border-radius: var(--gv-radius);
  padding: 28px 24px 30px;
  box-shadow:
    var(--gv-shadow),
    inset 0 1px 0 rgba(255, 255, 255, 0.6);
  transition:
    box-shadow var(--gv-dur) var(--gv-ease),
    transform var(--gv-dur) var(--gv-ease);
}
@media (min-width: 768px) {
  .gv-cov-card { padding: 36px 32px 38px; }
}
.gv-cov-card:hover { box-shadow: var(--gv-shadow-lg); transform: translateY(-2px); }
@media (prefers-reduced-motion: reduce) {
  .gv-cov-card { transition: none; }
  .gv-cov-card:hover { transform: none; }
}

/* Card still: a top crop that bleeds to the card edges, seated above the mark.
   Masters are portrait 4:5 with center-weighted subjects; a 5:4 desktop /
   4:3 mobile window frames the subject instead of slicing a thin band
   (mirrors the homepage entry cards). aspect-ratio (not fixed height) =
   responsive + zero CLS. */
.gv-cov-card__media {
  display: block;
  margin: -28px -24px 22px; /* bleed to mobile card padding edges */
  border-radius: var(--gv-radius) var(--gv-radius) 0 0;
  overflow: hidden;
}
.gv-cov-card__img {
  display: block;
  width: 100%;
  height: auto;              /* show the whole photo — no crop */
  filter: saturate(1.05);
}
@media (min-width: 768px) {
  .gv-cov-card__media {
    margin: -36px -32px 24px;
  }
}

.gv-cov-card__eyebrow { margin-bottom: 14px; }

.gv-cov-card__heading {
  font-family: var(--gv-font-display);
  font-size: clamp(26px, 3.4vw, 34px);
  line-height: 1.12;
  color: var(--gv-text);
  margin: 0 0 14px;
  font-weight: 500;
  letter-spacing: var(--gv-display-tracking);
}
.gv-cov-card__body {
  font-family: var(--gv-font-body);
  font-size: 18px;
  line-height: var(--gv-body-lh);
  color: var(--gv-text-body);
  margin: 0 0 24px;
  flex: 1; /* push the CTA to a shared baseline across both cards */
}
.gv-cov-card__cta {
  align-self: flex-start;
  width: 100%;
}
@media (min-width: 480px) {
  .gv-cov-card__cta { width: auto; }
}

/* Decorative line-marker glyph above each heading (neutral on both cards) */
.gv-cov-card__mark {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: rgba(196, 140, 60, 0.1);
  color: var(--gv-gold-text);
  margin-bottom: 16px;
}
.gv-cov-card__mark svg { width: 24px; height: 24px; }

/* Scroll-reveal (shared pattern) */
.gv-reveal {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity var(--gv-dur-reveal) var(--gv-ease-out),
    transform var(--gv-dur-reveal) var(--gv-ease-out);
}
.gv-reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) {
  .gv-reveal { opacity: 1; transform: none; transition: none; }
}

