
html{overflow-x:hidden}
body{text-rendering:optimizeLegibility}
h1,h2,h3,h4{text-wrap:balance}
p,li{text-wrap:pretty}
a,button,input{-webkit-tap-highlight-color:rgba(245,197,68,.16)}
.nav-inner,.site-nav-inner{height:74px}
.navlinks a,.site-navlinks a{min-height:44px;display:inline-flex;align-items:center}
.menubtn,.site-menubtn{width:46px;height:46px;display:none;place-items:center;border-radius:10px}
.menubtn:hover,.site-menubtn:hover{background:rgba(245,197,68,.08)}
.btn{min-height:50px;line-height:1.15}
.sec-head{max-width:64ch}
.info-row a{overflow-wrap:anywhere}
.hero-split{padding-top:clamp(12px,1.4vw,20px);padding-bottom:clamp(28px,4vw,48px)}
.hero-copy{max-width:42ch}
.hero-copy .eyebrow{line-height:1.55}
.hero-copy h1{line-height:1.02}
.hero-copy .lede{max-width:40ch}
.hero-photo{border-radius:18px}
.hero-cta .btn{justify-content:center}
.times-strip div{padding:20px 22px}
.welcome .grid,.sermons .grid,.visit .grid{align-items:center}
.quote{box-shadow:0 24px 50px -38px rgba(12,17,25,.55)}
.day{box-shadow:0 9px 26px rgba(20,29,40,.035)}
.message-actions{margin-top:24px}
.message-actions .btn{min-width:230px;justify-content:center}
.channels{gap:10px;margin-top:20px}
.chip{min-height:44px}
.mapcard{min-height:330px}
.mapcard iframe{min-height:330px}
.banner p{font-size:1rem;line-height:1.65}
.banner h1{line-height:1.04}
.player-section{padding-top:clamp(22px,3vw,32px)}
.player-card{border-radius:19px;box-shadow:0 15px 38px rgba(20,29,40,.075)}
.player-head{padding:clamp(20px,3.5vw,31px);gap:20px}
.player-title{line-height:1.05}
.mode-tab{min-height:44px}
.full-services{box-shadow:0 8px 24px rgba(20,29,40,.035)}
.search{font-size:16px}
.filter{min-height:40px}
.sermon-row{box-shadow:0 5px 18px rgba(20,29,40,.025)}
.row-actions button{min-height:42px}
.notice,.card{box-shadow:0 9px 28px rgba(30,25,16,.045)}
.button{min-height:44px;display:inline-flex;align-items:center}
@media (min-width:721px) and (max-width:900px){
  .sched{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
  .sched .day:last-child{grid-column:1/-1}
  .foot-grid{grid-template-columns:1.2fr 1fr 1fr;gap:28px}
}
@media (max-width:880px){
  .menubtn,.site-menubtn{display:grid}
  .navlinks,.site-navlinks{box-shadow:0 18px 30px rgba(0,0,0,.22)}
  .navlinks a,.site-navlinks a{display:flex;width:100%;min-height:48px}
}
@media (max-width:760px){
  .wrap{padding-left:18px;padding-right:18px}
  section{padding-top:clamp(50px,10vw,66px);padding-bottom:clamp(50px,10vw,66px)}
  .hero-split{gap:22px;padding-left:18px;padding-right:18px;padding-bottom:26px}
  .hero-copy{max-width:none}
  .hero-copy h1{font-size:clamp(2.35rem,11vw,3.15rem);margin-top:.2em;margin-bottom:.28em}
  .hero-copy .lede{font-size:1.04rem;line-height:1.58;margin-bottom:1.4em}
  .hero-cta{display:grid;grid-template-columns:1fr;gap:10px}
  .hero-cta .btn{width:100%}
  .hero-photo{border-radius:15px;aspect-ratio:16/10}
  .times-strip{margin-bottom:6px;border-radius:12px}
  .times-strip div{padding:17px 18px}
  .times-strip .t{font-size:1.5rem}
  .welcome .grid,.sermons .grid,.visit .grid{gap:30px}
  .sec-head{margin-bottom:30px}
  .sec-head h2{line-height:1.08}
  .quote{border-radius:15px;padding:27px 24px}
  .day{border-radius:14px;padding:23px 20px}
  .belief-grid{border-radius:14px}
  .belief{padding:25px 22px}
  .message-actions{display:block}
  .message-actions .btn{width:100%;min-width:0}
  .channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  .chip{justify-content:center;padding:11px 12px}
  .mapcard,.mapcard iframe{min-height:300px}
  .foot-grid{gap:28px}
  .player-card{border-radius:15px}
  .player-head{padding:19px 18px;gap:15px}
  .player-title{font-size:clamp(1.75rem,8vw,2.35rem)}
  .player-meta{font-size:.84rem;line-height:1.45}
  .mode-tabs{width:100%}
  .mode-tab{min-height:46px}
  .archive{padding-top:24px;padding-bottom:58px}
  .archive-head{gap:14px;margin-bottom:18px}
  .archive-head h2{font-size:clamp(2rem,9vw,2.7rem)}
  .filters{margin-bottom:20px}
  .filter{min-height:42px;padding:8px 13px}
  .sermon-row{border-radius:13px}
  .full-services{border-radius:13px}
  .hero .inner{max-width:100%}
  .notice,.card{border-radius:15px}
}
@media (max-width:480px){
  .nav-inner,.site-nav-inner{padding-left:16px;padding-right:12px}
  .brand .wm b,.site-brand .wm b{font-size:1.08rem;letter-spacing:.085em}
  .brand .wm span,.site-brand .wm span{font-size:.52rem;letter-spacing:.22em;margin-top:4px}
  .hero-copy .eyebrow{font-size:.64rem;letter-spacing:.18em}
  .hero-copy h1{font-size:clamp(2.25rem,11.8vw,2.85rem)}
  .times-strip .s{line-height:1.4}
  .channels{grid-template-columns:1fr 1fr}
  .chip{font-size:.82rem}
  .info-row{gap:13px;padding:18px 0}
  .info-row .ic{width:40px;height:40px}
  .player-section .wrap,.archive .wrap{padding-left:14px;padding-right:14px}
  .player-head{padding:18px 16px}
  .mode-tab{padding-left:7px;padding-right:7px}
  .sermon-row{padding:13px 12px}
  .row-actions{gap:6px}
  .row-actions button{min-height:46px;padding:9px 10px}
  .full-services{padding:14px}
}
