@media (max-width: 70rem) {
  .site-nav { gap: .55rem; }
  .site-nav > a:not(.button) { font-size: .78rem; }
  .sermon-toolbar { grid-template-columns: repeat(2, 1fr); }
  .sermon-toolbar .field:first-child { grid-column: 1 / -1; }
  #sermons .sermon-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #sermons .sermon-card:first-child { grid-column: span 2; grid-row: auto; grid-template-columns: minmax(12rem,.82fr) minmax(0,1.18fr); min-height: 0; }
  #sermons .sermon-card:first-child .sermon-card__art { aspect-ratio: auto; }
  .ministry-grid { grid-template-columns: repeat(2, 1fr); }
  .next-step-grid { grid-template-columns: repeat(2, 1fr); }
  .next-step-grid article:nth-child(2) { border-right: 0; }
  .next-step-grid article { border-bottom: 1px solid rgba(48,50,44,.2); }
  .service-strip__inner { grid-template-columns: 1fr 1fr; padding-block: 1.5rem; }
  .service-strip__actions { grid-column: 1 / -1; display: flex; gap: 1.5rem; }
  .sunday-guide__details { grid-template-columns: 1fr; }
  .sunday-guide__details > div + div { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255,249,239,.24); }
}

@media (max-width: 760px) {
  .official-events--grid { grid-template-columns: 1fr; }
}

@media (max-width: 57rem) {
  :root { --header-height: 4.5rem; }
  html { scroll-padding-top: var(--header-height); }
  .announcement { display: none; }
  .site-header, .site-header.is-scrolled { position: fixed; inset: 0 0 auto; height: var(--header-height); backdrop-filter: none; -webkit-backdrop-filter: none; }
  .menu-button { display: inline-flex; align-items: center; justify-content: center; gap: .55rem; }
  .menu-button__label { font-size: .78rem; }
  .site-nav { position: fixed; inset: var(--header-height) 0 auto; height: calc(100svh - var(--header-height)); max-height: calc(100svh - var(--header-height)); display: none; flex-direction: column; align-items: stretch; gap: .15rem; padding: 1.25rem; background: var(--ivory); overflow-y: auto; overscroll-behavior: contain; }
  .site-nav.is-open { display: flex; }
  .site-nav > a:not(.button) { min-height: 52px; padding-inline: .5rem; border-bottom: 1px solid var(--line); font-family: var(--serif); font-size: 1.5rem; font-weight: 500; }
  .site-nav .button { margin-top: .75rem; }
  .site-nav { background: var(--forest); }
  .site-nav > a:not(.button) { color: #fff9ef; border-bottom-color: rgba(255,249,239,.18); }
  .site-header, .site-header.is-scrolled { height: var(--header-height); }
  .hero { min-height: auto; }
  .hero__content { padding-top: clamp(11rem, 40vw, 18rem); }
  .hero__details { grid-template-columns: 1fr; }
  .hero__details div, .hero__details div + div { padding: .8rem 0; border-left: 0; border-top: 1px solid var(--line); }
  .hero__details div:first-child { border-top: 0; }
  .section-heading, .intro__grid, .about-grid, .planner-grid, .prayer-grid, .give-grid, .location-grid, .compact-section { grid-template-columns: 1fr; gap: 3rem; }
  .section-heading { align-items: start; }
  .about-grid .brand-panel { order: 2; max-width: 24rem; }
  .prayer-grid { align-items: stretch; }
  .journal { position: static; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .updates__inner { align-items: start; flex-direction: column; }
  .sunday-guide__foot { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 43rem) {
  html, body { overflow-x: hidden; }
  :root { --section: 4.25rem; }
  .container { width: min(calc(100% - 1.25rem), var(--container)); }
  .brand small { display: none; }
  .brand { gap: .35rem; padding-right: .55rem; }
  .brand__mark { width: 2.7rem; height: 2.7rem; }
  .brand img { width: 2.45rem; height: 2.45rem; }
  .brand strong { font-size: 1.08rem; }
  .hero__art { height: auto; aspect-ratio: 2048 / 682; }
  .hero__art img { object-fit: contain; object-position: center; }
  .hero__content { padding-top: clamp(10.5rem, 40vw, 15rem); }
  .hero__content h1 { font-size: clamp(3rem, 15vw, 4.4rem); }
  .hero__actions { display: grid; }
  .hero__actions .button { width: calc(100% - 4.8rem); }
  .hero__actions { margin-bottom: 4.5rem; }
  .service-strip__inner { grid-template-columns: 1fr; gap: 1.25rem; }
  .countdown { width: 100%; grid-template-columns: repeat(2, 1fr); border: 1px solid var(--line); border-radius: var(--radius); }
  .countdown div { border: 0; padding: .85rem; }
  .countdown div:nth-child(even) { border-left: 1px solid var(--line); }
  .countdown div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .service-strip__actions { grid-column: auto; flex-wrap: wrap; }
  .sermon-toolbar { grid-template-columns: 1fr; }
  .sermon-toolbar .field:first-child { grid-column: auto; }
  #sermons .sermon-grid { grid-template-columns: 1fr; }
  .sermon-card, #sermons .sermon-card:first-child { grid-column: auto; grid-row: auto; grid-template-columns: 1fr; }
  #sermons .sermon-card:first-child .sermon-card__art { aspect-ratio: 16 / 9; }
  .sermon-card__art { aspect-ratio: 16 / 9; min-height: 0; }
  #sermons .sermon-library-foot { align-items: flex-start; flex-direction: column; }
  #sermons .sermon-more { align-items: stretch; flex-direction: column; text-align: center; }
  #sermons .sermon-more .button { width: 100%; }
  .study-workspace { border-radius: var(--radius); }
  .study-workspace__head, .tab-panel { padding: 1rem; }
  .tabs { padding-inline: .5rem; }
  .overview-grid, .panel-intro, .notes-footer { display: grid; }
  .study-actions { justify-content: start; }
  .transcript-toolbar, .question-form, .notes-grid, .form-row { grid-template-columns: 1fr; }
  .transcript-line { grid-template-columns: 3.8rem 1fr; padding: .65rem; }
  .guide-output { grid-template-columns: 1fr; }
  .guide-card--wide { grid-column: auto; }
  .ministry-grid { grid-template-columns: 1fr; }
  .next-step-grid { grid-template-columns: 1fr; }
  .next-step-grid article { min-height: 15rem; border-right: 0; }
  .ministry-card { min-height: 16rem; }
  .give-note { grid-template-columns: 5.5rem 1fr; gap: 1rem; padding: 1rem; }
  .map-card { min-height: 24rem; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; }
  .assistant-launcher { width: 58px; min-height: 58px; justify-content: center; gap: 0; padding: .3rem; right: .65rem; bottom: .65rem; }
  .assistant-launcher > span, .assistant-launcher > i { display: none; }
  .assistant-launcher img { width: 2.85rem; height: 2.85rem; }
  .assistant-panel { right: .5rem; bottom: 4.75rem; width: calc(100vw - 1rem); max-height: calc(100svh - 5.5rem); }
  .leader-grid { grid-template-columns: 1fr; padding: 1rem; }
  .dialog__head, .accordion-list { padding: 1rem; }
  .sunday-guide { padding-block: 3.5rem; }
  .sunday-guide h2 { margin-bottom: 1.5rem; }
  .sunday-guide__details { margin-top: 0; }
  .sunday-guide__details > div { min-height: 0; padding-block: 1.2rem; }
}

@media (max-width: 57rem) {
  .explore-split { grid-template-columns: 1fr; }
  .leadership-page-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 43rem) {
  .explore-hero { padding-top: 8rem; }
  .leadership-page-grid { grid-template-columns: 1fr; }
  .calendar-frame, .calendar-frame iframe { min-height: 30rem; height: 30rem; }
}

@media (max-width: 23.5rem) {
  .menu-button__label, .assistant-launcher span { display: none; }
  .announcement { font-size: .76rem; }
  .hero__content h1 { font-size: clamp(2.7rem, 14vw, 3.4rem); }
  .button { width: 100%; }
  .give-note { grid-template-columns: 1fr; }
  .give-note img { width: 5rem; }
}

/* Keep all hero copy below the full-width brand banner at compact breakpoints. */
@media (max-width: 57rem) {
  .hero__content { padding-top: calc(33.3vw + 2rem); }
}

@media (max-width: 43rem) {
  .hero__content { padding-top: calc(33.3vw + 1.6rem); }
  #give .give-note { grid-template-columns: 5.25rem 1fr; }
  #give .give-note img { width: 5.25rem; height: 5.25rem; }
}

@media (max-width: 23.5rem) {
  #give .give-note { grid-template-columns: 1fr; }
}

@media (max-width: 57rem) {
  .sunday-mode__inner, .explore-more__head { align-items: start; flex-direction: column; }
  .sunday-mode__actions { justify-content: flex-start; }
  .explore-more__links { grid-template-columns: repeat(2, 1fr); }
  .explore-more__links a:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .explore-more__links a:nth-child(4) { border-top: 1px solid var(--line); }
}

@media (max-width: 43rem) {
  .site-search-button { min-height: 52px; justify-content: flex-start; padding-inline: .5rem; border-bottom: 1px solid rgba(255,249,239,.18); color: #fff9ef; font-family: var(--serif); font-size: 1.5rem; font-weight: 500; }
  .site-search-dialog { width: calc(100vw - 1rem); }
  .explore-more__links { grid-template-columns: 1fr; }
  .explore-more__links a + a { border-left: 0; border-top: 1px solid var(--line); }
  .explore-more__links a:nth-child(3) { border-left: 0; }
}

/* 2026 mobile pass: fluid from compact Android phones through iPhone Pro Max. */
@media (max-width: 57rem) {
  :root { --header-height: calc(4rem + env(safe-area-inset-top, 0px)); }
  html { scroll-padding-top: calc(var(--header-height) + .75rem); }
  .site-header, .site-header.is-scrolled { height: var(--header-height); }
  .header__inner { height: 100%; padding-top: env(safe-area-inset-top, 0px); }
  .site-nav { top: var(--header-height); bottom: auto; height: calc(100dvh - var(--header-height)); max-height: calc(100dvh - var(--header-height)); padding-bottom: max(1.25rem, env(safe-area-inset-bottom, 0px)); }
  .hero { min-height: auto; align-items: start; }
  .hero__content { padding-block: clamp(7.2rem,17vw,9rem) clamp(3.1rem,8vw,4.5rem); }
  .hero__content h1 { max-width: 10ch; font-size: clamp(3.2rem,10.2vw,5rem); }
  .hero__lead { max-width: 36rem; }
  .sunday-quick__inner { grid-template-columns: 1fr; gap: 1.3rem; min-height: 0; padding-block: 2rem; }
  .sunday-quick__details { grid-template-columns: 1fr 1fr 1fr; }
  .sunday-quick__actions { grid-template-columns: auto auto auto; align-items: center; justify-content: start; gap: .75rem 1rem; }
  .intro .section-copy h2 { font-size: clamp(2.7rem,8vw,4rem); }
}

@media (max-width: 43rem) {
  body { padding-bottom: env(safe-area-inset-bottom, 0px); }
  .container { width: min(calc(100% - clamp(1.25rem,5vw,2rem)), var(--container)); }
  .brand { min-height: 48px; }
  .brand__mark { width: 2.45rem; height: 2.45rem; }
  .brand img { width: 2.2rem; height: 2.2rem; }
  .brand strong { font-size: 1.03rem; }
  .menu-button { min-width: 48px; min-height: 48px; }
  .hero__art { display: none; }
  .hero__content { padding-top: calc(var(--header-height) + clamp(2.1rem,7vw,3rem)); padding-bottom: clamp(2.5rem,8vw,3.5rem); }
  .hero__content h1 { margin-bottom: 1.25rem; font-size: clamp(3.05rem,14vw,4.25rem); line-height: .93; }
  .hero__lead { max-width: 34ch; font-size: 1.03rem; line-height: 1.65; }
  .hero__actions { gap: .45rem; margin-top: 1.7rem; margin-bottom: 0; }
  .hero__actions .button { width: 100%; min-height: 50px; }
  .hero__actions .button--secondary { width: auto; min-height: 46px; padding-inline: .15rem; border-color: transparent; border-radius: 0; text-decoration: underline; text-decoration-color: rgba(228,197,120,.58); text-underline-offset: .35rem; }
  .sunday-quick { border-top-color: rgba(23,32,25,.22); }
  .sunday-quick__inner { gap: 1.15rem; padding-block: 1.65rem 1.85rem; }
  .sunday-quick__heading .eyebrow { margin-bottom: .55rem; }
  .sunday-quick__heading h2 { margin-bottom: .4rem; font-size: clamp(1.85rem,8vw,2.35rem); }
  .sunday-quick__countdown { font-size: .86rem; }
  .sunday-quick__details { grid-template-columns: 1fr; border-block: 1px solid rgba(23,32,25,.18); }
  .sunday-quick__details > div { min-height: 64px; grid-template-columns: 2.55rem 1fr; padding: .85rem .1rem; }
  .sunday-quick__details > div + div { border-left: 0; border-top: 1px solid rgba(23,32,25,.16); }
  .sunday-quick__details svg { width: 2.15rem; height: 2.15rem; }
  .sunday-quick__details strong { font-size: 1.08rem; }
  .sunday-quick__details small { font-size: .75rem; }
  .sunday-quick__actions { grid-template-columns: 1fr; align-items: stretch; }
  .sunday-quick__actions .button { width: 100%; }
  .sunday-quick__actions .text-link { width: fit-content; }
  .intro { padding-block: clamp(3.5rem,12vw,4.75rem); }
  .intro__grid { gap: 2.25rem; }
  .intro .section-copy h2 { max-width: 12ch; margin-bottom: 1.1rem; font-size: clamp(2.65rem,11vw,3.4rem); }
  .intro .lead { max-width: 35ch; font-size: 1rem; line-height: 1.65; }
  .expect-list article { grid-template-columns: 3.25rem 1fr; gap: .75rem; padding-block: 1.25rem; }
  .visit-icon { width: 2.7rem; height: 2.7rem; font-size: 1.2rem; }
  #sermons { padding-block: 4.25rem; }
  #sermons .section-heading { gap: 1rem; margin-bottom: 1.5rem; }
  #sermons .section-heading h2 { font-size: clamp(2.65rem,11vw,3.45rem); }
  #sermons .sermon-toolbar { display: grid; gap: .8rem; padding: .9rem; }
  #sermons .sermon-toolbar .field { min-width: 0; }
  #sermons .sermon-toolbar input,
  #sermons .sermon-toolbar select { width: 100%; min-height: 48px; font-size: 1rem; }
  #sermons .sermon-toolbar .button { width: 100%; min-height: 48px; }
  #sermons .sermon-more { display: flex; }
  #sermons .sermon-card__actions .button--quiet { display: none; }
  #sermons .sermon-card__actions { display: grid; grid-template-columns: 1fr 1fr; }
  #sermons .sermon-card__actions .button { width: 100%; min-height: 48px; }
  #ministries .section-heading { gap: 1rem; margin-bottom: 1.75rem; }
  #ministries .ministry-card:nth-child(n+4) { display: none; }
  #ministries .ministry-card { min-height: 0; padding: 1.5rem 1rem; }
  .mobile-ministry-more { display: block; }
  .mobile-ministry-more .button { width: 100%; }
  .assistant-launcher { width: 48px; min-height: 48px; height: 48px; right: max(.7rem, env(safe-area-inset-right, 0px)); bottom: max(.7rem, env(safe-area-inset-bottom, 0px)); }
  .assistant-launcher img { width: 2.3rem; height: 2.3rem; }
  .assistant-panel { left: max(.5rem, env(safe-area-inset-left, 0px)); right: max(.5rem, env(safe-area-inset-right, 0px)); bottom: calc(3.75rem + env(safe-area-inset-bottom, 0px)); width: auto; max-height: calc(100dvh - var(--header-height) - 4.25rem - env(safe-area-inset-bottom, 0px)); border-radius: 1rem; }
  .assistant-suggestions button, .assistant-form input, .assistant-form button { min-height: 44px; }
  .site-search-dialog, .dialog { max-height: calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 1rem); }
  .site-footer { padding-bottom: max(1.5rem, env(safe-area-inset-bottom, 0px)); }
  .site-footer li { margin-bottom: .15rem; }
  .site-footer li a, .footer-button { min-height: 44px; display: inline-flex; align-items: center; }
}

@media (max-width: 23.5rem) {
  .hero__content h1 { font-size: clamp(2.75rem,13.5vw,3.2rem); }
  .hero__lead { font-size: 1rem; }
  .sunday-quick__heading h2 { font-size: 1.75rem; }
  .assistant-launcher { width: 46px; min-height: 46px; height: 46px; }
}

@media (max-height: 31rem) and (orientation: landscape) and (max-width: 57rem) {
  .hero__content { padding-top: calc(var(--header-height) + 1.5rem); }
  .hero__content h1 { font-size: clamp(2.6rem,8vw,3.6rem); }
  .site-nav { padding-block: .75rem max(.75rem, env(safe-area-inset-bottom, 0px)); }
}

/* Authentic exterior treatment on phones and tablets. */
@media (max-width: 57rem) {
  .hero {
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-top: var(--header-height);
  }
  .hero__art {
    position: relative;
    z-index: 0;
    inset: auto;
    order: 0;
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 16 / 7;
    opacity: 1;
    overflow: hidden;
  }
  .hero__art::after { display: none; }
  .hero__art img { width: 100%; height: 100%; object-fit: cover; object-position: center 52%; }
  .hero__content {
    order: 1;
    padding-top: clamp(2.25rem,7vw,3.5rem);
    padding-bottom: clamp(2.75rem,8vw,4rem);
  }
}

@media (max-width: 43rem) {
  .hero__art { display: block; aspect-ratio: 16 / 8.6; }
  .hero__content { padding-top: 2.1rem; }
  .hero__content h1 { max-width: none; color: var(--forest); font-size: clamp(2.75rem,11.8vw,3.5rem); line-height: .96; }
  .hero__lead { color: #495348; }
  .hero__facts { display: grid; gap: .35rem; margin-top: 1rem; font-size: .84rem; }
  .hero .button { border-color: var(--forest); background: var(--forest); color: #fff9ef; }
  .hero .button--secondary { width: 100%; padding-inline: 1rem; border: 1px solid rgba(23,32,25,.45); border-radius: 999px; background: transparent !important; color: var(--forest) !important; text-decoration: none; }
  .assistant-launcher.is-hero-hidden,
  .assistant-launcher.is-input-hidden { opacity: 0; pointer-events: none; transform: translateY(.75rem); }
  html:not(.sermon-library-mode) #sermons .sermon-card:first-child { grid-template-columns: 1fr; }
  html:not(.sermon-library-mode) #sermons .sermon-library-foot { align-items: stretch; }
  html:not(.sermon-library-mode) #sermons .sermon-library-foot .button { width: 100%; }
}

@media (max-width: 43rem) {
  .hero { min-height: auto; }
  .hero__content { padding-top: 1.7rem; padding-bottom: 2.6rem; }
  .section { padding-block: 3.25rem; }
  .sunday-quick__inner { padding-block: 1.1rem; }
  .intro__photo { display: none; }
  #ministries .ministry-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    align-items: stretch;
    max-width: none;
    margin-inline: calc(var(--container-pad, 1rem) * -1);
    padding-inline: var(--container-pad, 1rem);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
    scrollbar-width: thin;
  }
  #ministries .ministry-card { min-height: 0; scroll-snap-align: start; }
  .location .map-card { min-height: 19rem; }
}
