/* Version 112 — mobile refinement pass
   Desktop and tablet layouts remain unchanged. */

@media (max-width: 700px) {
  /* Keep the circular menu fully inside every mobile viewport. */
  .site-header,
  .about-page-body .site-header,
  .services-page-body .site-header,
  .programs-page-body .site-header,
  .events-page-body .site-header,
  .bible-page-body .site-header {
    right: 0;
    left: 0;
    width: 100%;
    max-width: 100vw;
    min-height: 62px;
    padding: 10px 16px;
  }

  .menu-button {
    width: 42px;
    min-width: 42px;
    height: 42px;
    flex: 0 0 42px;
    margin: 0;
  }

  .menu-panel {
    right: 16px;
    max-width: calc(100vw - 32px);
    min-width: min(290px, calc(100vw - 32px));
  }

  /* Home */
  .what-heading,
  .what-heading .section-kicker,
  .what-heading h2 {
    width: 100%;
    margin-inline: auto;
    text-align: center;
  }

  .what-heading h2 {
    max-width: 280px;
    line-height: .9;
  }

  .approach {
    min-height: 100svh;
    padding-inline: 20px;
    flex-direction: column;
    align-items: stretch;
  }

  .approach-inner,
  .approach-heading,
  .approach-heading .section-kicker,
  .approach-heading h2 {
    width: 100%;
    margin-inline: auto;
    text-align: center;
  }

  .approach .site-footer {
    position: relative;
    inset: auto;
    margin: 34px -20px -70px;
  }

  /* About Us */
  .about-heading {
    min-height: 118px;
    padding-top: 28px;
  }

  .about-logo-emblem {
    top: 4px;
    width: clamp(66px, 20vw, 82px);
    opacity: .9;
  }

  .about-logo-emblem-left {
    left: 4px;
    transform: none;
  }

  .about-logo-emblem-right {
    right: 4px;
    transform: scaleX(-1);
  }

  .about-copy,
  .about-copy p,
  .about-copy .about-team-note {
    text-align: center;
  }

  /* Services — Support Groups */
  .support-groups-section {
    padding-inline: 16px;
  }

  .support-groups-layout {
    display: flex;
    flex-direction: column;
    gap: 14px;
  }

  .support-tabs {
    display: grid;
    padding: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: repeat(2, auto);
    gap: 7px;
  }

  .support-tab {
    min-height: 52px;
    padding: 7px 8px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 5px;
    border-radius: 8px;
    font-size: .69rem;
    letter-spacing: .025em;
    line-height: 1.02;
  }

  .support-tab-number {
    font-size: .75rem;
  }

  .support-tab b {
    font-size: 1.2em;
  }

  .support-group-panel {
    padding: 14px;
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .support-group-photo,
  .support-group-panel--square-photo .support-group-photo {
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
  }

  #support-group-panel[aria-labelledby="support-tab-set-it-off"] .support-group-photo {
    aspect-ratio: 1 / 1;
  }

  #support-group-panel[aria-labelledby="support-tab-set-it-off"] .support-group-photo img {
    object-fit: contain;
    object-position: center;
  }

  .support-group-details,
  .support-group-description {
    height: auto;
    text-align: center;
  }

  .support-group-details h3::after {
    margin-inline: auto;
    background: linear-gradient(90deg, transparent, var(--gold-light), transparent);
  }

  .support-calendar-button {
    margin-top: 12px;
    align-self: center;
  }

  /* Services — Workshops */
  .workshop-panel,
  .workshop-panel--landscape-photo {
    padding: 14px;
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .workshop-details,
  .workshop-description {
    height: auto;
    padding-left: 0;
    text-align: center;
  }

  .workshop-details h3::after {
    margin-inline: auto;
    background: linear-gradient(90deg, transparent, var(--gold-light), transparent);
  }

  .workshop-calendar-button {
    margin-top: 12px;
    align-self: center;
  }

  .workshop-photo,
  .workshop-photo--landscape,
  .workshop-panel--landscape-photo .workshop-photo {
    width: 100%;
    height: auto;
    max-height: none;
    aspect-ratio: 4 / 3;
    justify-self: center;
  }

  #workshop-panel[aria-labelledby="workshop-tab-set-it-off"] .workshop-photo {
    aspect-ratio: 16 / 10;
  }

  #workshop-panel[aria-labelledby="workshop-tab-set-it-off"] .workshop-photo img {
    object-fit: contain;
    object-position: center;
  }

  /* Services — Speaking Engagements */
  .speaking-heading::before,
  .speaking-heading::after {
    top: 43px;
    width: 46px;
    height: 18px;
  }

  .speaking-heading::before { left: 8px; }
  .speaking-heading::after { right: 8px; }

  .speaking-heading h2 {
    max-width: 280px;
    font-size: clamp(2rem, 10vw, 2.65rem);
    line-height: .9;
  }

  .speaking-layout {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .speaking-photo {
    width: 100%;
    min-height: 0;
    aspect-ratio: 3 / 2;
    border-radius: 14px;
  }

  .speaking-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
  }

  .speaking-copy {
    border-radius: 14px;
  }

  /* Services — Community Outreach */
  .community-outreach-layout {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .community-outreach-photo {
    width: 100%;
    min-height: 0;
    border-radius: 14px;
    background: #f2e6d2;
  }

  .community-outreach-photo img {
    width: 100%;
    height: auto;
    max-height: none;
    object-fit: contain;
    object-position: center;
  }

  .community-outreach-copy {
    border-radius: 14px;
  }

  /* Programs — branded Interest Form */
  .program-interest-section {
    background:
      radial-gradient(circle at 10% 12%, rgb(163 25 77 / 24%), transparent 25%),
      radial-gradient(circle at 92% 88%, rgb(226 195 110 / 18%), transparent 28%),
      linear-gradient(145deg, #073f38, var(--emerald-950));
  }

  .program-interest-form {
    position: relative;
    width: 100%;
    border: 2px solid var(--gold-light);
    border-top: 5px solid var(--cranberry-vivid);
    background:
      linear-gradient(145deg, rgb(255 250 241 / 98%), rgb(239 215 204 / 96%));
    box-shadow:
      0 0 0 3px rgb(226 195 110 / 14%),
      0 18px 38px rgb(80 12 45 / 24%);
  }

  .program-interest-form::before {
    display: block;
    width: 92px;
    height: 6px;
    margin: -2px auto 12px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--cranberry-vivid) 0 28%, var(--cream) 28% 48%, var(--gold-light) 48% 72%, #c98f86 72%);
    content: "";
  }

  .program-interest-form .field-label {
    color: var(--cranberry-vivid);
  }

  .program-interest-form input,
  .program-interest-form select,
  .program-interest-form textarea {
    border-color: rgb(163 25 77 / 38%);
    background: rgb(255 253 248 / 94%);
  }

  .program-interest-form .form-note {
    border-color: var(--cranberry-vivid);
    color: #4d1730;
    background: linear-gradient(90deg, #fff8e8, #f7e3df, #fff8e8);
  }

  .program-interest-form button {
    border-color: var(--gold-light);
    color: var(--cream);
    background: linear-gradient(145deg, var(--cranberry-vivid), #741238);
  }

  /* Events — three coordinated doors in one mobile section */
  .events-portal.event-screen {
    min-height: 100svh;
    padding: 76px 12px 28px;
    overflow: hidden;
  }

  .events-hero-heading .section-kicker {
    margin-bottom: 0;
    font-size: .68rem;
  }

  .events-hero-heading h1 {
    font-size: clamp(3rem, 15vw, 4rem);
  }

  .events-hero-heading > p:last-child {
    max-width: 330px;
    margin-top: 4px;
    font-size: .88rem;
    line-height: 1.12;
  }

  .events-logo-emblem,
  .events-emblem-swing,
  .events-pillar,
  .events-bottom-flourish {
    display: none;
  }

  .event-doors {
    width: 100%;
    margin-top: 13px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
  }

  .event-door {
    height: clamp(245px, 34svh, 286px);
    min-width: 0;
    filter: drop-shadow(0 12px 12px rgb(0 15 13 / 24%));
  }

  .event-door::before {
    inset: -5px -4px -7px;
    border-radius: 52px 52px 3px 3px;
  }

  .door-face {
    border-width: 2px;
    border-radius: 48px 48px 2px 2px;
  }

  .door-crown {
    width: 42px;
    height: 24px;
    margin-top: 23px;
  }

  .door-crown::before,
  .door-crown::after {
    width: 12px;
  }

  .door-crown::before { left: -16px; }
  .door-crown::after { right: -16px; }

  .door-crown b {
    font-size: .72rem;
  }

  .door-title,
  .door-overline + .door-title {
    max-width: 94%;
    margin-top: 8px;
    font-size: clamp(.82rem, 3.8vw, 1rem);
    line-height: .92;
  }

  .door-subtitle,
  .event-door-dora .door-subtitle {
    max-width: 92%;
    margin-top: 6px;
    font-size: clamp(.46rem, 2vw, .58rem);
    letter-spacing: .025em;
    line-height: 1.12;
  }

  .door-panel {
    right: 12%;
    left: 12%;
  }

  .door-panel-upper { top: 43%; height: 20%; }
  .door-panel-lower { bottom: 8%; height: 22%; }

  .door-handle {
    right: 7%;
    top: 58%;
    width: 8px;
    height: 8px;
  }

  .events-scripture {
    margin-top: 18px;
  }

  .events-scripture-reference {
    font-size: .64rem;
  }

  .events-scripture > p:last-child {
    max-width: 350px;
    font-size: .82rem;
    line-height: 1.18;
  }

  /* Bible Study Talk Show */
  .bible-show-screen {
    padding: 76px 16px 0;
  }

  .bible-show-layout {
    width: 100%;
    gap: 16px;
  }

  .bible-show-copy {
    padding: 20px 16px;
    border: 1px solid rgb(226 195 110 / 76%);
    border-radius: 14px;
    text-align: center;
    background: rgb(4 48 43 / 34%);
    box-shadow: inset 0 0 0 4px rgb(163 25 77 / 7%);
  }

  .bible-show-copy::after {
    display: none;
  }

  .bible-youtube-button {
    justify-content: center;
  }

  .bible-show-visual {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    border-radius: 14px;
  }

  .bible-show-visual img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
    background: #f2e6d2;
  }

  .bible-show-signoff {
    width: 100%;
    margin: 18px auto 64px;
    text-align: center;
  }
}

