/* =============================================================================
   DANTE LABS — HEREDITARY RISK PAGE STYLES
   Page-specific styles for hereditary-risk.html (/for/hereditary-risk/)
   Requires: base.css (loaded first)
   ============================================================================= */

/* ─── HERO — PHOTO OVERLAY (page-specific) ──────────────────────────────────── */
/* Base hero styles (.hero, .hero-text, .hero::after, .hero-trust-strip)
   come from base.css. Only the photo background layer is page-specific. */
.hero-bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0.3;
  transform: scale(1.05);
  will-change: transform;
}


/* ─── CONDITION CARDS (flat routing-card variant — no photo bg) ───────────────── */
/* Base .routing-card, .card-inner, .card-eyebrow, .card-headline, .card-body,
   .card-cta all come from base.css. Only the flat modifier is page-specific. */
.condition-cards {
  grid-template-columns: repeat(5, 1fr);
  margin-top: 0;
}

.routing-card--flat {
  min-height: auto;
  background: var(--color-card);
}

.routing-card--flat .card-inner {
  justify-content: flex-start;
}

.routing-card--flat .card-body {
  font-size: 13px;
  line-height: 1.55;
  color: var(--color-muted);
}


/* ─── PROOF-BAND — Pull quote + outcome vignettes (not yet in base.css) ──── */
/* Copied from rna.css / home.css — identical pattern used across all pages */
.proof-band {
  background: var(--color-dark);
  color: #ffffff;
}

.proof-band-header {
  margin-bottom: 60px;
  max-width: 680px;
}

.proof-band-header .h2 {
  color: #ffffff;
  line-height: 1.25;
}

.proof-statement {
  font-size: var(--font-body-size);
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.82);
  max-width: 760px;
  margin-bottom: 44px;
}

.proof-pullquote {
  font-size: clamp(22px, 2.5vw, 32px);
  font-weight: 300;
  font-style: normal;
  color: rgba(255, 255, 255, 0.85);
  letter-spacing: -0.01em;
  line-height: 1.3;
  margin: 40px 0 52px;
  padding: 0;
  border: none;
}

.proof-pullquote cite {
  display: block;
  font-size: 12px;
  font-style: normal;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
  margin-top: 14px;
}

.proof-band .proof-outcomes-grid {
  margin-bottom: 0;
}

.proof-outcome {
  background: rgba(255, 255, 255, 0.05);
  border-radius: 4px;
  padding: 28px;
  border-top: 2px solid var(--color-accent);
}

/* ─── CASCADE ECONOMICS — dark navy with background image ────────────────────── */
.cascade-section {
  position: relative;
  background: var(--color-dark, #1c2128);
  overflow: hidden;
}

.cascade-bg {
  position: absolute;
  inset: 0;
  background: url('/media/cascade-family.jpg') center / cover no-repeat;
  opacity: 0.1;
  pointer-events: none;
}

@media (max-width: 768px) {
  .cascade-section .reveal { max-width: 100% !important; }
}


/* ─── DISTINCTION SECTION — uses base.css .distinction-* styles ──────────────── */
/* Only override what's needed for this page layout */

.distinction-intro {
  max-width: 680px;
  margin-bottom: 56px;
}

.distinction-intro .h2 {
  margin-bottom: 28px;
}


/* ─── SNP UPGRADE NOTE ───────────────────────────────────────────────────────── */
.snp-note {
  background: var(--color-bg);
  padding: 32px 0;
  border-top: 1px solid var(--color-border);
}

.snp-note-text {
  font-size: var(--font-body-size);
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}


/* ─── RESPONSIVE: 1024px ─────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .cards-row.condition-cards {
    grid-template-columns: repeat(3, 1fr);
  }

  .cascade-split {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  .cascade-text {
    max-width: 100%;
  }
}


/* ─── RESPONSIVE: 768px ──────────────────────────────────────────────────────── */
@media (max-width: 768px) {

  .cascade-viz {
    order: -1;
  }

  .snp-note-text {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
}


/* ─── RESPONSIVE: 600px ──────────────────────────────────────────────────────── */
@media (max-width: 600px) {
  .cards-row.condition-cards {
    grid-template-columns: 1fr;
  }
}
