/*
  Mobile stability layer
  This file intentionally loads after the accumulated revisions.  It keeps the
  desktop full-page presentation untouched, while mobile remains a calm,
  ordinary document scroll with one consistent spacing and type scale.
*/
@media (max-width: 900px) {
  html {
    scroll-behavior: auto !important;
    scroll-snap-type: none !important;
  }

  html,
  body,
  body.v72-home {
    height: auto !important;
    min-height: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: #faf9f5 !important;
  }

  body.v72-home {
    color: #183f53;
    -webkit-text-size-adjust: 100%;
  }

  /* The PC full-screen deck becomes a normal, dependable vertical page. */
  .v72-home main.v18-fullpage,
  .v72-home main.v18-fullpage > .snap-panel {
    display: block !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    scroll-snap-align: none !important;
  }

  .v72-home .section-dots,
  .v72-home .v36-section-dots,
  .v72-home .mobile-section-nav,
  .v72-home .v18-side-dots {
    display: none !important;
  }

  .v36-header,
  .site-header.v36-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    z-index: 1000 !important;
    height: 66px !important;
    padding: 10px 16px !important;
    background: linear-gradient(180deg, rgba(250, 251, 248, .96), rgba(250, 251, 248, .78), transparent) !important;
    pointer-events: none;
  }

  .v36-header .brand,
  .v36-header .sitemap-btn {
    pointer-events: auto;
  }

  .v36-header .brand {
    gap: 9px !important;
    min-height: 46px !important;
    padding: 8px 14px !important;
    border-radius: 17px !important;
  }

  .v36-header .brand img { width: 31px !important; height: 38px !important; }
  .v36-header .brand strong { font-size: 21px !important; letter-spacing: -.06em !important; }
  .v36-header .brand span { display: none !important; }
  .v36-header .sitemap-btn { width: 46px !important; height: 46px !important; border-radius: 50% !important; }

  /* 01. Mobile hero: photos 1 and 2 are direct PC-style compositions. */
  .v72-home #welcome.sample-hero {
    height: 100svh !important;
    min-height: 620px !important;
    padding: 0 !important;
    background: #eef2ee !important;
  }

  .v72-home #welcome .sample-hero-stage {
    position: relative !important;
    height: 100svh !important;
    min-height: 620px !important;
    overflow: hidden !important;
  }

  .v72-home #welcome .sample-slide,
  .v72-home #welcome .mobile-hero-scene {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  .v72-home #welcome .desktop-hero-art,
  .v72-home #welcome .desktop-hero-copy { display: none !important; }

  .v72-home #welcome .mobile-hero-scene {
    display: block !important;
    background-image: var(--mobile-bg) !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    background-position: var(--mobile-pos, 50% 50%) !important;
  }

  .v72-home #welcome .mobile-hero-scene::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
  }

  .v72-home #welcome .sample-slide[data-scene="0"] .mobile-hero-scene::after,
  .v72-home #welcome .sample-slide[data-scene="1"] .mobile-hero-scene::after {
    background: linear-gradient(90deg, rgba(250,252,253,.98) 0%, rgba(250,252,253,.91) 35%, rgba(250,252,253,.47) 57%, rgba(250,252,253,0) 79%) !important;
  }

  .v72-home #welcome .mobile-hero-copy {
    position: absolute !important;
    z-index: 2 !important;
    color: #163d53 !important;
  }

  .v72-home #welcome .sample-slide[data-scene="0"] .mobile-hero-copy,
  .v72-home #welcome .sample-slide[data-scene="1"] .mobile-hero-copy {
    top: 37% !important;
    right: auto !important;
    bottom: auto !important;
    left: 22px !important;
    width: min(80vw, 410px) !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  .v72-home #welcome .mobile-hero-copy .eyebrow {
    margin: 0 0 13px !important;
    color: #64849a !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
  }

  .v72-home #welcome .mobile-hero-copy h1 {
    margin: 0 !important;
    color: #163d53 !important;
    font-size: clamp(31px, 9vw, 43px) !important;
    line-height: 1.18 !important;
    letter-spacing: -.075em !important;
    text-wrap: balance;
    text-shadow: none !important;
  }

  .v72-home #welcome .mobile-hero-copy p {
    margin: 15px 0 0 !important;
    color: #53758b !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    line-height: 1.6 !important;
    letter-spacing: -.035em !important;
  }

  /* The congregation scene retains its approved lower-left information card. */
  .v72-home #welcome .sample-slide[data-scene="2"] .mobile-hero-scene::after {
    background: linear-gradient(0deg, rgba(13,43,57,.18), transparent 52%) !important;
  }

  .v72-home #welcome .sample-slide[data-scene="2"] .mobile-hero-copy {
    right: 18px !important;
    bottom: 25px !important;
    left: 18px !important;
    width: auto !important;
    padding: 20px 20px 19px !important;
    background: rgba(255,255,255,.96) !important;
    border: 1px solid rgba(255,255,255,.86) !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 30px rgba(17,55,70,.15) !important;
  }

  .v72-home #welcome .sample-slide[data-scene="2"] .mobile-hero-copy h1 { font-size: clamp(28px, 8.2vw, 39px) !important; }
  .v72-home #welcome .sample-slide[data-scene="2"] .mobile-hero-copy p { font-size: 15px !important; }

  .v72-home #welcome .sample-hero-controls {
    z-index: 4 !important;
    right: auto !important;
    bottom: 22px !important;
    left: 24px !important;
    width: auto !important;
    transform: none !important;
  }

  .v72-home #welcome .sample-hero-stage:has(.sample-slide[data-scene="2"].active) + .sample-hero-controls {
    bottom: min(184px, 24svh) !important;
  }

  /* One calm reading measure, type scale, and gutter for the remaining sections. */
  .v72-home #meet,
  .v72-home #word,
  .v72-home #community,
  .v72-home #mission,
  .v72-home #visit {
    height: auto !important;
    min-height: 0 !important;
    padding: 68px 0 !important;
    overflow: visible !important;
  }

  .v72-home .v72-meet-wrap,
  .v72-home .v36-word-wrap,
  .v72-home .v36-community-wrap,
  .v72-home .v72-mission-wrap,
  .v72-home .v36-mission-wrap,
  .v72-home .v36-visit-wrap {
    width: min(100% - 36px, 620px) !important;
    margin: 0 auto !important;
  }

  .v72-home .section-kicker,
  .v72-home .v36-kicker,
  .v72-home .v72-eyebrow {
    margin-bottom: 13px !important;
    font-size: 11px !important;
    letter-spacing: .16em !important;
  }

  .v72-home #meet h2,
  .v72-home #word h2,
  .v72-home #community h2,
  .v72-home #mission h2,
  .v72-home #visit h2 {
    max-width: 11em !important;
    margin: 0 !important;
    font-size: clamp(31px, 9.1vw, 42px) !important;
    line-height: 1.22 !important;
    letter-spacing: -.07em !important;
    text-wrap: balance;
    text-shadow: none !important;
  }

  .v72-home .v36-section-head p,
  .v72-home .section-lead,
  .v72-home .v72-meet-lead,
  .v72-home .v72-mission-head > span {
    max-width: 32em !important;
    margin: 16px 0 0 !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    letter-spacing: -.035em !important;
  }

  /* 02. Three information cards: no horizontal track or clipped vertical labels. */
  .v72-home #meet .v72-meet-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    margin-top: 28px !important;
  }

  .v72-home #meet .v72-meet-card {
    display: grid !important;
    grid-template-columns: 112px minmax(0, 1fr) !important;
    grid-template-rows: 1fr !important;
    min-height: 126px !important;
    overflow: hidden !important;
    border-radius: 21px !important;
    color: #183f53 !important;
    background: #fff !important;
    box-shadow: 0 10px 28px rgba(24,63,83,.08) !important;
  }

  .v72-home #meet .v72-meet-card.people {
    grid-column: auto !important;
    grid-row: auto !important;
    min-height: 126px !important;
  }

  .v72-home #meet .v72-meet-card::after { display: none !important; }

  .v72-home #meet .v72-meet-card img {
    width: 112px !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .v72-home #meet .v72-meet-card span {
    position: static !important;
    display: block !important;
    padding: 17px !important;
    color: #183f53 !important;
  }

  .v72-home #meet .v72-meet-card strong { display: block !important; font-size: 23px !important; line-height: 1.25 !important; writing-mode: horizontal-tb !important; }
  .v72-home #meet .v72-meet-card em { display: block !important; margin-top: 7px !important; color: #607989 !important; font-size: 14px !important; line-height: 1.5 !important; writing-mode: horizontal-tb !important; }
  .v72-home #meet .v72-meet-card small,
  .v72-home #meet .v72-meet-card b { display: none !important; }

  /* 03. Worship and sermon card: restrained card rhythm and readable copy. */
  .v72-home #word .v36-word-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 18px !important; margin-top: 28px !important; }
  .v72-home #word .v36-worship-card,
  .v72-home #word .v36-sermon-card { min-height: 0 !important; border-radius: 22px !important; }
  .v72-home #word .v36-worship-card { padding: 24px 20px !important; }
  .v72-home #word .v36-sermon-card { min-height: 370px !important; }
  .v72-home #word .v36-sermon-copy { padding: 28px 23px !important; }
  .v72-home #word .v36-sermon-copy h3 { font-size: clamp(28px, 8vw, 38px) !important; line-height: 1.22 !important; letter-spacing: -.07em !important; }
  .v72-home #word .v36-worship-card dl { margin: 8px 0 16px !important; }
  .v72-home #word .v36-worship-card dl > div { padding: 13px 0 !important; }
  .v72-home #word .v36-worship-card dt { font-size: 14px !important; }
  .v72-home #word .v36-worship-card dd strong { font-size: 17px !important; }

  /* 04. Community: a complete feature and simple one-column list, never a carousel. */
  .v72-home #community .v36-community-head { display: block !important; }
  .v72-home #community .v36-community-head > p { margin: 16px 0 0 !important; }
  .v72-home #community .v88-community-showcase { display: block !important; margin-top: 28px !important; }
  .v72-home #community .v88-community-feature {
    position: relative !important;
    min-height: 390px !important;
    overflow: hidden !important;
    border-radius: 24px !important;
  }
  .v72-home #community .v88-community-feature figure,
  .v72-home #community .v88-community-feature img { width: 100% !important; height: 100% !important; margin: 0 !important; object-fit: cover !important; }
  .v72-home #community .v88-community-feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(12,52,69,.72), transparent 58%); pointer-events: none; }
  .v72-home #community .v88-community-feature-copy { position: absolute !important; z-index: 1 !important; right: 19px !important; bottom: 19px !important; left: 19px !important; padding: 18px !important; border-radius: 18px !important; background: rgba(255,255,255,.95) !important; }
  .v72-home #community .v88-community-feature-copy h3 { font-size: 26px !important; line-height: 1.22 !important; }
  .v72-home #community .v88-community-feature-copy p,
  .v72-home #community .v88-community-feature-copy span { display: none !important; }
  .v72-home #community .v88-community-links { display: grid !important; grid-template-columns: 1fr !important; gap: 12px !important; margin-top: 14px !important; }
  .v72-home #community .v88-community-links > a { display: grid !important; grid-template-columns: 105px minmax(0, 1fr) !important; min-height: 112px !important; overflow: hidden !important; border-radius: 19px !important; }
  .v72-home #community .v88-community-links img { grid-row: 1 !important; width: 105px !important; height: 112px !important; object-fit: cover !important; }
  .v72-home #community .v88-community-links > a > span { grid-column: 2 !important; padding: 16px !important; }
  .v72-home #community .v88-community-links strong { display: block !important; font-size: 22px !important; line-height: 1.25 !important; writing-mode: horizontal-tb !important; }
  .v72-home #community .v88-community-links em { display: block !important; margin-top: 5px !important; font-size: 13px !important; line-height: 1.45 !important; writing-mode: horizontal-tb !important; }
  .v72-home #community .v88-community-links small,
  .v72-home #community .v88-community-links b { display: none !important; }

  /* 05. Mission and visit use compact sections instead of billboard headings. */
  .v72-home #mission .v72-mission-head { max-width: 620px !important; }
  .v72-home #mission .v72-mission-head h2 { max-width: 10em !important; }
  .v72-home #mission .v72-mission-head > span { display: block !important; max-width: 31em !important; margin-top: 16px !important; font-size: 16px !important; line-height: 1.65 !important; color: #687f85 !important; }
  .v72-home #mission .v72-mission-grid,
  .v72-home #visit .v36-visit-grid { display: grid !important; grid-template-columns: 1fr !important; gap: 14px !important; margin-top: 28px !important; }
  .v72-home #mission .v72-mission-card,
  .v72-home #visit .v36-visit-card { min-height: 0 !important; padding: 22px 20px !important; border-radius: 21px !important; }
  .v72-home #mission .v72-mission-card h3,
  .v72-home #visit .v36-visit-card h3 { font-size: 24px !important; line-height: 1.25 !important; }
  .v72-home #mission .v72-mission-card p,
  .v72-home #visit .v36-visit-card p { font-size: 15px !important; line-height: 1.6 !important; }
  .v72-home #mission .v72-mission-card { min-height: 310px !important; border-radius: 22px !important; }
  .v72-home #mission .v72-mission-card > span { padding: 22px !important; }
  .v72-home #mission .v72-mission-card strong { font-size: 27px !important; line-height: 1.25 !important; }

  .v72-home footer,
  .v72-home .site-footer { height: auto !important; min-height: 0 !important; padding: 42px 18px calc(42px + env(safe-area-inset-bottom)) !important; }
}

@media (prefers-reduced-motion: reduce) {
  .v72-home *,
  .v72-home *::before,
  .v72-home *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

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