/* Alternating section surfaces, with readable text on the pastor section. */
main>section:nth-of-type(odd){background:#fffdf8}
main>section:nth-of-type(even){background:#edf2e8}
.pastor-section{color:var(--ink)}
.pastor-copy .section-title{color:var(--deep)}
.pastor-copy .section-title em{color:#a88650}
.pastor-copy>p:not(.pastor-name),.pastor-name span{color:#52635a}
.pastor-section .eyebrow.light{color:#6e8b78}
.pastor-section .light-link{color:var(--green)}
/* Let mobile content determine its height instead of clipping it to a viewport. */
@media(max-width:760px){
  html{scroll-snap-type:none;scroll-padding-top:70px}
  main>section,main>section.hero,main>section.section{height:auto!important;min-height:calc(100svh - 70px);overflow:visible;scroll-margin-top:0}
  main>section.section{display:flex;flex-direction:column;align-items:stretch;padding:38px 0 0;gap:30px}
  main>section.section>.container{flex:1;width:calc(100% - 36px);min-width:0}
  main>section>.values-strip,main>section.section>.values-strip{position:relative;inset:auto;margin-top:auto;width:100%;flex:none}
  .hero-grid{padding:32px 0;gap:20px}
  .hero h1{font-size:clamp(30px,8vw,42px);line-height:1.4;margin-bottom:18px}
  .hero-desc{font-size:14px;line-height:1.9;margin-bottom:18px}
  .hero-foot{margin-top:16px;font-size:11px}
  .hero-visual{min-height:270px;margin:8px auto 10px;max-width:420px}
  .hero-photo{height:270px;width:85%}
  .hero-circle{width:100%;height:100%;right:0;top:0}
  .service-float{bottom:6px;max-width:100%;padding:12px}
  .hero-watermark{display:none}
  .section-title,.pastor-copy .section-title{font-size:28px;line-height:1.5}
  .services-section .section-heading-row>p{white-space:normal;font-size:13px;line-height:1.7}
  .services-section .service-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .services-section .primary-card{display:flex;grid-column:1/-1;padding:22px;min-height:0}
  .services-section .primary-card h3{font-size:24px}
  .services-section .primary-card .card-time{font-size:32px}
  .services-section .primary-card>p,.services-section .service-card:not(.primary-card) p{display:block;overflow:visible;-webkit-line-clamp:unset;font-size:12px;line-height:1.85;margin:12px 0 0}
  .services-section .service-card:not(.primary-card){padding:16px 12px;min-width:0}
  .services-section .service-card:not(.primary-card) .card-top{flex-wrap:wrap;gap:5px}
  .services-section .service-card:not(.primary-card) .card-time{font-size:22px}
  .services-section .primary-card .next-worship{font-size:12px;line-height:1.7}
  .next-worship[hidden]{display:none}
  .services-section .service-disclaimer{font-size:11px;line-height:1.7;margin-top:16px}
  .news-section .news-columns{display:flex;flex-direction:column;gap:26px;max-height:none}
  .news-list-column{height:auto}
  .news-section .news-card{display:grid;grid-template-columns:minmax(0,1fr) 70px;padding:14px 0;gap:12px}
  .news-section .news-card:not(:has(img)){grid-template-columns:1fr}
  .news-section .news-card h3{display:block;overflow:visible;font-size:15px;line-height:1.7}
  .news-section .news-meta{font-size:12px}
  .news-section .news-card img{width:70px;height:70px}
  .news-section .news-all{font-size:12px;padding-top:14px}
  .news-section .calendar-preview-heading h3{font-size:23px}
  .news-section .calendar-preview-label{font-size:10px}
  .news-section .upcoming-list{max-height:none;overflow:visible}
  .news-section .upcoming-card{padding:16px}
  .news-section .upcoming-card h4{font-size:15px}
  .news-section .upcoming-meta,.news-section .upcoming-card a{font-size:12px}
  .instagram-grid,.pastor-grid{gap:24px}
  .instagram-copy>p,.pastor-copy>p:not(.pastor-name){font-size:14px;line-height:1.9}
  .instagram-embed-shell iframe{height:390px}
  .pastor-photo{height:250px}
  .access-info{padding:24px 20px}
  .access-info-block{margin-bottom:20px}
  .access-info-block p{font-size:13px;line-height:1.85;overflow-wrap:anywhere}
  .access-info-block h3{font-size:17px}
  .access-info .button{font-size:13px;min-height:44px}
  .access-section .map-box{min-height:260px}
  .values-row{width:calc(100% - 24px);min-height:62px;gap:0}
  .values-row>div{font-size:10px;line-height:1.6;padding:8px 5px;min-width:0}
  .values-symbol{display:none}
}
@media(max-width:360px){
  .services-section .service-cards{grid-template-columns:1fr}
}

@media(max-width:760px){
  .topline{display:none}
  main>section:not(.hero)>.values-strip,main>section.section>.values-strip{display:none}
  main>section.section{padding-bottom:38px}
  main>section.hero{
    height:calc(min(100svh,var(--mobile-viewport-height,100svh)) - 70px)!important;
    min-height:0;display:flex;flex-direction:column;overflow:visible;
  }
  .hero-grid{
    flex:1;min-height:0;display:grid;grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);gap:12px;padding:20px 0 16px;
  }
  .hero-eyebrow{margin-bottom:10px;font-size:10px}
  .hero h1{font-size:clamp(28px,7.5vw,36px);line-height:1.3;margin-bottom:12px}
  .hero-desc{font-size:13px;line-height:1.75;margin-bottom:8px}
  .hero-foot{margin-top:10px;font-size:10px;line-height:1.6}
  .hero-visual{min-height:0;height:100%;margin:0 auto;max-width:420px}
  .hero-photo{height:100%;max-height:290px;width:85%;min-height:0}
  .hero-circle{height:100%;max-height:290px}
  .hero-ornament{width:50px;top:0}
  .service-float{bottom:4px;padding:10px 12px;gap:10px;width:250px}
  .service-float-icon{width:36px;height:36px}
  .service-float strong{font-size:13px}
  .service-float small{font-size:8px}
  .service-float span{font-size:9px}
  main>section.hero>.values-strip{position:static;inset:auto;margin-top:0;flex:none;padding-bottom:env(safe-area-inset-bottom,0px)}
  .hero .values-row{min-height:54px}
}
@media(max-width:760px) and (max-height:680px){
  .hero-grid{padding-top:12px;padding-bottom:10px;gap:8px}
  .hero-eyebrow{font-size:9px;margin-bottom:6px}
  .hero h1{font-size:27px;margin-bottom:8px}
  .hero-desc{font-size:12px;line-height:1.65}
  .hero-foot{margin-top:6px;font-size:9px}
  .hero .values-row{min-height:48px}
}
