
:root{--deep:#183F36;--green:#285A4D;--cream:#F7F3E8;--gold:#D2AA5B;--ink:#24312C;--muted:#617069}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.site-header{position:sticky;top:0;z-index:20;background:rgba(24,63,54,.98);color:#fff;box-shadow:0 2px 12px rgba(0,0,0,.15)}.nav-wrap{max-width:1180px;margin:auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{font-weight:800;text-decoration:none;font-size:1.08rem}.nav{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.nav a{text-decoration:none;font-size:1.04rem;font-weight:600;letter-spacing:.2px;opacity:.98}.visit-btn{background:var(--gold);color:#17231f;padding:9px 13px;border-radius:7px;font-weight:700}.hero{min-height:500px;display:flex;align-items:center;color:#fff;padding:70px 7%;background:linear-gradient(90deg,rgba(18,55,46,.92),rgba(18,55,46,.45)),url('images/worship.jpg') center/cover}.hero.small{min-height:300px}.hero-inner{max-width:760px}.hero h1{font-family:Georgia,serif;font-size:clamp(2.7rem,7vw,5rem);line-height:1.03;margin:0 0 16px}.hero.small h1{font-size:clamp(2.2rem,6vw,3.7rem)}.hero p{font-size:1.18rem}.btn{display:inline-block;background:var(--gold);color:#17231f;padding:12px 20px;border-radius:7px;text-decoration:none;font-weight:700;margin:6px 6px 0 0}main{max-width:1150px;margin:auto;padding:56px 22px 75px}section{margin-bottom:64px}h2{font-family:Georgia,serif;color:var(--green);font-size:clamp(2rem,5vw,3rem);margin:0 0 10px}h3{color:var(--green);margin-top:0}.lead{font-size:1.12rem;max-width:820px;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.two{grid-template-columns:repeat(2,1fr)}.card{background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 7px 22px rgba(0,0,0,.07)}.card img{width:100%;height:245px;object-fit:cover}.card .body{padding:16px 24px 22px}.compact .body{padding-top:10px}.schedule{background:var(--deep);color:#fff;border-radius:15px;padding:30px}.schedule h2{color:#fff}.row{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.18)}.feature{display:grid;grid-template-columns:1.08fr .92fr;gap:36px;align-items:center}.feature img{width:100%;border-radius:14px;max-height:520px;object-fit:cover}.placeholder{min-height:330px;border:2px dashed #9c978b;border-radius:14px;display:flex;align-items:center;justify-content:center;text-align:center;background:#ebe6da;color:#69655e;padding:30px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo-pair img{height:280px;object-fit:cover;border-radius:12px}.callout{background:#e6eee9;padding:34px;border-radius:15px}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.contact-item{background:white;padding:24px;border-radius:14px}.quote{border-left:4px solid var(--gold);padding:12px 18px;background:#fff;border-radius:8px}.christmas-img{object-position:center 82%!important}.outreach-img{object-position:center 45%!important}.pastor-wrap{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}.pastor-wrap img{width:100%;border-radius:14px}.footer{background:var(--deep);color:#fff;padding:36px 20px}.footer-inner{max-width:1150px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:30px}.small{font-size:.92rem;color:#d9e2de}@media(max-width:850px){.nav-wrap{flex-direction:column;align-items:flex-start}.grid,.two,.feature,.contact-grid,.footer-inner,.pastor-wrap{grid-template-columns:1fr}.hero{min-height:480px;background-position:58% center}.photo-pair{grid-template-columns:1fr}}


.schedule-narrow{max-width:820px;margin-left:auto;margin-right:auto}
.visit-building-img{object-position:center 72% !important}
@media(max-width:850px){.schedule-narrow{max-width:none}}


/* R03 additions */
.brand-logo-wrap{display:inline-flex;align-items:center;background:var(--cream);padding:3px 7px;border-radius:9px;text-decoration:none;flex:0 0 auto}
.brand-logo{height:62px;width:auto;max-width:190px;object-fit:contain;display:block}
.footer-logo-wrap{display:inline-block;background:var(--cream);border-radius:10px;padding:5px 8px;margin-bottom:10px}
.footer-logo{width:185px;height:auto;display:block}
.home-join-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(280px,.82fr);gap:24px;align-items:stretch}
.scripture-card{background:#fff;border-radius:15px;overflow:hidden;box-shadow:0 7px 22px rgba(0,0,0,.07);display:flex;align-items:center;justify-content:center;padding:8px}
.scripture-card img{width:100%;height:100%;max-height:565px;object-fit:contain;border-radius:10px}
.leadership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.leadership-card{border-top:4px solid var(--gold)}
.schedule-narrow{max-width:820px;margin-left:auto;margin-right:auto}
.visit-building-img{object-position:center 78% !important}
.mens-photo-placeholder{min-height:340px}
.facility-use .btn{margin-bottom:8px}
@media(max-width:850px){
 .brand-logo{height:54px;max-width:165px}
 .home-join-grid,.leadership-grid{grid-template-columns:1fr}
 .scripture-card img{max-height:none}
 .schedule-narrow{max-width:none}
}


/* R04 refinements */
.brand-logo-wrap{
  background:var(--cream);
  padding:2px 4px;
  border-radius:8px;
}
.brand-logo{
  height:124px;
  width:auto;
  max-width:300px;
}
.footer-logo-wrap{padding:3px 5px}
.scripture-card{
  background:var(--cream);
  box-shadow:none;
  padding:0;
}
.scripture-card img{background:var(--cream)}
.ministry-feature-grid h3{
  font-size:1.55rem;
  line-height:1.2;
  margin-bottom:10px;
}
@media(max-width:850px){
  .brand-logo{height:92px;max-width:235px}
}
@media(max-width:560px){
  .brand-logo{height:78px;max-width:205px}
}


/* R07 — preserve full Ephesians 3:9–11 graphic border */
.scripture-graphic,
.scripture-graphic img{
  object-fit:contain !important;
}
.scripture-graphic{
  background:var(--cream) !important;
  padding:8px !important;
  overflow:visible !important;
}
.scripture-graphic img{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
}

@media(max-width:560px){.nav a{font-size:.94rem;letter-spacing:.1px}.nav{gap:9px 10px}}

/* R08 approved homepage Join Us and Ephesians cards */
.approved-home-cards{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:28px;
  align-items:start;
  max-width:1180px;
  margin:0 auto;
  padding:44px 28px;
}
.approved-card-wrap{min-width:0}
.approved-home-card{
  display:block;
  width:100%;
  height:auto;
  border-radius:14px;
}
@media(max-width:800px){
  .approved-home-cards{grid-template-columns:1fr;padding:28px 18px;gap:22px}
}

/* R09 — Join Us card rebuilt as live HTML, matching approved design */
.join-card-r09{
  background:#123f34;
  color:#fff;
  border-radius:14px;
  padding:28px 28px 24px;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
}
.join-card-r09 h2{
  margin:0;
  font-family:Georgia, "Times New Roman", serif;
  font-size:2.1rem;
  line-height:1.05;
  color:#fff;
}
.join-accent{
  width:52px;
  height:3px;
  background:#d2a642;
  margin:10px 0 14px;
  border-radius:2px;
}
.join-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  column-gap:34px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,.14);
  font-size:.96rem;
}
.join-row span:first-child{
  text-align:left;
  padding-left:0;
}
.join-row span:last-child{
  text-align:right;
  white-space:nowrap;
}
.join-row:last-of-type{
  border-bottom:none;
}
.join-visit-btn{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:20px;
  width:100%;
  box-sizing:border-box;
  padding:14px 18px;
  border-radius:7px;
  background:#d2a642;
  color:#fff;
  text-decoration:none;
  font-weight:700;
  font-size:1.08rem;
}
.join-visit-btn:hover{
  filter:brightness(.97);
}
@media(max-width:1050px){
  .join-row{column-gap:22px;font-size:.92rem}
}
@media(max-width:800px){
  .join-card-r09{padding:24px 22px 20px}
  .join-row{grid-template-columns:1fr;row-gap:3px}
  .join-row span:last-child{text-align:left;white-space:normal;opacity:.9}
}

/* R10 — functional Venmo Donate button */
.nav-donate{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.72rem 1rem;
  border:1px solid #d2a642;
  border-radius:7px;
  color:#fff !important;
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
}
.nav-donate:hover{
  background:#d2a642;
  color:#173f35 !important;
}
.footer-donate{
  margin-top:14px;
}
.footer-donate a{
  color:#d2a642;
  font-weight:700;
  text-decoration:none;
}
.footer-donate span{
  opacity:.9;
}

/* R11 — lock homepage card alignment to approved layout */
.approved-home-cards{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(0, 1fr) !important;
  column-gap:46px !important;
  align-items:start !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding:44px 34px 28px !important;
}
.approved-home-cards > .approved-card-wrap{
  align-self:start !important;
  margin:0 !important;
}
.approved-home-cards > .approved-card-wrap:nth-child(2){
  justify-self:stretch !important;
}
.approved-home-cards .approved-home-card{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
}

/* Keep Join Us and Ephesians exactly level across the top */
.join-card-r09{
  margin-top:0 !important;
}

/* Align the right-hand Who We Are placeholder column with the Ephesians card above */
.who-we-are-r11{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  column-gap:46px !important;
  align-items:start !important;
  max-width:1180px !important;
  margin:0 auto !important;
  padding-left:34px !important;
  padding-right:34px !important;
}
.who-we-are-r11 > *:nth-child(2){
  justify-self:stretch !important;
  width:100% !important;
}

/* Responsive stacking */
@media(max-width:800px){
  .approved-home-cards{
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding:28px 18px !important;
  }
  .who-we-are-r11{
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding-left:18px !important;
    padding-right:18px !important;
  }
}

/* R12 — Member/Attendee Resources two-card layout */
.resources-grid-r12{
  align-items:stretch;
}
.resources-grid-r12 .card{
  height:100%;
}

/* R14 — unified Local Ministries card grid */
.ministry-grid-r14{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px;
  margin-bottom:64px;
}
.ministry-card-r14{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 7px 22px rgba(0,0,0,.07);
  display:flex;
  flex-direction:column;
  min-height:100%;
}
.ministry-card-r14 img,
.ministry-placeholder-r14{
  width:100%;
  aspect-ratio:16/10;
  height:auto;
}
.ministry-card-r14 img{
  object-fit:cover;
}
.ministry-placeholder-r14{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#ebe6da;
  color:#69655e;
  border-bottom:1px solid #ddd5c6;
  font-weight:700;
  letter-spacing:.3px;
}
.ministry-placeholder-r14 span{
  margin-top:8px;
  font-size:.88rem;
  font-weight:400;
}
.ministry-card-r14 .body{
  padding:20px 22px 24px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.ministry-card-r14 h3{
  font-family:Georgia,serif;
  font-size:1.45rem;
  line-height:1.15;
  margin:0 0 8px;
  color:var(--green);
}
.ministry-time-r14{
  font-weight:700;
  color:#705829;
  margin:0 0 10px;
}
.ministry-card-r14 .body p:last-child{
  margin-bottom:0;
}
@media(max-width:1050px){
  .ministry-grid-r14{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .ministry-grid-r14{grid-template-columns:1fr}
}

/* R15 — embedded Google Calendar */
.calendar-section-r15{
  margin-top:48px;
}
.calendar-frame-r15{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 7px 22px rgba(0,0,0,.07);
  border:1px solid var(--line);
}
.calendar-frame-r15 iframe{
  display:block;
  width:100%;
  height:720px;
  border:0;
  background:#fff;
}
@media(max-width:800px){
  .calendar-frame-r15 iframe{
    height:650px;
  }
}

/* R19 green-gold scripture text card */
.ephesians-card-r19{
  background:#123f34;
  color:#fff;
  border-radius:14px;
  padding:28px 30px 30px;
  box-shadow:0 2px 8px rgba(0,0,0,.12);
  height:100%;
  box-sizing:border-box;
}
.ephesians-card-r19 h2{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:2rem;
  line-height:1.1;
  color:#fff;
}
.ephesians-accent-r19{
  width:56px;
  height:3px;
  background:#d2a642;
  margin:12px 0 22px;
  border-radius:2px;
}
.ephesians-card-r19 p{
  margin:0;
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.28rem;
  line-height:1.65;
  color:#fff;
}

/* R20 — restore Join Us and place Ephesians 3:9 card directly to its right */
.approved-home-cards{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  column-gap:46px !important;
  align-items:start !important;
}
.approved-home-cards > .approved-card-wrap{
  margin:0 !important;
  align-self:start !important;
  min-width:0 !important;
}
.join-card-r09,
.ephesians-card-r19{
  margin:0 !important;
  width:100% !important;
}
@media(max-width:800px){
  .approved-home-cards{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
}

/* R21 full color scheme override: 01_green_gold */
.site-header{background:#183F36!important}
.footer{background:#183F36!important}
.schedule{background:#183F36!important}
.join-card-r09{background:#183F36!important}
.ephesians-card-r19{background:#183F36!important}
.join-accent,.join-visit-btn,.ephesians-accent-r19,.nav .visit-btn{background:#D2AA5B!important}
.nav-donate{border-color:#D2AA5B!important}
.nav-donate:hover{background:#D2AA5B!important;color:#183F36!important}
.footer-donate a{color:#D2AA5B!important}
.ministry-time-r14{color:#D2AA5B!important}
.hero{
  background:
    linear-gradient(90deg,rgba(24,63,54,.92),rgba(24,63,54,.45)),
    url('images/worship.jpg') center/cover !important;
}

/* R22 — Missions placeholder profile grid */
.mission-grid-r22{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin:30px 0 50px;
}
.mission-card-r22{
  background:#fff;
  border-radius:14px;
  overflow:hidden;
  box-shadow:0 7px 22px rgba(0,0,0,.07);
  display:flex;
  flex-direction:column;
}
.mission-photo-placeholder-r22{
  aspect-ratio:16/10;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#ece7dc;
  color:#756f65;
  font-weight:700;
  letter-spacing:.5px;
  text-align:center;
}
.mission-card-r22 .body{
  padding:20px 22px 24px;
  display:flex;
  flex-direction:column;
  flex:1;
}
.mission-card-r22 h3{
  margin:0 0 6px;
  font-family:Georgia,"Times New Roman",serif;
  color:var(--green);
  font-size:1.4rem;
}
.mission-ministry-r22{
  margin:0 0 4px;
  font-weight:700;
}
.mission-country-r22{
  margin:0 0 12px;
  color:#705829;
  font-weight:700;
}
.mission-disabled-r22{
  margin-top:auto;
  opacity:.58;
  cursor:default;
  pointer-events:none;
}
@media(max-width:950px){
  .mission-grid-r22{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .mission-grid-r22{grid-template-columns:1fr}
}

.mission-card-r22 .body{justify-content:space-between}.mission-link-r25{margin-top:18px;align-self:flex-start}

/* R26 — exact uploaded Missions images */
.mission-photo-r26{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:contain;
  background:#fff;
}

/* R27 — center Missions card names and buttons */
.mission-card-r22 h3{
  text-align:center !important;
}
.mission-link-r25{
  align-self:center !important;
  text-align:center !important;
}

/* R27 — footer two-column alignment */
.footer-layout-r27{
  display:grid;
  grid-template-columns:1fr auto;
  column-gap:32px;
  align-items:end;
}
.footer-left-r27{
  min-width:0;
}
.footer-right-r27{
  text-align:right;
  align-self:end;
}
.footer-right-r27 .footer-donate{
  margin:0 !important;
}
.footer-right-r27 .footer-donate a,
.footer-right-r27 .footer-donate span{
  display:block;
  text-align:right;
}
@media(max-width:700px){
  .footer-layout-r27{
    grid-template-columns:1fr;
    row-gap:14px;
  }
  .footer-right-r27{
    text-align:left;
  }
  .footer-right-r27 .footer-donate a,
  .footer-right-r27 .footer-donate span{
    text-align:left;
  }
}

/* R27 — Watch Online image layout */
.watch-online-r27{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,42%);
  gap:24px;
  align-items:start;
}
.watch-online-image-r27 img{
  display:block;
  width:100%;
  height:auto;
  border-radius:10px;
}
@media(max-width:800px){
  .watch-online-r27{
    grid-template-columns:1fr;
  }
}

/* R28 — CEF image positioning: keep all left-side slogan text visible */
.ministry-card-r14 img[src*="child-evangelism-fellowship"]{
  object-fit:cover !important;
  object-position:left center !important;
}

/* R28 — final footer Venmo placement */
.footer{
  position:relative;
}
.footer-venmo-under-resources-r28{
  margin-top:18px; /* one-plus line of blank vertical space */
}
.footer-venmo-under-resources-r28 .footer-donate{
  margin:0 !important;
  text-align:left !important;
}
.footer-venmo-under-resources-r28 .footer-donate a,
.footer-venmo-under-resources-r28 .footer-donate span{
  display:block;
  text-align:left !important;
}

/* Keep footer columns bottom-aligned so Venmo handle ends level vertically with pastor email */
.footer .container,
.footer > .container{
  align-items:end;
}

/* R29 — refine footer Venmo grouping and vertical alignment */
.footer-venmo-under-resources-r28{
  margin-top:18px !important;
}

/* Keep Donate link and handle visually grouped */
.footer-venmo-under-resources-r28 .footer-donate{
  display:flex !important;
  flex-direction:column !important;
  gap:2px !important;
  margin:0 !important;
}

/* Lower the entire Venmo group slightly so handle bottom aligns with pastor email */
.footer-venmo-under-resources-r28{
  transform:translateY(10px);
}

/* Keep both lines left-aligned beneath Member/Attendee Resources */
.footer-venmo-under-resources-r28 .footer-donate a,
.footer-venmo-under-resources-r28 .footer-donate span{
  display:block;
  text-align:left !important;
  margin:0 !important;
  line-height:1.15;
}

/* R30 — exact footer baseline alignment; replaces prior transform nudging */

/* Cancel the R29 approximation */
.footer-venmo-under-resources-r28{
  transform:none !important;
  margin-top:18px !important;
}

/* Footer main container: align columns by their bottom edges */
.footer .container{
  display:grid !important;
  grid-template-columns:minmax(260px,1.2fr) minmax(180px,.8fr) minmax(230px,.9fr) !important;
  column-gap:72px !important;
  align-items:end !important;
}

/* Make each major footer column stretch as a flex column */
.footer .container > *{
  align-self:end !important;
}

/* Explore column: keep links at top, Venmo group at bottom */
.footer .footer-nav,
.footer .footer-links,
.footer .explore,
.footer .footer-column:last-child{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
}

/* The Venmo block must end on exactly the same baseline as the pastor email */
.footer-venmo-under-resources-r28{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-end !important;
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

.footer-venmo-under-resources-r28 .footer-donate{
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  line-height:1.15 !important;
}

.footer-venmo-under-resources-r28 .footer-donate a,
.footer-venmo-under-resources-r28 .footer-donate span{
  margin:0 !important;
  padding:0 !important;
  line-height:1.15 !important;
}

/* Keep the bottom text lines free of extra paragraph margins */
.footer p:last-child,
.footer-left-r27 p:last-child,
.footer .footer-contact p:last-child{
  margin-bottom:0 !important;
  padding-bottom:0 !important;
}

@media(max-width:800px){
  .footer .container{
    grid-template-columns:1fr !important;
    row-gap:22px !important;
    align-items:start !important;
  }
}

/* R31 — rebuilt footer with exact bottom alignment */
.footer-inner-r31{
  max-width:1150px;
  margin:auto;
  display:grid !important;
  grid-template-columns:2fr 1fr 1fr !important;
  gap:30px !important;
  align-items:start !important;
}

.footer-contact-r31,
.footer-explore-r31{
  min-height:100%;
}

/* Contact and Explore columns share the same bottom edge */
.footer-contact-r31{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}

.footer-explore-r31{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

/* Sunday column remains top-aligned */
.footer-sunday-r31{
  align-self:start;
}

/* Normalize footer paragraph spacing */
.footer-address-r31{
  margin:10px 0 16px !important;
}

.footer-pastor-r31{
  margin:0 !important;
}

.footer-links-r31{
  margin:10px 0 0 !important;
}

/* Blank vertical separation below Member/Attendee Resources */
.footer-venmo-r31{
  margin-top:24px;
  display:flex;
  flex-direction:column;
  gap:3px;
  line-height:1.2;
}

/* Venmo group is left-aligned under Explore */
.footer-venmo-link-r31,
.footer-venmo-handle-r31{
  display:block;
  text-align:left;
  margin:0;
  padding:0;
}

.footer-venmo-link-r31{
  color:var(--gold);
  font-weight:700;
  text-decoration:none;
}

.footer-venmo-handle-r31{
  color:#fff;
}

/*
Exact alignment rule:
Both the contact column and Explore column stretch to the full row height.
Pastor email is the last line in the left column.
Venmo handle is the last line in the right column.
Because both columns fill the same grid-row height and their last content
is anchored to the column bottom, their bottom edges are identical.
*/
.footer-contact-r31{
  justify-content:space-between;
}

.footer-contact-r31 .footer-pastor-r31{
  margin-top:auto !important;
}

.footer-explore-r31 .footer-venmo-r31{
  margin-top:auto;
  padding-top:24px;
}

@media(max-width:850px){
  .footer-inner-r31{
    grid-template-columns:1fr !important;
    gap:24px !important;
  }
  .footer-contact-r31,
  .footer-explore-r31{
    min-height:auto;
  }
  .footer-contact-r31,
  .footer-explore-r31{
    display:block;
  }
  .footer-explore-r31 .footer-venmo-r31{
    margin-top:24px;
    padding-top:0;
  }
}

/* R31 verification patch — force equal footer-column heights */
.footer-inner-r31{
  align-items:stretch !important;
}
.footer-contact-r31,
.footer-explore-r31{
  height:100% !important;
}
.footer-contact-r31{
  display:flex !important;
  flex-direction:column !important;
}
.footer-contact-r31 .footer-pastor-r31{
  margin-top:auto !important;
}
.footer-explore-r31{
  display:flex !important;
  flex-direction:column !important;
}
.footer-explore-r31 .footer-venmo-r31{
  margin-top:auto !important;
  padding-top:24px !important;
}

/* R32 working — footer logo container tightened to image width */
.footer-logo-wrap{
  display:inline-block !important;
  width:auto !important;
  max-width:none !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
}

.footer-logo{
  display:block !important;
  width:auto !important;
  height:130px !important;
  max-width:none !important;
  object-fit:contain !important;
}

/* R33 working — footer logo corners match header treatment */
.footer-logo{
  border-radius:6px !important;
}

/* R34 launch palette */
.site-header{background:#183F36!important}
.footer{background:#183F36!important}
.schedule{background:#183F36!important}
.join-card-r09,.ephesians-card-r19{background:#183F36!important}
.join-accent,.join-visit-btn,.ephesians-accent-r19,.nav .visit-btn{background:#D2AA5B!important}
.nav-donate{border-color:#D2AA5B!important}
.nav-donate:hover{background:#D2AA5B!important;color:#183F36!important}
.footer-venmo-link-r31,.footer-donate a{color:#D2AA5B!important}
.ministry-time-r14,.mission-country-r22{color:#D2AA5B!important}
.hero{
 background:linear-gradient(90deg,rgba(24,63,54,.92),rgba(24,63,54,.45)),
 url('images/worship.jpg') center/cover !important;
}

/* R35 preview — three resource cards */
.resources-grid-r12{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}
@media(max-width:900px){
  .resources-grid-r12{grid-template-columns:1fr !important;}
}

/* R36 — 9 Local Ministries cards in 3 x 3 desktop grid */
.ministry-grid-r14{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.ministry-card-r14>img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
@media(max-width:900px){.ministry-grid-r14{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:620px){.ministry-grid-r14{grid-template-columns:1fr!important}}

/* R37 — lighter homepage hero tint (about 25% less opacity) */
.hero{
  background:
    linear-gradient(90deg,rgba(24,63,54,.69),rgba(24,63,54,.34)),
    url('images/worship.jpg') center/cover !important;
}

/* R37 — Join Us stays left; Ephesians stays top-right; Who We Are sits below it */
.approved-home-cards{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
  column-gap:46px !important;
  align-items:stretch !important;
}
.approved-home-cards > .approved-card-wrap:first-child{
  align-self:stretch !important;
  height:100% !important;
}
.approved-home-cards > .approved-card-wrap:first-child .join-card-r09{
  height:100% !important;
}
.home-right-column-r37{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
}
.home-right-column-r37 > .approved-card-wrap{
  margin:0 !important;
  align-self:stretch !important;
}
.who-we-are-r37{
  flex:1;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:center;
  text-align:center;
  padding:24px 18px 0;
}
.who-we-are-r37 h2{
  margin-top:0;
  text-align:center;
}
.who-we-are-r37 .lead{
  max-width:560px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.who-we-are-r37 .btn{
  align-self:center;
}
@media(max-width:800px){
  .approved-home-cards{
    grid-template-columns:1fr !important;
    gap:22px !important;
  }
  .approved-home-cards > .approved-card-wrap:first-child,
  .approved-home-cards > .approved-card-wrap:first-child .join-card-r09,
  .home-right-column-r37{
    height:auto !important;
  }
  .who-we-are-r37{
    justify-content:flex-start;
  }
}

/* R38 — improved Google Calendar readability on Events page */
.calendar-section-r38{
  max-width:1180px;
  margin:48px auto 0;
  padding:0 16px;
}
.calendar-section-r38 .calendar-frame-r15{
  width:100%;
  max-width:none;
  margin:0 auto;
  border-radius:14px;
  overflow:hidden;
}
.calendar-section-r38 .calendar-frame-r15 iframe{
  width:100% !important;
  height:780px !important;
  border:0 !important;
  display:block;
}
.calendar-section-r38 h2{
  margin-bottom:16px;
}
@media(max-width:900px){
  .calendar-section-r38{padding:0 12px}
  .calendar-section-r38 .calendar-frame-r15 iframe{height:720px !important}
}
@media(max-width:620px){
  .calendar-section-r38{padding:0 8px}
  .calendar-section-r38 .calendar-frame-r15{border-radius:10px}
  .calendar-section-r38 .calendar-frame-r15 iframe{height:650px !important}
}

/* R39 Launch — live Upcoming Events on homepage */
.home-upcoming-r39{max-width:1120px;margin:44px auto;padding:0 20px}
.home-upcoming-r39 h2{text-align:center;margin-bottom:18px}
.home-upcoming-calendar-r39{width:100%;border-radius:14px;overflow:hidden;box-shadow:0 5px 18px rgba(0,0,0,.08);background:#fff}
.home-upcoming-calendar-r39 iframe{display:block;width:100%!important;height:400px!important;border:0!important}
.home-upcoming-action-r39{text-align:center;margin:18px 0 0}
@media(max-width:700px){.home-upcoming-r39{margin:32px auto;padding:0 12px}.home-upcoming-calendar-r39 iframe{height:360px!important}}

/* R40 — donation control moved from header to footer */
.footer{
  position:relative !important;
}
.footer-donate-button-r40{
  position:absolute;
  right:32px;
  bottom:24px;
  display:inline-block;
  padding:10px 18px;
  border:2px solid var(--gold);
  border-radius:7px;
  color:var(--gold) !important;
  background:transparent;
  font-weight:700;
  text-decoration:none;
  line-height:1;
}
.footer-donate-button-r40:hover{
  background:var(--gold);
  color:var(--deep) !important;
}
@media(max-width:850px){
  .footer-donate-button-r40{
    position:static;
    margin:20px 0 0;
  }
}

/* R41 — compact responsive header: logo left, nav wraps beside it */
@media(max-width:760px){
  .site-header .container,
  .site-header .header-inner,
  .site-header .nav-wrap{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) !important;
    align-items:center !important;
    column-gap:14px !important;
  }

  /* Keep logo on the left and do not shrink it excessively */
  .site-header .brand,
  .site-header .logo,
  .site-header .brand-link{
    grid-column:1 !important;
    grid-row:1 !important;
    align-self:center !important;
    margin:0 !important;
  }

  .site-header .brand img,
  .site-header .logo img,
  .site-header .brand-link img{
    width:auto !important;
    max-width:118px !important;
    height:auto !important;
  }

  /* Navigation occupies the right side and wraps compactly */
  .site-header nav,
  .site-header .nav{
    grid-column:2 !important;
    grid-row:1 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-end !important;
    align-items:center !important;
    gap:7px 10px !important;
    margin:0 !important;
    width:100% !important;
  }

  .site-header nav a,
  .site-header .nav a{
    white-space:nowrap !important;
    font-size:.78rem !important;
    line-height:1.15 !important;
    padding:2px 0 !important;
    margin:0 !important;
  }

  .site-header .visit-btn,
  .site-header nav .visit-btn,
  .site-header .nav .visit-btn{
    padding:8px 11px !important;
    margin-left:auto !important;
    font-size:.78rem !important;
  }

  /* Reduce vertical header padding because navigation no longer sits below logo */
  .site-header{
    padding-top:10px !important;
    padding-bottom:10px !important;
  }
}

@media(max-width:520px){
  .site-header .container,
  .site-header .header-inner,
  .site-header .nav-wrap{
    column-gap:10px !important;
  }

  .site-header .brand img,
  .site-header .logo img,
  .site-header .brand-link img{
    max-width:104px !important;
  }

  .site-header nav,
  .site-header .nav{
    gap:6px 8px !important;
  }

  .site-header nav a,
  .site-header .nav a,
  .site-header .visit-btn{
    font-size:.72rem !important;
  }

  .site-header .visit-btn,
  .site-header nav .visit-btn,
  .site-header .nav .visit-btn{
    padding:7px 9px !important;
  }
}

/* R42 — Donate button structurally belongs to Explore column */
.footer-donate-button-r40{
  display:none !important;
}

.footer-donate-wrap-r42{
  margin-top:22px;
  text-align:left;
}

.footer-donate-button-r42{
  display:inline-block;
  padding:15px 27px; /* approximately 1.5x prior 10x18 padding */
  border:2px solid var(--gold);
  border-radius:8px;
  color:var(--gold) !important;
  background:transparent;
  font-weight:700;
  font-size:1.05rem;
  text-decoration:none;
  line-height:1;
}

.footer-donate-button-r42:hover{
  background:var(--gold);
  color:var(--deep) !important;
}

@media(max-width:850px){
  .footer-donate-wrap-r42{
    margin-top:20px;
  }
}

/* R43 — slightly larger header navigation text, while preserving 2-row mobile layout */

/* Desktop/tablet */
.site-header nav a,
.site-header .nav a{
  font-size:1.06em !important;
}

/* Keep Plan Your Visit visually balanced with the enlarged nav */
.site-header .visit-btn,
.site-header nav .visit-btn,
.site-header .nav .visit-btn{
  font-size:1.02em !important;
}

/* Mobile: enlarge from R41, but tighten gaps/padding to avoid a third row */
@media(max-width:760px){
  .site-header nav,
  .site-header .nav{
    gap:6px 8px !important;
  }

  .site-header nav a,
  .site-header .nav a{
    font-size:.82rem !important;
    line-height:1.1 !important;
    letter-spacing:0 !important;
  }

  .site-header .visit-btn,
  .site-header nav .visit-btn,
  .site-header .nav .visit-btn{
    font-size:.80rem !important;
    padding:7px 10px !important;
  }
}

/* Narrower phones: maintain readability while preventing extra wrapping */
@media(max-width:520px){
  .site-header nav,
  .site-header .nav{
    gap:5px 7px !important;
  }

  .site-header nav a,
  .site-header .nav a{
    font-size:.76rem !important;
  }

  .site-header .visit-btn,
  .site-header nav .visit-btn,
  .site-header .nav .visit-btn{
    font-size:.75rem !important;
    padding:6px 8px !important;
  }
}

/* R44 LAUNCH — larger mobile header navigation based on phone screenshot */
@media(max-width:760px){
  .site-header nav,
  .site-header .nav{
    gap:6px 9px !important;
  }

  .site-header nav a,
  .site-header .nav a{
    font-size:1.00rem !important;
    line-height:1.08 !important;
    font-weight:700 !important;
    letter-spacing:-0.01em !important;
  }

  .site-header .visit-btn,
  .site-header nav .visit-btn,
  .site-header .nav .visit-btn{
    font-size:.98rem !important;
    font-weight:700 !important;
    padding:9px 12px !important;
  }
}

/* Narrow phones: still substantially larger than R43, with tighter gaps */
@media(max-width:520px){
  .site-header nav,
  .site-header .nav{
    gap:5px 7px !important;
  }

  .site-header nav a,
  .site-header .nav a{
    font-size:.92rem !important;
    line-height:1.06 !important;
  }

  .site-header .visit-btn,
  .site-header nav .visit-btn,
  .site-header .nav .visit-btn{
    font-size:.92rem !important;
    padding:8px 10px !important;
  }
}

/* R46 Missions final row */
@media(min-width:951px){.mission-gmi-r46{grid-column:3!important}}

/* R47 working — Facebook link in Explore footer column */
.footer-facebook-r47{
  margin-top:24px;
}
.footer-facebook-r47 a{
  display:inline-flex;
  align-items:center;
  gap:9px;
  color:#fff !important;
  font-weight:700;
  text-decoration:none;
}
.footer-facebook-icon-r47{
  display:inline-flex;
  width:26px;
  height:26px;
  border-radius:5px;
  background:#fff;
  color:var(--deep);
  align-items:center;
  justify-content:center;
  font-weight:800;
  font-family:Arial,sans-serif;
  font-size:20px;
  line-height:1;
}
.footer-donate-wrap-r42{
  margin-top:20px !important;
}

/* R49 — site-wide vertical whitespace refinement
   Reduce oversized gaps after hero/banner and before footer by ~40–50%. */

/* First content block beneath page hero/banner */
main > section:first-child,
main > .container:first-child,
main > .approved-home-cards:first-child{
  margin-top:24px !important;
  padding-top:0 !important;
}

/* Where main itself carries large vertical padding */
main{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* Last content block before footer */
main > section:last-child,
main > .container:last-child,
main > .callout:last-child{
  margin-bottom:28px !important;
  padding-bottom:0 !important;
}

/* Homepage: specifically tighten hero -> Join Us/Ephesians and final card -> footer */
.approved-home-cards{
  margin-top:28px !important;
}
main > .visit-card:last-child,
main > section:last-of-type{
  margin-bottom:28px !important;
}

/* Keep a little more breathing room on small screens */
@media(max-width:700px){
  main > section:first-child,
  main > .container:first-child,
  main > .approved-home-cards:first-child{
    margin-top:20px !important;
  }

  main > section:last-child,
  main > .container:last-child,
  main > .callout:last-child,
  main > section:last-of-type{
    margin-bottom:24px !important;
  }

  .approved-home-cards{
    margin-top:22px !important;
  }
}

/* R50 — restore balanced internal spacing in bottom cards */

/* Home: Your First Visit card */
.visit-card{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  padding-top:32px !important;
  padding-bottom:32px !important;
}

/* About: Church Documents card/callout */
.callout{
  box-sizing:border-box !important;
}

/* Target the final Church Documents callout on About page without
   changing the reduced exterior page-to-footer spacing from R49. */
body:has(.callout h2) .callout:last-of-type{
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  padding-top:32px !important;
  padding-bottom:32px !important;
}

/* Ensure the last button never sits against the card edge */
.callout:last-of-type > *:last-child{
  margin-bottom:0 !important;
}

@media(max-width:700px){
  .visit-card,
  body:has(.callout h2) .callout:last-of-type{
    padding-top:26px !important;
    padding-bottom:26px !important;
  }
}

/* R51 — restore natural button widths after R50 flex-column centering */

/* Home: Your First Visit */
.visit-card .btn,
.visit-card a.btn{
  align-self:flex-start !important;
  width:auto !important;
  max-width:max-content !important;
  flex:none !important;
}

/* About: Church Documents */
.callout:last-of-type .btn,
.callout:last-of-type a.btn{
  align-self:flex-start !important;
  width:auto !important;
  max-width:max-content !important;
  flex:none !important;
}

/* R52 — muted-gold navigation dividers on wider screens */
@media(min-width:761px){
  .site-header .nav > a:not(.visit-btn):not(:last-of-type)::after,
  .site-header nav > a:not(.visit-btn):not(:last-of-type)::after{
    content:"|";
    color:var(--gold);
    font-weight:400;
    margin-left:14px;
    pointer-events:none;
  }

  .site-header .nav > a:not(.visit-btn),
  .site-header nav > a:not(.visit-btn){
    display:inline-flex;
    align-items:center;
  }
}

/* No separators in compact mobile navigation */
@media(max-width:760px){
  .site-header .nav > a::after,
  .site-header nav > a::after{
    content:none !important;
  }
}
