@charset "utf-8";
/* Public Famora geography feature. The map illustrates reach, not live demand. */
.national-reach {
  --reach-navy: var(--navy-800);
  --reach-gold: var(--gold-light);
  position: relative;
  isolation: isolate;
  min-width: 0;
  color: var(--ivory);
  background: radial-gradient(ellipse at 82% 48%, rgba(45, 77, 81, .24), transparent 62%), var(--reach-navy);
}
.national-reach__stage {
  position: relative;
  isolation: isolate;
  min-width: 0;
  padding-block: clamp(2rem, 5vw, 4rem);
}
.national-reach__copy { position: relative; z-index: 2; width: 61%; min-width: 0; }
.national-reach__eyebrow {
  display: flex;
  align-items: center;
  gap: .9rem;
  margin: 0 0 1.3rem;
  color: var(--reach-gold);
  font: 500 .9rem/1.7 var(--font-ui);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.national-reach__eyebrow::before { content: ''; width: 2.5rem; height: 1px; background: currentColor; flex: none; }
.national-reach__title {
  margin: 0 0 1.5rem;
  max-width: 18ch;
  font: 500 clamp(2.15rem, 4.3vw, 3.8rem)/1.15 var(--font-display);
  letter-spacing: -.025em;
  text-wrap: balance;
  color: var(--ivory);
}
.national-reach__title span { color: var(--reach-gold); }
.national-reach__lead { margin: 0 0 1.6rem; max-width: 39ch; font-size: 1.1rem; line-height: 1.8; color: var(--ivory); text-wrap: pretty; }
.national-reach__support { margin: 0 0 1.6rem; max-width: 43ch; font-size: 1rem; line-height: 1.75; color: var(--text-on-dark-soft); }
.national-reach__actions { display: flex; flex-direction: column; align-items: flex-start; gap: .8rem; }
.national-reach__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.15rem;
  padding: .85rem 1.25rem;
  border: 1px solid var(--reach-gold);
  border-radius: var(--radius);
  color: var(--reach-navy);
  background: var(--reach-gold);
  font: 500 1rem/1.5 var(--font-ui);
  text-align: center;
  text-decoration: none;
  max-width: 100%;
}
.national-reach__button:hover { background: var(--ivory); border-color: var(--ivory); }
.national-reach__button:focus-visible, .national-reach__document:focus-visible, .national-reach__motion:focus-visible { outline: 3px solid var(--ivory); outline-offset: 5px; }
.national-reach__document {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  max-width: 100%;
  min-height: 44px;
  margin-top: .7rem;
  padding-block: .25rem;
  color: var(--ivory);
  font: 500 .95rem/1.6 var(--font-ui);
  text-decoration: none;
}
.national-reach__document:hover { color: var(--reach-gold); }
.national-reach__document-icon { flex: none; color: var(--reach-gold); }
.national-reach__document-label { min-width: 0; text-decoration: underline; text-underline-offset: .22em; }
.national-reach__document-format { flex: none; color: var(--reach-gold); font-size: .75rem; letter-spacing: .06em; }
.national-reach__visual { position: absolute; inset: -1.5rem -1rem -1.5rem 36%; z-index: 0; pointer-events: none; opacity: .72; -webkit-mask-image: linear-gradient(90deg, transparent, #000 66%); mask-image: linear-gradient(90deg, transparent, #000 66%); }
.national-reach__map { position: relative; width: 100%; height: 100%; transform: rotate(4deg); }
.national-reach__map img, .national-reach__pings { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: contain; }
.national-reach__pings { overflow: visible; color: var(--reach-gold); }
.national-reach__ring { fill: none; stroke: currentColor; stroke-width: 1.1; vector-effect: non-scaling-stroke; opacity: 0; }
.national-reach__dot { fill: currentColor; }
.national-reach .reach-map-ring { transform-origin: 0 0; }
.national-reach__footer { position: relative; z-index: 2; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: .5rem 1.5rem; padding-top: 1rem; }
.national-reach__motion { display: inline-flex; align-items: center; justify-content: center; color: var(--ivory); background: transparent; border: 0; padding: .6rem; min-width: 44px; min-height: 44px; cursor: pointer; }
.national-reach__motion-icon { display: block; width: 20px; height: 20px; flex: none; }
.national-reach__motion-icon--play { display: none; }
.national-reach__motion[aria-pressed="true"] .national-reach__motion-icon--pause { display: none; }
.national-reach__motion[aria-pressed="true"] .national-reach__motion-icon--play { display: block; }
.national-reach__motion[hidden] { display: none; }
.national-reach__motion:disabled { cursor: default; }
.national-reach--home .cards { position: relative; z-index: 2; margin-top: 3rem; }
.partner-pitch .national-reach--pitch { padding: clamp(1.3rem, 4vw, 3rem); margin-block: clamp(3rem, 6vw, 5rem); }
@media (max-width: 760px) {
  .national-reach__stage { padding-block: 0; }
  .national-reach__copy { width: 100%; }
  .national-reach__eyebrow { font-size: .85rem; gap: .7rem; letter-spacing: .07em; }
  .national-reach__eyebrow::before { width: 1.7rem; }
  .national-reach__title { font-size: clamp(2rem, 7vw, 3rem); max-width: 19ch; }
  .national-reach__lead { font-size: 1rem; max-width: 44ch; }
  .national-reach__visual { position: relative; inset: auto; margin: 1.5rem auto 0; width: min(100%, 22rem); height: clamp(17rem, 68vw, 23rem); opacity: .8; -webkit-mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(180deg, transparent, #000 12%, #000 88%, transparent); }
  .national-reach__map { transform: none; }
  .national-reach__footer { padding-top: .5rem; }
  .national-reach--home .cards { margin-top: 2rem; }
}
@media (prefers-reduced-motion: reduce) { .national-reach__ring, .national-reach .reach-map-ring { display: none; } }
@media print { .national-reach__motion { display: none; } }
