/* ===========================================================
   Faith Cathedral Missionary Baptist Church — Shared Styles
   =========================================================== */

:root{
  --purple: #4B0082;
  --purple-light: #6a1cb0;
  --midnight: #2E004F;
  --gold: #D4AF37;
  --gold-soft: #e8cf8a;
  --ivory: #F8F5E9;
  --paper: #FBF9F3;
  --ink: #241333;
  --ink-soft: rgba(36,19,51,0.72);
  --hairline: rgba(75,0,130,0.16);
  --shadow: 0 24px 60px rgba(46,0,79,0.18);
  --font-display: 'Cormorant Garamond', 'Garamond', 'Times New Roman', serif;
  --font-utility: 'Cormorant', 'Garamond', serif;
  --font-body: 'Lora', Georgia, 'Times New Roman', serif;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

@media (prefers-reduced-motion: reduce){
  *{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

a{ color:inherit; }
img,svg{ display:block; max-width:100%; }
button{ font-family:inherit; }

.wrap{ max-width:1180px; margin:0 auto; padding:0 32px; }

.eyebrow{
  font-family:var(--font-utility);
  letter-spacing:0.28em;
  text-transform:uppercase;
  font-size:13px;
  font-weight:600;
}

:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }

/* ---------- Utility bar ---------- */
.utility-bar{
  background:var(--midnight);
  color:rgba(248,245,233,0.78);
  font-family:var(--font-utility);
  font-size:13px;
  letter-spacing:0.03em;
}
.utility-bar .wrap{
  display:flex; justify-content:space-between; align-items:center;
  padding:8px 32px; flex-wrap:wrap; gap:8px 22px;
}
.utility-links{ display:flex; gap:22px; flex-wrap:wrap; }
.utility-links a{ text-decoration:none; color:inherit; display:inline-flex; align-items:center; gap:6px; }
.utility-links a:hover{ color:var(--gold-soft); }
.utility-social a{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border:1px solid rgba(212,175,55,0.5); border-radius:50%;
  color:var(--gold-soft); text-decoration:none;
}
.utility-social a:hover{ background:var(--gold); color:var(--midnight); border-color:var(--gold); }
.utility-social svg{ width:13px; height:13px; }

/* ---------- Header / Nav ---------- */
header{
  position:sticky; top:0; z-index:50;
  background:linear-gradient(180deg,var(--midnight) 0%, var(--purple) 100%);
  border-bottom:1px solid rgba(212,175,55,0.35);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 32px;
  max-width:1180px; margin:0 auto;
  position:relative;
}
.brand{
  display:flex; align-items:center; gap:14px;
  text-decoration:none; color:var(--ivory);
}
.brand svg{ width:44px; height:44px; flex:none; }
.brand-text{ line-height:1.05; }
.brand-name{
  font-family:var(--font-display);
  font-size:19px; font-weight:600; letter-spacing:0.01em;
  color:var(--ivory);
}
.brand-sub{
  font-family:var(--font-utility);
  font-size:11px; letter-spacing:0.2em; text-transform:uppercase;
  color:var(--gold-soft);
  margin-top:2px;
}
nav.links{
  display:flex; gap:30px; align-items:center;
  font-family:var(--font-utility);
  font-size:15px; letter-spacing:0.05em;
}
nav.links a{
  text-decoration:none; color:var(--ivory);
  position:relative; padding-bottom:4px;
  opacity:0.88;
  transition:opacity .2s ease;
  white-space:nowrap;
}
nav.links a:hover, nav.links a.active{ opacity:1; }
nav.links a::after{
  content:""; position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:var(--gold); transition:right .25s ease;
}
nav.links a:hover::after, nav.links a.active::after{ right:0; }
.nav-cta{
  font-family:var(--font-utility);
  font-size:14px; letter-spacing:0.05em;
  border:1px solid var(--gold); color:var(--gold-soft) !important;
  padding:9px 20px; border-radius:2px;
  text-decoration:none;
  white-space:nowrap;
  transition:background .2s ease, color .2s ease;
}
.nav-cta:hover{ background:var(--gold); color:var(--midnight) !important; }
.menu-btn{
  display:none; background:none; border:1px solid rgba(248,245,233,0.4);
  color:var(--ivory); width:42px; height:38px; border-radius:2px; cursor:pointer;
  font-size:18px; line-height:1;
}

@media (max-width:900px){
  nav.links{ display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--midnight); flex-direction:column; align-items:flex-start;
    padding:18px 32px 22px; gap:16px; border-bottom:1px solid rgba(212,175,55,0.3);
    box-shadow:0 18px 30px rgba(0,0,0,0.25);
  }
  nav.links.open{ display:flex; }
  .nav-cta{ display:none; }
  .menu-btn{ display:block; }
}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{
  position:relative;
  background:
    radial-gradient(ellipse 720px 420px at 50% 0%, rgba(212,175,55,0.18), transparent 65%),
    linear-gradient(160deg, var(--midnight) 0%, var(--purple) 70%, #3a0066 100%);
  color:var(--ivory);
  padding:74px 32px 64px;
  text-align:center;
}
.page-hero h1{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(34px, 5vw, 52px);
  margin:14px 0 10px; line-height:1.1;
}
.page-hero p{
  font-family:var(--font-utility); font-size:16px;
  color:rgba(248,245,233,0.82); max-width:560px; margin:0 auto;
  letter-spacing:0.02em; line-height:1.7;
}
.page-hero .eyebrow{ color:var(--gold-soft); }
.crumb{
  font-family:var(--font-utility); font-size:13px; letter-spacing:0.08em;
  color:rgba(248,245,233,0.55); margin-top:18px;
}
.crumb a{ text-decoration:none; color:var(--gold-soft); }
.crumb a:hover{ text-decoration:underline; }

/* ---------- Buttons ---------- */
.btn{
  font-family:var(--font-utility);
  font-size:15px; letter-spacing:0.06em;
  padding:14px 30px; text-decoration:none;
  border-radius:2px; display:inline-block;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.btn-gold{
  background:var(--gold); color:var(--midnight);
  box-shadow:0 12px 30px rgba(212,175,55,0.25);
}
.btn-gold:hover{ transform:translateY(-2px); box-shadow:0 16px 36px rgba(212,175,55,0.38); }
.btn-ghost{
  border-color:rgba(248,245,233,0.5); color:var(--ivory);
}
.btn-ghost:hover{ border-color:var(--gold); color:var(--gold-soft); transform:translateY(-2px); }
.btn-outline-purple{
  border-color:var(--purple); color:var(--purple);
}
.btn-outline-purple:hover{ background:var(--purple); color:var(--ivory); transform:translateY(-2px); }

/* ---------- Section heads ---------- */
.section-head{ text-align:center; max-width:640px; margin:0 auto 56px; }
.section-head .eyebrow{ color:var(--purple); }
.section-head h2{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(28px, 4vw, 40px);
  margin:14px 0 0; color:var(--midnight);
  line-height:1.15;
}
.section-head p{ font-size:16px; color:var(--ink-soft); margin-top:14px; line-height:1.7; }

/* ---------- Hero (home) ---------- */
.hero{
  position:relative;
  background:
    radial-gradient(ellipse 720px 520px at 50% 8%, rgba(212,175,55,0.20), transparent 65%),
    linear-gradient(160deg, var(--midnight) 0%, var(--purple) 58%, #3a0066 100%);
  color:var(--ivory);
  padding:88px 32px 110px;
  overflow:hidden;
}
.hero-inner{ position:relative; max-width:820px; margin:0 auto; text-align:center; }
.seal-hero-wrap{
  width:200px; height:200px; margin:0 auto 32px;
  filter: drop-shadow(0 10px 40px rgba(212,175,55,0.35));
}
.seal-hero-wrap svg{ width:100%; height:100%; }
.hero .eyebrow{ color:var(--gold-soft); }
.hero h1{
  font-family:var(--font-display); font-weight:600;
  font-size:clamp(38px, 6vw, 64px);
  line-height:1.05; margin:16px 0 20px; letter-spacing:0.005em;
}
.hero h1 em{ font-style:italic; color:var(--gold); font-weight:500; }
.hero-extended{
  font-family:var(--font-utility);
  font-size:clamp(15px, 2vw, 18px); line-height:1.75;
  color:rgba(248,245,233,0.86); max-width:620px; margin:0 auto 36px; letter-spacing:0.02em;
}
.hero-cta{ display:flex; gap:18px; justify-content:center; flex-wrap:wrap; margin-bottom:48px; }
.hero-verse{ border-top:1px solid rgba(212,175,55,0.28); padding-top:28px; }
.hero-verse p{
  font-family:var(--font-display); font-style:italic;
  font-size:clamp(18px, 2.4vw, 22px); color:var(--gold-soft); margin:0 0 8px; line-height:1.5;
}
.hero-verse cite{
  font-family:var(--font-utility); font-style:normal; font-size:12px;
  letter-spacing:0.24em; text-transform:uppercase; color:rgba(248,245,233,0.55);
}

/* ---------- Info strip (address / phone / times quick glance) ---------- */
.info-strip{
  background:var(--ivory);
  border-bottom:1px solid var(--hairline);
}
.info-strip .wrap{
  display:grid; grid-template-columns:repeat(3,1fr);
  padding:26px 32px;
}
.info-item{
  display:flex; gap:14px; align-items:flex-start;
  padding:0 22px; border-left:1px solid var(--hairline);
}
.info-item:first-child{ border-left:none; padding-left:0; }
.info-item svg{ width:22px; height:22px; flex:none; color:var(--purple); margin-top:2px; }
.info-item h4{
  font-family:var(--font-utility); font-size:13px; letter-spacing:0.14em; text-transform:uppercase;
  margin:0 0 4px; color:var(--purple);
}
.info-item p, .info-item a{
  margin:0; font-size:14.5px; color:var(--ink-soft); text-decoration:none; line-height:1.55;
}
.info-item a:hover{ color:var(--purple); }
@media (max-width:800px){
  .info-strip .wrap{ grid-template-columns:1fr; gap:20px; }
  .info-item{ border-left:none; padding-left:0; border-top:1px solid var(--hairline); padding-top:18px; }
  .info-item:first-child{ border-top:none; padding-top:0; }
}

/* ---------- Pillars ---------- */
.pillars{ padding:100px 32px 90px; background:var(--paper); }
.pillar-row{
  display:grid; grid-template-columns:repeat(4,1fr); gap:0;
  border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline);
}
.pillar{ padding:38px 24px; border-left:1px solid var(--hairline); text-align:left; }
.pillar:last-child{ border-right:1px solid var(--hairline); }
.pillar-mark{ font-family:var(--font-display); font-style:italic; font-size:15px; color:var(--gold); margin-bottom:16px; display:block; }
.pillar h3{ font-family:var(--font-display); font-weight:600; font-size:23px; color:var(--midnight); margin:0 0 10px; }
.pillar p{ font-size:14.5px; line-height:1.7; color:var(--ink-soft); margin:0; }

@media (max-width:900px){
  .pillar-row{ grid-template-columns:1fr 1fr; }
  .pillar:nth-child(2){ border-right:1px solid var(--hairline); }
  .pillar:nth-child(3){ border-left:1px solid var(--hairline); }
}
@media (max-width:600px){
  .pillar-row{ grid-template-columns:1fr; }
  .pillar{ border-right:1px solid var(--hairline) !important; }
}

/* ---------- About / split layout ---------- */
.split{ padding:100px 32px; background:linear-gradient(180deg, var(--ivory) 0%, var(--paper) 100%); }
.split-grid{
  max-width:1180px; margin:0 auto; display:grid;
  grid-template-columns:0.85fr 1.15fr; gap:70px; align-items:center;
}
.split-grid.reverse .split-media{ order:2; }
.split-media img, .split-media svg{ border-radius:4px; box-shadow:var(--shadow); }
.split-media svg{ width:260px; height:260px; margin:0 auto; box-shadow:none; }
.split-copy .eyebrow{ color:var(--purple); }
.split-copy h2{
  font-family:var(--font-display); font-weight:600; font-size:clamp(28px, 4vw, 40px);
  color:var(--midnight); margin:14px 0 22px; line-height:1.15;
}
.split-copy p{ font-size:16.5px; line-height:1.85; color:var(--ink-soft); margin:0 0 20px; }
.split-copy p:last-child{ margin-bottom:0; }
.split-copy strong{ color:var(--purple); font-weight:600; }
@media (max-width:900px){
  .split-grid{ grid-template-columns:1fr; gap:44px; }
  .split-grid .split-media{ order:-1 !important; }
}

/* ---------- Vision / quote band ---------- */
.vision{
  padding:110px 32px; background:linear-gradient(160deg, var(--midnight) 0%, var(--purple) 100%);
  color:var(--ivory); text-align:center; position:relative; overflow:hidden;
}
.vision::before{
  content:"\201D"; position:absolute; top:-40px; left:50%; transform:translateX(-50%);
  font-family:var(--font-display); font-size:300px; color:rgba(212,175,55,0.08); line-height:1; pointer-events:none;
}
.vision-inner{ position:relative; max-width:800px; margin:0 auto; }
.vision .eyebrow{ color:var(--gold-soft); }
.vision p{
  font-family:var(--font-display); font-weight:500; font-style:italic;
  font-size:clamp(20px, 3vw, 28px); line-height:1.55; margin:20px 0 0; color:var(--ivory);
}
.vision-rule{ width:64px; height:1px; background:var(--gold); margin:32px auto 0; }

/* ---------- Taglines strip ---------- */
.taglines{
  background:var(--gold); color:var(--midnight); padding:20px 0; overflow:hidden;
  white-space:nowrap; border-top:1px solid rgba(46,0,79,0.15); border-bottom:1px solid rgba(46,0,79,0.15);
}
.taglines-track{ display:inline-flex; gap:56px; animation:scroll-left 32s linear infinite; }
.taglines-track span{ font-family:var(--font-display); font-style:italic; font-weight:500; font-size:17px; letter-spacing:0.01em; }
.taglines-track span::after{ content:"\2726"; margin-left:56px; font-style:normal; font-size:13px; opacity:.6; }
@keyframes scroll-left{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* ---------- Service times / visit card ---------- */
.visit-grid{
  max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px;
}
.service-list{ list-style:none; padding:0; margin:0; border-top:1px solid var(--hairline); }
.service-list li{
  display:flex; justify-content:space-between; align-items:baseline;
  padding:18px 0; border-bottom:1px solid var(--hairline); font-family:var(--font-utility);
}
.service-list .day{ font-size:16px; color:var(--midnight); letter-spacing:0.02em; }
.service-list .time{ font-size:15px; color:var(--purple); letter-spacing:0.04em; }
.visit-card{
  background:linear-gradient(160deg, var(--midnight), var(--purple));
  border-radius:4px; padding:42px; color:var(--ivory);
  display:flex; flex-direction:column; justify-content:space-between; box-shadow:var(--shadow);
}
.visit-card .eyebrow{ color:var(--gold-soft); }
.visit-card h3{ font-family:var(--font-display); font-weight:600; font-size:25px; margin:14px 0 16px; }
.visit-card p{ font-size:15px; line-height:1.8; color:rgba(248,245,233,0.85); margin:0 0 26px; }
@media (max-width:900px){ .visit-grid{ grid-template-columns:1fr; gap:44px; } }

/* ---------- Gallery ---------- */
.gallery-section{ padding:80px 32px 110px; background:var(--paper); }
.gallery-grid{
  max-width:1180px; margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr); gap:14px;
}
.gallery-item{
  position:relative; overflow:hidden; border-radius:3px;
  aspect-ratio:1/1; cursor:pointer; background:var(--ink);
}
.gallery-item img{
  width:100%; height:100%; object-fit:cover;
  transition:transform .5s ease, opacity .3s ease;
}
.gallery-item:hover img{ transform:scale(1.06); }
.gallery-item::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 55%, rgba(46,0,79,0.55) 100%);
  opacity:0; transition:opacity .3s ease;
}
.gallery-item:hover::after{ opacity:1; }
.gallery-item .cap{
  position:absolute; left:12px; right:12px; bottom:10px;
  color:var(--ivory); font-family:var(--font-utility); font-size:13px;
  letter-spacing:0.02em; opacity:0; transform:translateY(6px);
  transition:opacity .3s ease, transform .3s ease;
}
.gallery-item:hover .cap{ opacity:1; transform:translateY(0); }
.gallery-item.tall{ grid-row:span 2; }

@media (max-width:900px){ .gallery-grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:600px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); gap:10px; } .gallery-item.tall{ grid-row:span 1; } }

/* Lightbox */
.lightbox{
  position:fixed; inset:0; background:rgba(20,7,33,0.94); z-index:200;
  display:none; align-items:center; justify-content:center; padding:32px;
}
.lightbox.open{ display:flex; }
.lightbox figure{ margin:0; max-width:90vw; max-height:88vh; text-align:center; }
.lightbox img{ max-width:90vw; max-height:76vh; margin:0 auto; border-radius:3px; box-shadow:0 30px 80px rgba(0,0,0,0.5); }
.lightbox figcaption{
  color:var(--gold-soft); font-family:var(--font-utility); font-size:14px; margin-top:16px; letter-spacing:0.03em;
}
.lightbox .lb-close, .lightbox .lb-prev, .lightbox .lb-next{
  position:absolute; background:none; border:1px solid rgba(248,245,233,0.4); color:var(--ivory);
  cursor:pointer; border-radius:50%; width:44px; height:44px; font-size:20px; display:flex; align-items:center; justify-content:center;
  transition:background .2s ease, border-color .2s ease;
}
.lightbox .lb-close:hover, .lightbox .lb-prev:hover, .lightbox .lb-next:hover{ background:var(--gold); color:var(--midnight); border-color:var(--gold); }
.lightbox .lb-close{ top:26px; right:26px; }
.lightbox .lb-prev{ left:26px; top:50%; transform:translateY(-50%); }
.lightbox .lb-next{ right:26px; top:50%; transform:translateY(-50%); }
@media (max-width:700px){
  .lightbox .lb-prev{ left:10px; } .lightbox .lb-next{ right:10px; } .lightbox .lb-close{ top:14px; right:14px; }
}

/* ---------- Pastor page ---------- */
.pastor-hero{
  padding:100px 32px; background:linear-gradient(180deg, var(--ivory), var(--paper));
}
.pastor-grid{
  max-width:1180px; margin:0 auto; display:grid;
  grid-template-columns:0.8fr 1.2fr; gap:64px; align-items:start;
}
.pastor-photo{ position:relative; }
.pastor-photo img{
  width:100%; border-radius:4px; box-shadow:var(--shadow);
}
.pastor-photo .frame-tag{
  position:absolute; bottom:-18px; left:-18px; background:var(--gold);
  color:var(--midnight); font-family:var(--font-utility); font-size:13px; letter-spacing:0.1em;
  text-transform:uppercase; padding:10px 18px; border-radius:2px; box-shadow:0 10px 26px rgba(0,0,0,0.18);
}
.pastor-copy .eyebrow{ color:var(--purple); }
.pastor-copy h1{
  font-family:var(--font-display); font-weight:600; font-size:clamp(30px, 4vw, 44px);
  color:var(--midnight); margin:12px 0 4px;
}
.pastor-copy .pastor-title{
  font-family:var(--font-utility); font-style:italic; font-size:17px; color:var(--purple); margin:0 0 26px;
}
.pastor-copy p{ font-size:16.5px; line-height:1.85; color:var(--ink-soft); margin:0 0 20px; }
.pastor-quote{
  border-left:3px solid var(--gold); padding-left:22px; margin:34px 0;
  font-family:var(--font-display); font-style:italic; font-size:21px; color:var(--midnight); line-height:1.5;
}
@media (max-width:900px){ .pastor-grid{ grid-template-columns:1fr; gap:36px; } .pastor-photo{ max-width:340px; margin:0 auto; } }

.pastor-strip{
  background:var(--midnight); padding:60px 32px;
}
.pastor-strip .wrap{ max-width:1180px; margin:0 auto; }
.pastor-strip-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:24px; }
.pastor-strip-grid img{ border-radius:4px; width:100%; }
@media (max-width:700px){ .pastor-strip-grid{ grid-template-columns:1fr; } }

/* ---------- Contact / Visit page details ---------- */
.contact-section{ padding:100px 32px; background:var(--paper); }
.contact-grid{
  max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start;
}
.contact-card{
  background:var(--ivory); border:1px solid var(--hairline); border-radius:4px; padding:38px;
}
.contact-card h3{
  font-family:var(--font-display); font-weight:600; font-size:24px; color:var(--midnight); margin:0 0 22px;
}
.contact-row{
  display:flex; gap:16px; align-items:flex-start; padding:16px 0; border-bottom:1px solid var(--hairline);
}
.contact-row:last-child{ border-bottom:none; }
.contact-row svg{ width:22px; height:22px; flex:none; color:var(--purple); margin-top:2px; }
.contact-row h4{ font-family:var(--font-utility); font-size:13px; letter-spacing:0.12em; text-transform:uppercase; margin:0 0 4px; color:var(--purple); }
.contact-row p, .contact-row a{ margin:0; font-size:15.5px; color:var(--ink-soft); text-decoration:none; line-height:1.6; }
.contact-row a:hover{ color:var(--purple); }
.map-frame{
  width:100%; height:100%; min-height:360px; border:0; border-radius:4px; box-shadow:var(--shadow);
}
@media (max-width:900px){ .contact-grid{ grid-template-columns:1fr; gap:40px; } }

/* ---------- Footer ---------- */
footer{ background:var(--midnight); color:var(--ivory); padding:60px 32px 26px; }
.footer-grid{
  max-width:1180px; margin:0 auto; display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:52px;
  padding-bottom:40px; border-bottom:1px solid rgba(212,175,55,0.22);
}
.footer-brand{ display:flex; gap:14px; align-items:flex-start; }
.footer-brand svg{ width:44px; height:44px; flex:none; margin-top:2px; }
.footer-brand-name{ font-family:var(--font-display); font-size:19px; font-weight:600; }
.footer-tagline{
  font-family:var(--font-display); font-style:italic; font-size:14px; color:var(--gold-soft); margin-top:8px; line-height:1.6; max-width:240px;
}
.footer-col h4{
  font-family:var(--font-utility); font-size:13px; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-soft); margin:0 0 16px;
}
.footer-col ul{ list-style:none; padding:0; margin:0; }
.footer-col li{ margin-bottom:11px; font-size:14.5px; }
.footer-col a{ text-decoration:none; color:rgba(248,245,233,0.82); }
.footer-col a:hover{ color:var(--gold-soft); }
.footer-social{ display:flex; gap:10px; margin-top:16px; }
.footer-social a{
  display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px;
  border:1px solid rgba(212,175,55,0.4); border-radius:50%; color:var(--gold-soft); text-decoration:none;
}
.footer-social a:hover{ background:var(--gold); color:var(--midnight); }
.footer-social svg{ width:15px; height:15px; }
.footer-bottom{
  max-width:1180px; margin:22px auto 0; display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:10px; font-family:var(--font-utility); font-size:13px; color:rgba(248,245,233,0.5); letter-spacing:0.03em;
}
@media (max-width:900px){ .footer-grid{ grid-template-columns:1fr; gap:34px; } }

/* ---------- Expanded pastor biography ---------- */
.pastor-bio-section{padding:90px 32px;background:var(--paper);}
.pastor-bio-wrap{max-width:1180px;margin:0 auto;}
.ministry-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.ministry-card{background:var(--ivory);padding:34px 30px;border-top:3px solid var(--gold);box-shadow:0 12px 34px rgba(0,0,0,.06);}
.ministry-card .pillar-number{font-family:var(--font-utility);font-size:12px;letter-spacing:.18em;color:var(--purple);}
.ministry-card h3{font-family:var(--font-display);font-size:30px;color:var(--midnight);margin:10px 0 12px;}
.ministry-card p{font-size:15.5px;line-height:1.75;color:var(--ink-soft);margin:0;}
.pastor-story-section{padding:90px 32px;background:var(--ivory);}
.pastor-story-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.2fr .8fr;gap:64px;align-items:center;}
.pastor-story-grid .eyebrow{color:var(--purple);}
.pastor-story-grid h2{font-family:var(--font-display);font-weight:600;font-size:clamp(32px,4vw,46px);color:var(--midnight);margin:10px 0 22px;}
.pastor-story-grid p{font-size:16.5px;line-height:1.85;color:var(--ink-soft);margin:0 0 20px;}
.pastor-story-photo img{width:100%;border-radius:4px;box-shadow:var(--shadow);}
@media(max-width:900px){.ministry-pillars{grid-template-columns:1fr}.pastor-story-grid{grid-template-columns:1fr;gap:36px}.pastor-story-photo{max-width:420px;margin:0 auto}}
