:root{
  /* Palette is intentionally pulled from the church mark only. */
  --red:#bd0505;
  --red-deep:#8e0503;
  --coral:#fb7b76;
  --coral-2:#f6816d;
  --orange:#ec8857;
  --orange-soft:#f39a75;
  --peach:#f6aa86;
  --white:#fff;
  --ink:#2b0e0b;
  --muted:#6e3932;
  --max:1740px;
  --gutter:clamp(16px,2vw,34px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--orange)}
body{
  margin:0;
  color:var(--ink);
  background:linear-gradient(112deg,var(--coral) 0%,var(--coral-2) 42%,var(--orange) 100%);
  font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:16px;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body::before{
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:9999;
  opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E");
}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
button{color:inherit}

[data-site-lang="en"] [data-lang="es"],
[data-site-lang="es"] [data-lang="en"]{display:none!important}

.skip-link{position:fixed;left:16px;top:16px;z-index:1000;padding:10px 14px;background:var(--red);color:#fff;transform:translateY(-180%)}
.skip-link:focus{transform:none}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:color-mix(in srgb,var(--coral) 82%,transparent);
  backdrop-filter:blur(18px) saturate(130%);
}
.nav-shell{
  width:min(var(--max),calc(100% - var(--gutter)*2));
  min-height:92px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:32px;
}
.brand{display:flex;align-items:center;gap:14px;font-family:'Bricolage Grotesque',sans-serif;font-weight:800;letter-spacing:-.04em;white-space:nowrap}
.brand img{width:54px;height:54px;object-fit:contain}
.brand span{font-size:18px}
.nav-links{display:flex;justify-content:center;align-items:center;gap:clamp(18px,1.55vw,30px)}
.nav-links a{font-size:15.5px;font-weight:800;letter-spacing:-.018em;position:relative;padding:12px 0}
.nav-links a::after{content:'';position:absolute;left:0;right:0;bottom:2px;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .22s ease}
.nav-links a:hover::after,.nav-links a[aria-current="page"]::after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:12px;justify-self:end}
.lang-switch{display:flex;background:rgba(255,255,255,.34);border-radius:999px;padding:4px}
.lang-switch button{border:0;background:transparent;min-width:43px;padding:9px 11px;font-size:13px;font-weight:800;cursor:pointer;border-radius:999px}
.lang-switch button[aria-pressed="true"]{background:var(--red);color:#fff}
.nav-visit{margin-left:2px;min-height:54px;padding:13px 22px;font-size:15px}
.menu-button{display:none;width:52px;height:52px;border:0;background:var(--red);color:#fff;place-items:center;cursor:pointer;border-radius:50%}
.menu-glyph,.menu-glyph::before,.menu-glyph::after{width:22px;height:2px;background:currentColor;display:block;content:'';transition:.2s ease}
.menu-glyph::before{transform:translateY(-6px)}
.menu-glyph::after{transform:translateY(4px)}
.menu-open .menu-glyph{background:transparent}
.menu-open .menu-glyph::before{transform:translateY(0) rotate(45deg)}
.menu-open .menu-glyph::after{transform:translateY(-2px) rotate(-45deg)}

main{overflow:clip}
.container{width:min(var(--max),calc(100% - var(--gutter)*2));margin:0 auto}
.narrow{width:min(980px,calc(100% - var(--gutter)*2));margin:0 auto}
.section{padding:clamp(56px,6vw,94px) 0}
.section.compact{padding:clamp(36px,4vw,58px) 0}
.section-dark,.section-red{background:var(--red);color:#fff}
.section-soft{background:rgba(255,255,255,.9)}
.section-coral,.section-blue,.section-yellow,.section-lilac{background:transparent;color:var(--ink)}

h1,h2,h3,h4,p{margin-top:0}
h1,h2,h3,h4{font-family:'Bricolage Grotesque',sans-serif;letter-spacing:-.055em;line-height:.96}
h1{font-size:clamp(66px,9vw,154px);margin-bottom:24px}
h2{font-size:clamp(48px,6vw,102px);margin-bottom:20px}
h3{font-size:clamp(30px,3.2vw,52px);margin-bottom:12px}
h4{font-size:22px;margin-bottom:10px}
.display-small{font-size:clamp(50px,6.6vw,108px)}
.lede{max-width:900px;color:var(--muted);font-size:clamp(19px,1.9vw,29px);line-height:1.31;letter-spacing:-.026em}
.section-dark .lede,.section-red .lede{color:rgba(255,255,255,.78)}
.kicker{max-width:700px;color:var(--muted);font-size:18px}
.eyebrow{display:inline-block;margin-bottom:15px;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.section-dark .eyebrow,.section-red .eyebrow{color:#fff}

.button-row{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:0;background:var(--red);color:#fff;font-weight:800;letter-spacing:-.02em;cursor:pointer;transition:transform .18s ease,background .18s ease,color .18s ease;border-radius:999px}
.btn:hover{transform:translateY(-2px)}
.btn.secondary{background:rgba(255,255,255,.25);color:var(--ink);box-shadow:inset 0 0 0 1px rgba(78,18,13,.28)}
.btn.red{background:var(--red);color:#fff}
.btn.coral{background:#fff;color:var(--red)}
.btn.ghost{background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);color:#fff}
.section-dark .btn.secondary,.section-red .btn.secondary{background:#fff;color:var(--red);box-shadow:none}

/* HOME — open composition, no boxed hero or card wall */
.home-hero{position:relative;padding:clamp(18px,2.4vw,38px) 0 0;background:var(--red);color:#fff;border-radius:0 0 clamp(46px,6vw,104px) clamp(46px,6vw,104px);overflow:hidden}
.home-hero-shell{
  position:relative;
  min-height:clamp(720px,74vw,980px);
  display:flex;
  align-items:stretch;
  overflow:hidden;
  border-radius:clamp(34px,4.4vw,72px);
  isolation:isolate;
  box-shadow:0 34px 90px rgba(77,0,0,.18)
}
.hero-background-collage{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:1.15fr 1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:0;
  z-index:0;
}
.hero-background-collage::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(102,0,0,.82) 0%,rgba(102,0,0,.68) 27%,rgba(102,0,0,.38) 49%,rgba(102,0,0,.20) 70%,rgba(102,0,0,.48) 100%),
    linear-gradient(180deg,rgba(110,0,0,.18) 0%,rgba(110,0,0,.02) 45%,rgba(73,0,0,.18) 100%);
  z-index:2;
}
.hero-background-collage::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 24%,rgba(0,0,0,.18) 100%);
  z-index:2;
}
.hero-bg-cell{margin:0;overflow:hidden;position:relative}
.hero-bg-cell{background:var(--red-deep)}
.hero-bg-cell img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.96) contrast(1.03)}
.bg-a{grid-column:1;grid-row:1 / span 2;position:relative}
.bg-a img{
  position:absolute;
  right:-10%;
  bottom:-4%;
  width:116%;
  height:90%;
  object-position:center top;
}
.bg-b{grid-column:2;grid-row:1}.bg-b img{object-position:50% 4%}
.bg-c{grid-column:3;grid-row:1}.bg-c img{object-position:54% 18%}
.bg-d{grid-column:2;grid-row:2}.bg-d img{object-position:52% 2%}
.bg-e{grid-column:3;grid-row:2}.bg-e img{object-position:44% 4%}
.bg-f{display:none}
.home-hero-main{position:relative;z-index:3;width:min(62%,1040px);display:flex;flex-direction:column;justify-content:flex-start;padding:clamp(38px,4.8vw,88px) clamp(28px,2vw,34px) clamp(34px,4vw,62px) clamp(34px,3.2vw,48px)}
.hero-copy-block{display:block}
.hero-copy-block{
  position:relative;
  isolation:isolate;
}
.hero-copy-block::before{
  content:'';
  position:absolute;
  z-index:-1;
  left:clamp(-18px,-1vw,-6px);
  top:clamp(-16px,-1vw,-6px);
  width:min(100% + 50px,780px);
  height:calc(100% + 34px);
  background:radial-gradient(ellipse at 18% 38%,rgba(83,0,0,.42) 0%,rgba(83,0,0,.24) 52%,rgba(83,0,0,0) 78%);
  pointer-events:none;
}
.hero-topline{display:block;color:rgba(255,255,255,.72);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.hero-corner-title{margin:0;font-size:clamp(116px,11.6vw,222px);line-height:.70;letter-spacing:-.086em;text-transform:uppercase;color:#fff;font-weight:800;max-width:9.15ch}
.hero-corner-title span{display:block}.hero-corner-title .warm{color:var(--peach)}
.hero-message{margin:clamp(22px,2vw,34px) 0 0;max-width:640px}
.hero-message p{margin:0;color:rgba(255,255,255,.92);font-size:clamp(18px,1.55vw,24px);line-height:1.31;letter-spacing:-.026em;font-weight:600;text-shadow:0 2px 20px rgba(64,0,0,.16)}
.hero-bottom{margin-top:auto;padding-top:clamp(42px,5vw,82px);display:flex;justify-content:space-between;gap:32px;align-items:flex-end}.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.home-hero-side{position:relative;z-index:3;display:flex;align-items:stretch;justify-content:flex-end;flex:1;padding:clamp(38px,4.8vw,88px) clamp(24px,2.6vw,34px) clamp(34px,4vw,62px) 0}
.hero-side-brand{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  align-items:flex-start;
  width:min(100%,610px);
  height:auto;
  min-height:100%;
  padding:clamp(28px,3vw,42px);
  background:rgba(111,0,0,.56);
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:clamp(26px,3vw,42px)
}
.home-hero-side .brand-mark{
  position:absolute;
  right:clamp(22px,2.4vw,34px);
  bottom:clamp(22px,2.4vw,34px);
  width:clamp(116px,9vw,160px);
  aspect-ratio:1;
  object-fit:contain;
  margin:0;
  filter:drop-shadow(0 10px 28px rgba(69,0,0,.24));
  transform:none!important;
  rotate:0deg!important
}
.home-hero-side:hover .brand-mark{transform:none!important;rotate:0deg!important}
.hero-side-copy{position:relative;z-index:2;max-width:100%;padding:0;margin:0;background:none;border-radius:0;display:flex;flex-direction:column;justify-content:flex-start;min-height:70%}
.hero-side-copy strong{display:block;max-width:8.2ch;font-family:'Bricolage Grotesque';font-size:clamp(52px,4.3vw,82px);line-height:.86;letter-spacing:-.065em;color:#fff}
.hero-side-copy p{margin:clamp(18px,2vw,26px) 0 0;max-width:330px;font-size:15px;font-weight:650;color:rgba(255,255,255,.84)}

.schedule-band{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:clamp(18px,3vw,56px);padding:clamp(28px,3vw,48px) 0;background:transparent;color:#fff}
.schedule-band a,.schedule-band div{min-height:110px;padding:0;display:flex;flex-direction:column;justify-content:space-between;transition:transform .2s ease,color .2s ease;background:transparent!important;border:0!important}
.schedule-band a:hover{transform:translateY(-4px);color:var(--peach)!important;background:transparent!important}
.schedule-band span{font-size:11px;text-transform:uppercase;letter-spacing:.11em;font-weight:800;color:rgba(255,255,255,.62)!important}
.schedule-band strong{font-family:'Bricolage Grotesque';font-size:clamp(27px,2.5vw,43px);letter-spacing:-.055em;line-height:.95;max-width:460px}

.manifesto{position:relative;padding:clamp(80px,8vw,138px) 0;background:var(--red);color:#fff;border-radius:clamp(44px,6vw,96px) clamp(44px,6vw,96px) 0 0}
.manifesto::before{content:'';position:absolute;right:-8vw;top:-7vw;width:34vw;min-width:300px;aspect-ratio:1;border-radius:50%;background:var(--coral);opacity:.18}
.manifesto-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.48fr) minmax(300px,.52fr);gap:clamp(36px,7vw,116px);align-items:end}
.manifesto h2{font-size:clamp(66px,9.1vw,158px);line-height:.82;text-transform:uppercase;margin:0;max-width:1210px}
.manifesto-copy{padding-bottom:10px}
.manifesto-copy p{font-size:clamp(19px,1.55vw,25px);font-weight:600;letter-spacing:-.02em;color:rgba(255,255,255,.84)}
.manifesto .eyebrow{color:var(--coral)}
.manifesto .btn{background:#fff;color:var(--red)}
.manifesto .btn.secondary{background:transparent;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}

.community-section{position:relative;padding:clamp(74px,7vw,116px) 0;background:#fff;color:var(--ink);overflow:hidden}
.community-section::before{content:'';position:absolute;left:-12vw;top:16%;width:32vw;min-width:300px;aspect-ratio:1.25;border-radius:50%;background:var(--orange);opacity:.2}
.section-head{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:clamp(38px,5vw,70px)}
.section-head h2{margin:0;max-width:980px}
.section-head p{max-width:520px;margin:0;color:var(--muted);font-size:17px}
.community-bento{position:relative;z-index:1;display:flex;flex-direction:column;gap:0}
.community-tile{position:relative;overflow:visible;min-height:0;padding:clamp(34px,4.5vw,70px) 0;display:grid;grid-template-columns:minmax(180px,.36fr) minmax(0,1fr);align-items:start;gap:clamp(26px,5vw,90px);background:transparent!important;border:0!important;border-bottom:1px solid rgba(133,16,8,.14)!important;color:var(--ink)!important;transition:transform .22s ease}
.community-tile:first-child{border-top:1px solid rgba(133,16,8,.14)!important}
.community-tile:hover{transform:translateX(8px)}
.community-tile.large{min-height:0;grid-row:auto;background:transparent!important;color:var(--ink)!important}
.community-tile::after{content:'';position:absolute;right:clamp(0px,3vw,50px);top:50%;width:clamp(90px,11vw,175px);aspect-ratio:1;border-radius:50%;transform:translateY(-50%);background:var(--coral);opacity:.22;z-index:-1}
.community-tile:nth-child(2)::after{background:var(--red);border-radius:50% 50% 14% 50%;opacity:.10}
.community-tile:nth-child(3)::after{background:var(--orange);border-radius:50% 16% 50% 50%;opacity:.28}
.community-tile:nth-child(4)::after{background:var(--coral);border-radius:18% 50% 50% 50%;opacity:.22}
.community-tile:nth-child(5)::after{background:var(--red);opacity:.08}
.community-tile>div:last-child{max-width:950px}
.community-tile h3,.community-tile.large h3{font-size:clamp(42px,5.8vw,92px);margin:0;max-width:940px;color:var(--red-deep)}
.community-tile p,.community-tile.large p,.community-tile.red p,.community-tile.blue p{max-width:650px;margin:20px 0 0;color:var(--muted);font-size:17px}
.tile-label{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.11em;color:var(--red);opacity:1;padding-top:8px}
.tile-link{margin-top:26px;font-weight:800;color:var(--red);text-decoration:none}

.live-section{position:relative;background:linear-gradient(116deg,var(--coral) 0%,var(--orange) 100%);color:var(--ink);padding:clamp(76px,7vw,116px) 0;overflow:hidden}
.live-section::after{content:'';position:absolute;left:58%;top:-22%;width:40vw;min-width:420px;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.14)}
.live-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);gap:clamp(34px,5vw,78px);align-items:center}
.live-copy h2{font-size:clamp(60px,7.2vw,116px);margin-bottom:20px;color:#fff}
.live-copy p{color:var(--ink);font-size:18px;max-width:540px;font-weight:600}
.live-section .eyebrow{color:var(--red)}
.live-frame{aspect-ratio:16/9;background:var(--red-deep);overflow:hidden;border-radius:clamp(26px,4vw,58px)}
.live-frame iframe{width:100%;height:100%;border:0;display:block}
.live-section .btn.coral{background:var(--red);color:#fff}
.live-section .btn.ghost{background:rgba(255,255,255,.28);box-shadow:inset 0 0 0 1px rgba(99,16,10,.22);color:var(--red-deep)}

.prayer-punch{display:grid;grid-template-columns:1fr 1fr;gap:clamp(52px,7vw,120px);padding:clamp(80px,8vw,132px) max(var(--gutter),calc((100vw - var(--max))/2));background:#fff;color:var(--ink)}
.prayer-punch>div{padding:0;display:flex;flex-direction:column;justify-content:space-between;min-height:430px;background:transparent!important;color:var(--ink)!important}
.prayer-punch .left{position:relative}
.prayer-punch .left::before{content:'';position:absolute;right:6%;bottom:6%;width:clamp(120px,13vw,220px);aspect-ratio:1;border-radius:50%;background:var(--orange);opacity:.23}
.prayer-punch .right{position:relative}
.prayer-punch .right::before{content:'';position:absolute;right:4%;top:2%;width:clamp(120px,12vw,205px);aspect-ratio:1;border-radius:50% 18% 50% 50%;background:var(--red);opacity:.10}
.prayer-punch h2{position:relative;z-index:1;font-size:clamp(54px,6.8vw,112px);max-width:850px;margin-bottom:32px;color:var(--red-deep)}
.prayer-punch p{position:relative;z-index:1;font-size:18px;max-width:610px;color:var(--muted)}
.prayer-punch .right p{color:var(--muted)}
.prayer-punch .right .eyebrow{color:var(--red)}
.prayer-punch .right .btn.secondary{background:var(--red);color:#fff;box-shadow:none}

/* INNER PAGES — same light orange/coral field throughout */
.page-hero{position:relative;padding:clamp(76px,8vw,130px) 0 clamp(58px,6vw,94px);background:transparent!important;color:var(--ink)!important;overflow:hidden}
.page-hero::after{content:'';position:absolute;right:-8vw;bottom:-18vw;width:36vw;min-width:360px;aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.15);z-index:0}
.page-hero .container{position:relative;z-index:1}
.page-hero .lede{max-width:980px;color:var(--muted)!important;font-weight:600}
.page-hero h1{font-size:clamp(68px,9.4vw,160px);max-width:1380px;text-transform:uppercase;color:#fff}
body[data-page="watch"] .page-hero h1,body[data-page="missions"] .page-hero h1{color:var(--red-deep)}
body[data-page="watch"] .page-hero .eyebrow,body[data-page="missions"] .page-hero .eyebrow{color:var(--red)}

.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(38px,6vw,96px);align-items:start}
.split.center{align-items:center}
.sticky-copy{position:sticky;top:110px}
.cards-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,4vw,70px)}
.cards-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,4vw,70px)}
.card{position:relative;min-height:0;padding:clamp(24px,2.8vw,42px) 0;background:transparent!important;border:0!important;display:flex;flex-direction:column;justify-content:space-between;color:var(--ink)!important;transition:transform .2s ease}
.card:hover{transform:translateY(-4px)}
.card::before{content:'';position:absolute;right:4%;top:4%;width:clamp(78px,8vw,130px);aspect-ratio:1;border-radius:50%;background:rgba(255,255,255,.2);z-index:-1}
.card:nth-child(2)::before{background:rgba(189,5,5,.10);border-radius:50% 18% 50% 50%}
.card:nth-child(3)::before{background:rgba(255,255,255,.26);border-radius:18% 50% 50% 50%}
.card p,.card.dark p,.card.red p,.card.blue p{color:var(--muted)!important}
.card .meta{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.09em;color:var(--red)}
.card-link{display:inline-block;margin-top:24px;font-weight:800;color:var(--red)}

.statement{position:relative;padding:clamp(54px,7vw,108px);background:var(--red);color:#fff;border-radius:clamp(36px,5vw,82px);overflow:hidden}
.statement::after{content:'';position:absolute;right:-10%;bottom:-35%;width:40%;aspect-ratio:1;border-radius:50%;background:var(--coral);opacity:.2}
.statement blockquote{position:relative;z-index:1;margin:0;font-family:'Bricolage Grotesque';font-size:clamp(50px,7vw,112px);line-height:.92;letter-spacing:-.06em;font-weight:700}
.statement p{position:relative;z-index:1;margin:26px 0 0;max-width:700px;color:rgba(255,255,255,.74);font-size:17px}

.value-list{display:grid;gap:0}
.value-item{padding:clamp(34px,4vw,58px) 0;background:transparent;border:0;border-bottom:1px solid rgba(127,18,10,.17)}
.value-item:first-child{border-top:1px solid rgba(127,18,10,.17)}
.scripture-ref{font-weight:800;color:var(--red)}
.belief-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,2vw,28px)}
.belief-card{min-height:320px;padding:clamp(28px,3.3vw,48px);background:rgba(255,255,255,.88);border:0;border-radius:clamp(28px,3vw,54px);color:var(--ink)}
.belief-card:nth-child(3n+2){border-radius:clamp(54px,5vw,96px) clamp(28px,3vw,54px) clamp(28px,3vw,54px) clamp(28px,3vw,54px)}
.belief-card.red{background:var(--red);color:#fff}
.belief-card p{color:var(--muted)}
.belief-card.red p{color:rgba(255,255,255,.78)}
.belief-card .refs{margin-top:22px;font-weight:800;color:var(--red-deep)}
.belief-card.red .refs{color:#fff}
.schedule-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(22px,3vw,44px)}
.schedule-card{min-height:250px;padding:clamp(28px,3.2vw,48px);background:rgba(255,255,255,.88);border:0;border-radius:clamp(30px,4vw,66px);display:flex;flex-direction:column;justify-content:space-between}
.schedule-card:nth-child(2){background:var(--red);color:#fff;border-radius:clamp(66px,6vw,110px) clamp(30px,4vw,66px) clamp(30px,4vw,66px) clamp(30px,4vw,66px)}
.schedule-card:nth-child(2) .day{color:var(--coral)}
.schedule-card .time{font-family:'Bricolage Grotesque';font-size:clamp(50px,6vw,94px);font-weight:800;letter-spacing:-.07em;line-height:.86}
.schedule-card .day{font-weight:800;color:var(--red)}
.calendar-wrap{min-height:720px;background:rgba(255,255,255,.9);overflow:hidden;border:0;border-radius:clamp(30px,4vw,64px)}
.calendar-wrap iframe{width:100%;height:720px;border:0;display:block}
.calendar-empty{min-height:560px;padding:44px;display:grid;place-items:center;text-align:center}.calendar-empty>div{max-width:650px}
.video-frame{aspect-ratio:16/9;width:100%;overflow:hidden;background:var(--red-deep);border:0;border-radius:clamp(28px,4vw,60px)}
.video-frame iframe{width:100%;height:100%;border:0;display:block}
.media-panel{min-height:480px;padding:clamp(32px,4vw,60px);background:var(--red);color:#fff;display:flex;flex-direction:column;justify-content:space-between;border-radius:clamp(30px,4vw,66px)}
.media-panel .lede{color:rgba(255,255,255,.78)}
.map-card{min-height:480px;overflow:hidden;background:#fff;border:0;border-radius:clamp(30px,4vw,66px)}
.map-card iframe{width:100%;height:100%;min-height:480px;border:0;display:block}
.form-shell{background:rgba(255,255,255,.9);padding:clamp(30px,4vw,64px);border:0;border-radius:clamp(32px,5vw,78px)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field{display:grid;gap:8px}.field.full{grid-column:1/-1}.field label{font-weight:800;font-size:13px}
.field input,.field textarea,.field select{width:100%;border:1px solid rgba(124,29,20,.18);outline:0;background:#fff;color:var(--ink);padding:15px 16px;min-height:52px;border-radius:18px}.field textarea{min-height:180px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--red);box-shadow:0 0 0 3px rgba(189,5,5,.10)}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}.check-row input{margin-top:4px}.form-status{min-height:24px;margin-top:14px;font-weight:700}.form-status.success{color:var(--red-deep)}.form-status.error{color:var(--red)}.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;pointer-events:none!important}
.info-stack{display:grid;gap:0}.info-block{padding:clamp(30px,3vw,46px) 0;background:transparent;border:0;border-bottom:1px solid rgba(122,20,13,.17)}.info-block:first-child{border-top:1px solid rgba(122,20,13,.17)}.info-block p:last-child{margin-bottom:0}.pill-row{display:flex;flex-wrap:wrap;gap:7px}.pill{display:inline-flex;padding:8px 12px;background:rgba(255,255,255,.32);border-radius:999px;font-size:12px;font-weight:800}.section-dark .pill{background:rgba(255,255,255,.14)}



.people-section{position:relative;padding:clamp(34px,4vw,64px) 0 0}
.people-shell{position:relative}
.people-visual{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr);grid-template-rows:auto auto;column-gap:clamp(24px,3vw,44px);row-gap:clamp(18px,2vw,26px);align-items:start;padding-bottom:clamp(18px,2vw,28px)}
.people-main-photo{grid-column:1;grid-row:1;position:relative;margin:0;width:100%;height:clamp(460px,46vw,660px);border-radius:clamp(42px,5vw,88px);overflow:hidden;box-shadow:0 34px 90px rgba(95,31,20,.16)}
.people-main-photo img,.people-accent img{width:100%;height:100%;object-fit:cover;display:block}
.people-main-photo img{object-position:center top}
.people-accent.accent-left img{object-position:center 32%}
.people-accent.accent-right img{object-position:center 18%}
.people-accent{position:relative;margin:0;overflow:hidden;box-shadow:0 28px 80px rgba(95,31,20,.14)}
.people-accent.accent-left{grid-column:1;grid-row:2;justify-self:start;width:min(42%,320px);height:clamp(220px,20vw,280px);border-radius:clamp(28px,3.5vw,56px) clamp(72px,7vw,120px) clamp(28px,3.5vw,56px) clamp(72px,7vw,120px)}
.people-accent.accent-right{grid-column:1;grid-row:2;justify-self:end;width:min(42%,320px);height:clamp(220px,20vw,280px);border-radius:clamp(72px,7vw,120px) clamp(28px,3.5vw,56px) clamp(72px,7vw,120px) clamp(28px,3.5vw,56px)}
.people-message{grid-column:2;grid-row:1 / span 2;position:relative;align-self:stretch;width:100%;padding:clamp(32px,3.2vw,46px);background:rgba(255,255,255,.96);border-radius:clamp(30px,3.5vw,56px);box-shadow:0 24px 60px rgba(95,31,20,.12);display:flex;flex-direction:column;justify-content:center;min-height:100%}
.people-message .eyebrow{color:var(--red)}
.people-message h2{max-width:10ch;font-size:clamp(34px,4vw,62px);line-height:.93;letter-spacing:-.055em;margin:12px 0 18px;color:var(--red-deep)}
.people-message p{margin:0;max-width:38ch;color:var(--muted);font-size:17px;font-weight:650}
.photo-card{position:relative;margin:0;overflow:hidden;border-radius:clamp(28px,4vw,64px);background:rgba(255,255,255,.24);box-shadow:0 22px 58px rgba(95,31,20,.12)}
.photo-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.photo-card:hover img{transform:scale(1.02)}
.photo-card.tall{min-height:clamp(460px,60vw,760px)}
.photo-card.medium{min-height:clamp(250px,34vw,380px)}
.photo-card.short{min-height:clamp(220px,28vw,320px)}
.photo-card.portrait{aspect-ratio:3/4}
.photo-card.landscape{aspect-ratio:4/3}
.photo-card.soft-cut{border-radius:clamp(52px,6vw,94px) clamp(28px,3vw,56px) clamp(52px,6vw,94px) clamp(28px,3vw,56px)}
.photo-card.reverse-cut{border-radius:clamp(28px,3vw,56px) clamp(52px,6vw,94px) clamp(28px,3vw,56px) clamp(52px,6vw,94px)}
.page-gallery{display:grid;gap:clamp(18px,2vw,30px)}
.page-gallery.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.page-gallery.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.feature-copy h2{max-width:800px}
.feature-copy .lede,.feature-copy .photo-note{max-width:640px}
.photo-note{font-size:17px;color:var(--muted)}
.inline-photo-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,24px);margin-top:28px}
.inline-photo-pair .photo-card{min-height:0}
.vision-scripture{margin-top:clamp(44px,5vw,76px)}
.vision-scripture-head{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr);gap:clamp(22px,3vw,40px);align-items:end;margin-bottom:clamp(24px,3vw,34px)}
.vision-scripture-head p{max-width:720px;color:rgba(255,255,255,.76);font-size:17px;font-weight:600}
.vision-verse-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,26px)}
.vision-verse-card{padding:clamp(24px,2.6vw,34px);background:rgba(255,255,255,.08);border-radius:clamp(26px,3.2vw,44px);backdrop-filter:blur(3px)}
.vision-verse-card.warm{background:rgba(255,255,255,.16)}
.vision-verse-card .verse-ref{display:inline-block;margin-bottom:16px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--peach)}
.vision-verse-card blockquote{margin:0;font-family:'Bricolage Grotesque';font-size:clamp(26px,2.2vw,38px);line-height:1.02;letter-spacing:-.04em;color:#fff}


.site-footer{
  background:var(--red-deep);
  color:#fff;
  padding:clamp(38px,4vw,58px) 0 20px;
  border-radius:clamp(30px,3.8vw,54px) clamp(30px,3.8vw,54px) 0 0;
  border-top:5px solid var(--coral);
}

.footer-shell{
  width:min(var(--max),calc(100% - var(--gutter)*2));
  margin:0 auto;
}

.footer-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(210px,.85fr) minmax(170px,.62fr) minmax(150px,.52fr);
  gap:clamp(28px,4vw,68px);
  align-items:start;
}

.footer-about{
  max-width:640px;
}

.footer-brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:#fff;
  margin-bottom:22px;
}

.footer-brand img{
  width:50px;
  height:50px;
  object-fit:contain;
}

.footer-brand strong{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(20px,1.55vw,26px);
  line-height:1;
  letter-spacing:-.035em;
}

.footer-about h2{
  margin:0 0 12px;
  max-width:17ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(28px,2.7vw,46px);
  line-height:.96;
  letter-spacing:-.04em;
  color:var(--peach);
}

.footer-about p{
  margin:0;
  max-width:58ch;
  color:rgba(255,255,255,.72);
  font-size:15px;
  line-height:1.55;
}

.footer-links{
  display:grid;
  align-content:start;
  gap:9px;
  padding-top:4px;
}

.footer-links>strong{
  margin-bottom:5px;
  text-transform:uppercase;
  font-size:11px;
  letter-spacing:.13em;
  color:var(--coral);
}

.footer-links a,
.footer-links span,
.footer-links address{
  color:rgba(255,255,255,.78);
  font-size:14px;
  line-height:1.42;
}

.footer-links address{
  margin:0;
  font-style:normal;
}

.footer-links a{
  transition:color .2s ease;
}

.footer-links a:hover{
  color:#fff;
}

.footer-text-link{
  width:max-content;
  margin-top:5px;
  color:#fff!important;
  font-weight:800;
  text-decoration:underline;
  text-underline-offset:4px;
  text-decoration-thickness:1px;
}

.footer-bottom{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-top:clamp(28px,3.5vw,46px);
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.15);
  color:rgba(255,255,255,.48);
  font-size:11px;
  line-height:1.4;
}

.footer-bottom-meta{
  display:grid;
  justify-items:end;
  gap:4px;
  text-align:right;
}

.footer-credit{
  width:max-content;
  color:rgba(43,14,11,.46);
  font-size:10px;
  font-weight:600;
  letter-spacing:.025em;
  line-height:1.3;
  text-decoration:none;
  transition:color .2s ease;
}

.footer-credit:hover,
.footer-credit:focus-visible{
  color:rgba(142,5,3,.78);
}


.reveal{opacity:0;transform:translateY(22px);transition:opacity .65s ease,transform .65s cubic-bezier(.2,.8,.2,1)}.reveal.is-visible{opacity:1;transform:none}

@media(max-width:1180px){
  .nav-links{display:none}.menu-button{display:grid}.nav-shell{grid-template-columns:auto 1fr auto}
  .nav-shell.nav-open .nav-links{position:fixed;display:flex;inset:92px 0 0 0;background:linear-gradient(112deg,var(--coral),var(--orange));padding:36px var(--gutter);flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px}
  .nav-shell.nav-open .nav-links a{font-family:'Bricolage Grotesque';font-size:clamp(34px,7vw,70px);font-weight:700;letter-spacing:-.05em;padding:3px 0}
  .home-hero-main{width:61%}.home-hero-side{width:auto}
  .hero-title{font-size:clamp(76px,12vw,148px)}
    .community-tile{grid-template-columns:minmax(150px,.3fr) minmax(0,1fr)}
}

@media(max-width:800px){
  :root{--gutter:16px}
  .nav-shell{min-height:78px;gap:14px}.brand span{display:none}.brand img{width:48px;height:48px}.nav-visit{display:none}.lang-switch button{min-width:40px;padding:8px 9px;font-size:12px}.menu-button{width:48px;height:48px}.nav-shell.nav-open .nav-links{top:78px;inset:78px 0 0 0}
  .section{padding:58px 0}.section.compact{padding:38px 0}
  .home-hero{padding-top:8px}.home-hero-shell{min-height:auto;display:block}.hero-background-collage{grid-template-columns:1fr 1fr;grid-template-rows:1.1fr 1fr 1fr;min-height:940px}.bg-a{grid-column:1 / span 2;grid-row:1}.bg-b{grid-column:1;grid-row:2}.bg-c{grid-column:2;grid-row:2}.bg-d{grid-column:1;grid-row:3}.bg-e{grid-column:2;grid-row:3}.home-hero-main{width:100%;min-height:auto;padding:30px 20px 24px}.hero-topline{font-size:10px}.hero-corner-title{font-size:clamp(78px,23vw,124px);line-height:.71;max-width:94vw}.hero-message{margin:26px 0 0;max-width:92%}.hero-message p{font-size:clamp(18px,5.2vw,23px)}.hero-title{font-size:clamp(72px,22vw,114px);margin:68px 0 30px}.hero-bottom{align-items:flex-start;flex-direction:column;padding-top:48px}.hero-actions{justify-content:flex-start}
  .home-hero-side{position:relative;width:100%;padding:20px}.hero-side-brand{grid-template-columns:112px minmax(0,1fr);height:auto;min-height:0;padding:18px;background:rgba(112,0,0,.64)}.home-hero-side .brand-mark{width:112px;max-width:none}.hero-side-copy strong{font-size:clamp(28px,7.6vw,40px)}.hero-side-copy p{font-size:14px;max-width:360px}
  .schedule-band{grid-template-columns:1fr;gap:30px;padding:36px 0 50px}.schedule-band a,.schedule-band div{min-height:88px}
  .manifesto{border-radius:46px 46px 0 0}.manifesto-grid,.live-grid,.prayer-punch,.split,.vision-scripture-head{grid-template-columns:1fr}.manifesto h2{font-size:clamp(58px,17vw,94px)}
  .section-head{align-items:flex-start;flex-direction:column}.community-tile{grid-template-columns:1fr;gap:12px;padding:40px 0}.community-tile:hover{transform:none}.community-tile::after{width:100px;right:2%;top:24%;}.community-tile h3,.community-tile.large h3{font-size:clamp(42px,12vw,68px)}
  .live-section::after{left:42%;top:-6%;width:90vw}.live-frame{border-radius:28px}
  .prayer-punch{padding:70px var(--gutter);gap:78px}.prayer-punch>div{min-height:auto}.prayer-punch h2{font-size:clamp(54px,15vw,82px)}
  .cards-3,.cards-2,.belief-grid,.schedule-grid,.form-grid{grid-template-columns:1fr}.sticky-copy{position:static}.field.full{grid-column:auto}
  .page-hero{padding-top:72px}.page-hero h1{font-size:clamp(60px,17vw,102px)}
  .belief-card,.schedule-card,.form-shell,.media-panel,.map-card,.calendar-wrap{border-radius:30px}
  .footer-top{grid-template-columns:1fr}.footer-wordmark{font-size:clamp(62px,18vw,102px);margin-bottom:72px}.footer-bottom{flex-direction:column;align-items:flex-start}.footer-bottom-meta{justify-items:start;text-align:left}.site-footer{border-radius:46px 46px 0 0}
}



/* ─────────────────────────────────────────────
   MOTION SYSTEM
   ───────────────────────────────────────────── */
body.is-loading{overflow:hidden}

/* Page-load experience: brand first, then the site opens. */
.site-loader{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  background:var(--red);
  color:#fff;
  overflow:hidden;
  pointer-events:none;
  transform:translateZ(0);
  transition:clip-path .72s cubic-bezier(.76,0,.24,1);
  clip-path:inset(0 0 0 0);
}
.site-loader::before{
  content:'';
  position:absolute;
  width:min(78vw,980px);
  aspect-ratio:1;
  border-radius:50%;
  background:rgba(255,255,255,.055);
  transform:scale(.72);
  opacity:0;
  transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .55s ease;
}
.site-loader__inner{
  position:relative;
  z-index:1;
  width:min(900px,calc(100vw - 44px));
  display:grid;
  justify-items:center;
  text-align:center;
}
.site-loader__mark{
  width:clamp(82px,9vw,132px);
  height:auto;
  margin-bottom:clamp(26px,3vw,42px);
  opacity:0;
  transform:scale(.72);
  transition:opacity .45s ease .06s,transform .7s cubic-bezier(.2,.9,.2,1) .06s;
}
.site-loader__wordmark{
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:-.08em;
  font-size:clamp(68px,11vw,180px);
  line-height:.72;
}
.site-loader__line{
  display:block;
  overflow:hidden;
  padding:.08em .06em .02em;
}
.site-loader__line>span{
  display:block;
  transform:translateY(112%);
  transition:transform .72s cubic-bezier(.2,.9,.2,1) .12s;
}
.site-loader__line.warm{color:var(--peach)}
.site-loader__line.warm>span{transition-delay:.20s}
.site-loader__motto{
  margin-top:clamp(28px,3vw,42px);
  max-width:560px;
  font-size:clamp(15px,1.5vw,20px);
  font-weight:700;
  letter-spacing:-.02em;
  color:rgba(255,255,255,.76);
  opacity:0;
  transform:translateY(16px);
  transition:opacity .5s ease .42s,transform .6s cubic-bezier(.2,.8,.2,1) .42s;
}
.site-loader.is-active::before{opacity:1;transform:scale(1)}
.site-loader.is-active .site-loader__mark{opacity:1;transform:scale(1)}
.site-loader.is-active .site-loader__line>span{transform:translateY(0)}
.site-loader.is-active .site-loader__motto{opacity:1;transform:none}
.site-loader.is-leaving{clip-path:inset(0 0 100% 0)}
.site-loader.is-leaving .site-loader__inner{transform:translateY(-18px);opacity:.7;transition:transform .55s ease,opacity .4s ease}

/* Internal-page transition. */
.page-curtain{
  position:fixed;
  inset:0;
  z-index:10001;
  display:grid;
  place-items:center;
  background:var(--red);
  transform:translateY(101%);
  transition:transform .52s cubic-bezier(.76,0,.24,1);
  pointer-events:none;
}
.page-curtain img{width:clamp(74px,8vw,112px);opacity:0;transform:scale(.78);transition:opacity .25s ease .18s,transform .4s cubic-bezier(.2,.9,.2,1) .14s}
.page-curtain.is-active{transform:translateY(0)}
.page-curtain.is-active img{opacity:1;transform:scale(1)}

/* Sticky navigation subtly condenses once the page starts moving. */
.site-header{transition:background .28s ease,box-shadow .28s ease}
.nav-shell,.brand img{transition:min-height .3s ease,width .3s ease,height .3s ease}
.site-header.is-scrolled{
  background:color-mix(in srgb,var(--coral) 90%,transparent);
  box-shadow:0 10px 34px rgba(72,18,13,.08);
}
.site-header.is-scrolled .nav-shell{min-height:76px}
.site-header.is-scrolled .brand img{width:46px;height:46px}

/* Stronger, varied scroll entrances. */
.motion-ready .reveal{
  opacity:0;
  transform:translate3d(0,42px,0);
  transition:
    opacity .78s ease var(--reveal-delay,0ms),
    transform .9s cubic-bezier(.2,.8,.2,1) var(--reveal-delay,0ms);
  will-change:transform,opacity;
}
.motion-ready .reveal[data-reveal-direction="left"]{transform:translate3d(-42px,20px,0)}
.motion-ready .reveal[data-reveal-direction="right"]{transform:translate3d(42px,20px,0)}
.motion-ready .reveal.is-visible{opacity:1;transform:none}

.motion-heading{
  clip-path:inset(0 0 100% 0);
  transform:translateY(24px);
  transition:clip-path .92s cubic-bezier(.2,.8,.2,1),transform .92s cubic-bezier(.2,.8,.2,1);
}
.motion-heading.is-visible{clip-path:inset(0 0 0 0);transform:none}

.motion-visual{
  opacity:0;
  clip-path:inset(7% 5% 7% 5% round clamp(26px,4vw,64px));
  transform:scale(.975);
  transition:
    opacity .72s ease,
    clip-path .95s cubic-bezier(.2,.8,.2,1),
    transform 1s cubic-bezier(.2,.8,.2,1);
  will-change:transform,clip-path,opacity;
}
.motion-visual.is-visible{opacity:1;clip-path:inset(0 0 0 0 round 0);transform:none}

/* Subtle real-scroll depth on the homepage photos, never tilting the church mark. */
.parallax-media{--parallax-y:0px}
.parallax-media img{
  transform:translate3d(0,var(--parallax-y),0) scale(1.035);
  transition:transform .12s linear;
  will-change:transform;
}

/* Buttons get a little physical feedback without turning playful/cheesy. */
.btn{position:relative;overflow:hidden}
.btn::before{
  content:'';
  position:absolute;
  inset:0;
  background:rgba(255,255,255,.14);
  transform:translateY(102%);
  transition:transform .26s cubic-bezier(.2,.8,.2,1);
  pointer-events:none;
}
.btn:hover::before{transform:translateY(0)}
.btn>*{position:relative;z-index:1}

@media(max-width:800px){
  .site-header.is-scrolled .nav-shell{min-height:70px}
  .site-header.is-scrolled .brand img{width:44px;height:44px}
  .site-loader__wordmark{font-size:clamp(62px,20vw,104px)}
  .motion-ready .reveal[data-reveal-direction="left"],
  .motion-ready .reveal[data-reveal-direction="right"]{transform:translate3d(0,34px,0)}
}

@media(prefers-reduced-motion:reduce){
  .site-loader,.page-curtain{display:none!important}
  .motion-ready .reveal,.motion-heading,.motion-visual{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .parallax-media img{transform:none!important;transition:none!important}
}

@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.reveal{opacity:1;transform:none}}

@media(max-width:1180px){
  .page-gallery.three{grid-template-columns:repeat(2,minmax(0,1fr))}
  .page-gallery.three .photo-card:last-child{grid-column:1/-1}
}
@media(max-width:800px){
  .page-gallery.two,.page-gallery.three,.inline-photo-pair,.vision-verse-grid{grid-template-columns:1fr}
  .people-section{padding:32px 0 0}
  .people-visual{grid-template-columns:1fr;grid-template-rows:auto;gap:18px;padding-bottom:0}
  .people-main-photo,.people-accent{position:relative!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:100%!important;height:auto!important;aspect-ratio:4/5;transform:none!important;justify-self:stretch}
  .people-main-photo{grid-column:auto;grid-row:auto}
  .people-accent.accent-left,.people-accent.accent-right{grid-column:auto;grid-row:auto}
  .people-main-photo img{object-position:center 18%}
  .people-message{grid-column:auto;grid-row:auto;position:relative;right:auto;left:auto;bottom:auto;width:100%;padding:24px 22px;min-height:0}
  .people-message h2{max-width:none;font-size:clamp(42px,12vw,62px)}
  .page-gallery.three .photo-card:last-child{grid-column:auto}
  .photo-card.tall,.photo-card.medium,.photo-card.short{min-height:0;aspect-ratio:4/5}
}

@media(max-width:1180px){
  .people-visual{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr)}
  .people-main-photo{height:clamp(420px,44vw,560px)}
  .people-accent.accent-left,.people-accent.accent-right{width:min(46%,260px);height:clamp(190px,18vw,240px)}
  .vision-verse-grid{grid-template-columns:1fr}
}


/* Hero copy intentionally waits for the visitor to begin scrolling.
   This keeps the initial homepage focused on the people in the photography. */
.hero-scroll-copy{
  opacity:0!important;
  transform:translate3d(0,28px,0)!important;
  clip-path:inset(0 0 100% 0);
  pointer-events:none;
  transition:
    opacity .7s ease,
    transform .82s cubic-bezier(.2,.8,.2,1),
    clip-path .82s cubic-bezier(.2,.8,.2,1);
}
.home-hero.hero-copy-visible .hero-scroll-copy{
  opacity:1!important;
  transform:none!important;
  clip-path:inset(0 0 0 0);
  pointer-events:auto;
}

/* Keep the logo present at first, but let the motto panel itself stay visually open.
   The red glass treatment arrives with the motto instead of covering photos immediately. */
.hero-side-brand{
  background:transparent;
  border-color:transparent;
  backdrop-filter:none;
  transition:
    background .65s ease,
    border-color .65s ease,
    backdrop-filter .65s ease;
}
.home-hero.hero-copy-visible .hero-side-brand{
  background:rgba(111,0,0,.56);
  border-color:rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
}

@media(prefers-reduced-motion:reduce){
  .hero-scroll-copy{
    transition:none!important;
    transform:none!important;
  }
}

@media(min-width:801px) and (max-width:1180px){
  .home-hero-main{width:58%}
  .home-hero-side{padding-left:10px}
  .hero-side-brand{width:min(100%,500px);padding:26px}
  .hero-side-copy strong{font-size:clamp(44px,4.6vw,64px);max-width:8.4ch}
  .home-hero-side .brand-mark{width:120px}
}

@media(max-width:800px){
  .home-hero-side{align-items:stretch;padding:20px}
  .hero-side-brand{min-height:0;height:auto;padding:20px}
  .home-hero-side .brand-mark{
    position:relative;
    right:auto;
    bottom:auto;
    width:112px;
    margin-bottom:24px;
  }
  .hero-side-copy{min-height:0}
  .hero-side-copy strong{max-width:none;font-size:clamp(34px,10vw,50px);line-height:.9}
}


/* V3.12 — center the logo, vision statement, and subcopy inside the right hero panel.
   Scroll-triggered visibility remains unchanged from V3.9–V3.11. */
@media(min-width:801px){
  .hero-side-brand{
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-items:center;
    text-align:center;
  }

  .home-hero-side .brand-mark{
    position:relative;
    right:auto;
    bottom:auto;
    width:clamp(132px,10vw,178px);
    max-width:none;
    margin:0 auto clamp(26px,3vw,42px);
    flex:0 0 auto;
  }

  .hero-side-copy{
    width:100%;
    min-height:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
  }

  .hero-side-copy strong{
    max-width:8.8ch;
    margin:0 auto;
    text-align:center;
  }

  .hero-side-copy p{
    max-width:390px;
    margin:clamp(18px,2vw,26px) auto 0;
    text-align:center;
  }
}

@media(min-width:801px) and (max-width:1180px){
  .home-hero-side .brand-mark{
    width:132px;
    margin-bottom:24px;
  }

  .hero-side-copy strong{
    max-width:8.8ch;
  }
}

@media(max-width:800px){
  .hero-side-brand{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    text-align:center;
  }

  .home-hero-side .brand-mark{
    margin:0 auto 22px;
  }

  .hero-side-copy{
    align-items:center;
    text-align:center;
    width:100%;
  }

  .hero-side-copy strong,
  .hero-side-copy p{
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }

  .hero-side-copy p{
    max-width:360px;
  }
}


/* V3.13 hero refinements */
@media(min-width:801px){
  .home-hero-side .brand-mark{
    width:clamp(168px,12vw,220px);
    max-width:none;
    margin-bottom:clamp(24px,2.6vw,36px);
  }
}

/* Bring the CTA row up a little without crowding the hero copy. */
@media(min-width:801px){
  .hero-bottom{
    padding-top:clamp(28px,3.4vw,54px);
    margin-top:auto;
    transform:translateY(-18px);
  }
}

/* On first paint, let the photos own the hero.
   CASA DE ORACIÓN then enters from the left after a short beat. */
.motion-ready .hero-corner-title{
  opacity:0;
  transform:translate3d(-10vw,0,0);
  filter:blur(10px);
  transition:
    opacity .85s ease,
    transform 1.05s cubic-bezier(.16,.82,.26,1),
    filter .95s ease;
}
.motion-ready .home-hero.hero-title-visible .hero-corner-title{
  opacity:1;
  transform:none;
  filter:blur(0);
}

/* Keep the existing scroll-triggered copy hidden until scroll as before. */
.motion-ready .home-hero:not(.hero-title-visible) .hero-message{
  opacity:0!important;
}

/* Mobile gets a shorter, cleaner entrance distance. */
@media(max-width:800px){
  .motion-ready .hero-corner-title{
    transform:translate3d(-48px,0,0);
    filter:blur(6px);
  }
  .hero-bottom{
    transform:none;
  }
}


/* V3.14 — hero-side reveal + schedule alignment refinements */

/* The logo now waits for the same scroll trigger as the motto/subcopy. */
.motion-ready .home-hero-side .brand-mark{
  opacity:0;
  transform:translate3d(0,28px,0) scale(.96)!important;
  clip-path:inset(0 0 100% 0);
  pointer-events:none;
  transition:
    opacity .7s ease,
    transform .82s cubic-bezier(.2,.8,.2,1),
    clip-path .82s cubic-bezier(.2,.8,.2,1);
}

.motion-ready .home-hero.hero-copy-visible .home-hero-side .brand-mark{
  opacity:1;
  transform:none!important;
  clip-path:inset(0 0 0 0);
  pointer-events:auto;
}

/* Match the three schedule columns to the three-column photo rhythm above.
   Center each item beneath its corresponding visual area. */
@media(min-width:801px){
  .schedule-band{
    grid-template-columns:1.15fr 1fr 1fr;
    gap:clamp(26px,3vw,52px);
    padding:clamp(30px,3vw,44px) clamp(8px,1.2vw,20px) clamp(34px,3.4vw,50px);
  }

  .schedule-band a,
  .schedule-band div{
    min-height:0;
    justify-content:flex-start;
    align-items:center;
    text-align:center;
    gap:clamp(13px,1.25vw,19px);
    padding:0 clamp(8px,1vw,18px);
  }

  .schedule-band span{
    font-size:clamp(13px,.92vw,15px);
    line-height:1.15;
    letter-spacing:.105em;
  }

  .schedule-band strong{
    max-width:390px;
    text-align:center;
  }

  .schedule-band a:nth-child(3) strong{
    max-width:390px;
  }
}

/* Mobile keeps the tighter label/value relationship too. */
@media(max-width:800px){
  .schedule-band a,
  .schedule-band div{
    min-height:0;
    justify-content:flex-start;
    gap:12px;
  }

  .schedule-band span{
    font-size:12px;
  }
}

@media(prefers-reduced-motion:reduce){
  .motion-ready .home-hero-side .brand-mark{
    opacity:1!important;
    transform:none!important;
    clip-path:none!important;
  }
}


/* V3.15 — open community/family story section */
.community-story{
  position:relative;
  padding:clamp(86px,9vw,154px) 0 clamp(92px,10vw,168px);
  overflow:hidden;
  background:
    radial-gradient(circle at 90% 14%,rgba(255,255,255,.22),transparent 30%),
    linear-gradient(180deg,var(--coral) 0%,var(--orange-soft) 56%,var(--peach) 100%);
}

.community-story-shell{
  position:relative;
}

.community-story-intro{
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);
  gap:clamp(46px,7vw,116px);
  align-items:end;
  margin-bottom:clamp(52px,6vw,92px);
}

.community-story-heading .eyebrow{
  color:var(--red-deep);
}

.community-story-heading h2{
  margin:14px 0 0;
  max-width:9.4ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(62px,7.7vw,134px);
  line-height:.86;
  letter-spacing:-.07em;
  color:var(--red-deep);
}

.community-story-copy{
  align-self:end;
  padding-bottom:clamp(4px,.8vw,12px);
}

.community-story-copy p{
  margin:0;
  max-width:560px;
  font-size:clamp(18px,1.45vw,23px);
  line-height:1.45;
  font-weight:650;
  letter-spacing:-.025em;
  color:#6b2b25;
}

.community-scripture-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:26px;
  font-size:13px;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:var(--red-deep);
}

.community-photo-flow{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(260px,.62fr) minmax(300px,.78fr);
  grid-template-rows:clamp(420px,36vw,610px) auto;
  gap:clamp(14px,1.4vw,24px);
  align-items:stretch;
}

.community-photo{
  margin:0;
  position:relative;
  overflow:hidden;
  background:rgba(142,5,3,.09);
}

.community-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.community-photo-main{
  grid-column:1 / span 2;
  grid-row:1;
}

.community-photo-main img{
  object-position:center 28%;
}

.community-photo-embrace{
  grid-column:3;
  grid-row:1 / span 2;
  min-height:clamp(650px,58vw,900px);
}

.community-photo-embrace img{
  object-position:center 22%;
}

.community-open-message{
  grid-column:1;
  grid-row:2;
  align-self:center;
  padding:clamp(38px,4.4vw,68px) clamp(20px,2.2vw,34px) clamp(28px,3vw,48px) 0;
}

.community-open-kicker{
  display:block;
  max-width:8ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(40px,4.4vw,72px);
  line-height:.91;
  letter-spacing:-.06em;
  font-weight:800;
  color:var(--red-deep);
}

.community-open-message p{
  margin:24px 0 0;
  max-width:42ch;
  font-size:clamp(17px,1.2vw,20px);
  line-height:1.5;
  font-weight:650;
  color:#6b2b25;
}

.community-photo-worship{
  grid-column:2;
  grid-row:2;
  min-height:clamp(280px,25vw,420px);
}

.community-photo-worship img{
  object-position:center 14%;
}

.community-photo-word{
  display:none;
}

/* Remove the old "bubble/card" visual language from this section completely. */
.community-story .motion-visual{
  border-radius:0;
  box-shadow:none;
}

@media(max-width:1180px){
  .community-story-intro{
    grid-template-columns:minmax(0,1.12fr) minmax(280px,.88fr);
  }

  .community-photo-flow{
    grid-template-columns:1fr .72fr;
    grid-template-rows:clamp(390px,48vw,560px) auto auto;
  }

  .community-photo-main{
    grid-column:1;
    grid-row:1;
  }

  .community-photo-embrace{
    grid-column:2;
    grid-row:1 / span 2;
    min-height:650px;
  }

  .community-open-message{
    grid-column:1;
    grid-row:2;
  }

  .community-photo-worship{
    grid-column:1;
    grid-row:3;
    min-height:360px;
  }

  .community-photo-word{
    display:block;
    grid-column:2;
    grid-row:3;
    min-height:360px;
  }

  .community-photo-word img{
    object-position:center 18%;
  }
}

@media(max-width:800px){
  .community-story{
    padding:70px 0 90px;
  }

  .community-story-intro{
    grid-template-columns:1fr;
    gap:28px;
    margin-bottom:42px;
  }

  .community-story-heading h2{
    max-width:10ch;
    font-size:clamp(50px,14vw,78px);
  }

  .community-story-copy{
    padding:0;
  }

  .community-photo-flow{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto;
    gap:16px;
  }

  .community-photo-main,
  .community-photo-embrace,
  .community-photo-worship,
  .community-photo-word,
  .community-open-message{
    grid-column:auto;
    grid-row:auto;
  }

  .community-photo-main,
  .community-photo-embrace,
  .community-photo-worship,
  .community-photo-word{
    min-height:0;
    aspect-ratio:4/5;
  }

  .community-open-message{
    padding:34px 0 26px;
  }

  .community-open-kicker{
    max-width:9ch;
    font-size:clamp(42px,12vw,62px);
  }

  .community-photo-word{
    display:block;
  }
}


/* V3.16 — ladder-style community section */
.community-ladder{
  position:relative;
  padding:clamp(58px,6vw,86px) 0 clamp(80px,8vw,126px);
  overflow:hidden;
  background:
    radial-gradient(circle at 88% 10%, rgba(255,255,255,.18), transparent 28%),
    linear-gradient(180deg,var(--coral) 0%,var(--orange-soft) 58%,var(--peach) 100%);
}

.community-ladder-shell{
  display:grid;
  gap:clamp(24px,2.6vw,40px);
}

.community-ladder-row{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.84fr);
  gap:clamp(28px,3.5vw,68px);
  align-items:center;
}

.community-ladder-row-b{
  grid-template-columns:minmax(280px,.84fr) minmax(0,1.02fr);
  margin-left:clamp(72px,6vw,128px);
}

.community-ladder-row-c{
  margin-top:clamp(8px,1vw,16px);
}

.community-ladder-photo{
  margin:0;
  overflow:hidden;
  background:rgba(142,5,3,.08);
  min-height:clamp(300px,34vw,500px);
}

.community-ladder-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.community-ladder-row-a .community-ladder-photo img{
  object-position:center 34%;
}

.community-ladder-row-b .community-ladder-photo img{
  object-position:center 20%;
}

.community-ladder-row-c .community-ladder-photo img{
  object-position:center 16%;
}

.community-ladder-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.community-ladder-copy .eyebrow{
  color:var(--red-deep);
}

.community-ladder-copy h2{
  margin:14px 0 0;
  max-width:9.3ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(52px,6.2vw,102px);
  line-height:.87;
  letter-spacing:-.068em;
  color:var(--red-deep);
}

.community-ladder-copy p{
  margin:18px 0 0;
  max-width:34ch;
  font-size:clamp(18px,1.42vw,23px);
  line-height:1.46;
  font-weight:650;
  letter-spacing:-.024em;
  color:#6b2b25;
}

.community-kicker{
  display:block;
  max-width:8.5ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(42px,4.5vw,74px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:800;
  color:var(--red-deep);
}

.community-ladder .community-scripture-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  margin-top:24px;
  font-size:13px;
  font-weight:850;
  letter-spacing:.075em;
  text-transform:uppercase;
  color:var(--red-deep);
}

@media(max-width:1180px){
  .community-ladder-row,
  .community-ladder-row-b{
    grid-template-columns:1fr 1fr;
    margin-left:0;
  }

  .community-ladder-copy h2{
    font-size:clamp(46px,6vw,76px);
  }

  .community-kicker{
    font-size:clamp(38px,5vw,58px);
  }
}

@media(max-width:800px){
  .community-ladder{
    padding:52px 0 74px;
  }

  .community-ladder-shell{
    gap:22px;
  }

  .community-ladder-row,
  .community-ladder-row-b,
  .community-ladder-row-c{
    grid-template-columns:1fr;
    gap:16px;
    margin-left:0;
  }

  .community-ladder-row-b .community-ladder-copy{
    order:2;
  }

  .community-ladder-row-b .community-ladder-photo{
    order:1;
  }

  .community-ladder-photo{
    min-height:0;
    aspect-ratio:4 / 5;
  }

  .community-ladder-copy h2{
    max-width:10ch;
    font-size:clamp(44px,12vw,66px);
  }

  .community-kicker{
    max-width:9ch;
    font-size:clamp(40px,11vw,58px);
  }

  .community-ladder-copy p{
    max-width:100%;
    font-size:18px;
  }
}


/* V3.17 — stronger editorial word scale in the ladder section */
@media(min-width:801px){
  .community-ladder-row{
    grid-template-columns:minmax(0,.96fr) minmax(380px,.98fr);
    gap:clamp(24px,3vw,54px);
  }

  .community-ladder-row-b{
    grid-template-columns:minmax(380px,.98fr) minmax(0,.96fr);
    margin-left:clamp(58px,4.6vw,104px);
  }

  .community-ladder-copy{
    max-width:100%;
  }

  .community-ladder-copy h2{
    max-width:10.2ch;
    font-size:clamp(62px,7vw,118px);
    line-height:.84;
    letter-spacing:-.074em;
  }

  .community-kicker{
    max-width:9.2ch;
    font-size:clamp(50px,5vw,82px);
    line-height:.89;
    letter-spacing:-.064em;
  }

  .community-ladder-copy p{
    margin-top:20px;
    max-width:38ch;
    font-size:clamp(19px,1.58vw,25px);
    line-height:1.43;
  }

  .community-ladder .community-scripture-links{
    margin-top:26px;
    gap:12px 20px;
    font-size:14px;
  }
}

@media(min-width:801px) and (max-width:1180px){
  .community-ladder-row,
  .community-ladder-row-b{
    grid-template-columns:1fr 1fr;
    gap:28px;
    margin-left:0;
  }

  .community-ladder-copy h2{
    font-size:clamp(52px,6.4vw,86px);
    max-width:9.8ch;
  }

  .community-kicker{
    font-size:clamp(44px,5.5vw,64px);
    max-width:9ch;
  }

  .community-ladder-copy p{
    font-size:clamp(18px,1.9vw,22px);
    max-width:34ch;
  }
}

@media(max-width:800px){
  .community-ladder-copy h2{
    max-width:10.4ch;
    font-size:clamp(48px,12.8vw,72px);
    line-height:.85;
  }

  .community-kicker{
    max-width:9.4ch;
    font-size:clamp(44px,11.8vw,64px);
    line-height:.9;
  }

  .community-ladder-copy p{
    font-size:19px;
    line-height:1.44;
  }
}


/* V3.19 — larger Scripture statement in the first ladder block */
.community-feature-verse{
  margin:clamp(24px,2.5vw,34px) 0 0;
  padding:0;
  border:0;
  max-width:13.5ch;
  font-style:normal;
}

.community-feature-verse span{
  display:block;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(42px,4.5vw,76px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:800;
  color:var(--red-deep);
}

.community-feature-verse cite{
  display:block;
  margin-top:clamp(18px,2vw,26px);
  font-family:'DM Sans',sans-serif;
  font-size:clamp(14px,1.05vw,17px);
  line-height:1.2;
  font-weight:850;
  font-style:normal;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--red-deep);
}

@media(min-width:801px) and (max-width:1180px){
  .community-feature-verse{
    max-width:15ch;
  }

  .community-feature-verse span{
    font-size:clamp(38px,4.8vw,58px);
  }
}

@media(max-width:800px){
  .community-feature-verse{
    max-width:100%;
  }

  .community-feature-verse span{
    font-size:clamp(38px,10.8vw,58px);
    line-height:.94;
  }

  .community-feature-verse cite{
    font-size:14px;
  }
}

/* V3.20 — use the V3.16 supporting-copy font, simply at a larger scale */
.community-feature-verse{
  max-width:20ch;
}

.community-feature-verse span{
  font-family:'DM Sans',sans-serif;
  font-size:clamp(34px,3.3vw,56px);
  line-height:1.08;
  letter-spacing:-.038em;
  font-weight:750;
  color:#6b2b25;
}

.community-feature-verse cite{
  margin-top:clamp(20px,2vw,28px);
  font-family:'DM Sans',sans-serif;
  font-size:clamp(15px,1.05vw,18px);
  font-weight:850;
  letter-spacing:.085em;
  color:var(--red-deep);
}

@media(min-width:801px) and (max-width:1180px){
  .community-feature-verse{max-width:21ch}
  .community-feature-verse span{font-size:clamp(31px,3.5vw,44px)}
}

@media(max-width:800px){
  .community-feature-verse{max-width:100%}
  .community-feature-verse span{font-size:clamp(30px,8.4vw,44px);line-height:1.09}
}


/* V3.21 — center and widen the first community verse block */
@media(min-width:801px){
  .community-ladder-row-a{
    grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr);
  }

  .community-ladder-row-a .community-ladder-copy{
    align-items:center;
    text-align:center;
  }

  .community-ladder-row-a .community-ladder-copy h2{
    max-width:10.6ch;
    text-align:center;
  }

  .community-feature-verse{
    width:100%;
    max-width:24ch;
    margin-left:auto;
    margin-right:auto;
    text-align:center;
  }

  .community-feature-verse span{
    font-size:clamp(40px,3.9vw,64px);
    line-height:1.06;
  }

  .community-feature-verse cite{
    text-align:center;
  }
}

@media(min-width:801px) and (max-width:1180px){
  .community-ladder-row-a{
    grid-template-columns:1fr 1fr;
  }

  .community-feature-verse{
    max-width:25ch;
  }

  .community-feature-verse span{
    font-size:clamp(36px,4vw,50px);
  }
}

@media(max-width:800px){
  .community-ladder-row-a .community-ladder-copy{
    align-items:center;
    text-align:center;
  }

  .community-ladder-row-a .community-ladder-copy h2{
    text-align:center;
  }

  .community-feature-verse{
    text-align:center;
    max-width:100%;
  }

  .community-feature-verse span{
    font-size:clamp(34px,8.6vw,48px);
    line-height:1.08;
  }

  .community-feature-verse cite{
    text-align:center;
  }
}


/* V3.22 — make the first verse block match the strong left-aligned style
   of the “Shared burdens. Shared joy.” section. */
@media(min-width:801px){
  .community-ladder-row-a{
    grid-template-columns:minmax(0,.96fr) minmax(0,.98fr);
  }

  .community-ladder-row-a .community-ladder-copy{
    align-items:flex-start;
    text-align:left;
  }

  .community-ladder-row-a .community-ladder-copy h2{
    max-width:9.8ch;
    text-align:left;
  }

  .community-feature-verse{
    width:100%;
    max-width:100%;
    margin:clamp(22px,2.2vw,30px) 0 0;
    text-align:left;
  }

  .community-feature-verse span{
    display:block;
    max-width:7.8ch;
    font-family:'Bricolage Grotesque',sans-serif;
    font-size:clamp(54px,5.2vw,88px);
    line-height:.9;
    letter-spacing:-.062em;
    font-weight:800;
    color:var(--red-deep);
  }

  .community-feature-verse cite{
    display:block;
    margin-top:clamp(22px,2vw,30px);
    text-align:left;
    font-family:'DM Sans',sans-serif;
    font-size:clamp(14px,1vw,17px);
    font-weight:850;
    letter-spacing:.09em;
    text-transform:uppercase;
    color:var(--red-deep);
  }
}

@media(min-width:801px) and (max-width:1180px){
  .community-feature-verse span{
    max-width:8.5ch;
    font-size:clamp(46px,5.2vw,66px);
  }
}

@media(max-width:800px){
  .community-ladder-row-a .community-ladder-copy{
    align-items:flex-start;
    text-align:left;
  }

  .community-ladder-row-a .community-ladder-copy h2{
    text-align:left;
  }

  .community-feature-verse{
    text-align:left;
  }

  .community-feature-verse span{
    max-width:9ch;
    font-family:'Bricolage Grotesque',sans-serif;
    font-size:clamp(46px,11.5vw,68px);
    line-height:.92;
    letter-spacing:-.058em;
  }

  .community-feature-verse cite{
    text-align:left;
  }
}


/* V3.23 — first ladder text now mirrors the same three-level hierarchy
   as the other text blocks: heading, subheading, body/detail. */
.community-ladder-row-a .community-ladder-copy{
  align-items:flex-start;
  text-align:left;
}

.community-scripture-heading{
  margin:0;
  max-width:none!important;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(58px,5.2vw,88px)!important;
  line-height:.9!important;
  letter-spacing:-.062em!important;
  font-weight:800;
  color:var(--red-deep);
  text-align:left!important;
}

.community-scripture-subheading{
  margin:clamp(22px,2.2vw,30px) 0 0!important;
  max-width:21ch!important;
  font-family:'DM Sans',sans-serif;
  font-size:clamp(26px,2.15vw,36px)!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
  font-weight:750!important;
  color:#6b2b25!important;
  text-align:left;
}

.community-scripture-version{
  margin:clamp(18px,1.8vw,24px) 0 0!important;
  max-width:none!important;
  font-family:'DM Sans',sans-serif;
  font-size:clamp(15px,1.05vw,18px)!important;
  line-height:1.3!important;
  letter-spacing:.075em!important;
  font-weight:850!important;
  text-transform:uppercase;
  color:var(--red-deep)!important;
  text-align:left;
}

@media(min-width:801px) and (max-width:1180px){
  .community-scripture-heading{
    font-size:clamp(50px,5.6vw,68px)!important;
  }

  .community-scripture-subheading{
    font-size:clamp(24px,2.5vw,31px)!important;
    max-width:20ch!important;
  }
}

@media(max-width:800px){
  .community-scripture-heading{
    font-size:clamp(48px,12vw,66px)!important;
  }

  .community-scripture-subheading{
    font-size:clamp(24px,6.7vw,34px)!important;
    max-width:100%!important;
  }

  .community-scripture-version{
    font-size:14px!important;
  }
}


/* V3.25 — ensure Romans 12:5 /  titles are explicitly visible
   as red headings above the verse text. */
.community-scripture-heading{
  display:block !important;
  clip-path:none !important;
  transform:none !important;
  opacity:1 !important;
  visibility:visible !important;
  margin:0 0 clamp(14px,1.4vw,18px) 0 !important;
}


/* V3.28 — directional scroll motion for the community ladder.
   Each photo/text pair enters from the side it occupies as the visitor scrolls. */
@media(prefers-reduced-motion:no-preference){
  .motion-ready .community-ladder .community-slide-left,
  .motion-ready .community-ladder .community-slide-right{
    opacity:0;
    filter:blur(5px);
    transition:
      opacity .8s ease var(--reveal-delay,0ms),
      transform 1.05s cubic-bezier(.16,.82,.26,1) var(--reveal-delay,0ms),
      filter .9s ease var(--reveal-delay,0ms);
    will-change:transform,opacity,filter;
  }

  .motion-ready .community-ladder .community-slide-left{
    transform:translate3d(-88px,24px,0);
  }

  .motion-ready .community-ladder .community-slide-right{
    transform:translate3d(88px,24px,0);
  }

  .motion-ready .community-ladder .community-slide-left.is-visible,
  .motion-ready .community-ladder .community-slide-right.is-visible{
    opacity:1;
    transform:translate3d(0,0,0);
    filter:blur(0);
  }

  /* Give the text a tiny delay after its paired image/element starts moving,
     making the section feel like it assembles as the user scrolls. */
  .community-ladder-row-a .community-ladder-copy,
  .community-ladder-row-b .community-ladder-photo,
  .community-ladder-row-c .community-ladder-copy{
    --reveal-delay:90ms;
  }
}

@media(max-width:800px) and (prefers-reduced-motion:no-preference){
  .motion-ready .community-ladder .community-slide-left{
    transform:translate3d(-44px,20px,0);
  }

  .motion-ready .community-ladder .community-slide-right{
    transform:translate3d(44px,20px,0);
  }
}

@media(prefers-reduced-motion:reduce){
  .community-ladder .community-slide-left,
  .community-ladder .community-slide-right{
    opacity:1!important;
    transform:none!important;
    filter:none!important;
  }
}


/* V3.29 — tighten and modernize the mission section */
.manifesto{
  overflow:hidden;
  padding:clamp(82px,7.5vw,128px) 0 clamp(72px,7vw,110px);
}

.manifesto::before{
  right:-4vw;
  top:-2vw;
  width:min(28vw,420px);
  opacity:.14;
}

.manifesto-grid{
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:clamp(26px,4vw,64px);
  align-items:start;
}

.manifesto-heading{
  display:grid;
  gap:clamp(16px,2vw,24px);
  align-content:start;
}

.manifesto .eyebrow{
  color:rgba(255,222,205,.86);
  font-size:clamp(13px,.95vw,15px);
}

.manifesto h2{
  font-size:clamp(110px,14vw,230px);
  line-height:.86;
  letter-spacing:-.09em;
  margin:0;
  max-width:none;
}

.manifesto-lead{
  margin:0;
  max-width:900px;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(30px,3.2vw,58px);
  line-height:.96;
  letter-spacing:-.05em;
  color:var(--coral);
  text-wrap:balance;
}

.manifesto-copy{
  display:grid;
  gap:clamp(18px,2vw,24px);
  align-content:start;
  padding:clamp(22px,2.5vw,34px);
  margin-top:clamp(8px,1.4vw,18px);
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.14);
  border-radius:clamp(26px,3vw,42px);
  backdrop-filter:blur(4px);
}

.manifesto-copy p{
  margin:0;
  font-size:clamp(22px,1.85vw,31px);
  line-height:1.38;
  font-weight:650;
  color:rgba(255,255,255,.9);
}

.manifesto-copy .button-row{
  padding-top:4px;
}

.vision-scripture{
  margin-top:clamp(34px,4vw,54px);
}

.vision-scripture-head{
  grid-template-columns:minmax(220px,.64fr) minmax(0,1.36fr);
  gap:clamp(16px,2vw,28px);
  margin-bottom:clamp(20px,2.2vw,30px);
}

.vision-scripture-head p{
  max-width:920px;
  font-size:clamp(18px,1.4vw,22px);
  line-height:1.45;
  color:rgba(255,255,255,.84);
}

.vision-verse-grid{
  gap:clamp(14px,1.5vw,20px);
}

.vision-verse-card{
  padding:clamp(22px,2.2vw,30px);
  border-radius:clamp(24px,2.6vw,38px);
}

.vision-verse-card blockquote{
  font-size:clamp(24px,2vw,34px);
  line-height:1.02;
}

@media(max-width:1180px){
  .manifesto-grid{
    grid-template-columns:1fr;
    gap:28px;
  }

  .manifesto h2{
    font-size:clamp(90px,17vw,176px);
  }

  .manifesto-lead{
    max-width:760px;
    font-size:clamp(28px,4.8vw,46px);
  }

  .manifesto-copy{
    max-width:760px;
  }

  .vision-scripture-head{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .manifesto{
    padding:70px 0 74px;
  }

  .manifesto h2{
    font-size:clamp(68px,21vw,118px);
  }

  .manifesto-lead{
    font-size:clamp(26px,8vw,38px);
  }

  .manifesto-copy{
    padding:22px;
  }

  .manifesto-copy p{
    font-size:20px;
  }

  .vision-verse-grid{
    grid-template-columns:1fr;
  }
}


/* V3.30 — make OUR MISSION echo the hero's CASA DE ORACIÓN treatment */
.manifesto-grid{
  grid-template-columns:minmax(0,1.22fr) minmax(360px,.78fr);
  gap:clamp(28px,4.2vw,72px);
  align-items:center;
}

.manifesto-heading{
  min-height:clamp(520px,52vw,760px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  gap:clamp(22px,2.4vw,34px);
}

.manifesto .manifesto-title{
  margin:0;
  max-width:6.8ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(132px,16vw,270px);
  line-height:.72;
  letter-spacing:-.092em;
  text-transform:uppercase;
  font-weight:800;
  color:#fff;
}

.manifesto .manifesto-title span{
  display:block;
}

.manifesto .manifesto-title .warm{
  color:var(--peach);
}

.manifesto-lead{
  max-width:12ch;
  margin:0;
  font-size:clamp(38px,4.1vw,70px);
  line-height:.93;
  letter-spacing:-.056em;
  color:rgba(255,255,255,.92);
}

.manifesto-copy{
  align-self:center;
  margin-top:0;
}

/* Make sure the giant title stays visible when its dynamic heading animation fires. */
.manifesto-title.motion-heading.is-visible{
  clip-path:inset(0 0 0 0);
  transform:none;
}

@media(min-width:801px) and (max-width:1180px){
  .manifesto-grid{
    grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);
  }

  .manifesto-heading{
    min-height:clamp(460px,54vw,620px);
  }

  .manifesto .manifesto-title{
    font-size:clamp(104px,13.8vw,176px);
  }

  .manifesto-lead{
    max-width:13ch;
    font-size:clamp(32px,4.4vw,50px);
  }
}

@media(max-width:800px){
  .manifesto-grid{
    grid-template-columns:1fr;
  }

  .manifesto-heading{
    min-height:0;
    padding-bottom:14px;
  }

  .manifesto .manifesto-title{
    max-width:7ch;
    font-size:clamp(78px,22vw,126px);
  }

  .manifesto-lead{
    max-width:14ch;
    font-size:clamp(30px,8.8vw,42px);
  }
}


/* V3.31 — OUR MISSION visibility fix
   The generic motion-heading rule was clipping this oversized title.
   The parent .manifesto-heading still handles the entrance animation. */
.manifesto .manifesto-title,
.manifesto .manifesto-title.motion-heading,
.manifesto .manifesto-title.motion-heading.is-visible{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  clip-path:none !important;
  transform:none !important;
  filter:none !important;
}

/* Keep the title/lead grouped together so the left side reads like the hero. */
.manifesto-heading{
  justify-content:center;
}

.manifesto .manifesto-title{
  margin:0 !important;
}

.manifesto-lead{
  margin-top:clamp(6px,.8vw,12px);
}


/* V3.32 — language toggle cleanup
   Only the language selected in the navbar should be visible. */
html [data-lang]{
  display:none !important;
}

body[data-site-lang="en"] [data-lang="en"]{
  display:revert !important;
}

body[data-site-lang="es"] [data-lang="es"]{
  display:revert !important;
}

/* Restore common layout elements correctly when they are language-switched. */
body[data-site-lang="en"] span[data-lang="en"],
body[data-site-lang="es"] span[data-lang="es"]{
  display:inline-block !important;
}

body[data-site-lang="en"] a[data-lang="en"],
body[data-site-lang="es"] a[data-lang="es"]{
  display:inline-flex !important;
}

body[data-site-lang="en"] p[data-lang="en"],
body[data-site-lang="es"] p[data-lang="es"],
body[data-site-lang="en"] h1[data-lang="en"],
body[data-site-lang="es"] h1[data-lang="es"],
body[data-site-lang="en"] h2[data-lang="en"],
body[data-site-lang="es"] h2[data-lang="es"],
body[data-site-lang="en"] h3[data-lang="en"],
body[data-site-lang="es"] h3[data-lang="es"],
body[data-site-lang="en"] blockquote[data-lang="en"],
body[data-site-lang="es"] blockquote[data-lang="es"]{
  display:block !important;
}


/* V3.34 — mission typography legibility/refinement */
.manifesto .manifesto-title{
  letter-spacing:-.055em;
  max-width:7.25ch;
}

.manifesto-lead{
  max-width:17.5ch;
  font-size:clamp(34px,3.45vw,60px);
  line-height:.96;
  letter-spacing:-.035em;
}

@media(min-width:1181px){
  .manifesto-grid{
    grid-template-columns:minmax(0,1.34fr) minmax(360px,.66fr);
  }

  .manifesto-heading{
    padding-right:clamp(10px,1.4vw,24px);
  }
}

@media(min-width:801px) and (max-width:1180px){
  .manifesto .manifesto-title{
    letter-spacing:-.05em;
  }

  .manifesto-lead{
    max-width:16ch;
    font-size:clamp(31px,4vw,46px);
  }
}

@media(max-width:800px){
  .manifesto .manifesto-title{
    letter-spacing:-.045em;
  }

  .manifesto-lead{
    max-width:15ch;
    font-size:clamp(28px,8.1vw,38px);
  }
}


/* V3.35 — shorter homepage ministries section with a hero-scale heading */
.ministries-home{
  padding:clamp(66px,6.5vw,104px) 0 clamp(72px,7vw,112px);
  background:#fff;
  color:var(--ink);
  overflow:hidden;
}

.ministries-home::before{
  display:none;
}

.ministries-home-shell{
  position:relative;
}

.ministries-home-head{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(320px,.55fr);
  gap:clamp(34px,5vw,84px);
  align-items:end;
  padding-bottom:clamp(34px,4vw,58px);
}

.ministries-home-title{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(104px,14.2vw,240px);
  line-height:.72;
  letter-spacing:-.075em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--red-deep);
}

.ministries-home-intro{
  padding-bottom:clamp(4px,.7vw,10px);
}

.ministries-home-intro p{
  margin:0 0 24px;
  max-width:510px;
  font-size:clamp(19px,1.45vw,24px);
  line-height:1.42;
  font-weight:650;
  color:var(--muted);
}

.ministries-home .btn{
  background:var(--red);
  color:#fff;
}

.ministries-home-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:2px solid rgba(142,5,3,.16);
}

.ministry-home-item{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(18px,2vw,28px);
  min-height:clamp(180px,15vw,235px);
  padding:clamp(28px,3vw,42px) clamp(18px,2.6vw,38px);
  border-bottom:1px solid rgba(142,5,3,.16);
  color:var(--ink);
  background:transparent;
  transition:background .28s ease,transform .28s ease;
}

.ministry-home-item:nth-child(odd){
  border-right:1px solid rgba(142,5,3,.16);
}

.ministry-home-item:hover{
  background:rgba(251,123,118,.09);
  transform:translateY(-4px);
}

.ministry-home-label{
  font-size:clamp(13px,.95vw,15px);
  line-height:1.15;
  font-weight:850;
  letter-spacing:.09em;
  text-transform:uppercase;
  color:var(--red);
}

.ministry-home-item h3{
  margin:0;
  max-width:15ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(32px,3vw,52px);
  line-height:.96;
  letter-spacing:-.05em;
  color:var(--red-deep);
}

.ministry-home-item-wide{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:minmax(180px,.32fr) minmax(0,1fr);
  align-items:end;
  min-height:clamp(150px,12vw,190px);
  border-right:0!important;
}

.ministry-home-item-wide h3{
  max-width:20ch;
}

@media(max-width:1180px){
  .ministries-home-head{
    grid-template-columns:1fr;
    gap:24px;
  }

  .ministries-home-title{
    font-size:clamp(92px,16vw,176px);
  }

  .ministries-home-intro{
    max-width:700px;
  }
}

@media(max-width:800px){
  .ministries-home{
    padding:58px 0 70px;
  }

  .ministries-home-title{
    font-size:clamp(70px,20vw,112px);
    letter-spacing:-.065em;
  }

  .ministries-home-grid{
    grid-template-columns:1fr;
  }

  .ministry-home-item,
  .ministry-home-item:nth-child(odd){
    border-right:0;
  }

  .ministry-home-item{
    min-height:0;
    padding:28px 0;
  }

  .ministry-home-item-wide{
    grid-column:auto;
    grid-template-columns:1fr;
    align-items:start;
  }

  .ministry-home-item h3{
    font-size:clamp(34px,9.2vw,48px);
  }
}


/* V3.36 — Ministries title spacing and vertical position */
.ministries-home{
  padding-top:clamp(34px,3.8vw,58px);
}

.ministries-home-title{
  letter-spacing:-.035em;
  transform:translateY(-10px);
}

@media(max-width:1180px){
  .ministries-home{
    padding-top:clamp(30px,3.4vw,48px);
  }

  .ministries-home-title{
    letter-spacing:-.03em;
    transform:translateY(-8px);
  }
}

@media(max-width:800px){
  .ministries-home{
    padding-top:34px;
  }

  .ministries-home-title{
    letter-spacing:-.025em;
    transform:translateY(-4px);
  }
}


/* V3.37 — dynamic upcoming-events flyer carousel */
.events-showcase{
  position:relative;
  padding:clamp(62px,6vw,96px) 0 clamp(72px,7vw,108px);
  overflow:hidden;
  background:linear-gradient(118deg,var(--coral) 0%,var(--orange-soft) 54%,var(--orange) 100%);
}

.events-showcase::after{
  content:'';
  position:absolute;
  right:-11vw;
  top:-12vw;
  width:34vw;
  min-width:380px;
  aspect-ratio:1;
  border-radius:50%;
  background:rgba(255,255,255,.13);
  pointer-events:none;
}

.events-showcase-head{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:clamp(32px,4.5vw,72px);
  align-items:end;
  margin-bottom:clamp(36px,4vw,58px);
}

.events-showcase-title{
  margin:0;
  max-width:7.4ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(104px,13.5vw,228px);
  line-height:.72;
  letter-spacing:-.055em;
  text-transform:uppercase;
  font-weight:800;
  color:var(--red-deep);
}

.events-showcase-title span{
  display:block;
}

.events-showcase-title .warm{
  color:#fff;
}

.events-showcase-intro{
  padding-bottom:clamp(2px,.7vw,10px);
}

.events-showcase-intro p{
  margin:0 0 24px;
  max-width:520px;
  font-size:clamp(19px,1.45vw,24px);
  line-height:1.42;
  font-weight:650;
  letter-spacing:-.025em;
  color:#662721;
}

.events-showcase .btn{
  background:var(--red);
  color:#fff;
}

.event-carousel{
  position:relative;
  z-index:2;
  width:100%;
  overflow:hidden;
  opacity:0;
  transition:opacity .35s ease;
}

.event-carousel.is-loaded{
  opacity:1;
}

.event-carousel::before,
.event-carousel::after{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  z-index:4;
  width:clamp(36px,7vw,120px);
  pointer-events:none;
}

.event-carousel::before{
  left:0;
  background:linear-gradient(90deg,var(--coral),rgba(251,123,118,0));
}

.event-carousel::after{
  right:0;
  background:linear-gradient(270deg,var(--orange),rgba(236,136,87,0));
}

.event-carousel-track{
  display:flex;
  width:max-content;
  animation:eventFlyerMarquee var(--event-marquee-duration,48s) linear infinite;
  will-change:transform;
}

.event-carousel:hover .event-carousel-track,
.event-carousel:focus-within .event-carousel-track{
  animation-play-state:paused;
}

.event-carousel-group{
  display:flex;
  flex:none;
  align-items:flex-start;
  gap:clamp(18px,2vw,30px);
  padding-right:clamp(18px,2vw,30px);
}

.event-flyer{
  flex:0 0 auto;
  width:clamp(250px,22vw,360px);
  color:var(--red-deep);
  text-decoration:none;
  transform:translateZ(0);
}

.event-flyer:nth-child(even){
  margin-top:clamp(28px,3vw,50px);
}

.event-flyer-visual{
  aspect-ratio:4 / 5;
  overflow:hidden;
  border-radius:clamp(22px,2.5vw,38px);
  background:var(--red-deep);
  box-shadow:0 26px 70px rgba(92,21,10,.16);
}

.event-flyer-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .45s cubic-bezier(.2,.8,.2,1);
}

.event-flyer:hover .event-flyer-visual img{
  transform:scale(1.025);
}

.event-flyer-meta{
  display:grid;
  gap:5px;
  padding:14px 4px 0;
}

.event-flyer-meta strong{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(20px,1.65vw,28px);
  line-height:1;
  letter-spacing:-.04em;
}

.event-flyer-meta span{
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.event-flyer-placeholder{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:clamp(24px,2.5vw,36px);
  background:
    radial-gradient(circle at 80% 20%,rgba(255,255,255,.18),transparent 27%),
    linear-gradient(145deg,var(--red),var(--red-deep));
  color:#fff;
}

.event-flyer-placeholder>span{
  font-size:13px;
  font-weight:900;
  letter-spacing:.14em;
}

.event-flyer-placeholder strong{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(46px,4vw,68px);
  line-height:.78;
  letter-spacing:-.07em;
}

.event-flyer-placeholder small{
  font-size:12px;
  font-weight:850;
  letter-spacing:.12em;
}

@keyframes eventFlyerMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

@media(max-width:1180px){
  .events-showcase-head{
    grid-template-columns:1fr;
    gap:24px;
  }

  .events-showcase-title{
    font-size:clamp(92px,16vw,178px);
  }

  .events-showcase-intro{
    max-width:720px;
  }
}

@media(max-width:800px){
  .events-showcase{
    padding:54px 0 72px;
  }

  .events-showcase-title{
    font-size:clamp(70px,20vw,110px);
    letter-spacing:-.045em;
  }

  .event-flyer{
    width:clamp(220px,72vw,300px);
  }

  .event-carousel::before,
  .event-carousel::after{
    width:28px;
  }
}

@media(prefers-reduced-motion:reduce){
  .event-carousel{
    overflow-x:auto;
    scrollbar-width:none;
  }

  .event-carousel::-webkit-scrollbar{
    display:none;
  }

  .event-carousel-track{
    animation:none!important;
  }

  .event-carousel-group[aria-hidden="true"]{
    display:none;
  }
}


/* V3.38 — shared oversized display-heading tracking standard */
:root{
  --display-heading-tracking:-.035em;
}

.hero-corner-title,
.manifesto .manifesto-title,
.ministries-home-title,
.events-showcase-title{
  letter-spacing:var(--display-heading-tracking)!important;
}

/* Keep mobile slightly tighter, but still much more open than the earlier versions. */
@media(max-width:800px){
  :root{
    --display-heading-tracking:-.03em;
  }
}


/* V3.39 — COME HOME final homepage section */
.come-home{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);
  min-height:clamp(720px,68vw,980px);
  overflow:hidden;
  background:var(--red-deep);
  color:#fff;
}

.come-home-content{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:clamp(46px,5vw,76px);
  padding:clamp(62px,6vw,98px) clamp(38px,5.2vw,92px) clamp(52px,5vw,82px);
}

.come-home-copy{
  max-width:980px;
}

.come-home-title{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(112px,14.8vw,250px);
  line-height:.72;
  letter-spacing:var(--display-heading-tracking);
  text-transform:uppercase;
  font-weight:800;
  color:#fff;
}

.come-home-title span{
  display:block;
}

.come-home-title .warm{
  color:var(--peach);
}

.come-home-saying{
  margin:clamp(28px,3vw,42px) 0 0;
  max-width:15ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(34px,3.7vw,62px);
  line-height:.98;
  letter-spacing:-.04em;
  color:rgba(255,255,255,.95);
}

.come-home-actions{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px 24px;
  margin-top:clamp(30px,3.2vw,46px);
}

.come-home .btn.light{
  background:#fff;
  color:var(--red-deep);
}

.come-home-prayer{
  color:#fff;
  font-size:15px;
  font-weight:800;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}

.come-home-details{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  align-items:start;
  border-top:1px solid rgba(255,255,255,.28);
}

.come-home-detail{
  min-height:154px;
  display:grid;
  grid-template-rows:minmax(42px,auto) auto;
  align-content:start;
  gap:10px;
  padding:24px 26px 0 0;
}

.come-home-detail + .come-home-detail{
  border-left:1px solid rgba(255,255,255,.2);
  padding-left:26px;
}

.come-home-detail span{
  display:block;
  max-width:18ch;
  font-size:12px;
  font-weight:850;
  line-height:1.18;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(255,255,255,.64);
}

.come-home-detail strong{
  display:block;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(25px,2.1vw,36px);
  line-height:.96;
  letter-spacing:-.04em;
}

.come-home-photo{
  position:relative;
  order:2;
  min-height:100%;
  overflow:hidden;
}

.come-home-photo::before{
  content:'';
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(90deg,var(--red-deep) 0%,rgba(142,5,3,.62) 12%,rgba(142,5,3,.12) 44%,rgba(142,5,3,0) 72%),
    linear-gradient(0deg,rgba(76,4,3,.3),rgba(76,4,3,0) 40%);
  pointer-events:none;
}

.come-home-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
  transform:scale(1.02);
}

@media(min-width:1500px){
  .come-home{
    grid-template-columns:minmax(0,1.1fr) minmax(520px,.9fr);
  }

  .come-home-content{
    padding-left:max(48px,calc((100vw - 1740px)/2 + 28px));
  }
}

@media(max-width:1180px){
  .come-home{
    grid-template-columns:1fr;
    min-height:0;
  }

  .come-home-content{
    padding:56px clamp(24px,5vw,58px) 48px;
  }

  .come-home-photo{
    order:0;
    min-height:460px;
  }

  .come-home-photo::before{
    background:
      linear-gradient(0deg,var(--red-deep) 0%,rgba(142,5,3,.62) 16%,rgba(142,5,3,.08) 52%,rgba(142,5,3,0) 76%);
  }

  .come-home-title{
    font-size:clamp(98px,16vw,178px);
  }
}

@media(max-width:800px){
  .come-home-content{
    gap:42px;
    padding:44px 22px 40px;
  }

  .come-home-photo{
    min-height:330px;
  }

  .come-home-title{
    font-size:clamp(72px,21vw,112px);
  }

  .come-home-saying{
    max-width:17ch;
    font-size:clamp(30px,8.8vw,42px);
  }

  .come-home-details{
    grid-template-columns:1fr;
  }

  .come-home-detail,
  .come-home-detail + .come-home-detail{
    min-height:0;
    grid-template-rows:auto auto;
    padding:22px 0;
    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.18);
  }

  .come-home-detail span{
    max-width:none;
  }

  .come-home-detail:last-child{
    border-bottom:0;
  }
}


/* V3.41 — compact local-SEO footer */
@media(max-width:1180px){
  .footer-grid{
    grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(180px,.8fr));
  }

  .footer-about{
    grid-column:1 / -1;
    max-width:760px;
  }
}

@media(max-width:800px){
  .site-footer{
    padding:34px 0 18px;
    border-radius:30px 30px 0 0;
  }

  .footer-grid{
    grid-template-columns:1fr 1fr;
    gap:30px 24px;
  }

  .footer-about{
    grid-column:1 / -1;
  }

  .footer-about h2{
    font-size:clamp(30px,9vw,44px);
  }

  .footer-visit{
    grid-column:1 / -1;
  }

  .footer-bottom{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
    margin-top:30px;
  }
}

@media(max-width:520px){
  .footer-grid{
    grid-template-columns:1fr;
  }

  .footer-about,
  .footer-visit{
    grid-column:auto;
  }
}


/* V3.43 — footer corner color fix */
.site-footer{
  position:relative;
  isolation:isolate;
  overflow:visible;
  margin-top:-1px;
  border-top:0;
  border-radius:28px 28px 0 0;
}

.site-footer::after{
  content:'';
  position:absolute;
  inset:0;
  background:var(--red-deep);
  z-index:-1;
  pointer-events:none;
}

.site-footer::before{
  content:'';
  position:absolute;
  top:0;
  left:clamp(26px,3vw,52px);
  right:clamp(26px,3vw,52px);
  height:1px;
  background:rgba(255,255,255,.17);
  pointer-events:none;
  z-index:2;
}

@media(max-width:800px){
  .site-footer{
    border-radius:22px 22px 0 0;
  }

  .site-footer::before{
    left:20px;
    right:20px;
  }
}


/* V3.44 — fill the homepage hero's rounded bottom corner cutouts with red */
.home-hero{
  overflow:visible;
  isolation:isolate;
}

.home-hero::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:clamp(46px,6vw,104px);
  background:var(--red);
  z-index:0;
  pointer-events:none;
}

/* Keep the actual hero/schedule content above the red corner backing layer. */
.home-hero > *{
  position:relative;
  z-index:1;
}


/* V3.45 — mission section corner backing fix */
.manifesto-backdrop{
  width:100%;
  background:var(--red);
}

.manifesto{
  margin:0;
}


/* V3.46 — white footer colorway */
.site-footer{
  background:#fff;
  color:var(--red-deep);
}

.site-footer::after{
  background:var(--red-deep);
}

.site-footer::before{
  background:rgba(142,5,3,.14);
}

.footer-brand{
  color:var(--red-deep);
}

.footer-about h2{
  color:var(--red);
}

.footer-about p{
  color:var(--muted);
}

.footer-links>strong{
  color:var(--red);
}

.footer-links a,
.footer-links span,
.footer-links address{
  color:rgba(43,14,11,.72);
}

.footer-links a:hover{
  color:var(--red);
}

.footer-text-link{
  color:var(--red-deep)!important;
}

.footer-bottom{
  border-top-color:rgba(142,5,3,.14);
  color:rgba(43,14,11,.48);
}


/* V3.47 — force white footer + readable footer palette */
.site-footer{
  background:#ffffff !important;
  color:var(--red-deep) !important;
  border-top:5px solid var(--coral);
}

.site-footer::after{
  background:#ffffff !important;
}

.site-footer::before{
  background:rgba(142,5,3,.16) !important;
}

.footer-brand,
.footer-brand strong{
  color:var(--red-deep) !important;
}

.footer-about h2{
  color:var(--red-deep) !important;
}

.footer-about p{
  color:rgba(43,14,11,.78) !important;
}

.footer-links > strong{
  color:var(--red) !important;
}

.footer-links a,
.footer-links span,
.footer-links address,
.footer-text-link{
  color:rgba(43,14,11,.84) !important;
}

.footer-links a:hover,
.footer-text-link:hover{
  color:var(--red) !important;
}

.footer-bottom{
  border-top-color:rgba(142,5,3,.14) !important;
  color:rgba(43,14,11,.56) !important;
}


/* V3.48 — Who We Are identity header */
.community-identity-head{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:clamp(34px,5vw,86px);
  align-items:end;
  padding-bottom:clamp(40px,5vw,70px);
  margin-bottom:clamp(8px,1.5vw,22px);
  border-bottom:1px solid rgba(142,5,3,.16);
}

.community-identity-title{
  margin:0;
  max-width:7.2ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(104px,13.5vw,226px);
  line-height:.72;
  letter-spacing:var(--display-heading-tracking);
  text-transform:uppercase;
  font-weight:800;
  color:var(--red-deep);
}

.community-identity-title span{
  display:block;
}

.community-identity-title .warm{
  color:#fff;
}

.community-identity-intro{
  padding-bottom:clamp(4px,.7vw,10px);
}

.community-identity-intro p{
  margin:0;
  max-width:40ch;
  font-size:clamp(20px,1.6vw,27px);
  line-height:1.42;
  font-weight:680;
  letter-spacing:-.028em;
  color:#642822;
}

.community-identity-link{
  display:inline-block;
  margin-top:22px;
  color:var(--red-deep);
  font-size:14px;
  font-weight:850;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}

.community-identity-link:hover{
  color:var(--red);
}

@media(max-width:1180px){
  .community-identity-head{
    grid-template-columns:1fr;
    gap:24px;
  }

  .community-identity-title{
    font-size:clamp(92px,16vw,176px);
  }

  .community-identity-intro{
    max-width:760px;
  }
}

@media(max-width:800px){
  .community-ladder{
    padding-top:42px;
  }

  .community-identity-head{
    gap:20px;
    padding-bottom:34px;
    margin-bottom:8px;
  }

  .community-identity-title{
    font-size:clamp(68px,20vw,108px);
  }

  .community-identity-intro p{
    font-size:19px;
  }
}


/* V3.49 — simplify Who We Are header */
.community-identity-head{
  border-bottom:0;
  padding-bottom:clamp(22px,2.6vw,38px);
}

.community-identity-title{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(92px,11.4vw,196px);
}

.community-identity-title span{
  display:inline;
}

.community-identity-link{
  display:none!important;
}

@media(max-width:1180px){
  .community-identity-title{
    font-size:clamp(78px,13vw,144px);
  }
}

@media(max-width:800px){
  .community-identity-title{
    white-space:normal;
    font-size:clamp(58px,16.5vw,92px);
  }
}


/* V3.50 — center the Who We Are statement beneath the hero title */
.community-identity-head{
  display:block;
  padding-bottom:clamp(30px,3.6vw,52px);
  margin-bottom:clamp(10px,1.4vw,20px);
}

.community-identity-title{
  width:100%;
  text-align:left;
  margin-bottom:clamp(28px,3vw,42px);
}

.community-identity-intro{
  max-width:1120px;
  margin:0 auto;
  padding:0;
  text-align:center;
}

.community-identity-intro p{
  max-width:none;
  margin:0 auto;
  font-size:clamp(23px,2vw,32px);
  line-height:1.34;
  font-weight:680;
  letter-spacing:-.03em;
  color:#642822;
}

@media(max-width:800px){
  .community-identity-intro{
    text-align:left;
  }

  .community-identity-intro p{
    font-size:20px;
    line-height:1.42;
  }
}


/* V3.52 — intentional Who We Are editorial placement */
@media(min-width:1181px){
  .community-identity-head{
    position:relative;
    display:block;
    min-height:clamp(390px,27vw,500px);
    padding-bottom:0;
    margin-bottom:clamp(14px,1.8vw,28px);
  }

  .community-identity-title{
    width:100%;
    margin:0;
    text-align:left;
  }

  .community-identity-intro{
    position:absolute;
    right:0;
    top:clamp(190px,12vw,230px);
    width:min(100%,560px);
    max-width:560px;
    margin:0;
    padding:0;
    text-align:left;
  }

  .community-identity-intro p{
    max-width:28ch;
    margin:0;
    font-size:clamp(21px,1.55vw,27px);
    line-height:1.36;
    font-weight:680;
    letter-spacing:-.028em;
    color:#642822;
  }
}

@media(min-width:801px) and (max-width:1180px){
  .community-identity-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(310px,.72fr);
    gap:28px;
    align-items:end;
    padding-bottom:32px;
  }

  .community-identity-title{
    grid-column:1 / -1;
    margin:0;
  }

  .community-identity-intro{
    grid-column:2;
    max-width:520px;
    margin:0;
    padding:0;
    text-align:left;
  }

  .community-identity-intro p{
    max-width:none;
    font-size:clamp(20px,2.15vw,25px);
    line-height:1.38;
  }
}

@media(max-width:800px){
  .community-identity-head{
    display:block;
    min-height:0;
    padding-bottom:24px;
  }

  .community-identity-title{
    margin:0 0 20px;
  }

  .community-identity-intro{
    position:static;
    width:auto;
    max-width:none;
    margin:0;
    text-align:left;
  }

  .community-identity-intro p{
    max-width:none;
    font-size:20px;
    line-height:1.42;
  }
}



/* ==========================================================
   V4.0 — shared editorial system for all interior pages
   Mirrors the homepage: oversized typography, open layouts,
   real photography, red/coral/white fields, minimal cards.
   ========================================================== */

body[data-page="about"] main,
body[data-page="beliefs"] main,
body[data-page="ministries"] main,
body[data-page="missions"] main,
body[data-page="events"] main,
body[data-page="prayer"] main,
body[data-page="watch"] main,
body[data-page="visit"] main{
  background:#fff;
}

.editorial-page-hero{
  position:relative;
  padding:clamp(34px,4vw,64px) 0 clamp(58px,6vw,92px);
  background:linear-gradient(120deg,var(--coral) 0%,var(--orange-soft) 57%,var(--orange) 100%) !important;
  overflow:hidden;
}

.editorial-page-hero::after{
  content:'';
  position:absolute;
  width:min(35vw,560px);
  aspect-ratio:1;
  border-radius:50%;
  right:-8vw;
  top:-12vw;
  bottom:auto;
  background:rgba(255,255,255,.12);
  pointer-events:none;
}

.editorial-page-hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);
  gap:clamp(34px,5vw,84px);
  align-items:end;
}

.editorial-page-hero-copy .eyebrow{
  display:inline-block;
  margin-bottom:clamp(18px,2vw,28px);
  color:var(--red-deep);
}

.editorial-page-hero h1{
  margin:0;
  max-width:8.5ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(108px,14vw,238px);
  line-height:.71;
  letter-spacing:var(--display-heading-tracking);
  text-transform:uppercase;
  color:var(--red-deep);
  font-weight:800;
}

body[data-page="missions"] .editorial-page-hero h1{
  max-width:9.5ch;
  font-size:clamp(98px,12.8vw,214px);
}

.editorial-page-hero-copy h2{
  margin:clamp(28px,3vw,44px) 0 18px;
  max-width:13ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(38px,4vw,68px);
  line-height:.94;
  letter-spacing:-.05em;
  color:#fff;
}

.editorial-page-hero-copy>p{
  margin:0;
  max-width:52ch;
  font-size:clamp(18px,1.45vw,24px);
  line-height:1.42;
  color:#662721;
  font-weight:620;
}

.editorial-page-hero-media{
  position:relative;
  margin:0;
  min-height:clamp(470px,43vw,700px);
  border-radius:clamp(30px,4vw,66px) clamp(30px,4vw,66px) 0 clamp(30px,4vw,66px);
  overflow:hidden;
  box-shadow:0 28px 80px rgba(111,24,12,.15);
}

.editorial-page-hero-media::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(0deg,rgba(91,4,3,.18),transparent 48%);
  pointer-events:none;
}

.editorial-page-hero-media img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
  object-position:center;
}

.editorial-section{
  padding:clamp(70px,7vw,118px) 0;
  background:#fff;
}

.editorial-section-warm{
  background:linear-gradient(120deg,#fff 0%,rgba(246,170,134,.24) 100%);
}

.editorial-section-heading{
  display:grid;
  grid-template-columns:minmax(0,.45fr) minmax(0,1.55fr);
  gap:clamp(24px,4vw,64px);
  align-items:end;
  margin-bottom:clamp(36px,4.5vw,70px);
}

.editorial-section-heading .editorial-kicker{
  align-self:start;
  padding-top:8px;
}

.editorial-section-heading h2,
.editorial-copy h2,
.editorial-calendar-head h2,
.prayer-form-panel h2,
.prayer-care-panel h2,
.editorial-video-head h2{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(50px,6.5vw,108px);
  line-height:.88;
  letter-spacing:-.06em;
  color:var(--red-deep);
}

.editorial-kicker,
.editorial-index,
.editorial-ref{
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.editorial-kicker{
  font-size:12px;
  color:var(--red);
}

.editorial-ref{
  display:block;
  margin-top:18px;
  font-size:11px;
  line-height:1.4;
  color:var(--red);
}

.editorial-list{
  border-top:1px solid rgba(142,5,3,.18);
}

.editorial-list-row{
  display:grid;
  grid-template-columns:minmax(260px,.68fr) minmax(0,1.32fr);
  gap:clamp(30px,6vw,100px);
  padding:clamp(34px,4vw,58px) 0;
  border-bottom:1px solid rgba(142,5,3,.18);
}

.editorial-list-row>div:first-child{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:clamp(14px,2vw,26px);
  align-items:start;
}

.editorial-index{
  padding-top:8px;
  font-size:11px;
  color:var(--coral-2);
}

.editorial-list-row h3,
.editorial-three-item h3{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(34px,3.7vw,60px);
  line-height:.92;
  letter-spacing:-.05em;
  color:var(--red-deep);
}

.editorial-list-row p,
.editorial-three-item p,
.editorial-copy p,
.editorial-calendar-head p,
.prayer-care-panel p,
.visit-expect-copy p{
  margin:0;
  font-size:clamp(18px,1.35vw,23px);
  line-height:1.5;
  color:var(--muted);
}

.editorial-split,
.ministry-editorial-row,
.visit-map-grid,
.prayer-editorial-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(34px,5vw,86px);
  align-items:center;
}

.editorial-split.reverse .editorial-photo,
.ministry-editorial-row.reverse .editorial-photo{
  order:2;
}

.editorial-photo{
  margin:0;
  min-height:clamp(480px,46vw,720px);
  position:relative;
  overflow:hidden;
  border-radius:clamp(28px,4vw,62px) 0 clamp(28px,4vw,62px) clamp(28px,4vw,62px);
}

.editorial-photo img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}

.editorial-copy{
  display:grid;
  gap:22px;
  align-content:center;
}

.editorial-copy .btn{
  width:max-content;
  margin-top:6px;
}

.editorial-statement-band{
  padding:clamp(72px,8vw,130px) 0;
  background:#fff;
}

.editorial-statement-band-red{
  background:var(--red);
  color:#fff;
}

.editorial-statement-grid{
  display:grid;
  grid-template-columns:minmax(190px,.38fr) minmax(0,1.22fr) minmax(280px,.58fr);
  gap:clamp(28px,5vw,80px);
  align-items:start;
}

.editorial-statement-grid blockquote{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(44px,5.7vw,94px);
  line-height:.9;
  letter-spacing:-.06em;
  color:var(--red-deep);
}

.editorial-statement-grid>p{
  margin:0;
  font-size:clamp(18px,1.4vw,23px);
  line-height:1.5;
  color:var(--muted);
}

.editorial-statement-band-red .editorial-kicker{color:var(--peach)}
.editorial-statement-band-red .editorial-statement-grid blockquote{color:#fff}
.editorial-statement-band-red .editorial-statement-grid>p{color:rgba(255,255,255,.82)}

.editorial-three{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid rgba(142,5,3,.18);
  border-bottom:1px solid rgba(142,5,3,.18);
}

.editorial-three-item{
  padding:clamp(32px,4vw,56px) clamp(22px,3vw,44px);
}

.editorial-three-item+ .editorial-three-item{
  border-left:1px solid rgba(142,5,3,.18);
}

.editorial-three-item h3{margin:14px 0 22px}

.editorial-rhythm-band{
  padding:clamp(38px,4vw,60px) 0;
  background:var(--red-deep);
  color:#fff;
}

.editorial-rhythm-band-light{
  background:#fff;
  color:var(--red-deep);
  border-bottom:1px solid rgba(142,5,3,.12);
}

.editorial-rhythm-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.editorial-rhythm-grid>div{
  min-height:130px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  gap:8px;
  padding:0 clamp(22px,3vw,42px);
}

.editorial-rhythm-grid>div:first-child{padding-left:0}
.editorial-rhythm-grid>div+div{border-left:1px solid rgba(255,255,255,.2)}
.editorial-rhythm-band-light .editorial-rhythm-grid>div+div{border-left-color:rgba(142,5,3,.15)}

.editorial-rhythm-grid span{
  font-size:11px;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--peach);
}

.editorial-rhythm-band-light .editorial-rhythm-grid span{color:var(--red)}

.editorial-rhythm-grid strong{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(30px,3vw,48px);
  line-height:.94;
  letter-spacing:-.05em;
}

.editorial-rhythm-grid small{
  font-size:13px;
  color:rgba(255,255,255,.66);
}
.editorial-rhythm-band-light .editorial-rhythm-grid small{color:var(--muted)}

.editorial-cta{
  padding:clamp(66px,7vw,110px) 0;
  background:#fff;
}

.editorial-cta-red{
  background:var(--red-deep);
  color:#fff;
}

.editorial-cta-grid{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(300px,.82fr);
  gap:clamp(34px,6vw,96px);
  align-items:end;
}

.editorial-cta h2{
  margin:10px 0 0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(54px,7vw,116px);
  line-height:.86;
  letter-spacing:-.06em;
  color:var(--red-deep);
}

.editorial-cta-red h2{color:#fff}
.editorial-cta-grid>div:last-child>p{margin:0 0 24px;font-size:clamp(18px,1.4vw,23px);line-height:1.5;color:var(--muted)}
.editorial-cta-red .editorial-cta-grid>div:last-child>p{color:rgba(255,255,255,.78)}
.editorial-cta-red .editorial-kicker{color:var(--peach)}

.ministry-rows-section{
  display:grid;
  gap:clamp(74px,8vw,130px);
}

.ministry-editorial-row .editorial-photo{
  min-height:clamp(500px,48vw,760px);
}

.editorial-events-feed{
  padding:clamp(72px,7vw,112px) 0 clamp(80px,8vw,126px);
  background:linear-gradient(118deg,var(--coral) 0%,var(--orange-soft) 54%,var(--orange) 100%);
  overflow:hidden;
}

.editorial-events-feed .editorial-section-heading h2{color:#fff}
.editorial-events-feed .event-carousel::before{background:linear-gradient(90deg,var(--coral),rgba(251,123,118,0))}
.editorial-events-feed .event-carousel::after{background:linear-gradient(270deg,var(--orange),rgba(236,136,87,0))}

.editorial-calendar-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.62fr);
  gap:clamp(30px,5vw,78px);
  align-items:end;
  margin-bottom:36px;
}

.editorial-calendar{
  border-radius:clamp(28px,4vw,54px);
  overflow:hidden;
  min-height:480px;
  background:#fff;
}

.editorial-calendar .calendar-empty{
  min-height:480px;
  display:grid;
  place-items:center;
  padding:46px;
  text-align:center;
}

.prayer-editorial-grid{align-items:start}

.prayer-form-panel{
  padding:clamp(34px,4vw,58px);
  background:#fff;
  border:1px solid rgba(142,5,3,.15);
  border-radius:clamp(28px,4vw,54px);
}

.prayer-form-panel h2{font-size:clamp(46px,5.5vw,82px);margin:10px 0 30px}
.prayer-form-panel input,
.prayer-form-panel textarea{
  background:#fffaf8;
  border:1px solid rgba(142,5,3,.18);
}

.prayer-care-panel{
  display:grid;
  gap:22px;
}

.prayer-care-panel .editorial-photo{
  min-height:clamp(420px,42vw,620px);
  margin-bottom:10px;
}

.prayer-care-panel h2{font-size:clamp(42px,5vw,76px)}

.editorial-video-section{
  padding:clamp(72px,7vw,112px) 0;
  background:var(--red-deep);
  color:#fff;
}

.editorial-video-head{
  display:grid;
  grid-template-columns:minmax(180px,.4fr) minmax(0,1.6fr);
  gap:clamp(24px,5vw,80px);
  align-items:end;
  margin-bottom:40px;
}

.editorial-video-head .editorial-kicker{color:var(--peach)}
.editorial-video-head h2{color:#fff}
.editorial-video-frame{border-radius:clamp(28px,4vw,56px);overflow:hidden;background:#000}
.editorial-video-section .button-row{margin-top:24px}
.watch-video-meta{margin-top:18px;max-width:900px}
.watch-video-meta p{margin:0;color:rgba(255,255,255,.78);font-size:clamp(15px,1.5vw,18px);font-weight:650}
.editorial-video-section .btn.secondary{border-color:rgba(255,255,255,.42);color:#fff;background:transparent}
.editorial-video-section .btn.secondary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.72)}


/* V5.16 — stateful Watch placeholder + featured livestream */
.watch-stage{
  position:relative; isolation:isolate; aspect-ratio:16/9; min-height:clamp(300px,48vw,690px);
  background:radial-gradient(circle at 18% 22%,rgba(251,123,118,.34),transparent 35%),radial-gradient(circle at 82% 74%,rgba(246,170,134,.2),transparent 34%),linear-gradient(135deg,#510704 0%,#8e0503 48%,#2b0e0b 100%);
}
.watch-stage iframe{position:absolute;inset:0;width:100%;height:100%;z-index:3}
.watch-stage iframe[hidden]{display:none!important}
[data-youtube-live-link][hidden],[data-youtube-featured-link][hidden]{display:none!important}
.watch-placeholder{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;padding:clamp(32px,6vw,76px);color:#fff;text-align:center}
.watch-placeholder[hidden]{display:none!important}
.watch-placeholder::before{content:"";position:absolute;inset:22px;border:1px solid rgba(255,255,255,.16);border-radius:clamp(22px,3.5vw,44px);pointer-events:none}
.watch-placeholder-orb{position:absolute;width:min(52vw,620px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(251,123,118,.19),rgba(251,123,118,0) 68%);filter:blur(4px);pointer-events:none}
.watch-placeholder-content{position:relative;z-index:2;width:min(760px,100%);display:grid;justify-items:center;gap:clamp(10px,1.4vw,18px)}
.watch-placeholder-mark{width:clamp(54px,7vw,92px);height:auto;margin-bottom:2px;filter:drop-shadow(0 10px 24px rgba(28,0,0,.28))}
.watch-placeholder-kicker{font-size:clamp(10px,1vw,13px);font-weight:850;letter-spacing:.19em;text-transform:uppercase;color:var(--peach)}
.watch-placeholder h3{max-width:14ch;margin:0;font-family:'Bricolage Grotesque',sans-serif;font-size:clamp(36px,5.4vw,76px);line-height:.94;letter-spacing:-.045em;color:#fff}
.watch-placeholder p{margin:0;font-size:clamp(14px,1.35vw,18px);line-height:1.55;font-weight:650;color:rgba(255,255,255,.78)}
.watch-placeholder-pulse{display:inline-flex;align-items:center;gap:9px;margin-top:4px;padding:9px 13px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);font-size:clamp(11px,1vw,13px);font-weight:800;letter-spacing:.045em}
.watch-placeholder-pulse i{width:8px;height:8px;border-radius:50%;background:var(--coral);box-shadow:0 0 0 5px rgba(251,123,118,.13)}
@media(max-width:800px){
  .watch-stage{min-height:clamp(390px,112vw,520px);aspect-ratio:auto}
  .watch-placeholder{padding:34px 24px}
  .watch-placeholder::before{inset:14px;border-radius:24px}
  .watch-placeholder-mark{width:62px}
  .watch-placeholder h3{font-size:clamp(38px,11vw,54px)}
  .watch-placeholder p{font-size:14px}
  .watch-placeholder-pulse{max-width:90%;justify-content:center}
}


.visit-map-grid{align-items:stretch}
.editorial-map{min-height:520px;border-radius:clamp(28px,4vw,56px);overflow:hidden}
.editorial-map iframe{width:100%;height:100%;min-height:520px;border:0}

.visit-expect-grid{
  display:grid;
  grid-template-columns:minmax(260px,.7fr) repeat(2,minmax(0,1fr));
  gap:clamp(22px,3vw,40px);
  align-items:stretch;
}

.visit-expect-copy{
  align-self:center;
  padding-right:clamp(10px,2vw,30px);
}

.visit-expect-grid .editorial-photo{min-height:520px}

.editorial-404{
  min-height:calc(100vh - 92px);
  display:grid;
  place-items:center;
  background:var(--red-deep);
  color:#fff;
}

.editorial-404::after{background:rgba(246,170,134,.12)}
.editorial-404-inner{padding:80px 0}
.editorial-404 h1{max-width:9ch;color:#fff;font-size:clamp(86px,15vw,230px)}
.editorial-404 p{font-size:clamp(22px,2vw,32px);margin:32px 0;color:rgba(255,255,255,.78)}
.editorial-404 .editorial-kicker{color:var(--peach)}

@media(max-width:1180px){
  .editorial-page-hero-grid,
  .editorial-split,
  .ministry-editorial-row,
  .visit-map-grid,
  .prayer-editorial-grid{
    grid-template-columns:1fr;
  }

  .editorial-page-hero h1{font-size:clamp(92px,16vw,176px)}
  .editorial-page-hero-media{min-height:560px}
  .editorial-split.reverse .editorial-photo,
  .ministry-editorial-row.reverse .editorial-photo{order:0}

  .editorial-statement-grid{grid-template-columns:1fr 1.4fr;}
  .editorial-statement-grid>p{grid-column:2}
  .editorial-section-heading{grid-template-columns:1fr;gap:16px}
  .editorial-calendar-head{grid-template-columns:1fr}
  .visit-expect-grid{grid-template-columns:1fr 1fr}
  .visit-expect-copy{grid-column:1 / -1;max-width:760px}
}

@media(max-width:800px){
  .editorial-page-hero{padding:34px 0 54px}
  .editorial-page-hero h1{font-size:clamp(68px,20vw,112px)}
  .editorial-page-hero-copy h2{font-size:clamp(36px,10vw,52px)}
  .editorial-page-hero-media{min-height:410px;border-radius:28px 28px 0 28px}
  .editorial-section{padding:58px 0}
  .editorial-section-heading h2,
  .editorial-copy h2,
  .editorial-calendar-head h2,
  .prayer-form-panel h2,
  .prayer-care-panel h2,
  .editorial-video-head h2{font-size:clamp(40px,12vw,60px)}

  .editorial-list-row{grid-template-columns:1fr;gap:18px;padding:30px 0}
  .editorial-list-row>div:first-child{grid-template-columns:38px minmax(0,1fr)}
  .editorial-list-row h3,.editorial-three-item h3{font-size:clamp(34px,10vw,48px)}
  .editorial-statement-grid{grid-template-columns:1fr;gap:22px}
  .editorial-statement-grid>p{grid-column:auto}
  .editorial-statement-grid blockquote{font-size:clamp(40px,12vw,60px)}
  .editorial-three{grid-template-columns:1fr}
  .editorial-three-item{padding:30px 0}
  .editorial-three-item+.editorial-three-item{border-left:0;border-top:1px solid rgba(142,5,3,.18)}
  .editorial-rhythm-grid{grid-template-columns:1fr}
  .editorial-rhythm-grid>div,
  .editorial-rhythm-grid>div:first-child{min-height:0;padding:24px 0}
  .editorial-rhythm-grid>div+div{border-left:0;border-top:1px solid rgba(255,255,255,.18)}
  .editorial-rhythm-band-light .editorial-rhythm-grid>div+div{border-top-color:rgba(142,5,3,.15)}
  .editorial-cta-grid{grid-template-columns:1fr;gap:26px}
  .editorial-cta h2{font-size:clamp(44px,13vw,64px)}
  .editorial-photo{min-height:430px;border-radius:28px 0 28px 28px}
  .editorial-video-head{grid-template-columns:1fr;gap:14px}
  .visit-expect-grid{grid-template-columns:1fr}
  .visit-expect-copy{grid-column:auto}
  .visit-expect-grid .editorial-photo{min-height:420px}
  .prayer-form-panel{padding:26px 20px}
}


/* ==========================================================
   V4.1 — homepage-scale section titles across interior pages
   ========================================================== */

.interior-display-head{
  position:relative;
  z-index:2;
  margin-bottom:clamp(38px,4.8vw,72px);
}

.interior-display-title{
  margin:0;
  max-width:none;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(82px,9.8vw,172px);
  line-height:.76;
  letter-spacing:var(--display-heading-tracking);
  text-transform:uppercase;
  font-weight:800;
  color:var(--red-deep);
  text-wrap:balance;
}

.interior-display-title .warm{
  color:var(--coral-2);
}

.interior-display-title.on-dark{
  color:#fff;
}

.interior-display-title.on-dark .warm{
  color:var(--peach);
}

.interior-display-title.on-coral{
  color:var(--red-deep);
}

.interior-display-title.on-coral .warm{
  color:#fff;
}

/* Keep the new display labels visually connected to their content. */
.editorial-statement-band > .interior-display-head + .editorial-statement-grid,
.editorial-section > .interior-display-head + .editorial-section-heading,
.editorial-section > .interior-display-head + .editorial-split,
.editorial-section > .interior-display-head + .visit-map-grid,
.editorial-section > .interior-display-head + .prayer-editorial-grid,
.editorial-video-section > .interior-display-head + .editorial-video-head,
.editorial-events-feed > .interior-display-head + .editorial-section-heading,
.editorial-cta > .interior-display-head + .editorial-cta-grid{
  margin-top:0;
}

/* Ministry rows already carry large photography, so the label gets breathing room
   without turning the page into a long empty band. */
.ministry-rows-section > .interior-display-head{
  margin-bottom:clamp(6px,1vw,16px);
}

@media(max-width:1180px){
  .interior-display-title{
    font-size:clamp(72px,12.5vw,138px);
    line-height:.78;
  }

  .interior-display-head{
    margin-bottom:clamp(30px,4vw,52px);
  }
}

@media(max-width:800px){
  .interior-display-title{
    font-size:clamp(54px,15.5vw,88px);
    line-height:.8;
    letter-spacing:-.03em;
  }

  .interior-display-head{
    margin-bottom:28px;
  }
}


/* V4.2 — About page hero title */
.editorial-page-hero .editorial-hero-display{
  opacity:1!important;
  visibility:visible!important;
  clip-path:none!important;
  transform:none!important;
  filter:none!important;
  max-width:none;
  white-space:nowrap;
  margin:0 0 clamp(30px,3vw,46px);
  font-size:clamp(108px,12.8vw,220px);
  line-height:.72;
  letter-spacing:var(--display-heading-tracking);
}

@media(max-width:1180px){
  .editorial-page-hero .editorial-hero-display{
    font-size:clamp(88px,14vw,154px);
  }
}

@media(max-width:800px){
  .editorial-page-hero .editorial-hero-display{
    white-space:normal;
    font-size:clamp(66px,19vw,104px);
    margin-bottom:24px;
  }
}


/* V4.4 — rebalance Who We're Becoming statement */
.editorial-statement-band .editorial-statement-grid{
  grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);
  gap:clamp(38px,5vw,84px);
  align-items:end;
}

.editorial-statement-band .editorial-statement-grid blockquote{
  max-width:13ch;
  font-size:clamp(54px,5.2vw,86px);
  line-height:.92;
  letter-spacing:-.05em;
}

.editorial-statement-band .editorial-statement-grid>p{
  max-width:32ch;
  justify-self:end;
  padding-bottom:clamp(4px,.7vw,10px);
  font-size:clamp(19px,1.45vw,24px);
  line-height:1.48;
}

@media(max-width:1180px){
  .editorial-statement-band .editorial-statement-grid{
    grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);
    gap:30px;
  }

  .editorial-statement-band .editorial-statement-grid>p{
    grid-column:auto;
  }
}

@media(max-width:800px){
  .editorial-statement-band .editorial-statement-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .editorial-statement-band .editorial-statement-grid blockquote{
    max-width:12ch;
    font-size:clamp(42px,12vw,62px);
  }

  .editorial-statement-band .editorial-statement-grid>p{
    max-width:none;
    justify-self:start;
    padding-bottom:0;
  }
}


/* V4.5 — About: WHAT SHAPES US triad heading */
.editorial-triad-heading{
  display:block;
}

.editorial-triad{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,3vw,48px);
  width:100%;
  align-items:end;
}

.editorial-triad span{
  display:block;
}

.editorial-triad span:nth-child(1){text-align:left}
.editorial-triad span:nth-child(2){text-align:center}
.editorial-triad span:nth-child(3){text-align:right}

@media(max-width:800px){
  .editorial-triad{
    grid-template-columns:1fr;
    gap:10px;
  }

  .editorial-triad span:nth-child(1),
  .editorial-triad span:nth-child(2),
  .editorial-triad span:nth-child(3){
    text-align:left;
  }
}


/* V4.6 — open tracking on The Word / Prayer / Obedience */
.editorial-triad{
  letter-spacing:-.035em !important;
}

@media(max-width:800px){
  .editorial-triad{
    letter-spacing:-.025em !important;
  }
}


/* V4.8 — Beliefs hero title: one title, language-swapped in place */
.editorial-page-hero .beliefs-hero-display{
  white-space:normal;
  max-width:8.2ch;
  font-size:clamp(96px,10.8vw,188px);
  line-height:.74;
  letter-spacing:var(--display-heading-tracking);
  margin:0 0 clamp(28px,3vw,44px);
}

@media(max-width:1180px){
  .editorial-page-hero .beliefs-hero-display{
    max-width:9ch;
    font-size:clamp(82px,13vw,146px);
  }
}

@media(max-width:800px){
  .editorial-page-hero .beliefs-hero-display{
    max-width:none;
    font-size:clamp(64px,18vw,100px);
    line-height:.78;
  }
}


/* V4.10 — Beliefs: Living Faith refinement */
.beliefs-editorial-section + .editorial-cta .living-faith-display{
  font-size:clamp(108px,12vw,210px);
  line-height:.72;
  letter-spacing:-.03em;
  margin-bottom:clamp(34px,4vw,58px);
}

.beliefs-editorial-section + .editorial-cta .editorial-cta-grid h2{
  margin-top:0;
  letter-spacing:-.035em;
  line-height:.9;
}

@media(max-width:1180px){
  .beliefs-editorial-section + .editorial-cta .living-faith-display{
    font-size:clamp(88px,14vw,156px);
  }
}

@media(max-width:800px){
  .beliefs-editorial-section + .editorial-cta .living-faith-display{
    font-size:clamp(66px,18vw,104px);
    letter-spacing:-.025em;
  }

  .beliefs-editorial-section + .editorial-cta .editorial-cta-grid h2{
    letter-spacing:-.03em;
  }
}


/* ==========================================================
   V4.15 — Ministries page rebuild
   Homepage / About / Beliefs editorial system
   ========================================================== */

.ministries-page-hero .ministries-page-title{
  max-width:none;
  white-space:nowrap;
  font-size:clamp(104px,12.8vw,220px);
  line-height:.72;
  letter-spacing:var(--display-heading-tracking);
}

.ministry-philosophy{
  background:#fff;
}

.ministry-philosophy-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  gap:clamp(36px,5vw,84px);
  align-items:end;
}

.ministry-philosophy-grid blockquote{
  margin:0;
  max-width:13ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(52px,5vw,84px);
  line-height:.92;
  letter-spacing:-.045em;
  color:var(--red-deep);
}

.ministry-philosophy-copy{
  justify-self:end;
  max-width:520px;
}

.ministry-philosophy-copy p{
  margin:0;
  font-size:clamp(19px,1.45vw,24px);
  line-height:1.5;
  color:var(--muted);
}

.ministry-page-features{
  display:block;
  padding-top:clamp(72px,7vw,116px);
}

.ministry-page-features > .interior-display-head{
  margin-bottom:clamp(30px,4vw,60px);
}

.ministry-page-features .ministry-feature-row{
  position:relative;
  padding:clamp(52px,5.5vw,88px) 0;
  border-top:1px solid rgba(142,5,3,.16);
}

.ministry-page-features .ministry-feature-row:last-child{
  border-bottom:1px solid rgba(142,5,3,.16);
}

.ministry-page-features .ministry-editorial-row .editorial-photo{
  min-height:clamp(430px,38vw,610px);
  border-radius:clamp(26px,3.4vw,52px) 0 clamp(26px,3.4vw,52px) clamp(26px,3.4vw,52px);
}

.ministry-feature-copy{
  gap:18px;
}

.ministry-feature-copy .editorial-index{
  margin-bottom:4px;
}

.ministry-feature-copy .ministry-feature-name{
  margin:0;
  max-width:10ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(62px,6.1vw,104px);
  line-height:.8;
  letter-spacing:-.035em;
  text-transform:uppercase;
  color:var(--red-deep);
}

.ministry-feature-copy h3{
  margin:6px 0 0;
  max-width:18ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(30px,3vw,48px);
  line-height:.96;
  letter-spacing:-.035em;
  color:var(--red);
}

.ministry-feature-copy p{
  max-width:38ch;
}

.ministry-service-band{
  padding:clamp(76px,7.5vw,124px) 0 clamp(82px,8vw,132px);
  background:var(--red-deep);
  color:#fff;
  overflow:hidden;
}

.ministry-service-band .interior-display-head{
  margin-bottom:clamp(44px,5vw,76px);
}

.ministry-service-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.2);
}

.ministry-service-item{
  min-width:0;
  padding:clamp(34px,4vw,58px) clamp(24px,3.5vw,54px) 0 0;
}

.ministry-service-item + .ministry-service-item{
  border-left:1px solid rgba(255,255,255,.2);
  padding-left:clamp(24px,3.5vw,54px);
  padding-right:0;
}

.ministry-service-item figure{
  margin:0 0 clamp(26px,3vw,42px);
  aspect-ratio:16 / 10;
  overflow:hidden;
  border-radius:clamp(22px,2.8vw,42px);
}

.ministry-service-item figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.ministry-service-copy{
  display:grid;
  gap:14px;
}

.ministry-service-copy .editorial-index{
  color:var(--peach);
}

.ministry-service-copy h3{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(54px,5.2vw,88px);
  line-height:.82;
  letter-spacing:-.03em;
  color:#fff;
}

.ministry-service-copy h4{
  margin:4px 0 0;
  max-width:18ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(27px,2.7vw,43px);
  line-height:.98;
  letter-spacing:-.035em;
  color:var(--peach);
}

.ministry-service-copy p{
  margin:6px 0 0;
  max-width:42ch;
  font-size:clamp(17px,1.25vw,21px);
  line-height:1.5;
  color:rgba(255,255,255,.78);
}

.ministry-service-link{
  width:max-content;
  margin-top:8px;
  color:#fff;
  font-size:14px;
  font-weight:850;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:5px;
}

.ministry-find-place{
  background:linear-gradient(120deg,#fff 0%,rgba(246,170,134,.18) 100%);
}

.ministry-find-place .editorial-cta-grid h2{
  letter-spacing:-.035em;
}

@media(max-width:1180px){
  .ministries-page-hero .ministries-page-title{
    font-size:clamp(88px,14vw,156px);
  }

  .ministry-philosophy-grid{
    grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
    gap:32px;
  }

  .ministry-feature-copy .ministry-feature-name{
    font-size:clamp(54px,7vw,82px);
  }
}

@media(max-width:800px){
  .ministries-page-hero .ministries-page-title{
    white-space:normal;
    font-size:clamp(68px,19vw,104px);
  }

  .ministry-philosophy-grid{
    grid-template-columns:1fr;
    gap:24px;
  }

  .ministry-philosophy-grid blockquote{
    max-width:12ch;
    font-size:clamp(42px,12vw,62px);
  }

  .ministry-philosophy-copy{
    justify-self:start;
    max-width:none;
  }

  .ministry-page-features .ministry-feature-row{
    padding:42px 0;
  }

  .ministry-feature-copy .ministry-feature-name{
    max-width:none;
    font-size:clamp(48px,14vw,72px);
  }

  .ministry-service-grid{
    grid-template-columns:1fr;
  }

  .ministry-service-item,
  .ministry-service-item + .ministry-service-item{
    padding:34px 0 42px;
    border-left:0;
  }

  .ministry-service-item + .ministry-service-item{
    border-top:1px solid rgba(255,255,255,.2);
  }

  .ministry-service-copy h3{
    font-size:clamp(48px,14vw,72px);
  }
}


/* V4.16 — Ministries hero breathing room */
@media(min-width:1181px){
  .ministries-page-hero .editorial-page-hero-grid{
    grid-template-columns:minmax(0,1.12fr) minmax(390px,.88fr);
    gap:clamp(54px,6vw,104px);
  }

  .ministries-page-hero .ministries-page-title{
    font-size:clamp(100px,11.4vw,198px);
  }
}


/* V4.21 — Ministries: Serving at Home & Abroad */
.ministry-outreach-intro{
  display:flex;
  justify-content:flex-end;
  margin-top:calc(clamp(44px,5vw,76px) * -0.45);
  margin-bottom:clamp(38px,4.5vw,68px);
}

.ministry-outreach-intro p{
  margin:0;
  max-width:48ch;
  font-size:clamp(19px,1.45vw,24px);
  line-height:1.5;
  color:rgba(255,255,255,.78);
}

.ministry-outreach-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.2);
}

.ministry-outreach-item{
  min-width:0;
  padding:clamp(34px,3.8vw,56px) clamp(24px,3.2vw,48px) clamp(42px,4.5vw,68px) 0;
  border-bottom:1px solid rgba(255,255,255,.2);
}

.ministry-outreach-item:nth-child(even){
  border-left:1px solid rgba(255,255,255,.2);
  padding-left:clamp(24px,3.2vw,48px);
  padding-right:0;
}

.ministry-outreach-item figure{
  margin:0 0 clamp(24px,2.8vw,38px);
  aspect-ratio:16 / 9;
  overflow:hidden;
  border-radius:clamp(20px,2.4vw,36px);
}

.ministry-outreach-item figure img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.ministry-outreach-copy{
  display:grid;
  gap:14px;
}

.ministry-outreach-copy h3{
  margin:0;
  max-width:12ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(42px,4.2vw,70px);
  line-height:.84;
  letter-spacing:-.03em;
  color:#fff;
}

.ministry-outreach-copy p{
  margin:2px 0 0;
  max-width:44ch;
  font-size:clamp(17px,1.2vw,20px);
  line-height:1.5;
  color:rgba(255,255,255,.76);
}

@media(max-width:900px){
  .ministry-outreach-intro{
    justify-content:flex-start;
    margin-top:0;
  }

  .ministry-outreach-grid{
    grid-template-columns:1fr;
  }

  .ministry-outreach-item,
  .ministry-outreach-item:nth-child(even){
    padding:32px 0 42px;
    border-left:0;
  }

  .ministry-outreach-item:nth-child(even){
    padding-left:0;
  }

  .ministry-outreach-copy h3{
    max-width:none;
    font-size:clamp(42px,11vw,64px);
  }
}


/* V4.22 — Remove trailing outreach divider */
.ministry-outreach-item{
  border-bottom:0;
}

.ministry-outreach-item:nth-child(-n+2){
  border-bottom:1px solid rgba(255,255,255,.2);
}

@media(max-width:900px){
  .ministry-outreach-item,
  .ministry-outreach-item:nth-child(-n+2){
    border-bottom:1px solid rgba(255,255,255,.2);
  }

  .ministry-outreach-item:last-child{
    border-bottom:0;
  }
}


/* V4.23 — Ministry subtitles use navbar coral */
.ministry-feature-copy h3{
  color:var(--coral);
}


/* V4.24 — Find Your Place subtitle color */
.ministry-find-place .editorial-cta-grid h2{
  color:var(--coral);
}


/* ==========================================================
   V4.27 — Missions page story + travel gallery
   ========================================================== */

.missions-why-grid{
  grid-template-columns:minmax(0,1.22fr) minmax(300px,.78fr);
  align-items:end;
}

.missions-why .missions-scripture{
  display:grid;
  gap:18px;
}

.missions-why .missions-scripture .editorial-ref{
  color:var(--peach);
}

.missions-why .missions-scripture blockquote{
  max-width:12ch;
}

.missions-why-copy{
  align-self:end;
}

.missions-why-copy p{
  margin:0;
  max-width:35ch;
  font-size:clamp(19px,1.5vw,25px);
  line-height:1.5;
  color:rgba(255,255,255,.82);
}

.missions-where{
  padding-top:clamp(82px,8vw,132px);
  padding-bottom:clamp(88px,8vw,140px);
}

.missions-where .interior-display-head{
  margin-bottom:clamp(52px,5vw,82px);
}

.missions-where-grid{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);
  gap:clamp(46px,6vw,100px);
  align-items:start;
}

.missions-where-statement h3{
  margin:0;
  max-width:10ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(58px,6vw,104px);
  line-height:.86;
  letter-spacing:-.04em;
  color:var(--red-deep);
}

.missions-where-copy{
  padding-top:8px;
}

.missions-where-copy .editorial-ref{
  display:block;
  margin-bottom:18px;
  color:var(--red);
}

.missions-where-copy .missions-verse{
  margin:0 0 28px;
  max-width:28ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(29px,2.8vw,46px);
  line-height:1;
  letter-spacing:-.035em;
  color:var(--coral);
  font-weight:750;
}

.missions-where-copy > p:not(.missions-verse){
  margin:0;
  max-width:42ch;
  font-size:clamp(18px,1.35vw,22px);
  line-height:1.55;
  color:var(--muted);
}

.missions-history{
  padding-top:clamp(80px,8vw,128px);
  padding-bottom:clamp(92px,9vw,150px);
}

.missions-history .interior-display-head{
  margin-bottom:clamp(36px,4vw,58px);
}

.missions-history-intro{
  display:flex;
  justify-content:flex-end;
  margin-bottom:clamp(44px,5vw,78px);
}

.missions-history-intro p{
  margin:0;
  max-width:45ch;
  font-size:clamp(18px,1.35vw,22px);
  line-height:1.55;
  color:var(--muted);
}

.missions-gallery{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(18px,2.2vw,34px);
  align-items:start;
}

.missions-gallery-item{
  position:relative;
  margin:0;
  min-width:0;
}

.missions-gallery-cuba,
.missions-gallery-colombia{
  grid-column:span 7;
}

.missions-gallery-dr,
.missions-gallery-ecuador{
  grid-column:span 5;
}

.missions-gallery-placeholder{
  position:relative;
  min-height:clamp(360px,36vw,590px);
  padding:clamp(26px,3vw,44px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  border-radius:clamp(24px,3vw,46px);
  background:
    radial-gradient(circle at 82% 18%,rgba(255,255,255,.34),transparent 0 22%,transparent 23%),
    linear-gradient(135deg,var(--coral) 0%,var(--orange-soft) 52%,var(--orange) 100%);
  color:var(--red-deep);
}

.missions-gallery-dr .missions-gallery-placeholder,
.missions-gallery-ecuador .missions-gallery-placeholder{
  min-height:clamp(310px,30vw,500px);
  background:
    radial-gradient(circle at 18% 82%,rgba(255,255,255,.25),transparent 0 24%,transparent 25%),
    linear-gradient(145deg,var(--peach) 0%,var(--coral-2) 58%,var(--orange) 100%);
}

.missions-placeholder-mark{
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(70px,8vw,132px);
  line-height:.75;
  letter-spacing:-.05em;
  font-weight:800;
  opacity:.14;
}

.missions-gallery-placeholder > span:last-child,
.missions-gallery-placeholder > span:nth-last-child(2){
  align-self:flex-end;
  max-width:18ch;
  font-size:13px;
  line-height:1.2;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.08em;
  text-align:right;
}

.missions-gallery-item figcaption{
  padding-top:16px;
}

.missions-gallery-item figcaption strong{
  display:block;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(30px,3vw,50px);
  line-height:.9;
  letter-spacing:-.035em;
  color:var(--red-deep);
}

@media(max-width:900px){
  .missions-why-grid,
  .missions-where-grid{
    grid-template-columns:1fr;
    gap:30px;
  }

  .missions-why-copy p{
    max-width:none;
  }

  .missions-where-statement h3{
    max-width:12ch;
    font-size:clamp(48px,13vw,72px);
  }

  .missions-history-intro{
    justify-content:flex-start;
  }

  .missions-gallery{
    grid-template-columns:1fr;
  }

  .missions-gallery-cuba,
  .missions-gallery-colombia,
  .missions-gallery-dr,
  .missions-gallery-ecuador{
    grid-column:auto;
  }

  .missions-gallery-placeholder,
  .missions-gallery-dr .missions-gallery-placeholder,
  .missions-gallery-ecuador .missions-gallery-placeholder{
    min-height:clamp(300px,76vw,460px);
  }
}


/* V4.33 — White navigation */
.site-header,
.site-header.is-scrolled{
  background:rgba(255,255,255,.96);
  color:var(--red-deep);
  backdrop-filter:blur(18px) saturate(120%);
}

.site-header{
  border-bottom:1px solid rgba(142,5,3,.08);
}

.site-header.is-scrolled{
  box-shadow:0 10px 34px rgba(72,18,13,.08);
}

.lang-switch{
  background:rgba(251,123,118,.13);
}




/* V4.36 — Youth ministry photo crop adjustment */
.ministry-youth-photo img{
  object-position:center 16%;
}

@media(max-width:800px){
  .ministry-youth-photo img{
    object-position:center 14%;
  }
}


/* V4.42 — Show full outreach photos without cropping */
.ministry-outreach-item figure{
  aspect-ratio:auto;
  height:auto;
}

.ministry-outreach-item figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  object-position:center;
}


/* V4.44 — Homepage ministries cleanup */
.ministries-home .ministry-home-item h3{
  color:var(--coral);
}


/* ==========================================================
   V4.46 — Prayer form checkbox/layout repair
   ========================================================== */

.prayer-form-panel .check-row{
  display:flex;
  align-items:flex-start;
  gap:14px;
  width:100%;
  padding:4px 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.45;
  font-weight:650;
  cursor:pointer;
}

/* Override the generic .field input rule for checkboxes.
   Without this, checkbox inputs inherit width:100% and min-height:52px,
   which squeezes the label text into a tiny column. */
.prayer-form-panel .check-row input[type="checkbox"]{
  appearance:auto;
  -webkit-appearance:checkbox;
  flex:0 0 auto;
  width:20px;
  height:20px;
  min-height:0;
  margin:1px 0 0;
  padding:0;
  border-radius:4px;
  box-shadow:none;
  accent-color:var(--red);
}

.prayer-form-panel .check-row span{
  flex:1 1 auto;
  min-width:0;
}

.prayer-form-panel .field:has(.check-row){
  gap:0;
}

.prayer-form-panel .field:has(.check-row) + .field:has(.check-row){
  margin-top:2px;
}

.prayer-form-panel .form-grid{
  row-gap:18px;
}

.prayer-form-panel .form-grid > .field:last-child{
  margin-top:4px;
}

.prayer-form-panel .form-grid > .field:last-child .btn{
  width:100%;
}

@media(max-width:600px){
  .prayer-form-panel .check-row{
    gap:12px;
    font-size:14px;
  }

  .prayer-form-panel .check-row input[type="checkbox"]{
    width:19px;
    height:19px;
  }
}


/* ==========================================================
   V4.48 — Spanish typography + overflow audit
   Keep the Spanish side on the same open-tracking system as
   English while giving longer Spanish display words enough room.
   ========================================================== */

/* Major Spanish display typography uses the same tracking standard
   as its English counterpart. */
body[data-site-lang="es"] .hero-corner-title,
body[data-site-lang="es"] .community-identity-title,
body[data-site-lang="es"] .manifesto-title,
body[data-site-lang="es"] .ministries-home-title,
body[data-site-lang="es"] .events-showcase-title,
body[data-site-lang="es"] .come-home-title,
body[data-site-lang="es"] .editorial-page-hero h1,
body[data-site-lang="es"] .editorial-hero-display,
body[data-site-lang="es"] .interior-display-title,
body[data-site-lang="es"] .ministry-feature-name{
  letter-spacing:var(--display-heading-tracking) !important;
}

/* Spanish section names tend to run longer than English.
   Keep the same visual weight but give them a little more breathing room. */
body[data-site-lang="es"] .interior-display-title{
  max-width:100%;
  font-size:clamp(78px,9.2vw,162px);
  line-height:.78;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}

/* Homepage: prevent the longer Spanish display names from pushing
   into their neighboring copy/photo columns. */
@media(min-width:1181px){
  body[data-site-lang="es"] .community-identity-title{
    font-size:clamp(88px,10.5vw,182px);
  }

  body[data-site-lang="es"] .manifesto .manifesto-title{
    font-size:clamp(118px,14.1vw,238px);
    max-width:7.8ch;
  }

  body[data-site-lang="es"] .ministries-home-title{
    font-size:clamp(94px,12.2vw,206px);
  }

  body[data-site-lang="es"] .events-showcase-title{
    font-size:clamp(96px,12.2vw,206px);
    max-width:8.2ch;
  }

  body[data-site-lang="es"] .come-home-title{
    font-size:clamp(98px,11.4vw,194px);
    line-height:.75;
  }

  body[data-site-lang="es"] .come-home-title span{
    max-width:100%;
  }
}

/* Interior-page heroes: keep Spanish words inside the text column
   instead of allowing a long word to run beneath the photo. */
@media(min-width:1181px){
  body[data-site-lang="es"] .editorial-page-hero h1{
    max-width:100%;
    font-size:clamp(94px,11.8vw,202px);
    line-height:.74;
  }

  body[data-page="beliefs"][data-site-lang="es"] .beliefs-hero-display{
    max-width:9.4ch;
    font-size:clamp(90px,10vw,174px);
  }

  body[data-page="ministries"][data-site-lang="es"] .ministries-page-title{
    max-width:100%;
    white-space:nowrap;
    font-size:clamp(88px,9.7vw,168px);
  }

  body[data-page="visit"][data-site-lang="es"] .editorial-page-hero h1{
    font-size:clamp(90px,10.6vw,184px);
  }
}

/* Tablet: maintain the same tracking while scaling the longer Spanish
   phrases before they reach the photo edge. */
@media(min-width:801px) and (max-width:1180px){
  body[data-site-lang="es"] .community-identity-title{
    font-size:clamp(72px,11.8vw,132px);
  }

  body[data-site-lang="es"] .manifesto .manifesto-title{
    font-size:clamp(94px,12.4vw,158px);
  }

  body[data-site-lang="es"] .ministries-home-title,
  body[data-site-lang="es"] .events-showcase-title{
    font-size:clamp(82px,14vw,154px);
  }

  body[data-site-lang="es"] .come-home-title{
    font-size:clamp(86px,14vw,154px);
  }

  body[data-site-lang="es"] .interior-display-title{
    font-size:clamp(68px,11.7vw,128px);
  }

  body[data-page="ministries"][data-site-lang="es"] .ministries-page-title{
    white-space:normal;
    font-size:clamp(80px,12.5vw,138px);
  }

  body[data-page="visit"][data-site-lang="es"] .editorial-page-hero h1{
    font-size:clamp(82px,14vw,150px);
  }
}

/* Mobile: preserve the open tracking and allow natural line breaks.
   No display word should be clipped at the viewport edge. */
@media(max-width:800px){
  body[data-site-lang="es"] .community-identity-title,
  body[data-site-lang="es"] .manifesto .manifesto-title,
  body[data-site-lang="es"] .ministries-home-title,
  body[data-site-lang="es"] .events-showcase-title,
  body[data-site-lang="es"] .come-home-title,
  body[data-site-lang="es"] .editorial-page-hero h1,
  body[data-site-lang="es"] .editorial-hero-display,
  body[data-site-lang="es"] .interior-display-title,
  body[data-site-lang="es"] .ministry-feature-name{
    letter-spacing:-.03em !important;
  }

  body[data-site-lang="es"] .community-identity-title{
    white-space:normal;
    font-size:clamp(54px,15vw,84px);
  }

  body[data-site-lang="es"] .manifesto .manifesto-title{
    max-width:8ch;
    font-size:clamp(70px,19vw,108px);
  }

  body[data-site-lang="es"] .ministries-home-title,
  body[data-site-lang="es"] .events-showcase-title{
    font-size:clamp(62px,17vw,94px);
  }

  body[data-site-lang="es"] .come-home-title{
    font-size:clamp(62px,17vw,94px);
    line-height:.78;
  }

  body[data-site-lang="es"] .editorial-page-hero h1,
  body[data-site-lang="es"] .editorial-page-hero .editorial-hero-display{
    max-width:100%;
    white-space:normal;
    font-size:clamp(60px,17vw,94px);
    line-height:.78;
  }

  body[data-site-lang="es"] .interior-display-title{
    font-size:clamp(50px,14vw,80px);
    line-height:.82;
  }

  body[data-site-lang="es"] .ministry-feature-name{
    max-width:100%;
    font-size:clamp(44px,12.5vw,66px);
  }
}


/* ==========================================================
   V4.50 — Visit page hero + rhythm band cleanup
   ========================================================== */

body[data-page="visit"] .editorial-rhythm-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}

body[data-page="visit"] .editorial-rhythm-grid > div,
body[data-page="visit"] .editorial-rhythm-grid > div:first-child{
  min-height:156px;
  padding:0 clamp(34px,4vw,62px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  gap:10px;
}

body[data-page="visit"] .editorial-rhythm-grid strong{
  max-width:none;
  text-align:center;
}

body[data-page="visit"] .editorial-rhythm-grid small{
  text-align:center;
}

@media(max-width:800px){
  body[data-page="visit"] .editorial-rhythm-grid > div,
  body[data-page="visit"] .editorial-rhythm-grid > div:first-child{
    min-height:0;
    padding:28px 12px;
    align-items:center;
    text-align:center;
  }
}


/* ==========================================================
   V4.51 — Visit / What to Expect mantra
   Spread the four ideas across the full section width instead
   of stacking them in a narrow left column.
   ========================================================== */

.visit-expect-mantra{
  margin-top:clamp(28px,3vw,44px);
  margin-bottom:clamp(50px,6vw,92px);
}

.visit-expect-mantra h2{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(22px,3vw,54px);
  margin:0;
  width:100%;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(48px,4.7vw,82px);
  line-height:.88;
  letter-spacing:var(--display-heading-tracking);
  color:var(--red-deep);
  font-weight:800;
}

.visit-expect-mantra h2 span{
  min-width:0;
}

.visit-expect-mantra h2 span:nth-child(2),
.visit-expect-mantra h2 span:nth-child(3){
  text-align:center;
}

.visit-expect-mantra h2 span:last-child{
  text-align:right;
}

body[data-site-lang="es"] .visit-expect-mantra h2{
  font-size:clamp(44px,4.3vw,76px);
  letter-spacing:var(--display-heading-tracking);
}

@media(max-width:980px){
  .visit-expect-mantra h2{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px 34px;
    font-size:clamp(46px,8vw,70px);
  }

  .visit-expect-mantra h2 span,
  .visit-expect-mantra h2 span:nth-child(2),
  .visit-expect-mantra h2 span:nth-child(3),
  .visit-expect-mantra h2 span:last-child{
    text-align:left;
  }
}

@media(max-width:560px){
  .visit-expect-mantra{
    margin-bottom:42px;
  }

  .visit-expect-mantra h2{
    grid-template-columns:1fr;
    gap:8px;
    font-size:clamp(44px,13vw,64px);
  }

  body[data-site-lang="es"] .visit-expect-mantra h2{
    font-size:clamp(40px,12vw,58px);
  }
}


/* V4.52 — Center What to Expect mantra */
.visit-expect-mantra h2{
  justify-items:center;
  text-align:center;
}

.visit-expect-mantra h2 span,
.visit-expect-mantra h2 span:nth-child(2),
.visit-expect-mantra h2 span:nth-child(3),
.visit-expect-mantra h2 span:last-child{
  text-align:center;
}


/* ==========================================================
   V4.53 — What to Expect sequential word reveal
   Each phrase slides in from the side one at a time as the
   section enters the viewport.
   ========================================================== */

.motion-ready .visit-expect-mantra h2 span{
  opacity:0;
  transform:translate3d(-56px,0,0);
  transition:
    opacity .62s ease,
    transform .72s cubic-bezier(.2,.8,.2,1);
  will-change:opacity,transform;
}

.motion-ready .visit-expect-mantra.is-visible h2 span{
  opacity:1;
  transform:translate3d(0,0,0);
}

.motion-ready .visit-expect-mantra.is-visible h2 span:nth-child(1){
  transition-delay:.06s;
}

.motion-ready .visit-expect-mantra.is-visible h2 span:nth-child(2){
  transition-delay:.20s;
}

.motion-ready .visit-expect-mantra.is-visible h2 span:nth-child(3){
  transition-delay:.34s;
}

.motion-ready .visit-expect-mantra.is-visible h2 span:nth-child(4){
  transition-delay:.48s;
}

@media(max-width:560px){
  .motion-ready .visit-expect-mantra h2 span{
    transform:translate3d(-38px,0,0);
  }

  .motion-ready .visit-expect-mantra.is-visible h2 span{
    transform:translate3d(0,0,0);
  }
}

@media(prefers-reduced-motion:reduce){
  .motion-ready .visit-expect-mantra h2 span{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}


/* ==========================================================
   V4.57 — Browser performance pass
   Preserve the approved visual design while reducing expensive
   repaint/compositor work, especially in Chromium on macOS.
   ========================================================== */

/* The navigation is already ~96% opaque white. A live backdrop blur on a
   sticky full-width element forces continuous repainting while scrolling. */
.site-header,
.site-header.is-scrolled{
  background:#fff;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* Keep the same glass-like contrast without asking the browser to blur the
   large photo layers behind these surfaces on every frame. */
.hero-side-brand,
.home-hero.hero-copy-visible .hero-side-brand{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

.home-hero.hero-copy-visible .hero-side-brand{
  background:rgba(111,0,0,.68);
}

.manifesto-copy,
.vision-verse-card{
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}

/* A transform transition that is restarted on every scroll frame causes the
   parallax layer to trail the scroll position in Chromium. Let transforms
   follow requestAnimationFrame directly instead. */
.parallax-media img{
  transition:none !important;
  will-change:auto;
}

/* Blur animation on very large type/photos is substantially more expensive
   than opacity + transform and adds little to the approved motion language. */
.motion-ready .hero-corner-title,
.motion-ready .home-hero.hero-title-visible .hero-corner-title{
  filter:none !important;
}

@media(prefers-reduced-motion:no-preference){
  .motion-ready .community-ladder .community-slide-left,
  .motion-ready .community-ladder .community-slide-right,
  .motion-ready .community-ladder .community-slide-left.is-visible,
  .motion-ready .community-ladder .community-slide-right.is-visible{
    filter:none !important;
  }
}

/* Large-image clip-path interpolation is costly in Chrome. Keep the same
   soft entrance using opacity + scale, which stays compositor-friendly. */
.motion-visual{
  clip-path:none !important;
  transition:
    opacity .72s ease,
    transform .9s cubic-bezier(.2,.8,.2,1) !important;
  will-change:auto;
}

.motion-visual.is-visible{
  clip-path:none !important;
}

/* Avoid permanently promoting every reveal element to its own GPU layer.
   Chromium can choose promotion only when it is actually useful. */
.motion-ready .reveal,
.motion-ready .community-ladder .community-slide-left,
.motion-ready .community-ladder .community-slide-right,
.motion-ready .visit-expect-mantra h2 span{
  will-change:auto !important;
}

/* The flyer marquee is a continuous animation. Keep it paused until the
   carousel is near the viewport, and pause it while the page itself scrolls. */
.event-carousel-track{
  animation-play-state:paused;
  will-change:auto;
}

.event-carousel.is-in-view .event-carousel-track{
  animation-play-state:running;
  will-change:transform;
}

html.is-page-scrolling .event-carousel-track,
.event-carousel:hover .event-carousel-track,
.event-carousel:focus-within .event-carousel-track{
  animation-play-state:paused !important;
}

@media(prefers-reduced-motion:reduce){
  .event-carousel-track{
    animation:none !important;
    will-change:auto !important;
  }
}


/* ==========================================================
   V4.58 — Chromium interior-hero title reliability
   Interior hero copy already enters as one parent reveal. Do not
   make the H1 depend on a second nested reveal/intersection state.
   ========================================================== */

.editorial-page-hero h1,
.editorial-page-hero h1.motion-heading{
  opacity:1 !important;
  visibility:visible !important;
  clip-path:none !important;
  transform:none !important;
}

/* If an older cached script temporarily adds motion-heading, keep the title
   stable anyway. This makes the HTML/CSS resilient across cache transitions. */
.editorial-page-hero h1.motion-heading{
  transition:none !important;
  will-change:auto !important;
}


/* ==========================================================
   V4.61 — Mobile layout / typography QA
   PHONE-ONLY. Desktop and tablet/desktop compositions are unchanged.
   ========================================================== */

@media(max-width:800px){

  /* ---------- viewport / overflow safety ---------- */
  html,
  body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }

  body::before{
    display:none;
  }

  main,
  main > *,
  .container,
  .narrow,
  .editorial-page-hero-grid,
  .editorial-page-hero-copy,
  .editorial-page-hero-media,
  .editorial-statement-grid,
  .editorial-section-heading,
  .editorial-split,
  .ministry-editorial-row,
  .visit-map-grid,
  .prayer-editorial-grid,
  .editorial-cta-grid,
  .editorial-calendar-head,
  .editorial-video-head,
  .ministry-philosophy-grid,
  .missions-where-grid,
  .missions-why-grid,
  .visit-expect-grid,
  .ministries-home-head,
  .events-showcase-head,
  .community-ladder-row,
  .community-ladder-copy{
    min-width:0;
  }

  .container,
  .narrow{
    width:calc(100% - 32px);
    max-width:calc(100% - 32px);
  }

  h1,h2,h3,h4,
  p,blockquote,strong,small,span{
    max-width:100%;
  }

  .btn{
    max-width:100%;
    white-space:normal;
    text-align:center;
  }

  /* ---------- homepage hero: normal mobile reveal, no scroll surprise ---------- */
  .home-hero{
    padding-top:8px;
  }

  .home-hero-shell{
    min-height:0;
    overflow:hidden;
    border-radius:30px;
  }

  .hero-background-collage{
    height:100%;
    min-height:0;
  }

  .home-hero-main{
    width:100%;
    padding:32px 18px 28px;
  }

  .hero-corner-title{
    max-width:100%;
    font-size:clamp(58px,17vw,72px);
    line-height:.78;
    letter-spacing:-.03em !important;
  }

  /* Replace the special delayed/scroll-driven hero behavior with the same
     fade + rise used elsewhere on the site. */
  .motion-ready .hero-corner-title,
  .motion-ready .home-hero.hero-title-visible .hero-corner-title{
    opacity:0;
    transform:translate3d(0,32px,0);
    filter:none !important;
    transition:
      opacity .72s ease,
      transform .82s cubic-bezier(.2,.8,.2,1);
  }

  .motion-ready .hero-corner-title.is-visible,
  .motion-ready .home-hero.hero-title-visible .hero-corner-title.is-visible{
    opacity:1;
    transform:none;
  }

  .hero-message{
    margin-top:30px;
    max-width:100%;
  }

  .hero-message p{
    max-width:100%;
    font-size:18px;
    line-height:1.48;
  }

  .motion-ready .hero-message.hero-scroll-copy{
    opacity:0 !important;
    transform:translate3d(0,32px,0) !important;
    clip-path:none !important;
    pointer-events:auto;
    transition:
      opacity .72s ease,
      transform .82s cubic-bezier(.2,.8,.2,1);
  }

  .motion-ready .hero-message.hero-scroll-copy.is-visible{
    opacity:1 !important;
    transform:none !important;
  }

  .home-hero-side{
    width:100%;
    padding:18px;
  }

  .hero-side-brand,
  .home-hero.hero-copy-visible .hero-side-brand{
    min-height:0;
    padding:22px 18px;
    background:rgba(111,0,0,.68);
    border-color:rgba(255,255,255,.12);
  }

  .motion-ready .home-hero-side .brand-mark,
  .motion-ready .home-hero.hero-copy-visible .home-hero-side .brand-mark{
    opacity:1;
    transform:none !important;
    clip-path:none !important;
    pointer-events:auto;
    transition:none !important;
  }

  .hero-side-copy.hero-scroll-copy{
    opacity:1 !important;
    transform:none !important;
    clip-path:none !important;
    pointer-events:auto;
    transition:none !important;
  }

  .hero-side-copy strong{
    max-width:10ch;
    font-size:clamp(32px,9vw,42px);
    line-height:.94;
  }

  .hero-side-copy p{
    margin-top:18px;
    max-width:32ch;
    font-size:15px;
    line-height:1.48;
  }

  .hero-bottom{
    padding-top:38px;
  }

  .hero-actions{
    width:100%;
    gap:10px;
  }

  .schedule-band{
    gap:0;
    padding:30px 0 44px;
  }

  .schedule-band a,
  .schedule-band div{
    padding:22px 0;
    gap:10px;
  }

  .schedule-band a + a,
  .schedule-band div + div,
  .schedule-band a + div,
  .schedule-band div + a{
    border-top:1px solid rgba(255,255,255,.18);
  }

  /* ---------- homepage section titles ---------- */
  .community-identity-title{
    font-size:clamp(54px,15vw,68px);
    line-height:.8;
    margin-bottom:28px;
    max-width:100%;
  }

  .community-identity-intro p{
    font-size:18px;
    line-height:1.5;
  }

  .community-ladder-shell{
    gap:30px;
  }

  .community-ladder-row,
  .community-ladder-row-b,
  .community-ladder-row-c{
    gap:22px;
  }

  .community-ladder-copy{
    width:100%;
  }

  .community-scripture-heading{
    font-size:clamp(42px,11vw,54px) !important;
    line-height:.9 !important;
  }

  .community-scripture-subheading{
    margin-top:24px !important;
    font-size:clamp(22px,6vw,28px) !important;
    line-height:1.24 !important;
  }

  .community-kicker{
    max-width:100%;
    font-size:clamp(38px,10.5vw,50px);
    line-height:.94;
  }

  .community-ladder-copy p{
    margin-top:22px;
    font-size:18px;
    line-height:1.5;
  }

  .manifesto{
    padding:64px 0 70px;
  }

  .manifesto-heading{
    gap:24px;
    padding-bottom:18px;
  }

  .manifesto .manifesto-title{
    max-width:100%;
    font-size:clamp(62px,18vw,78px);
    line-height:.78;
  }

  .manifesto-lead{
    max-width:16ch;
    font-size:clamp(27px,7.5vw,34px);
    line-height:1;
  }

  .manifesto-copy{
    margin-top:4px;
    padding:22px 18px;
  }

  .manifesto-copy p{
    font-size:18px;
    line-height:1.5;
  }

  .ministries-home-head{
    gap:30px;
    padding-bottom:40px;
  }

  .ministries-home-title{
    max-width:100%;
    font-size:clamp(46px,12.5vw,56px);
    line-height:.82;
    transform:none;
    overflow-wrap:normal;
    word-break:normal;
  }

  body[data-site-lang="es"] .ministries-home-title{
    font-size:clamp(42px,11.5vw,52px);
  }

  .ministries-home-intro p,
  .events-showcase-intro p{
    font-size:18px;
    line-height:1.5;
  }

  .ministry-home-item{
    gap:20px;
    padding:30px 0;
  }

  .ministry-home-item h3{
    max-width:100%;
    font-size:clamp(32px,8.8vw,42px);
    line-height:1;
  }

  .events-showcase-head{
    gap:30px;
    margin-bottom:42px;
  }

  .events-showcase-title{
    max-width:100%;
    font-size:clamp(56px,16vw,70px);
    line-height:.8;
  }

  body[data-site-lang="es"] .events-showcase-title{
    font-size:clamp(52px,15vw,66px);
  }

  .come-home-content{
    gap:46px;
    padding:46px 20px 42px;
  }

  .come-home-title{
    max-width:100%;
    font-size:clamp(58px,17vw,74px);
    line-height:.8;
  }

  body[data-site-lang="es"] .come-home-title{
    font-size:clamp(52px,15vw,66px);
  }

  .come-home-saying{
    margin-top:30px;
    font-size:clamp(28px,8vw,36px);
    line-height:1.02;
  }

  /* ---------- all interior-page heroes ---------- */
  .editorial-page-hero{
    padding:30px 0 50px;
  }

  .editorial-page-hero-grid{
    grid-template-columns:minmax(0,1fr);
    gap:34px;
    width:100%;
  }

  .editorial-page-hero-copy,
  .editorial-page-hero-media{
    width:100%;
    max-width:100%;
    min-width:0;
  }

  .editorial-page-hero h1,
  body[data-site-lang="es"] .editorial-page-hero h1{
    width:100%;
    max-width:100%;
    white-space:normal;
    font-size:clamp(52px,15vw,66px);
    line-height:.8;
    letter-spacing:-.03em !important;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:wrap;
  }

  body[data-page="missions"] .editorial-page-hero h1{
    font-size:clamp(50px,14.5vw,62px);
  }

  body[data-page="ministries"] .editorial-page-hero .ministries-page-title,
  body[data-page="ministries"][data-site-lang="es"] .editorial-page-hero .ministries-page-title{
    width:100%;
    max-width:100%;
    white-space:normal;
    font-size:clamp(44px,12.5vw,56px);
    line-height:.82;
  }

  body[data-page="ministries"][data-site-lang="es"] .editorial-page-hero .ministries-page-title{
    font-size:clamp(40px,11.5vw,52px);
  }

  .editorial-page-hero .editorial-hero-display,
  body[data-site-lang="es"] .editorial-page-hero .editorial-hero-display{
    width:100%;
    max-width:100%;
    white-space:normal;
    margin-bottom:30px;
    font-size:clamp(50px,14.5vw,64px);
    line-height:.82;
  }

  .editorial-page-hero .beliefs-hero-display,
  body[data-page="beliefs"][data-site-lang="es"] .beliefs-hero-display{
    font-size:clamp(46px,13.5vw,60px);
    line-height:.84;
  }

  .editorial-page-hero-copy h2{
    margin:34px 0 22px;
    max-width:100%;
    font-size:clamp(32px,9vw,40px);
    line-height:1;
    letter-spacing:-.04em;
    text-wrap:balance;
  }

  .editorial-page-hero-copy > p{
    width:100%;
    max-width:100%;
    font-size:17px;
    line-height:1.55;
  }

  .editorial-page-hero-media{
    min-height:0;
    aspect-ratio:4 / 5;
    border-radius:28px 28px 0 28px;
  }

  body[data-page="missions"] .editorial-page-hero-media{
    aspect-ratio:1 / 1;
  }

  /* ---------- interior section hierarchy ---------- */
  .editorial-section,
  .editorial-statement-band,
  .editorial-video-section,
  .editorial-events-feed,
  .editorial-cta{
    padding-top:62px;
    padding-bottom:62px;
  }

  .interior-display-head,
  .ministry-service-band .interior-display-head,
  .missions-where .interior-display-head,
  .missions-history .interior-display-head{
    margin-bottom:38px;
  }

  .interior-display-title,
  body[data-site-lang="es"] .interior-display-title{
    width:100%;
    max-width:100%;
    white-space:normal;
    font-size:clamp(44px,12.5vw,56px);
    line-height:.84;
    letter-spacing:-.03em !important;
    overflow-wrap:normal;
    word-break:normal;
    text-wrap:wrap;
  }

  body[data-site-lang="es"] .interior-display-title{
    font-size:clamp(40px,11.5vw,52px);
  }

  .beliefs-editorial-section + .editorial-cta .living-faith-display,
  body[data-site-lang="es"] .beliefs-editorial-section + .editorial-cta .living-faith-display{
    font-size:clamp(44px,12.5vw,56px);
    line-height:.84;
  }

  .editorial-section-heading{
    grid-template-columns:minmax(0,1fr);
    gap:22px;
    margin-bottom:42px;
  }

  .editorial-section-heading .editorial-kicker{
    padding-top:0;
  }

  .editorial-section-heading h2,
  .editorial-copy h2,
  .editorial-calendar-head h2,
  .prayer-form-panel h2,
  .prayer-care-panel h2,
  .editorial-video-head h2{
    max-width:100%;
    font-size:clamp(36px,10vw,46px);
    line-height:.96;
    letter-spacing:-.04em;
  }

  .editorial-kicker{
    line-height:1.35;
  }

  .editorial-copy{
    gap:26px;
  }

  .editorial-list-row{
    gap:22px;
  }

  .editorial-list-row > div:first-child{
    grid-template-columns:34px minmax(0,1fr);
    gap:12px;
  }

  .editorial-list-row h3,
  .editorial-three-item h3{
    font-size:clamp(31px,8.8vw,40px);
    line-height:.98;
  }

  .editorial-list-row p,
  .editorial-three-item p,
  .editorial-copy p,
  .editorial-calendar-head p,
  .prayer-care-panel p,
  .visit-expect-copy p,
  .missions-why-copy p,
  .missions-history-intro p,
  .missions-where-copy > p:not(.missions-verse){
    font-size:17px;
    line-height:1.55;
  }

  .editorial-statement-grid{
    gap:28px;
  }

  .editorial-statement-grid blockquote,
  .editorial-statement-band .editorial-statement-grid blockquote,
  .ministry-philosophy-grid blockquote{
    max-width:100%;
    font-size:clamp(36px,10vw,46px);
    line-height:.98;
  }

  .editorial-statement-grid > p,
  .editorial-statement-band .editorial-statement-grid > p{
    max-width:100%;
    font-size:17px;
    line-height:1.55;
  }

  .editorial-photo,
  .ministry-page-features .ministry-editorial-row .editorial-photo{
    min-height:0;
    aspect-ratio:4 / 5;
    width:100%;
  }

  .editorial-cta-grid{
    gap:34px;
  }

  .editorial-cta h2,
  .beliefs-editorial-section + .editorial-cta .editorial-cta-grid h2{
    max-width:100%;
    font-size:clamp(38px,10.5vw,48px);
    line-height:.96;
    letter-spacing:-.035em;
  }

  .editorial-cta-grid > div:last-child > p{
    font-size:17px;
    line-height:1.55;
    margin-bottom:26px;
  }

  /* ---------- ministries mobile ---------- */
  .ministry-page-features > .interior-display-head{
    margin-bottom:30px;
  }

  .ministry-page-features .ministry-feature-row{
    padding:48px 0;
  }

  .ministry-feature-copy{
    gap:22px;
  }

  .ministry-feature-copy .ministry-feature-name,
  body[data-site-lang="es"] .ministry-feature-name{
    max-width:100%;
    font-size:clamp(40px,11vw,50px);
    line-height:.9;
    letter-spacing:-.03em !important;
    overflow-wrap:normal;
    word-break:normal;
  }

  body[data-site-lang="es"] .ministry-feature-name{
    font-size:clamp(36px,10vw,46px);
  }

  .ministry-feature-copy h3{
    margin-top:10px;
    max-width:100%;
    font-size:clamp(27px,7.5vw,34px);
    line-height:1.02;
  }

  .ministry-feature-copy p,
  .ministry-philosophy-copy p,
  .ministry-outreach-copy p{
    max-width:100%;
    font-size:17px;
    line-height:1.55;
  }

  .ministry-outreach-intro{
    margin-bottom:36px;
  }

  .ministry-outreach-copy{
    gap:18px;
  }

  .ministry-outreach-copy h3,
  .ministry-service-copy h3{
    max-width:100%;
    font-size:clamp(38px,10.5vw,48px);
    line-height:.9;
  }

  /* ---------- missions mobile ---------- */
  .missions-why-grid,
  .missions-where-grid{
    gap:32px;
  }

  .missions-where{
    padding-top:62px;
    padding-bottom:68px;
  }

  .missions-where-statement h3{
    max-width:100%;
    font-size:clamp(38px,10.5vw,48px);
    line-height:.94;
  }

  .missions-where-copy{
    padding-top:0;
  }

  .missions-where-copy .missions-verse{
    max-width:100%;
    font-size:clamp(25px,7vw,32px);
    line-height:1.08;
  }

  .missions-history{
    padding-top:62px;
    padding-bottom:72px;
  }

  .missions-history-intro{
    margin-bottom:38px;
  }

  /* ---------- events / calendar mobile ---------- */
  .editorial-rhythm-grid{
    grid-template-columns:minmax(0,1fr);
  }

  /* V4.50's desktop Visit override is more specific than the original
     mobile rule, so explicitly return Visit to one column on phones. */
  body[data-page="visit"] .editorial-rhythm-grid{
    grid-template-columns:minmax(0,1fr);
  }

  body[data-page="visit"] .editorial-rhythm-grid > div,
  body[data-page="visit"] .editorial-rhythm-grid > div:first-child,
  .editorial-rhythm-grid > div,
  .editorial-rhythm-grid > div:first-child{
    width:100%;
    min-height:0;
    padding:26px 0;
  }

  .editorial-rhythm-grid strong{
    max-width:100%;
    font-size:clamp(28px,8vw,36px);
  }

  .editorial-calendar-head{
    gap:22px;
    margin-bottom:34px;
  }

  .editorial-calendar,
  .editorial-calendar .calendar-empty{
    min-height:400px;
  }

  .editorial-calendar .calendar-empty{
    padding:34px 20px;
  }

  .calendar-empty h2{
    font-size:clamp(34px,9.5vw,44px);
    line-height:1;
  }

  /* ---------- prayer mobile ---------- */
  .prayer-form-panel{
    padding:28px 18px;
  }

  .prayer-form-panel h2{
    margin:14px 0 34px;
  }

  .prayer-form-panel .form-grid{
    row-gap:20px;
  }

  .prayer-care-panel{
    gap:26px;
  }

  /* ---------- watch mobile ---------- */
  .editorial-video-head{
    gap:20px;
    margin-bottom:34px;
  }

  .editorial-video-section .button-row{
    margin-top:28px;
  }

  /* ---------- visit mobile ---------- */
  .visit-map-grid{
    gap:30px;
  }

  .editorial-map,
  .editorial-map iframe{
    min-height:390px;
  }

  .visit-expect-mantra{
    margin-top:34px;
    margin-bottom:48px;
  }

  .visit-expect-grid{
    gap:26px;
  }

  .visit-expect-copy{
    padding-right:0;
  }

  .visit-expect-grid .editorial-photo{
    min-height:0;
    aspect-ratio:4 / 5;
  }

  /* ---------- links / small content that should never force page width ---------- */
  .ministry-service-link,
  .footer-text-link,
  .editorial-ref{
    max-width:100%;
    overflow-wrap:anywhere;
  }
}

@media(max-width:430px){
  /* Extra protection for narrower iPhones without changing larger mobile layouts. */
  .editorial-page-hero h1,
  body[data-site-lang="es"] .editorial-page-hero h1{
    font-size:clamp(48px,14vw,58px);
  }

  body[data-page="missions"] .editorial-page-hero h1{
    font-size:clamp(46px,13.5vw,56px);
  }

  body[data-page="ministries"] .editorial-page-hero .ministries-page-title{
    font-size:clamp(40px,11.5vw,48px);
  }

  body[data-page="ministries"][data-site-lang="es"] .editorial-page-hero .ministries-page-title{
    font-size:clamp(37px,10.5vw,44px);
  }

  .interior-display-title{
    font-size:clamp(42px,12vw,50px);
  }

  body[data-site-lang="es"] .interior-display-title{
    font-size:clamp(38px,10.8vw,46px);
  }

  .ministries-home-title{
    font-size:clamp(43px,12vw,50px);
  }

  body[data-site-lang="es"] .ministries-home-title{
    font-size:clamp(39px,10.8vw,46px);
  }

  .events-showcase-title{
    font-size:clamp(52px,15vw,62px);
  }

  .come-home-title{
    font-size:clamp(54px,16vw,66px);
  }

  body[data-site-lang="es"] .come-home-title{
    font-size:clamp(48px,14vw,58px);
  }
}


/* ==========================================================
   V4.63 — Mobile homepage hero text entrance
   Text only. Layout, photos, buttons, panels, and desktop behavior
   remain unchanged.
   ========================================================== */

@media(max-width:800px) and (prefers-reduced-motion:no-preference){

  /* Keep the hero words hidden underneath the splash screen. */
  .home-hero .hero-corner-title,
  .home-hero .hero-message,
  .home-hero .hero-side-copy strong,
  .home-hero .hero-side-copy p{
    opacity:0 !important;
    transform:translate3d(0,22px,0) !important;
    transition:
      opacity .62s ease,
      transform .72s cubic-bezier(.2,.8,.2,1) !important;
  }

  /* Title first. */
  .home-hero.mobile-copy-ready .hero-corner-title{
    opacity:1 !important;
    transform:none !important;
    transition-delay:.04s !important;
  }

  /* Intro sentence second. */
  .home-hero.mobile-copy-ready .hero-message{
    opacity:1 !important;
    transform:none !important;
    transition-delay:.18s !important;
  }

  /* Vision line third. */
  .home-hero.mobile-copy-ready .hero-side-copy strong{
    opacity:1 !important;
    transform:none !important;
    transition-delay:.34s !important;
  }

  /* Supporting sentence last. */
  .home-hero.mobile-copy-ready .hero-side-copy p{
    opacity:1 !important;
    transform:none !important;
    transition-delay:.46s !important;
  }
}

@media(max-width:800px) and (prefers-reduced-motion:reduce){
  .home-hero .hero-corner-title,
  .home-hero .hero-message,
  .home-hero .hero-side-copy strong,
  .home-hero .hero-side-copy p{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}


/* ==========================================================
   V4.64 — Mobile homepage hero full content entrance
   After the splash screen, all primary hero content now uses
   the same fade + rise language on phones.
   ========================================================== */

@media(max-width:800px) and (prefers-reduced-motion:no-preference){

  /* Major hero content blocks all begin from the same state. */
  .home-hero .hero-corner-title,
  .home-hero .hero-message,
  .home-hero .hero-bottom,
  .home-hero .hero-side-brand{
    opacity:0 !important;
    transform:translate3d(0,22px,0) !important;
    transition:
      opacity .62s ease,
      transform .72s cubic-bezier(.2,.8,.2,1) !important;
  }

  /* The logo/text inside the red panel should move with the panel,
     not run a second nested animation. */
  .home-hero .hero-side-brand .brand-mark,
  .home-hero .hero-side-brand .hero-side-copy,
  .home-hero .hero-side-brand .hero-side-copy strong,
  .home-hero .hero-side-brand .hero-side-copy p{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }

  .home-hero.mobile-copy-ready .hero-corner-title{
    opacity:1 !important;
    transform:none !important;
    transition-delay:.04s !important;
  }

  .home-hero.mobile-copy-ready .hero-message{
    opacity:1 !important;
    transform:none !important;
    transition-delay:.18s !important;
  }

  .home-hero.mobile-copy-ready .hero-bottom{
    opacity:1 !important;
    transform:none !important;
    transition-delay:.32s !important;
  }

  .home-hero.mobile-copy-ready .hero-side-brand{
    opacity:1 !important;
    transform:none !important;
    transition-delay:.46s !important;
  }
}

@media(max-width:800px) and (prefers-reduced-motion:reduce){
  .home-hero .hero-corner-title,
  .home-hero .hero-message,
  .home-hero .hero-bottom,
  .home-hero .hero-side-brand,
  .home-hero .hero-side-brand .brand-mark,
  .home-hero .hero-side-brand .hero-side-copy,
  .home-hero .hero-side-brand .hero-side-copy strong,
  .home-hero .hero-side-brand .hero-side-copy p{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}


/* ==========================================================
   V4.65 — Mobile homepage intro sentence entrance
   Animate the actual “A church becoming…” paragraph itself so
   earlier reveal-state rules cannot make it appear prematurely.
   ========================================================== */

@media(max-width:800px) and (prefers-reduced-motion:no-preference){

  /* Keep the message container stable; animate its visible language paragraph. */
  .home-hero .hero-message,
  .motion-ready .home-hero .hero-message.hero-scroll-copy,
  .motion-ready .home-hero .hero-message.hero-scroll-copy.is-visible{
    opacity:1 !important;
    transform:none !important;
  }

  .home-hero .hero-message p{
    opacity:0 !important;
    transform:translate3d(0,22px,0) !important;
    transition:
      opacity .62s ease,
      transform .72s cubic-bezier(.2,.8,.2,1) !important;
  }

  .home-hero.mobile-copy-ready .hero-message p{
    opacity:1 !important;
    transform:none !important;
    transition-delay:.18s !important;
  }
}

@media(max-width:800px) and (prefers-reduced-motion:reduce){
  .home-hero .hero-message,
  .home-hero .hero-message p{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
}


/* V4.67 — Watch hero crop adjustment */
body[data-page="watch"] .editorial-page-hero-media img{
  object-position:center 10%;
}

@media(max-width:800px){
  body[data-page="watch"] .editorial-page-hero-media img{
    object-position:center 8%;
  }
}


/* ==========================================================
   V4.72 — Homepage hero editorial refresh
   HERO ONLY.
   - Removes the old intro paragraph.
   - Moves the official slogan directly under CASA DE ORACIÓN.
   - Removes the separate logo / red glass panel.
   - Consolidates the hero copy on the right side on desktop.
   - Preserves the collage, CTA destinations, schedule band, and
     every section below the hero.
   ========================================================== */

.hero-motto-block strong{
  display:block;
  font-family:'Bricolage Grotesque',sans-serif;
  font-weight:800;
  color:#fff;
}

@media(min-width:801px){
  .home-hero-shell{
    min-height:clamp(720px,70vw,940px);
  }

  /* Reverse the emphasis of the old gradient: photography stays more open
     on the left while the right-side copy receives enough contrast. */
  .hero-background-collage::before{
    background:
      linear-gradient(
        270deg,
        rgba(91,0,0,.88) 0%,
        rgba(91,0,0,.76) 25%,
        rgba(91,0,0,.48) 47%,
        rgba(91,0,0,.18) 68%,
        rgba(91,0,0,.08) 100%
      ),
      linear-gradient(
        180deg,
        rgba(110,0,0,.12) 0%,
        rgba(110,0,0,.02) 46%,
        rgba(73,0,0,.22) 100%
      );
  }

  .home-hero-main.home-hero-main-refined{
    width:min(55%,900px);
    margin-left:auto;
    padding:
      clamp(58px,6vw,100px)
      clamp(48px,5vw,86px)
      clamp(48px,5vw,76px)
      clamp(38px,4vw,68px);
    justify-content:center;
    align-items:flex-start;
  }

  .home-hero-main-refined .hero-copy-block{
    width:100%;
    max-width:820px;
  }

  .home-hero-main-refined .hero-copy-block::before{
    left:auto;
    right:clamp(-44px,-2.5vw,-20px);
    top:clamp(-30px,-1.8vw,-14px);
    width:min(112%,880px);
    height:calc(100% + 72px);
    background:
      radial-gradient(
        ellipse at 64% 44%,
        rgba(69,0,0,.42) 0%,
        rgba(69,0,0,.22) 54%,
        rgba(69,0,0,0) 80%
      );
  }

  .home-hero-main-refined .hero-corner-title{
    max-width:7.15ch;
    font-size:clamp(96px,9.4vw,176px);
    line-height:.72;
    letter-spacing:-.075em;
  }

  .home-hero-main-refined .hero-message{
    margin-top:clamp(30px,3vw,48px);
    max-width:700px;
  }

  .home-hero-main-refined .hero-message strong{
    max-width:12ch;
    font-size:clamp(38px,3.65vw,68px);
    line-height:.91;
    letter-spacing:-.055em;
    text-wrap:balance;
    text-shadow:0 3px 28px rgba(61,0,0,.24);
  }

  .home-hero-main-refined .hero-message p{
    margin-top:clamp(18px,1.8vw,28px);
    max-width:42ch;
    font-size:clamp(15px,1.18vw,19px);
    line-height:1.45;
    letter-spacing:-.015em;
    color:rgba(255,255,255,.84);
    font-weight:600;
  }

  .home-hero-main-refined .hero-bottom{
    margin-top:clamp(34px,4vw,60px);
    padding-top:0;
    transform:none;
  }

  .home-hero-main-refined .hero-actions{
    gap:12px;
  }

  /* The previous side panel is intentionally gone in V4.72. */
  .home-hero-side{
    display:none!important;
  }

  /* Title first, then slogan/support/CTAs. This preserves the photography-first
     entrance but removes the old scroll-triggered side-panel behavior. */
  .motion-ready .home-hero-main-refined .hero-message,
  .motion-ready .home-hero-main-refined .hero-bottom{
    opacity:0!important;
    transform:translate3d(28px,0,0)!important;
    transition:
      opacity .72s ease,
      transform .82s cubic-bezier(.2,.8,.2,1)!important;
  }

  .motion-ready .home-hero.hero-title-visible .home-hero-main-refined .hero-message{
    opacity:1!important;
    transform:none!important;
    transition-delay:.18s!important;
  }

  .motion-ready .home-hero.hero-title-visible .home-hero-main-refined .hero-bottom{
    opacity:1!important;
    transform:none!important;
    transition-delay:.34s!important;
  }
}

@media(min-width:801px) and (max-width:1180px){
  .home-hero-main.home-hero-main-refined{
    width:58%;
    padding-left:34px;
    padding-right:34px;
  }

  .home-hero-main-refined .hero-corner-title{
    font-size:clamp(82px,9.2vw,124px);
  }

  .home-hero-main-refined .hero-message strong{
    font-size:clamp(34px,4.4vw,52px);
  }
}

@media(max-width:800px){
  /* Keep the same refined hierarchy on phones, but use the full width instead
     of forcing the desktop right-side composition into a narrow viewport. */
  .home-hero-shell{
    min-height:clamp(680px,154vw,820px);
  }

  .hero-background-collage::before{
    background:
      linear-gradient(
        180deg,
        rgba(86,0,0,.72) 0%,
        rgba(86,0,0,.48) 42%,
        rgba(86,0,0,.58) 76%,
        rgba(65,0,0,.76) 100%
      );
  }

  .home-hero-main.home-hero-main-refined{
    width:100%;
    min-height:100%;
    margin:0;
    padding:32px 18px 28px;
    justify-content:flex-start;
  }

  .home-hero-main-refined .hero-copy-block{
    width:100%;
  }

  .home-hero-main-refined .hero-copy-block::before{
    width:calc(100% + 34px);
    height:calc(100% + 42px);
  }

  .home-hero-main-refined .hero-corner-title{
    max-width:100%;
    font-size:clamp(58px,17vw,72px);
    line-height:.78;
    letter-spacing:-.03em!important;
  }

  .home-hero-main-refined .hero-message{
    margin-top:28px;
    max-width:100%;
  }

  .home-hero-main-refined .hero-message strong{
    max-width:11ch;
    font-size:clamp(31px,8.9vw,40px);
    line-height:.94;
    letter-spacing:-.045em;
    text-wrap:balance;
  }

  .home-hero-main-refined .hero-message p{
    margin-top:17px;
    max-width:31ch;
    font-size:15px;
    line-height:1.48;
  }

  .home-hero-main-refined .hero-bottom{
    margin-top:30px;
    padding-top:0;
  }

  .home-hero-main-refined .hero-actions{
    width:100%;
    gap:10px;
  }

  .home-hero-side{
    display:none!important;
  }
}

@media(max-width:800px) and (prefers-reduced-motion:no-preference){
  /* V4.63–V4.65 already establish the mobile post-splash rhythm.
     Adapt that same sequence to the new slogan-first hero markup. */
  .home-hero-main-refined .hero-message,
  .motion-ready .home-hero-main-refined .hero-message,
  .motion-ready .home-hero-main-refined .hero-message.is-visible{
    opacity:1!important;
    transform:none!important;
  }

  .home-hero-main-refined .hero-message strong,
  .home-hero-main-refined .hero-message p{
    opacity:0!important;
    transform:translate3d(0,22px,0)!important;
    transition:
      opacity .62s ease,
      transform .72s cubic-bezier(.2,.8,.2,1)!important;
  }

  .home-hero.mobile-copy-ready .home-hero-main-refined .hero-message strong{
    opacity:1!important;
    transform:none!important;
    transition-delay:.18s!important;
  }

  .home-hero.mobile-copy-ready .home-hero-main-refined .hero-message p{
    opacity:1!important;
    transform:none!important;
    transition-delay:.30s!important;
  }

  .home-hero.mobile-copy-ready .home-hero-main-refined .hero-bottom{
    opacity:1!important;
    transform:none!important;
    transition-delay:.42s!important;
  }
}

@media(max-width:800px) and (prefers-reduced-motion:reduce){
  .home-hero-main-refined .hero-message,
  .home-hero-main-refined .hero-message strong,
  .home-hero-main-refined .hero-message p,
  .home-hero-main-refined .hero-bottom{
    opacity:1!important;
    transform:none!important;
    transition:none!important;
  }
}


/* ==========================================================
   V4.73 — Homepage hero edge-to-edge desktop refinement
   HERO ONLY.
   - Pushes the hero content further to the right.
   - Lets the photo collage reach the browser edges horizontally.
   - Removes the visible red outer frame on desktop.
   - Leaves mobile and every section below the hero unchanged.
   ========================================================== */

@media(min-width:801px){
  /* Break the hero shell out of the normal centered site container so the
     photography reaches both browser edges. */
  .home-hero > .home-hero-shell.container{
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    border-radius:0;
  }

  /* Keep the content deliberately right-weighted while preserving enough
     breathing room from the browser edge. */
  .home-hero-main.home-hero-main-refined{
    width:min(50%,820px);
    margin-left:auto;
    padding:
      clamp(64px,6.6vw,108px)
      clamp(54px,6vw,104px)
      clamp(52px,5vw,82px)
      clamp(34px,3.2vw,56px);
  }

  .home-hero-main-refined .hero-copy-block{
    max-width:720px;
  }

  .home-hero-main-refined .hero-corner-title{
    max-width:6.65ch;
    font-size:clamp(92px,8.7vw,164px);
  }

  .home-hero-main-refined .hero-message{
    max-width:620px;
  }

  .home-hero-main-refined .hero-message strong{
    max-width:11.5ch;
  }
}

@media(min-width:801px) and (max-width:1180px){
  .home-hero-main.home-hero-main-refined{
    width:54%;
    padding-right:40px;
    padding-left:30px;
  }
}


/* ==========================================================
   V4.74 — Homepage hero left alignment + navbar flush
   HERO ONLY, DESKTOP ONLY.
   - Moves the hero title/slogan/CTAs to the left side.
   - Rebalances the overlay so the left copy remains readable.
   - Removes the final red strip between the navbar and photo collage.
   - Preserves the edge-to-edge horizontal photo treatment from V4.73.
   ========================================================== */

@media(min-width:801px){
  /* Remove the red breathing strip above the collage so photography begins
     immediately under the navbar. */
  .home-hero{
    padding-top:0;
  }

  /* Keep the V4.73 edge-to-edge width treatment. */
  .home-hero > .home-hero-shell.container{
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    border-radius:0;
  }

  /* Put the copy back on the LEFT while keeping the cleaner V4.72 hierarchy. */
  .home-hero-main.home-hero-main-refined{
    width:min(50%,820px);
    margin-left:0;
    margin-right:auto;
    padding:
      clamp(64px,6.6vw,108px)
      clamp(34px,3.2vw,56px)
      clamp(52px,5vw,82px)
      clamp(54px,6vw,104px);
  }

  .home-hero-main-refined .hero-copy-block{
    max-width:720px;
  }

  /* Darken the photography where the left-side copy lives while letting the
     right half of the collage remain more open. */
  .hero-background-collage::before{
    background:
      linear-gradient(
        90deg,
        rgba(91,0,0,.88) 0%,
        rgba(91,0,0,.76) 25%,
        rgba(91,0,0,.48) 47%,
        rgba(91,0,0,.18) 68%,
        rgba(91,0,0,.08) 100%
      ),
      linear-gradient(
        180deg,
        rgba(110,0,0,.12) 0%,
        rgba(110,0,0,.02) 46%,
        rgba(73,0,0,.22) 100%
      );
  }

  .home-hero-main-refined .hero-copy-block::before{
    left:clamp(-44px,-2.5vw,-20px);
    right:auto;
    top:clamp(-30px,-1.8vw,-14px);
    width:min(112%,880px);
    height:calc(100% + 72px);
    background:
      radial-gradient(
        ellipse at 36% 44%,
        rgba(69,0,0,.42) 0%,
        rgba(69,0,0,.22) 54%,
        rgba(69,0,0,0) 80%
      );
  }

  .home-hero-main-refined .hero-corner-title{
    max-width:6.65ch;
    font-size:clamp(92px,8.7vw,164px);
  }

  .home-hero-main-refined .hero-message{
    max-width:620px;
  }

  .home-hero-main-refined .hero-message strong{
    max-width:11.5ch;
  }
}

@media(min-width:801px) and (max-width:1180px){
  .home-hero-main.home-hero-main-refined{
    width:54%;
    padding-left:40px;
    padding-right:30px;
  }
}


/* ==========================================================
   V4.75 — Homepage hero right-photo expansion
   DESKTOP HERO ONLY.
   - Makes the far-right kids/outreach photo span the full hero height.
   - Shows that portrait photo in full so the table/books remain meaningful.
   - Reduces the far-right red overlay so the photo reads all the way to the edge.
   - Keeps the hero flush beneath the navbar and edge-to-edge horizontally.
   ========================================================== */

@media(min-width:801px){
  .home-hero{
    padding-top:0!important;
  }

  .home-hero > .home-hero-shell.container{
    width:100vw;
    max-width:none;
    margin:0 calc(50% - 50vw);
    border-radius:0;
  }

  /* Rebalance the collage around a full-height portrait on the far right.
     The original kid/outreach image is 3:4, so a tall full-height cell preserves
     much more of the actual scene than the old landscape crop. */
  .hero-background-collage{
    grid-template-columns:1.12fr 1fr .92fr;
    grid-template-rows:1fr 1fr;
  }

  .hero-background-collage .bg-c{
    grid-column:3;
    grid-row:1 / span 2;
    position:relative;
    overflow:hidden;
    background:#6d1b16;
  }

  /* Softly fill any tiny aspect-ratio difference behind the full image rather
     than exposing a red empty strip. */
  .hero-background-collage .bg-c::before{
    content:'';
    position:absolute;
    inset:-5%;
    background:
      linear-gradient(rgba(86,15,10,.14),rgba(86,15,10,.14)),
      url("../assets/photos/prayer-embrace.webp") center center / cover no-repeat;
    filter:blur(18px) saturate(.9);
    transform:scale(1.08);
  }

  .hero-background-collage .bg-c img{
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
  }

  /* The old bottom-right tile is no longer needed because the kids photo now
     owns the entire far-right column. */
  .hero-background-collage .bg-e{
    display:none;
  }

  /* Keep the copy readable on the left while letting the far-right photo show
     with substantially less red tint. */
  .hero-background-collage::before{
    background:
      linear-gradient(
        90deg,
        rgba(91,0,0,.88) 0%,
        rgba(91,0,0,.76) 24%,
        rgba(91,0,0,.45) 46%,
        rgba(91,0,0,.12) 68%,
        rgba(91,0,0,0) 100%
      ),
      linear-gradient(
        180deg,
        rgba(110,0,0,.08) 0%,
        rgba(110,0,0,0) 46%,
        rgba(73,0,0,.12) 100%
      );
  }
}


/* ==========================================================
   V4.76 — Fully photographic desktop hero collage
   DESKTOP HERO ONLY.
   Keep every existing visible hero photo and add two narrow photo
   strips so the far-right column is entirely photography, with no
   empty/red/blurred bands around the full kids/outreach image.
   ========================================================== */

@media(min-width:801px){
  .hero-background-collage{
    grid-template-columns:1.12fr 1fr .92fr;
    grid-template-rows:repeat(12,minmax(0,1fr));
  }

  /* Existing hero photos stay in place. */
  .hero-background-collage .bg-a{
    grid-column:1;
    grid-row:1 / 13;
  }

  .hero-background-collage .bg-b{
    grid-column:2;
    grid-row:1 / 7;
  }

  .hero-background-collage .bg-d{
    grid-column:2;
    grid-row:7 / 13;
  }

  /* Full kids/outreach image remains intact in the center of the right column. */
  .hero-background-collage .bg-c{
    grid-column:3;
    grid-row:2 / 12;
    display:block;
    background:
      url("../assets/photos/prayer-embrace.webp")
      center center / cover no-repeat;
  }

  .hero-background-collage .bg-c::before{
    display:none;
  }

  .hero-background-collage .bg-c img{
    position:relative;
    z-index:1;
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center center;
  }

  /* Add just enough extra photography to fill the top/bottom of the right edge. */
  .hero-background-collage .bg-g,
  .hero-background-collage .bg-h{
    display:block;
    position:relative;
    overflow:hidden;
  }

  .hero-background-collage .bg-g{
    grid-column:3;
    grid-row:1 / 2;
  }

  .hero-background-collage .bg-h{
    grid-column:3;
    grid-row:12 / 13;
  }

  .hero-background-collage .bg-g img,
  .hero-background-collage .bg-h img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  .hero-background-collage .bg-g img{
    object-position:center 36%;
  }

  .hero-background-collage .bg-h img{
    object-position:center 44%;
  }

  /* These legacy desktop cells are not needed in the new composition.
     They remain in markup for the existing mobile collage behavior. */
  .hero-background-collage .bg-e,
  .hero-background-collage .bg-f{
    display:none;
  }
}

/* The two added strips are desktop-only. */
@media(max-width:800px){
  .hero-background-collage .bg-g,
  .hero-background-collage .bg-h{
    display:none!important;
  }
}


/* ==========================================================
   V4.77 — 6-tile homepage hero collage
   DESKTOP HERO ONLY.
   Rebuild the homepage hero into a clean 3x2 photo collage that fully
   fills the hero area. Keep the content block on the left and use six
   visible image tiles with no filler bands.
   ========================================================== */

@media(min-width:801px){
  .home-hero-shell{
    min-height:clamp(740px,62vw,980px);
  }

  .hero-background-collage{
    grid-template-columns:repeat(3,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(0,1fr));
  }

  .hero-background-collage .bg-a,
  .hero-background-collage .bg-b,
  .hero-background-collage .bg-c,
  .hero-background-collage .bg-d,
  .hero-background-collage .bg-e,
  .hero-background-collage .bg-f{
    display:block;
    position:relative;
  }

  .hero-background-collage .bg-a{grid-column:1;grid-row:1;}
  .hero-background-collage .bg-b{grid-column:2;grid-row:1;}
  .hero-background-collage .bg-c{grid-column:3;grid-row:1; background:none;}
  .hero-background-collage .bg-d{grid-column:1;grid-row:2;}
  .hero-background-collage .bg-e{grid-column:2;grid-row:2;}
  .hero-background-collage .bg-f{grid-column:3;grid-row:2;}

  .hero-background-collage .bg-a img,
  .hero-background-collage .bg-b img,
  .hero-background-collage .bg-c img,
  .hero-background-collage .bg-d img,
  .hero-background-collage .bg-e img,
  .hero-background-collage .bg-f img{
    position:relative;
    inset:auto;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  /* Preserve the meaningful details in each image with tuned crops. */
  .hero-background-collage .bg-a img{object-position:center 18%;}
  .hero-background-collage .bg-b img{object-position:50% 8%;}
  .hero-background-collage .bg-c img{object-position:52% 62%;}
  .hero-background-collage .bg-d img{object-position:52% 6%;}
  .hero-background-collage .bg-e img{object-position:center 30%;}
  .hero-background-collage .bg-f img{object-position:center 38%;}

  .hero-background-collage .bg-c::before{display:none;}
  .hero-background-collage .bg-g,
  .hero-background-collage .bg-h{display:none!important;}
}


/* ==========================================================
   V4.78 — homepage hero photo swap + tighter Who We Are section
   - Swap the bottom-right hero tile to a unique image
   - Make the Who We Are section a little shorter on desktop
   ========================================================== */

@media(min-width:801px){
  .hero-background-collage .bg-f img{
    object-position:center 24%;
  }

  .community-ladder{
    padding:clamp(46px,5vw,72px) 0 clamp(62px,6.6vw,102px);
  }

  .community-ladder-shell{
    gap:clamp(18px,2vw,30px);
  }

  .community-identity-head{
    min-height:clamp(334px,24vw,430px);
    margin-bottom:clamp(8px,1.1vw,16px);
  }

  .community-identity-intro{
    top:clamp(164px,10.7vw,204px);
  }

  .community-ladder-photo{
    min-height:clamp(262px,30vw,438px);
  }

  .community-ladder-row,
  .community-ladder-row-b{
    gap:clamp(22px,2.5vw,44px);
  }

  .community-ladder-copy p{
    margin-top:16px;
  }
}


/* ==========================================================
   V4.79 — shorter, segmented Who We Are story
   - Compress the oversized identity header into a two-column editorial lead
   - Treat each story row as a full-width color band so the section scans as
     three distinct moments instead of one continuous block
   - Shorten photo heights and vertical spacing, including on mobile
   ========================================================== */

@media(min-width:1181px){
  .community-identity-head{
    display:grid;
    grid-template-columns:minmax(0,1.18fr) minmax(390px,.72fr);
    gap:clamp(38px,4.6vw,74px);
    align-items:end;
    min-height:0;
    padding-bottom:clamp(44px,4.2vw,64px);
    margin-bottom:0;
  }

  .community-identity-title{
    margin:0;
    font-size:clamp(88px,10vw,172px);
    line-height:.74;
  }

  .community-identity-intro{
    position:static;
    width:auto;
    max-width:520px;
    margin:0;
    padding:0 0 5px;
  }

  .community-identity-intro p{
    max-width:31ch;
    font-size:clamp(20px,1.42vw,25px);
    line-height:1.4;
  }
}

@media(min-width:801px) and (max-width:1180px){
  .community-identity-head{
    margin-bottom:0;
    padding-bottom:44px;
  }
}

.community-ladder{
  padding-bottom:0;
}

.community-ladder-shell{
  gap:0;
}

.community-ladder-row{
  position:relative;
  margin-left:0;
  margin-top:0;
  padding:clamp(38px,4vw,58px) 0;
  isolation:isolate;
}

/* Full-bleed square-edged color bands while the content stays on the site grid. */
.community-ladder-row::before{
  content:'';
  position:absolute;
  z-index:-1;
  top:0;
  bottom:0;
  left:50%;
  width:100vw;
  transform:translateX(-50%);
  background:inherit;
}

.community-ladder-row-a{
  background:color-mix(in srgb,var(--peach) 28%,white);
}

.community-ladder-row-b{
  background:var(--red-deep);
}

.community-ladder-row-c{
  background:color-mix(in srgb,var(--orange-soft) 46%,white);
}

.community-ladder-row-b .community-kicker,
.community-ladder-row-b .community-ladder-copy p{
  color:#fff;
}

.community-ladder-row-b .community-scripture-links{
  color:var(--peach);
}

.community-ladder-photo{
  min-height:clamp(238px,26vw,368px);
}

.community-ladder-copy p{
  margin-top:14px;
  max-width:35ch;
}

.community-ladder .community-scripture-links{
  margin-top:18px;
}

@media(max-width:800px){
  .community-ladder{
    padding:44px 0 0;
  }

  .community-identity-head{
    padding-bottom:36px;
    margin-bottom:0;
  }

  .community-identity-title{
    margin-bottom:22px;
  }

  .community-ladder-shell{
    gap:0;
  }

  .community-ladder-row,
  .community-ladder-row-b,
  .community-ladder-row-c{
    gap:18px;
    padding:34px 0 38px;
  }

  .community-ladder-photo{
    min-height:0;
    aspect-ratio:5 / 4;
  }

  .community-ladder-copy p{
    margin-top:16px;
    font-size:17px;
    line-height:1.48;
  }

  .community-ladder .community-scripture-links{
    margin-top:16px;
  }
}


/* ==========================================================
   V4.80 — Interior page hero photo integration pass
   The interior-page hero photos should feel built into the hero
   composition, not dropped in as separate squircle cards.
   - Remove the card-like radius/shadow treatment.
   - Blend the photo back into the warm hero color with a left-edge
     gradient wash.
   - Use an editorial cut corner / slab feel instead of a floating card.
   ========================================================== */

.editorial-page-hero-photo{
  isolation:isolate;
}

.editorial-page-hero-photo::before{
  content:'';
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(44vw,720px);
  background:linear-gradient(180deg,rgba(255,255,255,.12) 0%,rgba(255,255,255,.04) 100%);
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 16%);
  pointer-events:none;
  z-index:1;
}

.editorial-page-hero-photo .editorial-page-hero-grid{
  gap:clamp(24px,4vw,60px);
  align-items:stretch;
}

.editorial-page-hero-photo .editorial-page-hero-copy{
  align-self:center;
}

.editorial-page-hero-photo .editorial-page-hero-media{
  align-self:stretch;
  min-height:clamp(520px,44vw,740px);
  border-radius:0;
  clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,0 14%);
  box-shadow:none;
  background:rgba(255,255,255,.08);
}

.editorial-page-hero-photo .editorial-page-hero-media::after{
  background:
    linear-gradient(90deg,rgba(236,136,87,.97) 0%,rgba(236,136,87,.88) 10%,rgba(236,136,87,.55) 21%,rgba(236,136,87,.18) 32%,rgba(236,136,87,0) 44%),
    linear-gradient(180deg,rgba(255,255,255,.10) 0%,rgba(255,255,255,0) 24%),
    linear-gradient(0deg,rgba(91,4,3,.20) 0%,rgba(91,4,3,.05) 42%,rgba(91,4,3,0) 70%);
}

.editorial-page-hero-photo .editorial-page-hero-media img{
  transform:scale(1.01);
}

@media(min-width:1181px){
  .editorial-page-hero-photo .editorial-page-hero-grid{
    grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);
  }

  .editorial-page-hero-photo .editorial-page-hero-media{
    min-height:clamp(560px,46vw,760px);
  }
}

@media(max-width:800px){
  .editorial-page-hero-photo::before{
    width:100%;
    clip-path:polygon(0 24%,100% 0,100% 100%,0 100%);
    opacity:.5;
  }

  .editorial-page-hero-photo .editorial-page-hero-grid{
    gap:28px;
  }

  .editorial-page-hero-photo .editorial-page-hero-media{
    aspect-ratio:4 / 5;
    min-height:0;
    clip-path:polygon(0 10%,100% 0,100% 100%,0 100%);
    border-radius:0;
  }

  .editorial-page-hero-photo .editorial-page-hero-media::after{
    background:
      linear-gradient(180deg,rgba(236,136,87,.34) 0%,rgba(236,136,87,0) 24%),
      linear-gradient(90deg,rgba(236,136,87,.92) 0%,rgba(236,136,87,.58) 18%,rgba(236,136,87,.12) 40%,rgba(236,136,87,0) 58%),
      linear-gradient(0deg,rgba(91,4,3,.18) 0%,rgba(91,4,3,.04) 44%,rgba(91,4,3,0) 72%);
  }
}


/* ==========================================================
   V4.81 — Interior hero title / integrated-photo clearance
   Keep oversized display type bold while guaranteeing that the
   title remains inside its copy lane at desktop, tablet and phone
   widths. This prevents the integrated photo edge from appearing
   to crop or cover hero lettering.
   ========================================================== */

.editorial-page-hero-photo .editorial-page-hero-copy{
  position:relative;
  z-index:4;
  min-width:0;
}

.editorial-page-hero-photo .editorial-page-hero-copy h1,
.editorial-page-hero-photo .editorial-page-hero-copy .editorial-hero-display{
  width:100%;
  max-width:100%;
  overflow:visible;
}

@media(min-width:1181px){
  .editorial-page-hero-photo .editorial-page-hero-grid{
    grid-template-columns:minmax(0,1.28fr) minmax(400px,.72fr);
    gap:clamp(38px,4.5vw,76px);
  }

  .editorial-page-hero-photo .editorial-page-hero-copy h1{
    font-size:clamp(104px,10.8vw,190px);
    line-height:.74;
  }

  body[data-page="missions"] .editorial-page-hero-photo .editorial-page-hero-copy h1{
    font-size:clamp(96px,9.8vw,172px);
  }

  .editorial-page-hero-photo .editorial-page-hero-copy .editorial-hero-display{
    font-size:clamp(100px,9.4vw,166px);
    white-space:nowrap;
  }

  .editorial-page-hero-photo .editorial-page-hero-copy .beliefs-hero-display{
    max-width:9ch;
    font-size:clamp(90px,8.8vw,154px);
    white-space:normal;
  }

  .editorial-page-hero-photo .editorial-page-hero-copy .ministries-page-title{
    font-size:clamp(96px,8.5vw,150px);
    white-space:nowrap;
  }

  body[data-page="ministries"][data-site-lang="es"] .editorial-page-hero-photo .ministries-page-title{
    font-size:clamp(88px,7.8vw,138px);
    white-space:nowrap;
  }

  body[data-page="beliefs"][data-site-lang="es"] .editorial-page-hero-photo .beliefs-hero-display{
    font-size:clamp(86px,8.2vw,146px);
    max-width:9.4ch;
  }

  body[data-page="visit"][data-site-lang="es"] .editorial-page-hero-photo .editorial-page-hero-copy h1{
    font-size:clamp(94px,9.4vw,166px);
  }
}

@media(min-width:801px) and (max-width:1180px){
  .editorial-page-hero-photo .editorial-page-hero-grid{
    grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);
    gap:clamp(28px,4vw,48px);
  }

  .editorial-page-hero-photo .editorial-page-hero-copy h1{
    font-size:clamp(80px,10.5vw,118px);
    line-height:.76;
  }

  body[data-page="missions"] .editorial-page-hero-photo .editorial-page-hero-copy h1{
    font-size:clamp(76px,9.8vw,110px);
  }

  .editorial-page-hero-photo .editorial-page-hero-copy .editorial-hero-display{
    font-size:clamp(76px,10vw,112px);
    white-space:nowrap;
  }

  .editorial-page-hero-photo .editorial-page-hero-copy .beliefs-hero-display{
    max-width:9ch;
    font-size:clamp(72px,9.2vw,104px);
    white-space:normal;
  }

  .editorial-page-hero-photo .editorial-page-hero-copy .ministries-page-title{
    font-size:clamp(72px,9.3vw,104px);
    white-space:nowrap;
  }

  body[data-page="ministries"][data-site-lang="es"] .editorial-page-hero-photo .ministries-page-title{
    font-size:clamp(68px,8.7vw,98px);
    white-space:nowrap;
  }

  body[data-page="visit"][data-site-lang="es"] .editorial-page-hero-photo .editorial-page-hero-copy h1{
    font-size:clamp(76px,9.8vw,110px);
  }
}

@media(max-width:800px){
  .editorial-page-hero-photo .editorial-page-hero-copy{
    padding-right:0;
  }

  .editorial-page-hero-photo .editorial-page-hero-copy h1,
  .editorial-page-hero-photo .editorial-page-hero-copy .editorial-hero-display{
    max-width:100%;
    white-space:normal;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }

  .editorial-page-hero-photo .editorial-page-hero-media{
    margin-top:2px;
  }
}


/* ==========================================================
   V4.82 — Homepage schedule band alignment
   Keep the address visually on the same value line as the two
   service times on desktop instead of letting it become a tall
   two-line block that looks lower than its neighbors.
   ========================================================== */

@media(min-width:1180px){
  .schedule-band a:nth-child(3) strong{
    max-width:none;
    white-space:nowrap;
    font-size:clamp(27px,1.8vw,34px);
    line-height:.95;
  }
}

@media(min-width:801px) and (max-width:1179px){
  .schedule-band a:nth-child(3) strong{
    max-width:320px;
    font-size:clamp(25px,2.65vw,31px);
    line-height:.98;
    text-wrap:balance;
  }
}


/* ==========================================================
   V4.83 — Footer headline refinement
   Keep the local church statement in the existing brand style,
   but reduce its scale so it reads as a supporting footer line
   instead of competing with the page content.
   ========================================================== */

@media(min-width:1181px){
  .footer-grid{
    grid-template-columns:minmax(0,1.7fr) minmax(210px,.8fr) minmax(170px,.55fr) minmax(150px,.48fr);
    gap:clamp(24px,3vw,56px);
  }
}

.footer-about h2{
  max-width:none;
  font-size:clamp(18px,1.15vw,24px);
  line-height:1.05;
  letter-spacing:-.04em;
}

@media(min-width:801px){
  body[data-site-lang="en"] .footer-about h2{
    white-space:nowrap;
  }
}

@media(min-width:1500px){
  body[data-site-lang="es"] .footer-about h2{
    white-space:nowrap;
    font-size:clamp(18px,1.05vw,22px);
  }
}

@media(max-width:800px){
  .footer-about h2{
    max-width:30ch;
    font-size:clamp(20px,5.6vw,24px);
    line-height:1.06;
    text-wrap:balance;
  }
}


/* ==========================================================
   V4.84 — Straight footer separator
   Remove the rounded top corners and inset hairline so the coral
   divider between page content and the footer is perfectly straight
   from edge to edge on desktop and mobile.
   ========================================================== */

.site-footer{
  margin-top:0;
  border-radius:0 !important;
  border-top:5px solid var(--coral) !important;
}

.site-footer::after{
  border-radius:0 !important;
}

.site-footer::before{
  display:none !important;
}


/* ==========================================================
   V4.85 — Mobile homepage hero parity with desktop
   Bring the phone hero back into the same visual system as the
   approved desktop hero: edge-to-edge photography, the same six
   image collage, left-weighted red contrast, and matching copy
   hierarchy. The six desktop tiles become a phone-friendly 2x3
   collage rather than reverting to the older rounded/inset hero.
   ========================================================== */

@media(max-width:800px){
  .home-hero{
    padding-top:0 !important;
  }

  .home-hero > .home-hero-shell.container{
    width:100vw;
    max-width:none;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    min-height:clamp(720px,184vw,820px);
    border-radius:0;
    box-shadow:none;
  }

  .hero-background-collage{
    inset:0;
    height:100%;
    min-height:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:repeat(3,minmax(0,1fr));
  }

  .hero-background-collage .bg-a,
  .hero-background-collage .bg-b,
  .hero-background-collage .bg-c,
  .hero-background-collage .bg-d,
  .hero-background-collage .bg-e,
  .hero-background-collage .bg-f{
    display:block;
    position:relative;
    inset:auto;
  }

  .hero-background-collage .bg-a{grid-column:1;grid-row:1;}
  .hero-background-collage .bg-b{grid-column:2;grid-row:1;}
  .hero-background-collage .bg-c{grid-column:1;grid-row:2;background:none;}
  .hero-background-collage .bg-d{grid-column:2;grid-row:2;}
  .hero-background-collage .bg-e{grid-column:1;grid-row:3;}
  .hero-background-collage .bg-f{grid-column:2;grid-row:3;}

  .hero-background-collage .bg-a img,
  .hero-background-collage .bg-b img,
  .hero-background-collage .bg-c img,
  .hero-background-collage .bg-d img,
  .hero-background-collage .bg-e img,
  .hero-background-collage .bg-f img{
    position:relative;
    inset:auto;
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
  }

  /* Match the desktop crop intent while allowing the narrower tiles to keep
     faces / action inside the useful portion of each frame. */
  .hero-background-collage .bg-a img{object-position:center 18%;}
  .hero-background-collage .bg-b img{object-position:50% 8%;}
  .hero-background-collage .bg-c img{object-position:52% 54%;}
  .hero-background-collage .bg-d img{object-position:52% 8%;}
  .hero-background-collage .bg-e img{object-position:center 28%;}
  .hero-background-collage .bg-f img{object-position:center 24%;}

  .hero-background-collage .bg-c::before,
  .hero-background-collage .bg-g,
  .hero-background-collage .bg-h{
    display:none !important;
  }

  /* Use the same LEFT-to-RIGHT contrast logic as desktop instead of the older
     top-to-bottom mobile wash. This is what makes both versions read as one
     design system. */
  .hero-background-collage::before{
    background:
      linear-gradient(
        90deg,
        rgba(91,0,0,.94) 0%,
        rgba(91,0,0,.82) 31%,
        rgba(91,0,0,.60) 54%,
        rgba(91,0,0,.31) 76%,
        rgba(91,0,0,.16) 100%
      ),
      linear-gradient(
        180deg,
        rgba(110,0,0,.12) 0%,
        rgba(110,0,0,.02) 46%,
        rgba(73,0,0,.24) 100%
      );
  }

  .hero-background-collage::after{
    background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,0) 25%,rgba(0,0,0,.16) 100%);
  }

  .home-hero-main.home-hero-main-refined{
    width:100%;
    min-height:clamp(720px,184vw,820px);
    margin:0;
    padding:clamp(54px,14vw,72px) 20px clamp(42px,11vw,58px) 22px;
    justify-content:center;
    align-items:flex-start;
  }

  .home-hero-main-refined .hero-copy-block{
    width:min(100%,360px);
    max-width:360px;
  }

  .home-hero-main-refined .hero-copy-block::before{
    left:-30px;
    right:auto;
    top:-28px;
    width:calc(100% + 56px);
    height:calc(100% + 66px);
    background:radial-gradient(
      ellipse at 34% 42%,
      rgba(69,0,0,.46) 0%,
      rgba(69,0,0,.24) 54%,
      rgba(69,0,0,0) 82%
    );
  }

  .home-hero-main-refined .hero-corner-title{
    max-width:6.65ch;
    font-size:clamp(70px,19.5vw,84px);
    line-height:.72;
    letter-spacing:-.065em !important;
  }

  .home-hero-main-refined .hero-message{
    margin-top:clamp(26px,7vw,34px);
    max-width:330px;
  }

  .home-hero-main-refined .hero-message strong{
    max-width:10.8ch;
    font-size:clamp(32px,9.4vw,40px);
    line-height:.91;
    letter-spacing:-.055em;
    text-wrap:balance;
    text-shadow:0 3px 24px rgba(61,0,0,.26);
  }

  .home-hero-main-refined .hero-message p{
    margin-top:16px;
    max-width:31ch;
    font-size:15px;
    line-height:1.43;
    letter-spacing:-.015em;
    color:rgba(255,255,255,.86);
  }

  .home-hero-main-refined .hero-bottom{
    width:100%;
    margin-top:clamp(28px,7vw,36px);
    padding-top:0;
  }

  .home-hero-main-refined .hero-actions{
    width:100%;
    gap:10px;
    justify-content:flex-start;
  }

  .home-hero-main-refined .hero-actions .btn{
    min-height:46px;
    padding:10px 16px;
  }
}

@media(max-width:430px){
  .home-hero > .home-hero-shell.container,
  .home-hero-main.home-hero-main-refined{
    min-height:clamp(700px,190vw,780px);
  }

  .home-hero-main.home-hero-main-refined{
    padding-left:18px;
    padding-right:18px;
  }

  .home-hero-main-refined .hero-corner-title{
    font-size:clamp(66px,19vw,78px);
  }

  .home-hero-main-refined .hero-message strong{
    font-size:clamp(30px,8.9vw,37px);
  }
}

/* ==========================================================
   V4.86 — Casa de Oración custom event calendar
   D1-backed month view on desktop + agenda view on phones.
   ========================================================== */

.editorial-calendar{
  min-height:0;
  border:1px solid rgba(142,5,3,.10);
  box-shadow:0 28px 80px rgba(111,24,12,.08);
}

.cdo-calendar{
  background:#fff;
  color:var(--red-deep);
}

.calendar-toolbar{
  padding:clamp(24px,3vw,40px);
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  background:linear-gradient(118deg,#fff8f4 0%,#fff 58%,rgba(246,170,134,.25) 100%);
  border-bottom:1px solid rgba(142,5,3,.11);
}

.calendar-kicker{
  display:block;
  margin-bottom:8px;
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  color:var(--coral);
}

.calendar-toolbar h3{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(42px,5vw,72px);
  line-height:.84;
  letter-spacing:var(--display-heading-tracking);
  text-transform:capitalize;
  color:var(--red-deep);
}

.calendar-controls{
  display:flex;
  align-items:center;
  gap:8px;
}

.calendar-controls button{
  min-width:44px;
  height:44px;
  border:1px solid rgba(142,5,3,.15);
  border-radius:999px;
  background:#fff;
  color:var(--red-deep);
  font-weight:800;
  cursor:pointer;
}

.calendar-controls .calendar-today{
  min-width:76px;
  padding:0 16px;
  background:var(--red-deep);
  color:#fff;
  border-color:var(--red-deep);
}

.calendar-weekdays{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  background:var(--red-deep);
  color:#fff;
}

.calendar-weekdays span{
  padding:13px 10px;
  text-align:center;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
}

.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
}

.calendar-day{
  min-height:142px;
  padding:12px;
  border-right:1px solid rgba(142,5,3,.09);
  border-bottom:1px solid rgba(142,5,3,.09);
  background:#fff;
}

.calendar-day:nth-child(7n){border-right:0}
.calendar-day.outside{background:#fffaf8;color:rgba(142,5,3,.32)}
.calendar-day.today{background:linear-gradient(145deg,rgba(251,123,118,.12),rgba(246,170,134,.08))}

.calendar-day-number{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  margin-bottom:8px;
  border-radius:50%;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:15px;
  font-weight:800;
}

.calendar-day.today .calendar-day-number{
  background:var(--red-deep);
  color:#fff;
}

.calendar-day-events{display:grid;gap:5px}

.calendar-event-pill{
  width:100%;
  min-width:0;
  padding:7px 8px;
  display:flex;
  align-items:center;
  gap:7px;
  border:0;
  border-radius:9px;
  background:#fff0ec;
  color:#6f1510;
  text-align:left;
  cursor:pointer;
  font-size:10px;
  font-weight:750;
  line-height:1.18;
}

.calendar-event-pill:hover{background:#ffe2d9}
.calendar-event-pill span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-event-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--coral)}
.calendar-event-pill[data-category="youth"] .calendar-event-dot{background:#f2a342}
.calendar-event-pill[data-category="missions"] .calendar-event-dot{background:#c9483e}
.calendar-event-pill[data-category="prayer"] .calendar-event-dot{background:#8e0503}
.calendar-event-pill[data-category="worship"] .calendar-event-dot{background:#fb7b76}
.calendar-more{padding-left:8px;font-size:9px;font-weight:800;color:#9a5c54}
.calendar-agenda-view{display:none}

.calendar-month-empty{
  padding:50px 24px;
  display:grid;
  gap:7px;
  text-align:center;
  color:#765e5a;
}
.calendar-month-empty strong{font-family:'Bricolage Grotesque';font-size:26px;color:var(--red-deep)}

.event-detail-dialog{
  width:min(960px,calc(100vw - 34px));
  max-height:min(88vh,900px);
  padding:0;
  border:0;
  border-radius:30px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 30px 100px rgba(66,10,6,.34);
}
.event-detail-dialog::backdrop{background:rgba(61,8,5,.65)}
.event-detail-shell{position:relative;display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1fr);min-height:430px}
.event-detail-flyer{margin:0;min-height:430px;background:#f8ded4}
.event-detail-flyer img{width:100%;height:100%;display:block;object-fit:cover}
.event-detail-copy{padding:clamp(34px,5vw,64px);align-self:center}
.event-detail-category{display:inline-block;margin-bottom:14px;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--coral)}
.event-detail-copy h3{margin:0 0 22px;font-family:'Bricolage Grotesque';font-size:clamp(42px,5vw,72px);line-height:.88;letter-spacing:-.045em;color:var(--red-deep)}
.event-detail-meta{display:grid;gap:7px;color:#654b47;font-size:14px;line-height:1.4}
.event-detail-meta strong{color:#32100d}
.event-detail-description{margin:24px 0;color:#5f4743;font-size:15px;line-height:1.6}
.event-detail-description p{margin:0}
.event-detail-close{position:absolute;right:16px;top:16px;z-index:2;width:42px;height:42px;border:0;border-radius:50%;background:#fff;color:var(--red-deep);box-shadow:0 8px 24px rgba(70,20,15,.16);font-size:27px;line-height:1;cursor:pointer}

.event-date-card{
  background:linear-gradient(145deg,var(--red-deep),#b90805 58%,var(--coral));
  color:#fff;
}
.event-date-card>span{font-size:17px;letter-spacing:.14em}
.event-date-card strong{font-size:clamp(82px,8vw,132px);line-height:.74;letter-spacing:-.07em}
.event-date-card small{margin-top:14px}

@media(max-width:900px){
  .calendar-day{min-height:112px;padding:9px}
  .calendar-event-pill{padding:6px;font-size:9px}
  .event-detail-shell{grid-template-columns:minmax(220px,.7fr) minmax(0,1fr)}
}

@media(max-width:700px){
  .editorial-calendar{border-radius:24px}
  .calendar-toolbar{padding:24px 18px;align-items:flex-start}
  .calendar-toolbar h3{font-size:clamp(38px,12vw,52px)}
  .calendar-controls{gap:5px}
  .calendar-controls button{min-width:38px;height:38px}
  .calendar-controls .calendar-today{display:none}
  .calendar-grid-view{display:none}
  .calendar-agenda-view{display:grid}
  .calendar-agenda-card{
    width:100%;
    display:grid;
    grid-template-columns:64px minmax(0,1fr) 68px;
    gap:14px;
    align-items:center;
    padding:18px;
    border:0;
    border-bottom:1px solid rgba(142,5,3,.11);
    background:#fff;
    color:inherit;
    text-align:left;
    cursor:pointer;
  }
  .calendar-agenda-card:last-child{border-bottom:0}
  .agenda-date{display:grid;justify-items:center;padding:10px 4px;border-radius:15px;background:#fff0ec;color:var(--red-deep)}
  .agenda-date small{font-size:10px;font-weight:800;letter-spacing:.12em}
  .agenda-date strong{font-family:'Bricolage Grotesque';font-size:32px;line-height:.9}
  .agenda-copy{min-width:0;display:grid;gap:3px}
  .agenda-copy>small{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--coral)}
  .agenda-copy>strong{font-family:'Bricolage Grotesque';font-size:21px;line-height:.98;color:var(--red-deep)}
  .agenda-copy>span{font-size:11px;line-height:1.35;color:#765e5a}
  .agenda-thumb{width:68px;height:82px;border-radius:11px;overflow:hidden;background:#f4d7cd}
  .agenda-thumb img{width:100%;height:100%;display:block;object-fit:cover}
  .event-detail-dialog{width:calc(100vw - 20px);max-height:92vh;border-radius:22px}
  .event-detail-shell{grid-template-columns:1fr;overflow:auto;max-height:92vh}
  .event-detail-flyer{min-height:0;aspect-ratio:4/5;max-height:54vh}
  .event-detail-copy{padding:28px 20px 34px}
  .event-detail-copy h3{font-size:clamp(38px,12vw,52px)}
  .event-detail-close{position:fixed;right:18px;top:calc(4vh + 10px)}
}

@media(max-width:430px){
  .calendar-toolbar{gap:12px}
  .calendar-agenda-card{grid-template-columns:58px minmax(0,1fr);padding:16px 14px}
  .agenda-thumb{display:none}
}


/* ==========================================================
   V4.89 — Monthly event marquee image readiness
   Keep the marquee still until every monthly flyer has been preloaded.
   This prevents red/empty frames from sliding into view on first load.
   ========================================================== */
.event-carousel:not(.is-loaded) .event-carousel-track{
  animation-play-state:paused !important;
}

/* ==========================================================
   V4.90 — Calendar subscriptions + individual add-to-calendar
   ========================================================== */

.calendar-subscribe{
  margin-top:clamp(26px,4vw,48px);
  padding:clamp(28px,4vw,48px);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  border:1px solid rgba(142,5,3,.10);
  border-radius:30px;
  background:linear-gradient(118deg,#8e0503 0%,#b5120e 58%,#ec8857 100%);
  color:#fff;
  box-shadow:0 24px 70px rgba(111,24,12,.12);
}

.calendar-subscribe-copy{max-width:760px}
.calendar-subscribe-kicker{
  display:block;
  margin-bottom:10px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.16em;
  color:#ffd7c8;
}
.calendar-subscribe h3{
  margin:0;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(34px,4vw,58px);
  line-height:.92;
  letter-spacing:-.045em;
  color:#fff;
}
.calendar-subscribe p{
  margin:14px 0 0;
  max-width:62ch;
  font-size:15px;
  line-height:1.55;
  color:rgba(255,255,255,.84);
}
.calendar-subscribe .calendar-subscribe-button{
  flex:0 0 auto;
  min-height:52px;
  padding-inline:24px;
  background:#fff;
  color:var(--red-deep);
}

.calendar-subscribe-dialog{
  width:min(760px,calc(100vw - 34px));
  max-height:88vh;
  padding:0;
  border:0;
  border-radius:30px;
  background:#fff;
  box-shadow:0 30px 100px rgba(66,10,6,.34);
}
.calendar-subscribe-dialog::backdrop{background:rgba(61,8,5,.65)}
.calendar-subscribe-dialog-shell{
  position:relative;
  padding:clamp(34px,5vw,60px);
  background:linear-gradient(145deg,#fff8f4,#fff 62%,rgba(246,170,134,.18));
}
.calendar-subscribe-dialog-shell h3{
  margin:0;
  max-width:11ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(42px,6vw,70px);
  line-height:.88;
  letter-spacing:-.05em;
  color:var(--red-deep);
}
.calendar-subscribe-dialog-shell>p{
  margin:18px 0 28px;
  max-width:58ch;
  color:#654b47;
  line-height:1.58;
}
.calendar-provider-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.calendar-provider-grid button{
  min-height:118px;
  padding:18px;
  display:grid;
  align-content:end;
  gap:4px;
  border:1px solid rgba(142,5,3,.11);
  border-radius:20px;
  background:#fff;
  color:var(--red-deep);
  text-align:left;
  cursor:pointer;
  transition:transform .18s ease,background .18s ease;
}
.calendar-provider-grid button:hover{transform:translateY(-2px);background:#fff3ee}
.calendar-provider-grid strong{font-family:'Bricolage Grotesque',sans-serif;font-size:20px;line-height:1}
.calendar-provider-grid span{font-size:11px;line-height:1.3;color:#84625d}
.calendar-copy-link{
  width:100%;
  min-height:46px;
  margin-top:10px;
  border:0;
  border-radius:999px;
  background:var(--red-deep);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.calendar-subscribe-dialog-shell>small{
  display:block;
  margin-top:14px;
  color:#8b6b65;
  font-size:11px;
  line-height:1.45;
}

.event-detail-actions{
  margin-top:24px;
  display:flex;
  flex-wrap:wrap;
  gap:9px;
}
.event-detail-actions .btn{
  min-height:44px;
  padding:9px 14px;
  font-size:12px;
}
.event-detail-actions .calendar-btn{
  background:#fff1ec;
  color:var(--red-deep);
  box-shadow:inset 0 0 0 1px rgba(142,5,3,.12);
}

@media(max-width:760px){
  .calendar-subscribe{
    align-items:flex-start;
    flex-direction:column;
    border-radius:24px;
  }
  .calendar-subscribe .calendar-subscribe-button{width:100%}
  .calendar-provider-grid{grid-template-columns:1fr}
  .calendar-provider-grid button{min-height:86px}
}

@media(max-width:430px){
  .calendar-subscribe{padding:24px 18px}
  .calendar-subscribe-dialog{width:calc(100vw - 20px);border-radius:22px}
  .calendar-subscribe-dialog-shell{padding:32px 18px 24px}
  .calendar-subscribe-dialog-shell h3{font-size:clamp(38px,12vw,50px)}
  .event-detail-actions{display:grid}
  .event-detail-actions .btn{width:100%}
}
.calendar-subscribe-dialog .event-detail-close{
  position:absolute;
  right:16px;
  top:16px;
}


/* ==========================================================
   V4.91 — Mobile Who We Are spacing cleanup
   A later phone QA rule reintroduced a grid gap on top of the
   first story band's own padding, creating an unintended empty
   strip between the intro statement and the Romans 12:5 photo.
   Keep the segmented bands, but remove the duplicate spacing.
   ========================================================== */
@media(max-width:800px){
  .community-ladder-shell{
    gap:0;
  }

  .community-identity-head{
    padding-bottom:24px;
  }

  .community-ladder-row-a{
    padding-top:22px;
  }
}


/* ==========================================================
   V4.92 — Mobile homepage transition tightening
   Pull the entire Who We Are lead upward by removing the stacked
   whitespace at the bottom of the mobile schedule band and the top
   of the community section. This changes mobile only; desktop stays
   exactly as approved.
   ========================================================== */
@media(max-width:800px){
  /* The last schedule item already has its own vertical padding, so the
     band does not need another large empty footer beneath the address. */
  .schedule-band{
    padding-bottom:6px;
  }

  .schedule-band > :last-child{
    padding-bottom:4px;
  }

  /* Start the identity statement almost immediately after the red band. */
  .community-ladder{
    padding-top:8px;
  }

  /* Keep a clean transition into the first story band after the paragraph. */
  .community-identity-head{
    padding-bottom:30px;
  }
}


/* ==========================================================
   V4.93 — Mobile Who We Are rhythm lock
   Use one explicit spacing system for this transition so older
   inherited/reveal rules cannot create oversized blank areas.
   Target rhythm on phones:
   - ~2 text lines of coral before WHO WE ARE
   - ~2 text lines between title and statement
   - ~2 text lines from statement to the first Romans 12:5 photo
   Desktop/tablet remain unchanged.
   ========================================================== */
@media(max-width:800px){
  .community-ladder{
    padding-top:28px !important;
  }

  /* This block is already visible as the user reaches the section; do not let
     the generic reveal translation add another vertical offset on phones. */
  .community-identity-head,
  .community-identity-head.reveal,
  .motion-ready .community-identity-head.reveal,
  .motion-ready .community-identity-head.reveal.is-visible{
    transform:none !important;
    margin-top:0 !important;
  }

  .community-identity-head{
    padding-bottom:18px !important;
    margin-bottom:0 !important;
  }

  .community-identity-title{
    margin:0 0 30px !important;
  }

  /* Combined with the 18px identity padding above, this leaves roughly two
     lines of breathing room before the first image begins. */
  .community-ladder-row-a{
    padding-top:18px !important;
  }
}


/* ==========================================================
   V4.94 — Mobile event detail flow / dynamic spacing
   Let the event modal size itself from its real content instead of
   combining a fixed flyer box with fixed copy offsets. This keeps
   flyers, long titles, metadata, descriptions, and optional actions
   in normal document flow so they never overlap on phones.
   ========================================================== */

@media(max-width:700px){
  .event-detail-dialog{
    width:calc(100vw - 20px);
    max-height:calc(100dvh - 20px);
    overflow:hidden;
    border-radius:24px;
  }

  .event-detail-shell{
    display:flex;
    flex-direction:column;
    width:100%;
    max-height:calc(100dvh - 20px);
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  .event-detail-flyer{
    flex:0 0 auto;
    width:100%;
    min-height:0;
    max-height:none;
    aspect-ratio:auto;
    overflow:hidden;
    line-height:0;
    background:#f8ded4;
  }

  .event-detail-flyer img{
    position:static;
    width:100%;
    height:auto;
    max-width:100%;
    max-height:none;
    display:block;
    object-fit:contain;
  }

  .event-detail-copy{
    flex:0 0 auto;
    width:100%;
    min-width:0;
    padding:clamp(24px,7vw,32px) clamp(18px,6vw,26px) clamp(30px,8vw,40px);
    display:grid;
    align-self:stretch;
    align-content:start;
  }

  .event-detail-category{
    margin:0 0 12px;
  }

  .event-detail-copy h3{
    width:100%;
    max-width:100%;
    margin:0 0 clamp(18px,5vw,24px);
    font-size:clamp(38px,11.5vw,52px);
    line-height:.92;
    overflow-wrap:anywhere;
    text-wrap:balance;
  }

  .event-detail-meta{
    margin:0;
    gap:7px;
    font-size:clamp(14px,4vw,16px);
    line-height:1.42;
  }

  .event-detail-description{
    margin:clamp(20px,5vw,26px) 0 0;
  }

  .event-detail-actions{
    margin-top:clamp(24px,6vw,30px);
  }

  .event-detail-close{
    position:absolute;
    top:14px;
    right:14px;
    width:48px;
    height:48px;
    z-index:5;
    background:rgba(255,255,255,.96);
  }
}

@media(max-width:430px){
  .event-detail-copy{
    padding-left:18px;
    padding-right:18px;
  }

  .event-detail-copy h3{
    font-size:clamp(36px,11.5vw,48px);
  }

  .event-detail-actions{
    gap:10px;
  }
}


/* Event details without a flyer still reserve room for the close control,
   while desktop also collapses to a single content column. */
.event-detail-shell:not(.has-flyer){
  grid-template-columns:1fr;
}

@media(max-width:700px){
  .event-detail-shell:not(.has-flyer) .event-detail-copy{
    padding-top:76px;
  }
}


/* ==========================================================
   V4.95 — iOS Safari event-modal hardening
   Safari can preserve an early dialog measurement when an R2 flyer has not
   finished reporting its intrinsic height. Use the dialog itself as the one
   scroll container and plain block flow for mobile content. Combined with the
   JS preload/aspect-ratio lock, the details can never occupy the flyer area.
   ========================================================== */
@media(max-width:700px){
  .event-detail-dialog{
    width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  .event-detail-shell,
  .event-detail-shell.has-flyer{
    display:block !important;
    position:relative !important;
    width:100% !important;
    max-height:none !important;
    min-height:0 !important;
    overflow:visible !important;
  }

  .event-detail-flyer{
    display:block !important;
    position:relative !important;
    float:none !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    overflow:hidden !important;
    line-height:0 !important;
  }

  .event-detail-flyer img{
    display:block !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:none !important;
    margin:0 !important;
    object-fit:contain !important;
  }

  .event-detail-copy{
    display:block !important;
    position:relative !important;
    float:none !important;
    clear:both !important;
    inset:auto !important;
    top:auto !important;
    right:auto !important;
    bottom:auto !important;
    left:auto !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    margin:0 !important;
    transform:none !important;
    translate:none !important;
    background:#fff;
    padding:clamp(24px,7vw,32px) clamp(18px,6vw,26px) clamp(30px,8vw,40px) !important;
    box-sizing:border-box;
    z-index:1;
  }

  .event-detail-category{
    display:block;
    margin:0 0 12px !important;
  }

  .event-detail-copy h3{
    margin:0 0 clamp(18px,5vw,24px) !important;
  }

  .event-detail-meta,
  .event-detail-description,
  .event-detail-actions{
    position:static !important;
    transform:none !important;
  }

  .event-detail-shell:not(.has-flyer) .event-detail-copy{
    padding-top:76px !important;
  }

  /* Keep the close control visually anchored to the modal while allowing the
     document flow underneath to size naturally. */
  .event-detail-close{
    position:absolute !important;
    top:14px !important;
    right:14px !important;
  }
}


/* ==========================================================
   V4.96 — Event sheet rebuild
   New class names intentionally isolate the public event popup from all
   legacy event-detail layout rules. Mobile uses pure document flow:
   media -> body -> actions. No negative offsets, fixed media heights,
   nested scrollers, or aspect-ratio JS are involved.
   ========================================================== */
.event-sheet-dialog{
  width:min(980px,calc(100vw - 34px));
  max-height:min(90vh,920px);
  padding:0;
  border:0;
  border-radius:30px;
  overflow:auto;
  background:#fff;
  box-shadow:0 30px 100px rgba(66,10,6,.34);
}

.event-sheet-dialog::backdrop{
  background:rgba(61,8,5,.66);
}

.event-sheet{
  position:relative;
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(0,1fr);
  width:100%;
  min-height:460px;
  margin:0;
  padding:0;
  background:#fff;
}

.event-sheet-media{
  margin:0;
  min-width:0;
  min-height:460px;
  overflow:hidden;
  background:#f8ded4;
}

.event-sheet-media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.event-sheet-body{
  min-width:0;
  align-self:center;
  padding:clamp(36px,5vw,66px);
  background:#fff;
  box-sizing:border-box;
}

.event-sheet-category{
  display:block;
  margin:0 0 14px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--coral);
}

.event-sheet-title{
  margin:0 0 22px;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(42px,5vw,72px);
  line-height:.88;
  letter-spacing:-.045em;
  color:var(--red-deep);
  overflow-wrap:anywhere;
}

.event-sheet-meta{
  display:grid;
  gap:7px;
  color:#654b47;
  font-size:14px;
  line-height:1.42;
}

.event-sheet-meta strong{color:#32100d}

.event-sheet-description{
  margin:24px 0 0;
  color:#5f4743;
  font-size:15px;
  line-height:1.6;
}

.event-sheet-description p{margin:0}

.event-sheet-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}

.event-sheet-actions .btn{
  min-height:46px;
}

.event-sheet-actions .calendar-btn{
  background:#fff3ef;
  border:1px solid rgba(142,5,3,.14);
  color:var(--red-deep);
}

.event-sheet-close{
  position:absolute;
  top:16px;
  right:16px;
  z-index:10;
  width:48px;
  height:48px;
  padding:0;
  display:grid;
  place-items:center;
  border:0;
  border-radius:50%;
  background:rgba(255,255,255,.97);
  color:var(--red-deep);
  box-shadow:0 8px 24px rgba(70,20,15,.18);
  font:600 30px/1 'DM Sans',sans-serif;
  cursor:pointer;
  -webkit-appearance:none;
  appearance:none;
  outline:none;
}

.event-sheet-close:focus-visible{
  box-shadow:0 0 0 4px rgba(236,136,87,.32),0 8px 24px rgba(70,20,15,.18);
}

.event-sheet:not(.has-flyer){
  grid-template-columns:1fr;
}

.event-sheet:not(.has-flyer) .event-sheet-body{
  padding-top:82px;
}

@media(max-width:700px){
  .event-sheet-dialog{
    width:calc(100vw - 24px);
    max-height:calc(100dvh - 24px);
    border-radius:24px;
    overflow-x:hidden;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
  }

  .event-sheet{
    display:block;
    width:100%;
    min-height:0;
    margin:0;
    padding:0;
    background:#fff;
  }

  .event-sheet-media{
    display:block;
    width:100%;
    min-width:0;
    min-height:0;
    height:auto;
    margin:0;
    padding:0;
    overflow:hidden;
    background:#f8ded4;
  }

  .event-sheet-media img{
    position:static;
    width:100%;
    height:auto;
    max-width:100%;
    max-height:none;
    margin:0;
    padding:0;
    display:block;
    object-fit:contain;
    vertical-align:top;
  }

  .event-sheet-body{
    position:static;
    width:100%;
    min-width:0;
    height:auto;
    margin:0;
    padding:26px 22px 34px;
    display:block;
    background:#fff;
    box-sizing:border-box;
    transform:none;
  }

  .event-sheet-category{
    margin:0 0 10px;
  }

  .event-sheet-title{
    margin:0 0 20px;
    font-size:clamp(38px,11.5vw,50px);
    line-height:.92;
    text-wrap:balance;
  }

  .event-sheet-meta{
    gap:7px;
    font-size:clamp(14px,4vw,16px);
    line-height:1.45;
  }

  .event-sheet-description{
    margin-top:22px;
  }

  .event-sheet-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
    margin-top:26px;
  }

  .event-sheet-actions .btn{
    width:100%;
  }

  .event-sheet-close{
    position:absolute;
    top:14px;
    right:14px;
    width:48px;
    height:48px;
  }

  .event-sheet:not(.has-flyer) .event-sheet-body{
    padding-top:78px;
  }
}

@media(max-width:430px){
  .event-sheet-dialog{
    width:calc(100vw - 20px);
  }

  .event-sheet-body{
    padding:24px 18px 32px;
  }

  .event-sheet-title{
    font-size:clamp(36px,11.25vw,46px);
  }
}


/* ==========================================================
   V4.97 — Mobile event popup: explicit measured flyer row
   MOBILE ONLY. The mobile popup is now a separate component from the
   desktop event sheet. JS measures the flyer's intrinsic dimensions first,
   then this aspect-ratio frame reserves that exact space. Details are a
   completely separate block below it: photo -> heading -> date/details.
   ========================================================== */
@media(max-width:700px){
  .event-sheet-dialog{
    width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - 24px) !important;
    padding:0 !important;
    overflow-x:hidden !important;
    overflow-y:auto !important;
    border-radius:24px !important;
    background:#fff !important;
  }

  .mobile-event-sheet{
    position:relative !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    background:#fff !important;
    overflow:visible !important;
  }

  .mobile-event-media{
    position:relative !important;
    display:block !important;
    flex:0 0 auto !important;
    width:100% !important;
    height:auto !important;
    min-width:0 !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#f8ded4 !important;
    box-sizing:border-box !important;
  }

  .mobile-event-media img{
    position:absolute !important;
    inset:0 !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    min-width:0 !important;
    max-width:none !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    object-fit:cover !important;
    object-position:center !important;
    transform:none !important;
  }

  .mobile-event-body{
    position:relative !important;
    z-index:2 !important;
    display:block !important;
    flex:0 0 auto !important;
    width:100% !important;
    min-width:0 !important;
    min-height:0 !important;
    height:auto !important;
    margin:0 !important;
    padding:26px 22px 34px !important;
    background:#fff !important;
    box-sizing:border-box !important;
    transform:none !important;
    clear:both !important;
  }

  .mobile-event-title{
    position:static !important;
    display:block !important;
    width:100% !important;
    margin:0 0 12px !important;
    padding:0 !important;
    font-family:'Bricolage Grotesque',sans-serif !important;
    font-size:clamp(38px,11.25vw,48px) !important;
    font-weight:800 !important;
    line-height:.92 !important;
    letter-spacing:-.045em !important;
    color:var(--red-deep) !important;
    text-wrap:balance;
    overflow-wrap:anywhere;
    transform:none !important;
  }

  .mobile-event-category{
    position:static !important;
    display:block !important;
    margin:0 0 18px !important;
    padding:0 !important;
    font-size:10px !important;
    font-weight:800 !important;
    letter-spacing:.14em !important;
    line-height:1.2 !important;
    text-transform:uppercase !important;
    color:var(--coral) !important;
    transform:none !important;
  }

  .mobile-event-meta{
    position:static !important;
    display:grid !important;
    gap:7px !important;
    margin:0 !important;
    padding:0 !important;
    color:#654b47 !important;
    font-size:clamp(15px,4vw,17px) !important;
    line-height:1.45 !important;
    transform:none !important;
  }

  .mobile-event-meta strong{
    color:#32100d !important;
    font-weight:800 !important;
  }

  .mobile-event-description{
    position:static !important;
    display:block !important;
    margin:22px 0 0 !important;
    padding:0 !important;
    color:#5f4743 !important;
    font-size:15px !important;
    line-height:1.6 !important;
    transform:none !important;
  }

  .mobile-event-description p{
    margin:0 !important;
  }

  .mobile-event-actions{
    position:static !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    margin:28px 0 0 !important;
    padding:0 !important;
    transform:none !important;
  }

  .mobile-event-actions .btn{
    width:100% !important;
    min-height:48px !important;
  }

  .mobile-event-actions .calendar-btn{
    background:#fff3ef !important;
    border:1px solid rgba(142,5,3,.14) !important;
    color:var(--red-deep) !important;
  }

  .mobile-event-close{
    position:absolute !important;
    z-index:20 !important;
    top:14px !important;
    right:14px !important;
    width:48px !important;
    height:48px !important;
    margin:0 !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
    border:0 !important;
    border-radius:50% !important;
    background:rgba(255,255,255,.97) !important;
    color:var(--red-deep) !important;
    box-shadow:0 8px 24px rgba(70,20,15,.18) !important;
    font:600 30px/1 'DM Sans',sans-serif !important;
    cursor:pointer !important;
    -webkit-appearance:none !important;
    appearance:none !important;
  }

  .mobile-event-sheet:not(.has-flyer) .mobile-event-body{
    padding-top:82px !important;
  }
}


/* ==========================================================
   V4.98 — Mobile Who We Are heading rhythm
   Lock this section to one simple phone-only spacing system:
   - ~1 text line from section start to the display heading
   - ~2 text lines from heading to intro paragraph
   - ~2 text lines from paragraph to the first story/photo band
   This intentionally overrides the earlier iterative mobile rules.
   ========================================================== */
@media(max-width:800px){
  .community-ladder{
    padding-top:20px !important;
  }

  .community-identity-head,
  .community-identity-head.reveal,
  .motion-ready .community-identity-head.reveal,
  .motion-ready .community-identity-head.reveal.is-visible{
    display:block !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }

  .community-identity-title{
    margin:0 0 40px !important;
  }

  .community-identity-intro,
  .community-identity-intro p{
    margin-top:0 !important;
    margin-bottom:0 !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .community-ladder-row-a{
    margin-top:0 !important;
    padding-top:40px !important;
  }
}


/* ==========================================================
   V4.99 — Site-wide mobile section-heading rhythm
   One consistent phone-only system across the public site:
   - ~1 text line from a section edge to its major heading
   - ~2 text lines from that heading to the supporting copy/content
   Desktop and tablet layouts remain unchanged.
   ========================================================== */
@media(max-width:800px){
  :root{
    --mobile-section-heading-top:24px;
    --mobile-heading-content-gap:40px;
  }

  /* Major heading reveals fade in without a vertical offset. Keeping the
     heading box physically in place prevents the animation itself from adding
     an extra visual line above the title while the section enters view. */
  .community-identity-head.reveal,
  .manifesto-heading.reveal,
  .ministries-home-head.reveal,
  .events-showcase-heading.reveal,
  .come-home-copy.reveal,
  .interior-display-head.reveal,
  .editorial-page-hero-copy.reveal,
  .motion-ready .community-identity-head.reveal,
  .motion-ready .manifesto-heading.reveal,
  .motion-ready .ministries-home-head.reveal,
  .motion-ready .events-showcase-heading.reveal,
  .motion-ready .come-home-copy.reveal,
  .motion-ready .interior-display-head.reveal,
  .motion-ready .editorial-page-hero-copy.reveal{
    transform:none !important;
  }

  /* The first supporting block uses the same fade-only entrance so its
     40px relationship to the heading never temporarily becomes 62px. */
  .events-showcase-intro.reveal,
  .editorial-section-heading.reveal,
  .editorial-statement-grid.reveal,
  .ministry-philosophy-grid.reveal,
  .missions-why-grid.reveal,
  .missions-history-intro.reveal,
  .ministry-outreach-intro.reveal,
  .editorial-calendar-head.reveal,
  .editorial-video-head.reveal,
  .editorial-cta-grid.reveal,
  .visit-expect-mantra.reveal,
  .motion-ready .events-showcase-intro.reveal,
  .motion-ready .editorial-section-heading.reveal,
  .motion-ready .editorial-statement-grid.reveal,
  .motion-ready .ministry-philosophy-grid.reveal,
  .motion-ready .missions-why-grid.reveal,
  .motion-ready .missions-history-intro.reveal,
  .motion-ready .ministry-outreach-intro.reveal,
  .motion-ready .editorial-calendar-head.reveal,
  .motion-ready .editorial-video-head.reveal,
  .motion-ready .editorial-cta-grid.reveal,
  .motion-ready .visit-expect-mantra.reveal{
    transform:none !important;
  }

  /* Major section starts: one line of breathing room before the heading. */
  .community-ladder,
  .manifesto,
  .ministries-home,
  .events-showcase,
  .editorial-section,
  .editorial-statement-band,
  .editorial-video-section,
  .editorial-events-feed,
  .editorial-cta,
  .ministry-service-band,
  .missions-where,
  .missions-history{
    padding-top:var(--mobile-section-heading-top) !important;
  }

  /* Interior-page hero titles use the same top rhythm. */
  .editorial-page-hero{
    padding-top:var(--mobile-section-heading-top) !important;
  }

  /* All oversized interior display headings: two lines to the content below. */
  .interior-display-head,
  .ministry-service-band .interior-display-head,
  .missions-where .interior-display-head,
  .missions-history .interior-display-head,
  .ministry-page-features > .interior-display-head{
    margin-top:0 !important;
    margin-bottom:var(--mobile-heading-content-gap) !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .interior-display-title{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  /* Homepage: Who We Are */
  .community-ladder{
    padding-top:var(--mobile-section-heading-top) !important;
  }

  .community-identity-head,
  .community-identity-head.reveal,
  .motion-ready .community-identity-head.reveal,
  .motion-ready .community-identity-head.reveal.is-visible{
    margin:0 !important;
    padding:0 !important;
  }

  .community-identity-title{
    margin:0 0 var(--mobile-heading-content-gap) !important;
  }

  /* Keep the intro attached to its title, then transition cleanly into story one. */
  .community-identity-intro,
  .community-identity-intro p{
    margin-top:0 !important;
  }

  .community-ladder-row-a{
    margin-top:0 !important;
    padding-top:var(--mobile-heading-content-gap) !important;
  }

  /* Homepage: Our Mission */
  .manifesto-heading{
    min-height:0 !important;
    gap:var(--mobile-heading-content-gap) !important;
    padding-top:0 !important;
    padding-bottom:0 !important;
  }

  .manifesto .manifesto-title,
  .manifesto-lead{
    margin:0 !important;
  }

  /* Homepage: Ministries and Upcoming Events. */
  .ministries-home-head,
  .events-showcase-head{
    grid-template-columns:minmax(0,1fr) !important;
    gap:var(--mobile-heading-content-gap) !important;
  }

  .ministries-home-head{
    padding-bottom:var(--mobile-heading-content-gap) !important;
  }

  .events-showcase-head{
    margin-bottom:var(--mobile-heading-content-gap) !important;
  }

  .ministries-home-title,
  .events-showcase-title{
    margin-top:0 !important;
    margin-bottom:0 !important;
  }

  .ministries-home-intro,
  .events-showcase-intro{
    padding-top:0 !important;
  }

  /* Homepage: Welcome Home. The photo remains untouched; the copy panel follows
     the same one-line-above / two-lines-below title rhythm. */
  .come-home-content{
    padding-top:var(--mobile-section-heading-top) !important;
  }

  .come-home-title{
    margin:0 !important;
  }

  .come-home-saying{
    margin-top:var(--mobile-heading-content-gap) !important;
  }

  /* The first ministry feature row already follows the display heading's 40px
     gap; remove its old internal top pad so that gap does not double visually. */
  .ministry-page-features > .interior-display-head + .ministry-feature-row{
    padding-top:0 !important;
  }

  /* Interior page hero hierarchy: page title -> supporting headline -> paragraph. */
  .editorial-page-hero-copy > h1,
  .editorial-page-hero .editorial-hero-display{
    margin-top:0 !important;
    margin-bottom:var(--mobile-heading-content-gap) !important;
  }

  .editorial-page-hero-copy > h2{
    margin-top:0 !important;
    margin-bottom:24px !important;
  }

  /* A few sections use their own intro wrappers after the large display title.
     Remove old extra top margins so the 40px heading gap is the only gap. */
  .editorial-section-heading,
  .editorial-calendar-head,
  .editorial-video-head,
  .missions-history-intro,
  .ministry-outreach-intro,
  .visit-expect-mantra,
  .editorial-cta-grid,
  .editorial-statement-grid,
  .ministry-philosophy-grid,
  .missions-where-grid,
  .missions-why-grid,
  .visit-map-grid,
  .prayer-editorial-grid{
    margin-top:0 !important;
  }
}

/* ==========================================================
   V5.04 — Compact Who We Are identity triptych
   Replaces three long alternating story rows with one compact,
   scannable three-part composition. Desktop shows all three ideas
   together; mobile keeps each idea in a short media row so the
   homepage moves much faster without losing the message.
   ========================================================== */
.community-ladder{
  padding-bottom:clamp(46px,5vw,72px);
}

.community-ladder-shell{
  gap:clamp(28px,3vw,42px);
}

.community-identity-head{
  margin-bottom:0;
  padding-bottom:clamp(28px,3vw,42px);
}

.community-compact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.6vw,24px);
  align-items:stretch;
}

.community-compact-card{
  min-width:0;
  display:grid;
  grid-template-rows:clamp(190px,18vw,270px) 1fr;
  overflow:hidden;
  background:color-mix(in srgb,var(--peach) 31%,white);
  border:1px solid rgba(142,5,3,.12);
}

.community-compact-card-family{
  background:var(--red-deep);
  border-color:transparent;
}

.community-compact-card-sent{
  background:color-mix(in srgb,var(--orange-soft) 48%,white);
}

.community-compact-photo{
  margin:0;
  overflow:hidden;
  background:rgba(142,5,3,.08);
}

.community-compact-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.community-compact-card-scripture .community-compact-photo img{
  object-position:center 34%;
}

.community-compact-card-family .community-compact-photo img{
  object-position:center 24%;
}

.community-compact-card-sent .community-compact-photo img{
  object-position:center 18%;
}

.community-compact-copy{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  padding:clamp(22px,2.2vw,34px);
}

.community-compact-copy h2{
  margin:0;
  max-width:12ch;
  font-family:'Bricolage Grotesque',sans-serif;
  font-size:clamp(30px,2.7vw,44px);
  line-height:.93;
  letter-spacing:-.052em;
  color:var(--red-deep);
  font-weight:800;
  text-wrap:balance;
}

.community-compact-copy p{
  margin:16px 0 0;
  max-width:31ch;
  font-size:clamp(16px,1.22vw,19px);
  line-height:1.42;
  font-weight:620;
  letter-spacing:-.018em;
  color:#642822;
}

.community-compact-quote{
  font-weight:720 !important;
}

.community-compact-ref{
  display:block;
  margin-top:auto;
  padding-top:18px;
  font-size:11px;
  line-height:1.2;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--red-deep);
}

.community-compact-card-family .community-compact-copy h2,
.community-compact-card-family .community-compact-copy p{
  color:#fff;
}

.community-compact-card-family .community-compact-ref{
  color:var(--peach);
}

@media(max-width:1050px) and (min-width:801px){
  .community-compact-grid{
    gap:14px;
  }

  .community-compact-copy{
    padding:22px;
  }

  .community-compact-copy h2{
    font-size:clamp(27px,3.25vw,36px);
  }

  .community-compact-copy p{
    font-size:16px;
  }
}

@media(max-width:800px){
  .community-ladder{
    padding-bottom:34px !important;
  }

  .community-ladder-shell{
    gap:24px !important;
  }

  .community-identity-head{
    padding-bottom:0 !important;
  }

  .community-compact-grid{
    grid-template-columns:1fr;
    gap:12px;
  }

  .community-compact-card{
    grid-template-columns:minmax(104px,34%) minmax(0,66%);
    grid-template-rows:auto;
    min-height:188px;
  }

  .community-compact-photo{
    min-height:100%;
  }

  .community-compact-copy{
    justify-content:center;
    padding:18px 18px 19px;
  }

  .community-compact-copy h2{
    max-width:100%;
    font-size:clamp(25px,7vw,31px);
    line-height:.94;
  }

  .community-compact-copy p{
    margin-top:10px;
    max-width:100%;
    font-size:16px;
    line-height:1.38;
  }

  .community-compact-ref{
    margin-top:0;
    padding-top:11px;
    font-size:10px;
  }

  .community-compact-card-scripture .community-compact-photo img{
    object-position:center 28%;
  }

  .community-compact-card-family .community-compact-photo img{
    object-position:center 20%;
  }

  .community-compact-card-sent .community-compact-photo img{
    object-position:center 16%;
  }
}

@media(max-width:390px){
  .community-compact-card{
    grid-template-columns:31% 69%;
  }

  .community-compact-copy{
    padding:16px 15px 17px;
  }

  .community-compact-copy h2{
    font-size:clamp(23px,6.8vw,28px);
  }

  .community-compact-copy p{
    font-size:15px;
  }
}


/* ==========================================================
   V5.05 — Who We Are full-photo treatment
   Keep the compact triptych, but show each original church photo
   without cropping people out. The image ratio now controls the
   media height instead of a forced cover crop.
   ========================================================== */
.community-compact-card{
  grid-template-rows:auto 1fr;
}

.community-compact-photo{
  aspect-ratio:3 / 4;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:color-mix(in srgb,var(--peach) 36%,white);
}

.community-compact-card-family .community-compact-photo{
  background:color-mix(in srgb,var(--red-deep) 88%,black);
}

.community-compact-card-sent .community-compact-photo{
  background:color-mix(in srgb,var(--orange-soft) 42%,white);
}

.community-compact-photo img,
.community-compact-card-scripture .community-compact-photo img,
.community-compact-card-family .community-compact-photo img,
.community-compact-card-sent .community-compact-photo img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}

@media(max-width:800px){
  .community-compact-card{
    grid-template-columns:minmax(118px,38%) minmax(0,62%);
    grid-template-rows:auto;
    align-items:start;
    min-height:0;
  }

  .community-compact-photo{
    width:100%;
    aspect-ratio:3 / 4;
    min-height:0;
    align-self:start;
  }

  .community-compact-photo img,
  .community-compact-card-scripture .community-compact-photo img,
  .community-compact-card-family .community-compact-photo img,
  .community-compact-card-sent .community-compact-photo img{
    width:100%;
    height:100%;
    object-fit:contain;
    object-position:center;
  }

  .community-compact-copy{
    align-self:stretch;
    justify-content:center;
  }
}

@media(max-width:390px){
  .community-compact-card{
    grid-template-columns:minmax(108px,37%) minmax(0,63%);
  }
}
