@media screen and (max-width: 1024px) {
  body.menu-open { overflow: hidden; }
  .site-header { position: relative; z-index: 1000; min-height: 76px; padding: 14px 24px; flex-wrap: nowrap; justify-content: space-between; gap: 20px; }
  .site-header .brand,
  .site-header .menu-toggle { position: relative; z-index: 1001; }
  .menu-toggle { display: inline-flex; width: 46px; height: 46px; padding: 0; align-items: center; justify-content: center; border: 0; border-radius: 8px; background: transparent; color: var(--llp-deep); cursor: pointer; }
  .menu-toggle:hover,
  .menu-toggle:focus-visible { background: var(--llp-pale); outline: 0; }
  .menu-toggle-label { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .menu-toggle-icon { position: relative; display: block; width: 25px; height: 18px; }
  .menu-toggle-icon > span { position: absolute; left: 0; display: block; width: 25px; height: 2px; border-radius: 2px; background: currentColor; transition: top .25s, transform .25s, opacity .2s; }
  .menu-toggle-icon > span:nth-child(1) { top: 0; }
  .menu-toggle-icon > span:nth-child(2) { top: 8px; }
  .menu-toggle-icon > span:nth-child(3) { top: 16px; }
  .site-header.is-menu-open .menu-toggle-icon > span:nth-child(1) { top: 8px; transform: rotate(45deg); }
  .site-header.is-menu-open .menu-toggle-icon > span:nth-child(2) { opacity: 0; }
  .site-header.is-menu-open .menu-toggle-icon > span:nth-child(3) { top: 8px; transform: rotate(-45deg); }
  .header-navigation-panel { --menu-content-width: 100%; position: fixed; z-index: 999; inset: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 24px; padding: 112px clamp(28px, 6vw, 64px) max(32px, env(safe-area-inset-bottom)); overflow-y: auto; overscroll-behavior: contain; background: linear-gradient(150deg, #144a6d 0%, #0b2d47 76%); opacity: 0; visibility: hidden; transform: translateX(100%); pointer-events: none; transition: transform .3s ease, opacity .25s ease, visibility 0s linear .3s; }
  .site-header.is-menu-open .header-navigation-panel { opacity: 1; visibility: visible; transform: translateX(0); pointer-events: auto; transition-delay: 0s; }
  .site-header.is-menu-open .brand { color: #fff; }
  .site-header.is-menu-open .menu-toggle { color: #fff; }
  .site-header.is-menu-open .menu-toggle:hover,
  .site-header.is-menu-open .menu-toggle:focus-visible { background: rgba(255,255,255,.1); }
  .header-navigation-panel .primary-nav { display: flex; order: initial; width: var(--menu-content-width); margin: 0; flex-direction: column; justify-content: flex-start; align-items: stretch; flex-wrap: nowrap; gap: 0; font-family: "Cabin", sans-serif; font-size: 18px; }
  .header-navigation-panel .primary-nav > a,
  .header-navigation-panel .nav-dropdown > summary { width: 100%; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.16); color: #fff; font-family: "Cabin", sans-serif; font-weight: 600; line-height: 1.3; }
  .header-navigation-panel .nav-dropdown > summary { justify-content: space-between; }
  .header-navigation-panel .primary-nav > a:hover,
  .header-navigation-panel .primary-nav > a:focus-visible,
  .header-navigation-panel .nav-dropdown > summary:hover,
  .header-navigation-panel .nav-dropdown > summary:focus-visible { color: var(--llp-aqua); outline: 0; }
  .header-navigation-panel .nav-dropdown-menu { position: static; width: 100%; padding: 8px 0 12px 18px; transform: none; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
  .header-navigation-panel .primary-nav .nav-dropdown-menu a { padding: 9px 0; color: #d1e5f0; font-family: "Cabin", sans-serif; font-size: 16px; font-weight: 500; }
  .header-navigation-panel .primary-nav .nav-dropdown-menu a:hover,
  .header-navigation-panel .primary-nav .nav-dropdown-menu a:focus-visible { background: transparent; color: var(--llp-aqua); outline: 0; }
  .header-navigation-panel .primary-nav .nav-dropdown-menu .nav-dropdown-all { margin-top: 4px; padding-top: 13px; border-top-color: rgba(255,255,255,.14); color: var(--llp-aqua); }
  .header-navigation-panel .header-actions { width: var(--menu-content-width); margin: 0; flex-direction: column; gap: 12px; }
  .header-navigation-panel .header-actions .button { width: 100%; box-sizing: border-box; padding: 13px 20px; font-size: 15px; text-align: center; }
  .header-navigation-panel .header-actions .button-outline { border-color: var(--llp-aqua); background: transparent; color: #fff; }
  .llp-home .about .split { width: min(820px, calc(100% - 48px)); grid-template-columns: 1fr; gap: 48px; }
  .llp-home .audience-grid { width: min(820px, 100%); margin: 44px auto 0; grid-template-columns: 1fr; gap: 48px; }
  .llp-home .about .image-frame,
  .llp-home .audience-grid .image-frame { width: 100%; height: clamp(340px, 52vw, 500px); }
  .llp-home .audience-grid .image-frame { order: -1; }
  .llp-home .activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .llp-about .about-story .about-split { width: min(820px, calc(100% - 48px)); grid-template-columns: 1fr; gap: 48px; }
  .llp-about .about-story .image-frame { width: 100%; height: auto; aspect-ratio: 6 / 5; }
  .split { gap: 38px; }
  .footer-grid { gap: 34px; grid-template-columns: 2fr 1fr 1fr; }
  .resource-row { grid-template-columns: 1fr 1fr; gap: 38px; }
  .resource-images { height: 340px; padding: 24px; }
  .footer-grid > div:first-child { grid-column: 1 / -1; max-width: 480px; }
}

/* Image-and-copy components become full rows throughout the tablet range. */
@media screen and (min-width: 601px) and (max-width: 1024px) {
  .stage-row,
  .stage-row.reverse,
  .resource-row,
  .resource-row.reverse,
  .celebration-overview-grid,
  .celebration-include,
  .celebration-include.reverse,
  .detail-row,
  .detail-row.reverse,
  .faith-overview-grid,
  .faith-row,
  .faith-row.reverse,
  .pilot-intro-grid,
  .llp-about .founder .about-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }

  .stage-row.reverse .stage-photo,
  .resource-row.reverse .resource-images,
  .celebration-include.reverse > img,
  .detail-row.reverse .detail-row-image,
  .faith-row.reverse .faith-row-photo {
    order: 0;
  }

  .stage-row > div:not(.stage-photo),
  .resource-row .resource-copy,
  .celebration-overview-grid > div,
  .celebration-include > div,
  .detail-row > div:not(.detail-row-image),
  .faith-overview-copy,
  .faith-row-copy,
  .pilot-intro-grid > div:first-child,
  .llp-about .founder .about-split > div:not(.image-frame) {
    order: 1;
  }

  .celebration-overview-grid > img,
  .faith-overview-grid .faith-photo,
  .pilot-intro-grid .pilot-intro-photo {
    order: 0;
  }

  .stage-photo,
  .celebration-overview-grid > img,
  .celebration-include > img,
  .detail-row-image,
  .faith-photo,
  .faith-row-photo,
  .pilot-intro-photo,
  .llp-about .founder .image-frame {
    width: 100%;
    height: clamp(340px, 50vw, 500px);
  }

  .resource-images {
    width: 100%;
    height: clamp(340px, 48vw, 470px);
  }
}

/* Keep the Founder profile stacked on wider landscape tablets as well. */
@media screen and (min-width: 601px) and (max-width: 1180px) {
  .llp-about .founder .about-split {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }

  .llp-about .founder .founder-photo {
    width: 100%;
    height: clamp(340px, 50vw, 500px);
    order: 0;
  }

  .llp-about .founder .about-split > div:not(.image-frame) {
    order: 1;
  }
}

@media screen and (max-width: 960px) {
}

@media screen and (max-width: 800px) {
}

@media screen and (max-width: 768px) {
  .section { padding: 72px 0; }
  .llp-home .about { padding-top: 48px; }
  .split { grid-template-columns: 1fr; }
  .about .image-frame,.audience-grid .image-frame { height: 340px; }
  .audience-grid .image-frame { order: -1; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
}
