/* Release QA layer: final safeguards for a calm, readable public site. */
*, *::before, *::after { box-sizing: border-box; }

.v72-home a:focus-visible,
.v72-home button:focus-visible {
  outline: 3px solid #d3aa45;
  outline-offset: 4px;
}

@media (min-width: 901px) {
  .v72-home .v18-fullpage > .snap-panel { scroll-snap-stop: always; }
  .v72-home .v72-meet-card,
  .v72-home .v36-sermon-card,
  .v72-home .v88-community-feature,
  .v72-home .v72-mission-card { isolation: isolate; }
}

@media (max-width: 900px) {
  /* Mobile is intentionally a continuous document, never a snap deck. */
  .v72-home,
  .v72-home main,
  .v72-home section { max-width: 100%; overflow-x: clip; }

  .v72-home p,
  .v72-home h1,
  .v72-home h2,
  .v72-home h3,
  .v72-home strong,
  .v72-home em,
  .v72-home span,
  .v72-home a,
  .v72-home button {
    overflow-wrap: anywhere;
    word-break: keep-all;
  }

  .v72-home .v72-meet-card,
  .v72-home .v88-community-links > a,
  .v72-home .v36-worship-card,
  .v72-home .v36-sermon-card,
  .v72-home .v72-mission-card,
  .v72-home .v36-visit-copy,
  .v72-home .v36-map-frame {
    max-width: 100%;
  }

  .v72-home #meet .v72-meet-card span,
  .v72-home #community .v88-community-links > a > span {
    min-width: 0;
  }

  .v72-home #word .v36-sermon-copy,
  .v72-home #mission .v72-mission-card > span,
  .v72-home #visit .v36-visit-copy {
    min-width: 0;
  }

  .v72-home #visit .v36-visit-actions { flex-wrap: wrap; }
  .v72-home #visit .v36-visit-actions a { flex: 1 1 150px; justify-content: center; }
  .v72-home .v36-footer nav { row-gap: 12px; }
}

@media (max-width: 380px) {
  .v72-home #welcome .mobile-hero-copy h1 { font-size: 30px !important; }
  .v72-home #meet h2,
  .v72-home #word h2,
  .v72-home #community h2,
  .v72-home #mission h2,
  .v72-home #visit h2 { font-size: 30px !important; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}
