
:root{
  --navy:#243145;
  --navy-deep:#202d40;
  --cream:#f5f0e6;
  --cream2:#fbf8f1;
  --gold:#f8b738;
  --gold-deep:#e69c14;
  --blue:#dce8f2;
  --sand:#f4e8d4;
  --ink:#223043;
  --line:#a7a99f;
  --white:#fff;
  --shadow:0 20px 50px rgba(26,38,52,.09);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream2);color:var(--ink);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%}
.site-header{
  height:92px;background:rgba(251,248,241,.97);border-bottom:1px solid rgba(34,48,67,.15);
  display:flex;align-items:center;padding:0 4.2vw;position:sticky;top:0;z-index:1000;backdrop-filter:blur(8px)
}
.brand{display:flex;align-items:center;gap:12px;min-width:230px}
.brand img{width:48px;height:48px;object-fit:contain;border-radius:10px}
.brand span{display:flex;flex-direction:column;line-height:1}
.brand b{font-size:15px;letter-spacing:1.8px}
.brand small{font-size:9px;letter-spacing:3.2px;font-weight:800;margin-top:6px}
.desktop-nav{margin:auto;display:flex;gap:38px;font-size:13px;font-weight:700}
.desktop-nav a,.header-cta{transition:.2s ease}
.desktop-nav a:hover{color:var(--gold-deep)}
.header-cta{border:1.5px solid var(--navy);padding:15px 25px;border-radius:30px;font-weight:800;font-size:13px}
.header-cta span,.pill span,.underlink span{margin-left:10px}
.menu-toggle{display:none;margin-left:auto;border:1.5px solid var(--navy);border-radius:30px;background:transparent;padding:12px 18px;font-weight:800}
.mobile-menu{display:none;position:fixed;top:76px;left:0;right:0;z-index:999;background:var(--cream2);padding:28px 6vw;border-bottom:1px solid rgba(34,48,67,.16);box-shadow:0 16px 28px rgba(0,0,0,.08)}
.mobile-menu a{display:block;padding:15px 0;border-bottom:1px solid rgba(34,48,67,.12);font-weight:800}

.section-cream{background:var(--cream)}
.hero{padding:52px 3.6vw 30px}
.hero-grid{max-width:1800px;margin:auto;display:grid;grid-template-columns:1.18fr .82fr;gap:34px;min-height:650px;align-items:center}
.micro{font-size:12px;font-weight:900;letter-spacing:2.6px;margin-bottom:65px;display:flex;align-items:center;gap:12px}
.dash{width:32px;height:8px;border-radius:10px;background:var(--gold);display:inline-block}
.hero h1{font-size:clamp(76px,8.7vw,156px);line-height:.83;letter-spacing:-6px;margin:0;font-weight:900}
.headline-strip{display:inline-block;background:var(--gold);color:#fff;font-weight:900;font-size:clamp(27px,3.1vw,55px);line-height:1;padding:10px 16px;margin:18px 0 38px;transform:rotate(-1deg)}
.hero-lower{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end}
.eyebrow{font-weight:900;font-size:11px;letter-spacing:2px;text-transform:uppercase}
.gold{color:var(--gold-deep)}
.intro-copy h2{font-family:Georgia,'Times New Roman',serif;font-size:31px;line-height:1.05;margin:14px 0}
.intro-copy p,.story-copy p{font-family:Georgia,'Times New Roman',serif;font-size:18px;line-height:1.48;max-width:700px}
.hero-visual{display:flex;justify-content:flex-end;align-items:center}
.hero-visual img{width:100%;max-width:760px;border-radius:48% 48% 18px 18px / 28% 28% 18px 18px;box-shadow:var(--shadow)}
.pill{display:inline-flex;align-items:center;justify-content:center;border-radius:32px;padding:16px 27px;font-size:13px;font-weight:900;letter-spacing:.2px;white-space:nowrap}
.dark{background:var(--navy);color:#fff}
.yellow{background:var(--gold);border:1.5px solid var(--navy)}
.white{background:white;border:1.5px solid var(--navy)}
.outline{border:1.5px solid var(--navy)}
.story-ticker{background:var(--navy);color:#fff;overflow:hidden;height:55px;display:flex;align-items:center}
.ticker-track{display:flex;align-items:center;gap:32px;white-space:nowrap;font-weight:900;letter-spacing:2px;font-size:15px;animation:ticker 28s linear infinite}
.ticker-track i{color:var(--gold);font-style:normal}
@keyframes ticker{from{transform:translateX(0)}to{transform:translateX(-35%)}}
.stats-strip{display:grid;grid-template-columns:repeat(3,1fr);background:var(--gold);border-bottom:1px solid var(--navy)}
.stats-strip>div{height:150px;display:flex;align-items:center;justify-content:center;gap:25px;border-right:1px solid rgba(34,48,67,.55)}
.stats-strip>div:last-child{border-right:0}
.stats-strip strong{font-family:Georgia,serif;font-size:75px;font-weight:400}
.stats-strip span{font-weight:900;letter-spacing:1.5px;font-size:14px}

.section-index{position:absolute;left:4.3vw;top:45px;display:flex;align-items:center;gap:15px;font-size:11px;letter-spacing:1.7px}
.section-index span{width:32px;height:32px;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center;font-weight:900}
.about,.journey,.ministries{position:relative;padding:60px 5vw 80px}
.about-content,.journey-head,.ministries-main{max-width:1490px;margin:0 auto;padding-left:210px}
.display{font-weight:400;letter-spacing:-4px;line-height:.95;margin:25px 0;font-size:clamp(66px,7.6vw,128px)}
.about-copy-grid{display:grid;grid-template-columns:minmax(520px,1fr) 1fr;gap:70px;margin-top:55px}
.story-copy h3{font-family:Georgia,serif;color:var(--gold-deep);font-size:31px;line-height:1.05;margin:16px 0 26px}
.caps-line{display:block;font-size:12px;letter-spacing:1px;margin-top:25px}
.underlink{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid currentColor;padding:15px 0;font-weight:900;font-size:11px;letter-spacing:.5px}
.about-copy-grid>.underlink{align-self:end;margin-bottom:12px}
.big-rule{height:1px;background:var(--navy);opacity:.6;margin:70px 0 35px}
.one-community{font-size:clamp(44px,5vw,80px);line-height:1.02;margin:0;font-weight:900;letter-spacing:-2px}

.journey{padding-top:90px}
.journey-title{max-width:1000px}
.journey-track{max-width:1690px;margin:50px auto 35px;border:1px solid rgba(34,48,67,.22);border-radius:18px;min-height:68px;display:flex;align-items:center;padding:0 28px;gap:24px;box-shadow:var(--shadow);background:rgba(255,255,255,.45)}
.journey-track a{font-size:11px;font-weight:900;letter-spacing:1px}
.journey-track i{font-style:normal;color:var(--gold-deep)}
.journey-track b{margin-left:auto;background:var(--gold);border-radius:20px;padding:9px 16px;font-size:11px}
.journey-cards{max-width:1690px;margin:auto;display:flex;flex-direction:column;gap:28px}
.journey-card{position:relative;min-height:650px;border:1px solid rgba(34,48,67,.15);border-radius:28px;display:grid;grid-template-columns:.95fr 1fr 1.15fr;align-items:center;gap:38px;padding:42px 55px;overflow:hidden;box-shadow:var(--shadow)}
.cream-card{background:#fbf4e5;border-left:8px solid var(--gold)}
.blue-card{background:var(--blue);border-left:8px solid #78a4c8}
.sand-card{background:var(--sand);border-left:8px solid #b88d4d}
.dark-card{background:var(--navy);color:#fff;border-left:8px solid var(--gold)}
.card-index{position:absolute;left:30px;top:30px;width:36px;height:36px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:900}
.journey-identity{position:relative;padding:30px 25px 50px 70px}
.journey-logo{width:105px;height:105px;object-fit:contain;border-radius:18px;background:white;margin-bottom:30px}
.round-logo{border-radius:50%}
.journey-identity h3{font-size:clamp(48px,4.2vw,76px);font-weight:300;letter-spacing:-3px;margin:14px 0}
.journey-identity h3.mixed{text-transform:none}
.journey-identity .tag{font-size:14px;font-weight:800;line-height:1.25;max-width:320px}
.vertical-label{position:absolute;left:-14px;bottom:8px;transform:rotate(-90deg);transform-origin:left bottom;font-size:9px;letter-spacing:1.9px;font-weight:900;white-space:nowrap}
.journey-photo{width:100%;height:555px;object-fit:cover;border-radius:22px;border:5px solid rgba(255,255,255,.8);box-shadow:0 12px 40px rgba(25,37,50,.14)}
.gold-border{border-color:#f3ca6d}
.journey-description{font-family:Georgia,serif;font-size:18px;line-height:1.45;padding-right:20px}
.journey-description .underlink{font-family:Arial,Helvetica,sans-serif;margin:24px 0 28px}
.journey-description .pill{font-family:Arial,Helvetica,sans-serif}

.dark-section{background:var(--navy-deep);color:#fff;position:relative;padding:95px 5vw}
.section-index.light span{border-color:#fff}
.purpose-main{max-width:1680px;margin:auto;padding-left:240px}
.purpose-title-row{display:grid;grid-template-columns:1fr 300px;gap:100px;align-items:end}
.light-text{color:#fff;font-size:clamp(62px,6.4vw,112px)}
.purpose-title-row p{font-family:Georgia,serif;font-size:18px;line-height:1.5;margin-bottom:35px}
.purpose-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(255,255,255,.35);margin-top:55px}
.purpose-card{min-height:290px;padding:28px 35px;border-right:1px solid rgba(255,255,255,.28)}
.purpose-card:last-child{border-right:0}
.purpose-card small{font-weight:900}
.round-icon{width:70px;height:70px;border:1px solid #fff;border-radius:50%;display:grid;place-items:center;font-size:26px;margin:38px 0}
.purpose-card h3{font-size:26px;font-weight:400;margin:0 0 14px}
.purpose-card p{font-size:13px;line-height:1.55;max-width:380px}

.ministries{padding-top:90px}
.ministry-title{font-size:clamp(66px,6vw,105px);max-width:900px}
.ministry-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:50px}
.ministry-card{min-height:405px;border:1.5px solid var(--navy);padding:25px 35px;display:flex;flex-direction:column}
.mission{background:var(--gold)}
.cleanup{background:#d8e5f1}
.ministry-top{display:flex;justify-content:space-between;border-bottom:1px solid var(--navy);padding-bottom:18px;margin-bottom:30px;font-size:9px;font-weight:900}
.ministry-top span{width:25px;height:25px;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center}
.ministry-card h3{font-size:57px;line-height:.9;font-weight:300;letter-spacing:-3px;margin:10px 0 16px}
.ministry-card>b{font-size:12px;letter-spacing:.6px;margin-bottom:14px}
.ministry-card p{font-family:Georgia,serif;font-size:14px;line-height:1.5;max-width:750px}
.ministry-card .underlink{margin-top:auto}
.ministry-card .pill{align-self:flex-start;margin-top:22px;padding:11px 18px;font-size:10px}

.start{padding:80px 5vw}
.start-grid{max-width:1710px;margin:auto;display:grid;grid-template-columns:1fr 1.1fr;gap:120px}
.start-title{font-size:clamp(58px,5vw,95px)}
.start-grid>div:first-child>p{font-family:Georgia,serif;font-size:17px;line-height:1.5;max-width:520px}
.steps{border-top:1px solid var(--navy)}
.steps>div{display:grid;grid-template-columns:40px 1fr 1.2fr;align-items:center;gap:20px;min-height:75px;border-bottom:1px solid var(--navy)}
.steps span{width:30px;height:30px;border:1px solid var(--navy);border-radius:50%;display:grid;place-items:center;font-size:10px}
.steps b{font-size:12px;letter-spacing:.6px}
.steps p{font-size:11px;margin:0}

.faq{background:var(--blue);padding:60px 5vw 90px}
.faq-grid{max-width:1710px;margin:auto;display:grid;grid-template-columns:.9fr 1.3fr;gap:100px}
.faq-title{font-size:clamp(54px,4.5vw,85px)}
.faq-list{border-top:1px solid var(--navy)}
details{border-bottom:1px solid var(--navy);padding:18px 0}
summary{list-style:none;cursor:pointer;font-weight:900;font-size:12px;display:flex;justify-content:space-between;align-items:center}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-size:18px;font-weight:400}
details[open] summary::after{content:'−'}
details p{font-family:Georgia,serif;font-size:13px;line-height:1.45;max-width:650px;margin:18px 0 0}

.closing-cta{background:var(--gold);min-height:430px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:55px 20px}
.closing-cta h2{font-size:clamp(64px,6vw,106px);margin:20px 0 20px}
.closing-cta p{font-family:Georgia,serif;font-size:15px;line-height:1.4;max-width:650px}
.closing-cta .pill{margin:17px 0}
.closing-cta small{font-size:8px;letter-spacing:1.2px;font-weight:800;margin-top:8px}

footer{background:var(--navy);color:white;padding:30px 5vw 25px;display:grid;grid-template-columns:1fr auto;align-items:center}
footer .brand img{width:35px;height:35px}
footer .brand b{font-size:10px}
footer .brand small{font-size:7px}
footer nav{display:flex;gap:24px;font-size:10px;font-weight:700}
footer nav a:first-child{font-family:Georgia,serif;font-style:italic}
.footer-rule{grid-column:1/-1;height:1px;background:rgba(255,255,255,.25);margin:30px 0 20px}
footer>small{font-size:8px}

.listen-float{position:fixed;right:28px;bottom:24px;z-index:1100;border:1px solid var(--gold);background:var(--navy);color:white;border-radius:30px;padding:7px 15px 7px 7px;display:flex;align-items:center;gap:11px;box-shadow:0 12px 25px rgba(0,0,0,.18);cursor:pointer}
.listen-float span{width:36px;height:36px;border-radius:50%;background:var(--gold);display:grid;place-items:center}
.listen-float b{font-size:11px;letter-spacing:1px}
.voice-toast{position:fixed;right:28px;bottom:86px;background:#fff;color:var(--navy);border:1px solid rgba(34,48,67,.25);border-radius:14px;padding:12px 16px;font-size:12px;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s ease;z-index:1100}
.voice-toast.show{opacity:1;transform:translateY(0)}

@media(max-width:1050px){
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:block}
  .site-header{height:76px}
  .brand img{width:42px;height:42px}
  .hero{padding:30px 5vw 25px}
  .hero-grid{grid-template-columns:1fr;min-height:auto}
  .micro{margin-bottom:35px}
  .hero h1{font-size:clamp(62px,18vw,112px)}
  .headline-strip{font-size:clamp(25px,7vw,46px)}
  .hero-lower{grid-template-columns:1fr}
  .hero-visual{justify-content:center}
  .hero-visual img{max-width:720px}
  .stats-strip{grid-template-columns:1fr}
  .stats-strip>div{border-right:0;border-bottom:1px solid rgba(34,48,67,.55);height:110px}
  .about,.journey,.ministries{padding:80px 6vw 55px}
  .section-index{position:static;margin-bottom:35px}
  .about-content,.journey-head,.ministries-main,.purpose-main{padding-left:0}
  .about-copy-grid{grid-template-columns:1fr}
  .display{letter-spacing:-2px}
  .journey-track{overflow-x:auto;justify-content:flex-start}
  .journey-card{grid-template-columns:1fr;gap:25px;padding:65px 28px 36px}
  .journey-identity{padding:10px 0 10px}
  .vertical-label{position:static;display:block;transform:none;margin-top:30px}
  .journey-photo{height:auto;max-height:650px}
  .journey-description{padding:0;font-size:19px}
  .purpose-title-row{grid-template-columns:1fr;gap:10px}
  .purpose-grid{grid-template-columns:1fr}
  .purpose-card{border-right:0;border-bottom:1px solid rgba(255,255,255,.28)}
  .ministry-grid,.start-grid,.faq-grid{grid-template-columns:1fr}
  .start-grid,.faq-grid{gap:55px}
}
@media(max-width:620px){
  .brand{min-width:0}
  .brand span b{font-size:14px}
  .brand small{font-size:8px}
  .hero h1{letter-spacing:-3px}
  .hero-visual img{border-radius:28px}
  .intro-copy p,.story-copy p{font-size:16px}
  .display{font-size:clamp(52px,16vw,80px)}
  .story-copy h3{font-size:27px}
  .one-community{font-size:44px}
  .journey-card{border-radius:0;margin-left:-6vw;margin-right:-6vw;padding-left:36px;padding-right:36px}
  .journey-identity h3{font-size:54px}
  .journey-photo{border-radius:20px}
  .journey-description{font-size:18px}
  .dark-section{padding:70px 6vw}
  .purpose-card{padding:28px 22px}
  .ministry-card h3{font-size:45px}
  .steps>div{grid-template-columns:38px 1fr}
  .steps p{grid-column:2;font-size:12px;padding-bottom:15px}
  footer{grid-template-columns:1fr}
  footer nav{margin-top:22px;flex-wrap:wrap}
  .listen-float{right:14px;bottom:14px}
  .voice-toast{right:14px;bottom:76px;max-width:280px}
}


/* =========================================================
   V1.1 RESPONSIVE / JOIN MODAL / IMAGE STABILITY FIXES
   ========================================================= */

/* Button resets for elements that visually behave like links/pills */
button.header-cta,
button.pill{
  font-family:inherit;
  cursor:pointer;
}
button.header-cta{
  background:transparent;
  color:var(--navy);
}
button.pill{
  border-style:solid;
}

/* Preserve the source photo composition at every zoom level.
   The screenshots already contain the desired portrait crop, so
   the browser should never crop the asset again. */
.journey-photo{
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center !important;
  aspect-ratio:auto !important;
  align-self:center;
}

/* Prevent wide content from forcing page-level horizontal clipping. */
.hero-grid,
.about-content,
.journey-head,
.journey-track,
.journey-cards,
.purpose-main,
.ministries-main,
.start-grid,
.faq-grid{
  min-width:0;
}
.journey-card > *,
.purpose-title-row > *,
.start-grid > *,
.faq-grid > *{
  min-width:0;
}
.display,
.one-community,
.journey-identity h3,
.ministry-card h3,
.hero h1,
.headline-strip{
  overflow-wrap:anywhere;
}

/* JOIN MODAL */
.join-modal{
  position:fixed;
  inset:0;
  z-index:2000;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
}
.join-modal.open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
}
.join-backdrop{
  position:absolute;
  inset:0;
  background:rgba(31,43,57,.72);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.join-panel{
  position:absolute;
  inset:0 auto 0 0;
  width:min(625px, 45vw);
  background:#fbf8f2;
  color:var(--navy);
  box-shadow:24px 0 65px rgba(0,0,0,.22);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.join-panel-inner{
  min-height:100%;
  padding:34px 42px 42px;
}
.join-close{
  position:absolute;
  right:18px;
  top:14px;
  z-index:3;
  width:40px;
  height:40px;
  border:0;
  border-radius:50%;
  background:transparent;
  color:var(--navy);
  font-size:34px;
  line-height:1;
  cursor:pointer;
}
.join-panel h2{
  font-weight:300;
  letter-spacing:-4px;
  line-height:.86;
  font-size:clamp(62px,5vw,88px);
  margin:0 45px 24px 0;
}
.join-intro{
  font-family:Georgia,'Times New Roman',serif;
  font-size:18px;
  line-height:1.45;
  max-width:530px;
  margin:0 0 30px;
}
.join-form{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px 16px;
}
.join-form label{
  display:grid;
  gap:9px;
  min-width:0;
}
.join-form label > span{
  font-size:11px;
  font-weight:900;
  letter-spacing:1px;
}
.join-full{
  grid-column:1 / -1;
}
.join-form input,
.join-form select{
  width:100%;
  height:52px;
  border:1px solid #b6bec7;
  border-radius:12px;
  background:white;
  color:var(--navy);
  padding:0 15px;
  font:700 16px Arial,Helvetica,sans-serif;
  outline:none;
}
.join-form input::placeholder{
  color:#9aa1a9;
  opacity:1;
}
.join-form input:focus,
.join-form select:focus{
  border-color:var(--navy);
  box-shadow:0 0 0 3px rgba(36,49,69,.08);
}
.sheet-pending{
  min-height:52px;
  border:0;
  border-radius:999px;
  background:#91979d;
  color:#fff;
  font-size:11px;
  font-weight:900;
  letter-spacing:1.1px;
}
.pending-note{
  text-align:center;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px;
  line-height:1.4;
  color:#5f6a78;
  margin:0 auto;
  max-width:470px;
}
body.modal-open{
  overflow:hidden;
}

/* Tablet: do not switch each community card to one column too early.
   At common tablet/browser-zoom widths, use a stable 2-column card. */
@media (max-width:1200px) and (min-width:761px){
  .journey-card{
    grid-template-columns:minmax(230px,.75fr) minmax(310px,1fr);
    grid-template-areas:
      "identity photo"
      "description description";
    padding:58px 42px 42px;
    gap:30px 34px;
    min-height:0;
  }
  .journey-identity{grid-area:identity}
  .journey-photo{grid-area:photo;width:100%}
  .journey-description{
    grid-area:description;
    padding:0 15px 5px 15px;
    max-width:900px;
  }
  .join-panel{width:min(620px,70vw)}
}

/* Real mobile layout */
@media(max-width:760px){
  html,body{
    width:100%;
    max-width:100%;
    overflow-x:hidden;
  }
  .site-header{
    height:70px;
    padding:0 16px;
  }
  .brand{
    gap:8px;
    max-width:calc(100% - 80px);
  }
  .brand img{
    width:38px;
    height:38px;
  }
  .brand span b{
    font-size:11px !important;
    letter-spacing:1.2px;
    white-space:nowrap;
  }
  .brand span small{
    font-size:7px !important;
    letter-spacing:2.2px;
  }
  .menu-toggle{
    padding:9px 13px;
    font-size:12px;
  }
  .mobile-menu{
    top:70px;
    padding:18px 20px 25px;
  }

  .hero{
    padding:28px 18px 24px;
  }
  .hero-grid{
    display:flex;
    flex-direction:column;
    gap:26px;
  }
  .micro{
    font-size:9px;
    letter-spacing:1.4px;
    line-height:1.35;
    margin-bottom:26px;
  }
  .dash{width:24px;height:6px}
  .hero h1{
    font-size:clamp(55px,18vw,78px);
    line-height:.87;
    letter-spacing:-3px;
  }
  .headline-strip{
    display:block;
    width:fit-content;
    max-width:100%;
    font-size:clamp(21px,7.2vw,34px);
    line-height:1.04;
    white-space:normal;
    transform:rotate(-1deg);
    padding:8px 10px;
    margin:14px 0 28px;
  }
  .hero-lower{
    display:block;
  }
  .intro-copy h2{
    font-size:27px;
  }
  .intro-copy p{
    font-size:16px;
    line-height:1.5;
  }
  .hero-lower .pill{
    margin-top:18px;
  }
  .hero-visual{
    width:100%;
  }
  .hero-visual img{
    width:100%;
    max-width:100%;
    border-radius:26px;
  }

  .story-ticker{
    height:45px;
  }
  .ticker-track{
    gap:22px;
    font-size:11px;
    letter-spacing:1.4px;
  }
  .stats-strip strong{
    font-size:52px;
  }
  .stats-strip span{
    font-size:11px;
  }

  .about,.journey,.ministries{
    padding:56px 18px 48px;
  }
  .section-index{
    margin-bottom:25px;
    font-size:9px;
  }
  .section-index span{
    width:28px;height:28px;
  }
  .display{
    font-size:clamp(45px,13vw,64px) !important;
    letter-spacing:-2px;
    line-height:.94;
  }
  .about-copy-grid{
    margin-top:32px;
    gap:25px;
  }
  .story-copy h3{
    font-size:25px;
  }
  .story-copy p{
    font-size:15px;
  }
  .one-community{
    font-size:clamp(36px,11vw,50px);
    letter-spacing:-1px;
  }

  .journey-track{
    margin:30px 0 24px;
    width:100%;
    padding:0 18px;
    gap:16px;
    min-height:58px;
    border-radius:14px;
    scrollbar-width:none;
  }
  .journey-track::-webkit-scrollbar{display:none}
  .journey-track a,.journey-track b{
    flex:0 0 auto;
  }
  .journey-track b{margin-left:0}

  .journey-cards{
    width:100%;
    gap:18px;
  }
  .journey-card{
    display:flex !important;
    flex-direction:column;
    width:100%;
    min-height:0;
    margin:0 !important;
    padding:58px 20px 26px !important;
    gap:22px;
    border-radius:20px !important;
    overflow:hidden;
  }
  .card-index{
    left:18px;
    top:17px;
    width:32px;
    height:32px;
  }
  .journey-identity{
    width:100%;
    padding:6px 0 0 !important;
  }
  .journey-logo{
    width:82px;
    height:82px;
    margin:0 0 18px;
  }
  .journey-identity h3{
    max-width:100%;
    font-size:clamp(43px,14vw,60px) !important;
    line-height:.95;
    letter-spacing:-2px;
    margin:10px 0;
  }
  .journey-identity .tag{
    font-size:11px;
    max-width:100%;
  }
  .vertical-label{
    position:static !important;
    display:block;
    transform:none !important;
    margin-top:18px;
    font-size:8px;
  }
  .journey-photo{
    order:2;
    width:100%;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    border-radius:17px;
  }
  .journey-description{
    order:3;
    width:100%;
    padding:0 !important;
    font-size:16px !important;
    line-height:1.5;
  }
  .journey-description .underlink{
    margin:20px 0 20px;
  }
  .journey-description .pill{
    width:auto;
    min-width:132px;
  }

  .dark-section{
    padding:58px 18px;
  }
  .purpose-title-row{
    display:block;
  }
  .light-text{
    font-size:clamp(46px,13vw,64px) !important;
  }
  .purpose-title-row p{
    font-size:15px;
    margin:24px 0 32px;
  }
  .purpose-grid{
    margin-top:25px;
  }
  .purpose-card{
    min-height:230px;
    padding:24px 20px;
  }
  .round-icon{
    width:56px;height:56px;
    margin:28px 0;
  }

  .ministry-title{
    font-size:clamp(46px,13vw,64px) !important;
  }
  .ministry-grid{
    margin-top:30px;
  }
  .ministry-card{
    min-height:0;
    padding:22px 20px;
  }
  .ministry-card h3{
    font-size:clamp(42px,13vw,55px) !important;
    letter-spacing:-2px;
  }

  .start{
    padding:55px 18px;
  }
  .start-title{
    font-size:clamp(48px,14vw,66px) !important;
  }
  .start-grid{
    gap:35px;
  }
  .start-grid>div:first-child>p{
    font-size:15px;
  }
  .steps>div{
    grid-template-columns:36px 1fr;
    gap:12px;
    padding:14px 0;
  }
  .steps p{
    grid-column:2;
    padding:0;
    font-size:12px;
    line-height:1.4;
  }

  .faq{
    padding:50px 18px 65px;
  }
  .faq-grid{
    gap:28px;
  }
  .faq-title{
    font-size:clamp(43px,12vw,60px) !important;
  }

  .closing-cta{
    min-height:390px;
    padding:45px 18px;
  }
  .closing-cta h2{
    font-size:clamp(54px,16vw,76px) !important;
    letter-spacing:-2px;
  }

  footer{
    padding:25px 18px 80px;
  }

  .listen-float{
    right:10px;
    bottom:10px;
    padding:5px 11px 5px 5px;
  }
  .listen-float span{
    width:32px;height:32px;
  }
  .listen-float b{
    font-size:9px;
  }

  .join-panel{
    width:100vw;
    max-width:none;
    border-radius:0;
  }
  .join-panel-inner{
    padding:26px 20px 35px;
  }
  .join-panel h2{
    font-size:clamp(54px,16vw,72px);
    letter-spacing:-3px;
    margin-right:40px;
  }
  .join-intro{
    font-size:16px;
    margin-bottom:24px;
  }
  .join-form{
    grid-template-columns:1fr;
    gap:15px;
  }
  .join-full{
    grid-column:1;
  }
  .join-form input,
  .join-form select{
    font-size:15px;
  }
}

/* Very narrow phones */
@media(max-width:380px){
  .brand span b{font-size:10px !important}
  .hero h1{font-size:52px}
  .display{font-size:43px !important}
  .journey-identity h3{font-size:42px !important}
  .join-panel h2{font-size:52px}
}


/* V1.2 LIVE CONNECTION FORM */
.join-submit{
  min-height:54px;
  border:1.5px solid var(--navy);
  border-radius:999px;
  background:var(--gold);
  color:var(--navy);
  font-size:12px;
  font-weight:900;
  letter-spacing:1px;
  cursor:pointer;
  transition:transform .15s ease, opacity .15s ease;
}
.join-submit:hover{transform:translateY(-1px)}
.join-submit:disabled{opacity:.55;cursor:not-allowed;transform:none}
.join-status{
  min-height:20px;
  margin:0;
  text-align:center;
  font-size:12px;
  font-weight:800;
  line-height:1.4;
}
.join-status.success{color:#18754a}
.join-status.error{color:#a2312c}
.privacy-note{
  text-align:center;
  font-size:10px;
  line-height:1.45;
  color:#69717c;
  margin:0 auto;
  max-width:500px;
}


/* =========================================================
   V1.7 STABLE LAYOUT — DESKTOP 50/80/100 + MOBILE
   ========================================================= */

:root{
  --content-max:1720px;
}

/* Header always centered and never clipped */
.site-header{
  padding-left:clamp(18px,4vw,72px);
  padding-right:clamp(18px,4vw,72px);
}
.brand{flex:0 0 auto}
.desktop-nav{
  gap:clamp(18px,1.5vw,32px);
  font-size:12px;
}
@media(max-width:1320px){
  .desktop-nav,.header-cta{display:none}
  .menu-toggle{display:block}
}

/* Main desktop containers use a fixed ceiling.
   Browser zoom can show more/less of the page without changing the design proportions. */
.hero-grid,
.about-content,
.journey-head,
.journey-track,
.journey-cards,
.purpose-main,
.ministries-main,
.start-grid,
.faq-grid{
  width:min(100%, var(--content-max));
  max-width:var(--content-max);
  margin-left:auto;
  margin-right:auto;
}

.about-content,
.journey-head,
.ministries-main,
.purpose-main{
  padding-left:210px;
}

/* Do not let browser zoom cause mid-word splitting */
.journey-track{
  display:flex;
  flex-wrap:nowrap;
  white-space:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
}
.journey-track::-webkit-scrollbar{display:none}
.journey-track a,
.journey-track i,
.journey-track b{
  flex:0 0 auto;
  white-space:nowrap;
}

/* Balanced community cards */
.journey-card{
  min-height:620px;
  grid-template-columns:minmax(300px,.88fr) minmax(390px,1fr) minmax(360px,1.02fr);
  gap:34px;
  padding:42px 48px;
}
.journey-identity{
  min-width:0;
  padding:28px 10px 48px 58px;
}
.journey-identity h3{
  white-space:nowrap;
  word-break:keep-all;
  overflow-wrap:normal;
  hyphens:none;
  font-size:54px;
  line-height:.96;
  letter-spacing:-2.5px;
}
#empower .journey-identity h3{font-size:51px}
#brotherhood .journey-identity h3{font-size:44px}
#cafe-life .journey-identity h3{font-size:50px}
#families .journey-identity h3{font-size:56px}

.journey-photo{
  width:100%;
  height:auto !important;
  max-height:560px !important;
  object-fit:contain !important;
}
.journey-description{
  min-width:0;
  max-width:100%;
  padding-right:0;
  font-size:17px;
  line-height:1.48;
}
.journey-description p{
  margin:0;
}
.journey-description .underlink,
.detail-trigger{
  width:100%;
  background:transparent;
  border:0;
  border-bottom:1px solid currentColor;
  color:inherit;
  cursor:pointer;
  text-align:left;
  font-family:Arial,Helvetica,sans-serif;
  margin:24px 0 28px;
}

/* At medium desktop widths use 2-column card rather than squeeze/overlap */
@media(max-width:1480px) and (min-width:761px){
  .about-content,.journey-head,.ministries-main,.purpose-main{padding-left:0}
  .journey-card{
    min-height:0;
    grid-template-columns:minmax(280px,.8fr) minmax(380px,1fr);
    grid-template-areas:
      "identity photo"
      "description description";
    gap:28px 34px;
  }
  .journey-identity{grid-area:identity}
  .journey-photo{grid-area:photo}
  .journey-description{grid-area:description;max-width:900px;padding:0 12px 8px}
  .journey-identity h3{font-size:48px}
  #brotherhood .journey-identity h3{font-size:39px}
  #empower .journey-identity h3{font-size:45px}
}

/* Community detail panel */
.detail-modal{
  position:fixed;
  inset:0;
  z-index:2100;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.2s ease;
}
.detail-modal.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.detail-backdrop{
  position:absolute;
  inset:0;
  background:rgba(30,42,57,.70);
  backdrop-filter:blur(6px);
}
.detail-panel{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  width:min(680px,48vw);
  background:#fbf8f2;
  color:var(--navy);
  overflow-y:auto;
  box-shadow:-24px 0 60px rgba(0,0,0,.2);
}
.detail-panel-inner{
  padding:68px 48px 50px;
}
.detail-close{
  position:absolute;
  top:16px;
  right:18px;
  width:42px;
  height:42px;
  border:0;
  background:transparent;
  font-size:34px;
  color:var(--navy);
  cursor:pointer;
}
.detail-panel h2{
  margin:10px 0 28px;
  font-size:58px;
  font-weight:300;
  letter-spacing:-3px;
  line-height:.95;
}
.detail-body{
  font-family:Georgia,'Times New Roman',serif;
  font-size:18px;
  line-height:1.6;
}
.detail-body p{margin:0 0 18px}
.detail-body ul{padding-left:22px;margin:0 0 22px}
.detail-body li{margin-bottom:13px}
.detail-join{margin-top:20px}

/* ---------------- Standalone Events / Stories pages ---------------- */
.subpage-main{min-height:calc(100vh - 92px)}
.subpage-hero{padding:65px 5vw 85px;min-height:calc(100vh - 92px)}
.events-hero{background:var(--cream)}
.stories-hero{background:var(--navy-deep);color:white}
.subpage-shell{
  width:min(100%,1500px);
  margin:0 auto;
}
.subpage-number{
  font-size:11px;
  font-weight:900;
  letter-spacing:1.5px;
  margin-bottom:34px;
}
.subpage-title-grid,
.stories-intro-grid{
  display:grid;
  grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);
  gap:70px;
  align-items:end;
}
.subpage-title-grid h1,
.stories-intro-grid h1{
  margin:18px 0 45px;
  font-size:clamp(70px,7vw,112px);
  line-height:.9;
  font-weight:300;
  letter-spacing:-5px;
}
.subpage-intro{
  padding-bottom:50px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:18px;
  line-height:1.55;
}
.subpage-intro h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:30px;
  line-height:1.15;
  margin:0 0 18px;
}
.light-copy{color:rgba(255,255,255,.92)}

/* Events */
.events-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  margin-top:15px;
}
.event-card{
  background:#fff;
  color:var(--navy);
  border:1px solid rgba(34,48,67,.16);
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:430px;
  box-shadow:0 12px 35px rgba(30,42,57,.08);
}
.event-poster{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  background:#e7e1d6;
}
.event-body{padding:22px;display:flex;flex-direction:column;flex:1}
.event-date{font-size:10px;font-weight:900;letter-spacing:1.2px;color:var(--gold-deep)}
.event-card h3{font-size:29px;line-height:1.05;margin:11px 0}
.event-meta{font-size:12px;font-weight:800;margin-bottom:10px}
.event-card p{font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.5}
.event-actions{margin-top:auto;padding-top:15px}

/* Stories */
.stories-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
  border-top:1px solid rgba(255,255,255,.28);
  margin-top:20px;
}
.story-card{
  padding:30px 32px;
  border-right:1px solid rgba(255,255,255,.24);
  border-bottom:1px solid rgba(255,255,255,.24);
  color:white;
}
.story-card:nth-child(2n){border-right:0}
.story-card-head{display:flex;gap:20px;align-items:center}
.story-photo{width:92px;height:92px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.08)}
.story-date{color:var(--gold);font-size:9px;font-weight:900;letter-spacing:1.2px}
.story-card h3{font-size:27px;margin:8px 0 4px}
.story-name{font-size:11px;font-weight:900;letter-spacing:1px;opacity:.8}
.story-excerpt{font-family:Georgia,'Times New Roman',serif;font-size:15px;line-height:1.55;margin:20px 0}
.story-read{
  border:0;
  border-bottom:1px solid rgba(255,255,255,.55);
  background:transparent;
  color:white;
  padding:10px 0;
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
  cursor:pointer;
}
.content-empty,.content-loading{
  grid-column:1/-1;
  padding:35px 0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  opacity:.7;
}

/* Mobile */
@media(max-width:760px){
  .about-content,.journey-head,.ministries-main,.purpose-main{padding-left:0}
  .journey-card{
    display:flex !important;
    flex-direction:column;
    min-height:0;
    padding:58px 20px 28px;
    gap:20px;
    margin:0;
    border-radius:20px;
  }
  .journey-identity{padding:5px 0 0;width:100%}
  .journey-identity h3,
  #empower .journey-identity h3,
  #brotherhood .journey-identity h3,
  #cafe-life .journey-identity h3,
  #families .journey-identity h3{
    font-size:clamp(34px,11vw,50px);
    white-space:nowrap;
  }
  #brotherhood .journey-identity h3{font-size:clamp(29px,9vw,42px)}
  .journey-description{font-size:16px}
  .detail-panel{width:100vw}
  .detail-panel-inner{padding:60px 20px 35px}
  .detail-panel h2{font-size:48px}
  .detail-body{font-size:16px}
  .subpage-hero{padding:48px 18px 65px}
  .subpage-title-grid,.stories-intro-grid{grid-template-columns:1fr;gap:10px}
  .subpage-title-grid h1,.stories-intro-grid h1{
    font-size:clamp(54px,15vw,75px);
    letter-spacing:-3px;
    margin-bottom:25px;
  }
  .subpage-intro{padding-bottom:25px;font-size:16px}
  .events-grid,.stories-grid{grid-template-columns:1fr}
  .story-card{border-right:0;padding:25px 5px}
}


/* =========================================================
   V1.9 — DESKTOP DENSITY RESET
   100% browser zoom is now the intended baseline.
   ========================================================= */

@media(min-width:1321px){
  :root{ --content-max:1600px; }

  .site-header{
    height:74px;
    padding-left:clamp(28px,3.2vw,58px);
    padding-right:clamp(28px,3.2vw,58px);
  }
  .brand{min-width:205px;gap:10px}
  .brand img{width:40px;height:40px}
  .brand b{font-size:13px;letter-spacing:1.5px}
  .brand small{font-size:8px;letter-spacing:2.7px;margin-top:5px}
  .desktop-nav{gap:clamp(18px,1.35vw,28px);font-size:11px}
  .header-cta{padding:12px 22px;font-size:12px}

  /* HERO */
  .hero{padding:34px 3.4vw 24px}
  .hero-grid{
    grid-template-columns:1.12fr .88fr;
    gap:34px;
    min-height:570px;
  }
  .micro{font-size:10px;letter-spacing:2.2px;margin-bottom:42px}
  .hero h1{
    font-size:clamp(72px,6.2vw,118px);
    line-height:.88;
    letter-spacing:-4.5px;
  }
  .headline-strip{
    font-size:clamp(24px,2.35vw,44px);
    padding:8px 13px;
    margin:15px 0 28px;
  }
  .hero-lower{gap:24px}
  .intro-copy h2{font-size:27px;margin:12px 0}
  .intro-copy p,.story-copy p{font-size:16px;line-height:1.46}
  .hero-visual img{max-width:650px}
  .pill{padding:13px 23px;font-size:12px}

  /* GENERAL DISPLAY TYPOGRAPHY / SECTION RHYTHM */
  .about,.journey,.ministries{padding-top:54px;padding-bottom:64px}
  .display{font-size:clamp(58px,5.6vw,104px);letter-spacing:-3px}
  .about-content,.journey-head,.ministries-main,.purpose-main{padding-left:175px}
  .about-copy-grid{margin-top:42px;gap:58px}
  .story-copy h3{font-size:28px}
  .one-community{font-size:clamp(40px,4vw,68px)}
  .big-rule{margin:52px 0 28px}

  /* JOURNEY NAV */
  .journey{padding-top:66px}
  .journey-track{
    min-height:58px;
    margin:38px auto 28px;
    padding:0 24px;
    gap:20px;
  }
  .journey-track a{font-size:10px}
  .journey-track b{font-size:10px;padding:8px 14px}

  /* COMMUNITY CARDS */
  .journey-cards{gap:22px}
  .journey-card{
    min-height:500px;
    grid-template-columns:minmax(250px,.82fr) minmax(330px,.95fr) minmax(320px,1fr);
    gap:28px;
    padding:34px 40px;
    border-radius:24px;
  }
  .card-index{left:24px;top:24px;width:32px;height:32px;font-size:10px}
  .journey-identity{padding:24px 8px 38px 48px}
  .journey-logo{width:86px;height:86px;margin-bottom:22px;border-radius:15px}
  .journey-identity h3{font-size:46px;letter-spacing:-2px}
  #empower .journey-identity h3{font-size:43px}
  #brotherhood .journey-identity h3{font-size:37px}
  #cafe-life .journey-identity h3{font-size:43px}
  #families .journey-identity h3{font-size:48px}
  .journey-identity .tag{font-size:12px;max-width:280px}
  .vertical-label{font-size:8px}
  .journey-photo{max-height:445px !important;border-radius:18px}
  .journey-description{font-size:15px;line-height:1.45}
  .journey-description .underlink,.detail-trigger{margin:19px 0 22px}

  /* SHARED PURPOSE */
  .dark-section{padding:72px 5vw}
  .light-text{font-size:clamp(54px,5vw,90px)}
  .purpose-title-row{grid-template-columns:1fr 270px;gap:70px}
  .purpose-title-row p{font-size:16px;margin-bottom:25px}
  .purpose-grid{margin-top:40px}
  .purpose-card{min-height:240px;padding:24px 28px}
  .round-icon{width:60px;height:60px;margin:30px 0}
  .purpose-card h3{font-size:22px}

  /* MINISTRIES */
  .ministries{padding-top:68px}
  .ministry-title{font-size:clamp(56px,5vw,86px)}
  .ministry-grid{margin-top:38px}
  .ministry-card{min-height:350px;padding:22px 30px}
  .ministry-card h3{font-size:48px}

  /* START / FAQ / CLOSING */
  .start{padding:64px 5vw}
  .start-grid{gap:85px}
  .start-title{font-size:clamp(54px,4.5vw,82px)}
  .start-grid>div:first-child>p{font-size:15px}
  .steps>div{min-height:64px}
  .faq{padding:50px 5vw 70px}
  .faq-grid{gap:75px}
  .faq-title{font-size:clamp(48px,4vw,72px)}
  .closing-cta{min-height:360px;padding:45px 20px}
  .closing-cta h2{font-size:clamp(58px,5vw,88px)}

  /* SIDE PANELS also slightly more compact at desktop */
  .join-panel{width:min(570px,40vw)}
  .join-panel-inner{padding:30px 36px 38px}
  .join-panel h2{font-size:clamp(56px,4.2vw,76px)}
  .join-intro{font-size:16px}
  .detail-panel{width:min(620px,42vw)}
  .detail-panel-inner{padding:58px 42px 44px}
  .detail-panel h2{font-size:50px}
  .detail-body{font-size:16px;line-height:1.55}

  /* EVENTS / STORIES STANDALONE PAGES */
  .subpage-hero{padding:52px 5vw 72px}
  .subpage-shell{max-width:1450px}
  .subpage-title-grid h1,.stories-intro-grid h1{
    font-size:clamp(62px,5.8vw,96px);
    letter-spacing:-4px;
    margin:14px 0 34px;
  }
  .subpage-intro{font-size:16px;padding-bottom:34px}
}


/* =========================================================
   V2.0 EXPERIENCE ARCHITECTURE
   Curiosity → Find Your Place → Journey → Proof → Purpose
   ========================================================= */

.hero-actions{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}
.hero-listen{
  background:transparent;
  border:1.5px solid var(--navy);
  color:var(--navy);
  cursor:pointer;
}

/* Find Your Place */
.find-place{
  position:relative;
  padding:70px 5vw 82px;
  border-top:1px solid rgba(34,48,67,.12);
}
.find-shell{
  width:min(100%,1500px);
  margin:0 auto;
  padding-left:180px;
}
.find-head{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:65px;
  align-items:end;
}
.find-head .display{
  margin-bottom:35px;
}
.find-head>p{
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.55;
  margin:0 0 42px;
  max-width:500px;
}
.life-selector{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid var(--navy);
  margin-top:25px;
}
.life-choice{
  min-height:105px;
  display:grid;
  grid-template-columns:42px 1fr auto;
  grid-template-rows:auto auto;
  align-content:center;
  column-gap:16px;
  background:transparent;
  color:var(--navy);
  border:0;
  border-bottom:1px solid var(--navy);
  text-align:left;
  cursor:pointer;
  padding:20px 22px 20px 0;
}
/* v3.1.9: restore Find Your Place as real links without changing card styling. */
.life-choice, .life-choice:visited { text-decoration:none; color:var(--navy); }
.life-choice:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.life-choice:nth-child(odd){
  border-right:1px solid var(--navy);
  padding-right:28px;
}
.life-choice:nth-child(even){
  padding-left:28px;
}
.life-choice:hover,
.life-choice.active{
  background:rgba(248,183,56,.14);
}
.choice-num{
  grid-row:1/3;
  width:34px;
  height:34px;
  border:1px solid var(--navy);
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:10px;
}
.life-choice b{
  font-size:15px;
  letter-spacing:.2px;
}
.life-choice small{
  grid-column:2;
  font-family:Georgia,'Times New Roman',serif;
  font-size:12px;
  margin-top:6px;
  opacity:.75;
}
.life-choice i{
  grid-column:3;
  grid-row:1/3;
  align-self:center;
  font-style:normal;
  color:var(--gold-deep);
}
.place-reveal{
  margin-top:26px;
  background:var(--navy);
  color:white;
  min-height:135px;
  display:grid;
  grid-template-columns:1fr 1.5fr auto;
  grid-template-rows:auto auto;
  align-items:center;
  gap:8px 25px;
  padding:25px 30px;
}
.reveal-kicker{
  grid-row:1;
  font-size:9px;
  font-weight:900;
  letter-spacing:1.8px;
  color:var(--gold);
}
.place-reveal strong{
  grid-row:2;
  grid-column:1;
  font-size:27px;
  font-weight:400;
}
.place-reveal p{
  grid-row:1/3;
  grid-column:2;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.45;
  margin:0;
}
.place-reveal .pill{
  grid-row:1/3;
  grid-column:3;
}
.place-reveal .pill:disabled{
  opacity:.45;
  cursor:not-allowed;
}

/* This Is GROW */
.this-is-grow{
  position:relative;
  padding:72px 5vw 82px;
  border-top:1px solid rgba(34,48,67,.12);
}
.proof-shell{
  width:min(100%,1500px);
  margin:0 auto;
  padding-left:180px;
}
.proof-head{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:70px;
  align-items:end;
}
.proof-head>p{
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.55;
  margin:0 0 38px;
  max-width:520px;
}
.proof-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border:1px solid var(--navy);
  margin-top:25px;
}
.proof-card{
  min-height:330px;
  padding:28px 30px;
  border-right:1px solid var(--navy);
  display:flex;
  flex-direction:column;
}
.proof-card:last-child{border-right:0}
.proof-label{
  font-size:9px;
  font-weight:900;
  letter-spacing:1.8px;
  color:var(--gold-deep);
}
.proof-card h3{
  font-size:36px;
  font-weight:300;
  letter-spacing:-1.5px;
  margin:28px 0 12px;
}
.proof-card p{
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.5;
}
.proof-link{
  margin-top:auto;
  border-top:1px solid var(--navy);
  padding-top:15px;
  display:flex;
  justify-content:space-between;
  font-size:10px;
  font-weight:900;
  letter-spacing:.5px;
}
.proof-dynamic .featured-date{
  display:block;
  margin-top:18px;
  color:var(--gold-deep);
  font-size:10px;
  font-weight:900;
  letter-spacing:1px;
}
.proof-dynamic .featured-name{
  font-size:11px;
  font-weight:900;
  letter-spacing:.8px;
  margin-top:10px;
}
.ministry-framing{
  max-width:720px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:16px;
  line-height:1.5;
  margin:0 0 10px;
}

/* Desktop compact rhythm */
@media(min-width:1321px){
  .find-place,.this-is-grow{padding-top:58px;padding-bottom:68px}
  .find-shell,.proof-shell{padding-left:165px}
  .find-head .display,.proof-head .display{font-size:clamp(56px,5vw,88px)}
}

/* Tablet / mobile */
@media(max-width:1050px){
  .find-shell,.proof-shell{padding-left:0}
  .find-head,.proof-head{grid-template-columns:1fr;gap:10px}
  .find-head>p,.proof-head>p{margin-bottom:20px}
  .proof-grid{grid-template-columns:1fr}
  .proof-card{border-right:0;border-bottom:1px solid var(--navy);min-height:250px}
  .proof-card:last-child{border-bottom:0}
}
@media(max-width:760px){
  .find-place,.this-is-grow{padding:55px 18px 62px}
  .life-selector{grid-template-columns:1fr}
  .life-choice,
  .life-choice:nth-child(odd),
  .life-choice:nth-child(even){
    border-right:0;
    padding:17px 8px 17px 0;
  }
  .place-reveal{
    grid-template-columns:1fr;
    grid-template-rows:auto;
    padding:23px 20px;
  }
  .reveal-kicker,.place-reveal strong,.place-reveal p,.place-reveal .pill{
    grid-column:1;
    grid-row:auto;
  }
  .place-reveal strong{font-size:24px}
  .place-reveal p{font-size:14px;margin:8px 0 15px}
  .hero-actions{align-items:stretch}
  .hero-actions .pill{width:100%}
}


/* V2.1 COMMUNITY-FIRST POSITIONING */
.community-first-note{
  margin-top:52px;
  padding:28px 32px;
  background:rgba(255,255,255,.42);
  border-left:5px solid var(--gold);
  display:grid;
  grid-template-columns:160px 1fr 1.2fr;
  gap:28px;
  align-items:start;
}
.community-first-note>span{
  font-size:9px;
  font-weight:900;
  letter-spacing:1.8px;
  color:var(--gold-deep);
  padding-top:7px;
}
.community-first-note h3{
  margin:0;
  font-size:25px;
  line-height:1.05;
  letter-spacing:-.8px;
}
.community-first-note p{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.55;
}
@media(max-width:900px){
  .community-first-note{
    grid-template-columns:1fr;
    gap:12px;
    padding:24px 20px;
  }
}


/* =========================================================
   V2.2 — STORY / EVENT EXPERIENCE + BRAND TONE
   ========================================================= */
.hero-welcome-line{
  margin:8px 0 14px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  font-style:italic;
  color:var(--navy);
}
.grow-media-placeholder{
  background:
    radial-gradient(circle at 80% 20%, rgba(248,183,56,.38), transparent 34%),
    linear-gradient(145deg,#243145,#34445b);
  color:white;
  display:flex !important;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
  gap:8px;
  padding:24px;
  min-height:220px;
}
.grow-media-placeholder span{
  font-size:9px;
  letter-spacing:2px;
  font-weight:900;
  color:var(--gold);
}
.grow-media-placeholder b{
  font-size:22px;
  line-height:1.05;
  max-width:230px;
}
.event-detail-btn{border:0;cursor:pointer}
.content-modal{
  position:fixed;
  inset:0;
  z-index:2300;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
}
.content-modal.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.content-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(27,38,53,.76);
  backdrop-filter:blur(7px);
}
.content-modal-panel{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:min(720px,52vw);
  overflow-y:auto;
  background:#fbf8f2;
  color:var(--navy);
  box-shadow:-24px 0 70px rgba(0,0,0,.24);
}
.content-modal-inner{padding:62px 48px 52px}
.content-modal-close{
  position:absolute;
  top:16px;
  right:18px;
  width:44px;
  height:44px;
  background:rgba(251,248,242,.9);
  color:var(--navy);
  border:0;
  border-radius:50%;
  font-size:32px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
.content-modal-visual{margin:18px 0 30px}
.content-modal-visual img{
  width:100%;
  max-height:460px;
  display:block;
  object-fit:contain;
  background:#ece7dd;
  border-radius:18px;
}
.content-modal-visual .grow-media-placeholder{
  min-height:300px;
  border-radius:18px;
}
.content-modal-panel h2{
  margin:14px 0 12px;
  font-size:clamp(42px,4vw,62px);
  line-height:.96;
  font-weight:300;
  letter-spacing:-2.5px;
}
.content-modal-meta{
  padding-bottom:18px;
  border-bottom:1px solid rgba(35,49,69,.22);
  font-size:10px;
  font-weight:900;
  letter-spacing:.8px;
  color:var(--gold-deep);
}
.content-modal-body{
  padding-top:24px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.65;
}
.content-modal-body p{margin:0 0 18px}
.content-modal-actions{padding-top:18px}

@media(max-width:760px){
  .content-modal-panel{width:100%}
  .content-modal-inner{padding:58px 18px 35px}
  .content-modal-panel h2{font-size:42px}
  .content-modal-body{font-size:16px}
  .content-modal-visual .grow-media-placeholder{min-height:220px}
}


/* V2.3 CMS managed media */
#cmsHeroImage{
  transition:opacity .25s ease;
}


/* V2.4 CONTENT UPDATE */
.detail-subtitle,
.ministry-subtitle{
  display:inline-block;
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.5px;
  color:var(--gold-deep);
}
.harmony-card{
  background:linear-gradient(145deg,#243145,#31415a);
  color:white;
}
.harmony-card .eyebrow,
.harmony-card .ministry-subtitle{color:var(--gold)}
.harmony-card .underlink{
  color:white;
  border-bottom-color:rgba(255,255,255,.55);
}
@media(min-width:1100px){
  .ministry-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}


/* V2.5 CONSOLIDATED */
.micro b{color:var(--gold-deep);padding:0 8px}
.hero-lead{font-size:19px !important;font-weight:700}
.hero-story-belongs{
  display:block;margin-top:16px;font-family:Arial,Helvetica,sans-serif;
  font-size:13px;letter-spacing:1.4px
}
.hero-grow-line{
  display:inline-block;margin-top:14px;padding:9px 13px;background:var(--gold);
  color:var(--navy);font-family:Arial,Helvetica,sans-serif;font-weight:900;
  letter-spacing:1.4px;font-size:12px
}
.about-become{margin-bottom:6px !important}
.about-become-final{
  font-family:Arial,Helvetica,sans-serif !important;font-size:15px !important;
  font-weight:900;letter-spacing:1.3px
}
.life-choice-wide{grid-column:1 / -1}
.journey-highlight{outline:4px solid rgba(248,183,56,.75);outline-offset:5px}
.harmony-community-card{background:var(--navy);color:white;border-left-color:var(--gold)}
.harmony-community-card .journey-logo{background:white;object-fit:contain;padding:6px}
.harmony-community-card .journey-description,.harmony-community-card .journey-identity{color:white}
.harmony-community-card .underlink{color:white;border-bottom-color:rgba(255,255,255,.55)}
.ministry-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.ministry-card.bethere{background:#d8e6ef;color:var(--navy)}
.ministry-card .underlink.ministry-detail-trigger{
  background:transparent;width:100%;text-align:left;cursor:pointer
}
.stories-intro-v25 .subpage-intro h2{font-size:26px;line-height:1.25}
.stories-belongs{
  margin-top:22px !important;color:var(--gold);
  font-family:Arial,Helvetica,sans-serif !important;font-size:14px !important;
  letter-spacing:1px
}
@media(max-width:1099px){.ministry-grid{grid-template-columns:1fr !important}}
@media(max-width:760px){
  .life-choice-wide{grid-column:1}
  .hero-lead{font-size:17px !important}
}


/* V2.6 */
#storiesGrid .content-empty{
  max-width:760px;
  line-height:1.55;
}


/* =========================================================
   V2.7 PREMIUM UX / RESPONSIVE STABILITY
   100% is the intended desktop baseline.
   ========================================================= */

html, body{
  overflow-x:hidden;
}

/* Editorial desktop scale */
@media(min-width:1100px){
  :root{
    --v27-max:1320px;
  }

  .site-header{
    height:70px !important;
    padding-left:34px !important;
    padding-right:34px !important;
  }
  .brand img{width:38px !important;height:38px !important}
  .desktop-nav{font-size:10px !important;gap:22px !important}
  .header-cta{padding:10px 20px !important;font-size:11px !important}

  .hero{
    padding:38px 4vw 48px !important;
  }
  .hero-grid,
  .about-content,
  .find-shell,
  .journey-head,
  .journey-track,
  .journey-cards,
  .purpose-main,
  .ministries-main,
  .start-grid,
  .faq-grid{
    width:min(calc(100% - 56px), var(--v27-max)) !important;
    max-width:var(--v27-max) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .about-content,
  .find-shell,
  .journey-head,
  .purpose-main,
  .ministries-main{
    padding-left:0 !important;
  }

  /* Hero: roughly 15% smaller than v2.6 */
  .hero-grid{
    grid-template-columns:minmax(0,1.04fr) minmax(0,.82fr) !important;
    gap:68px !important;
    min-height:0 !important;
    align-items:center !important;
  }
  .hero h1{
    font-size:clamp(68px,5.7vw,92px) !important;
    line-height:.89 !important;
    letter-spacing:-4px !important;
  }
  .headline-strip{
    font-size:clamp(24px,2.15vw,34px) !important;
    width:max-content;
    max-width:100%;
    padding:8px 12px !important;
  }
  .hero-visual img{
    width:100% !important;
    max-width:510px !important;
    max-height:560px !important;
    object-fit:cover !important;
  }
  .hero-lower{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
  .intro-copy p{
    max-width:590px;
    font-size:15px !important;
    line-height:1.5 !important;
  }
  .hero-lead{font-size:18px !important}
  .hero-actions{margin-top:4px}

  /* General section type */
  .display{
    font-size:clamp(54px,4.8vw,78px) !important;
    line-height:.92 !important;
  }
  .about,.find-place,.journey,.this-is-grow,.ministries,.faq,.start{
    padding-top:64px !important;
    padding-bottom:72px !important;
  }

  /* Find Your Place */
  .find-head{
    grid-template-columns:minmax(0,1.1fr) minmax(0,.7fr) !important;
    gap:60px !important;
  }
  .life-choice{min-height:88px !important}
  .place-reveal{min-height:112px !important}

  /* Journey selector */
  .journey-track{
    min-height:54px !important;
    padding:0 18px !important;
    gap:14px !important;
    overflow-x:auto !important;
  }
  .journey-track a,
  .journey-track i{font-size:9px !important}

  /* Stable card grid. No fixed minimum column width that can overflow. */
  .journey-cards{
    gap:26px !important;
  }
  .journey-card{
    width:100% !important;
    max-width:var(--v27-max) !important;
    min-height:500px !important;
    grid-template-columns:minmax(0,27%) minmax(0,38%) minmax(0,35%) !important;
    gap:28px !important;
    padding:36px 38px !important;
    box-sizing:border-box !important;
  }
  .journey-identity{
    min-width:0 !important;
    padding:30px 0 36px 34px !important;
  }
  .journey-logo{
    width:76px !important;
    height:76px !important;
    object-fit:contain !important;
    margin-bottom:20px !important;
  }
  .journey-identity h3{
    font-size:42px !important;
    line-height:.98 !important;
    letter-spacing:-1.7px !important;
    white-space:nowrap !important;
  }
  #empower .journey-identity h3{font-size:39px !important}
  #philos .journey-identity h3{font-size:43px !important}
  #cafe-life .journey-identity h3{font-size:39px !important}
  #harmony .journey-identity h3{font-size:39px !important}
  .journey-identity .tag{font-size:11px !important}
  .vertical-label{font-size:7px !important}

  /* One consistent photo treatment */
  .journey-photo{
    display:block !important;
    width:100% !important;
    height:430px !important;
    max-height:430px !important;
    min-width:0 !important;
    object-fit:cover !important;
    object-position:50% 50%;
    border-radius:16px !important;
    box-sizing:border-box !important;
  }

  .journey-description{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
    overflow:visible !important;
    font-size:14px !important;
    line-height:1.5 !important;
    padding:26px 0 !important;
    box-sizing:border-box !important;
  }

  /* Premium editorial secondary CTA */
  .journey-description .underlink,
  .detail-trigger,
  .ministry-detail-trigger{
    border:0 !important;
    border-bottom:1px solid currentColor !important;
    padding:12px 0 !important;
    margin:20px 0 22px !important;
    background:transparent !important;
    box-shadow:none !important;
    border-radius:0 !important;
    min-height:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    font-size:10px !important;
    font-weight:900 !important;
    letter-spacing:.45px !important;
    cursor:pointer !important;
  }

  /* Ministries */
  .ministry-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:0 !important;
  }
  .ministry-card{
    min-height:470px !important;
    padding:28px 30px !important;
  }
  .ministry-card h3{
    font-size:clamp(38px,3.2vw,50px) !important;
  }
  .ministry-card p{
    font-size:14px !important;
    line-height:1.5 !important;
  }

  /* Events / Stories standalone pages */
  .subpage-shell{
    width:min(calc(100% - 56px), 1260px) !important;
    max-width:1260px !important;
  }
  .subpage-title-grid h1,
  .stories-intro-grid h1{
    font-size:clamp(58px,5.2vw,82px) !important;
  }
  .event-card{min-height:390px !important}
  .event-poster{
    aspect-ratio:16/10 !important;
    object-fit:cover !important;
  }
}

/* 75% zoom / very wide CSS viewports: keep content centered rather than stretching. */
@media(min-width:1700px){
  .hero-grid,
  .about-content,
  .find-shell,
  .journey-head,
  .journey-track,
  .journey-cards,
  .purpose-main,
  .ministries-main,
  .start-grid,
  .faq-grid{
    max-width:1320px !important;
  }
}

/* Tablet: cards become two logical rows instead of clipping */
@media(max-width:1099px) and (min-width:761px){
  .journey-card{
    display:grid !important;
    grid-template-columns:minmax(0,.72fr) minmax(0,1fr) !important;
    grid-template-areas:
      "identity photo"
      "description description" !important;
    min-height:0 !important;
    gap:26px !important;
    padding:34px 28px !important;
  }
  .journey-identity{grid-area:identity !important}
  .journey-photo{
    grid-area:photo !important;
    width:100% !important;
    height:390px !important;
    object-fit:cover !important;
  }
  .journey-description{
    grid-area:description !important;
    width:100% !important;
    max-width:880px !important;
  }
  .ministry-grid{grid-template-columns:1fr !important}
}

/* Mobile: no horizontal crop; image is a clean 4:3/portrait editorial block */
@media(max-width:760px){
  .hero h1{font-size:clamp(54px,17vw,78px) !important}
  .headline-strip{
    width:auto !important;
    font-size:clamp(22px,7vw,34px) !important;
  }
  .journey-card{
    width:100% !important;
    max-width:none !important;
    overflow:hidden !important;
  }
  .journey-photo{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4/5 !important;
    object-fit:cover !important;
  }
  .journey-description{
    width:100% !important;
    overflow:visible !important;
  }
}

/* Photo focal defaults tuned to each current image */
#sprout .journey-photo{object-position:50% 48%}
#rise .journey-photo{object-position:50% 50%}
#empower .journey-photo{object-position:50% 48%}
#philos .journey-photo{object-position:50% 50%}
#families .journey-photo{object-position:48% 48%}
#cafe-life .journey-photo{object-position:50% 48%}
#harmony .journey-photo{object-position:50% 50%}


/* =========================================================
   V2.8 ALIGNMENT + ENGAGEMENT
   ========================================================= */

/* Journey section label no longer overlaps orange eyebrow */
.journey{
  position:relative;
}
.journey > .section-index{
  position:absolute !important;
  left:clamp(22px,3.2vw,52px) !important;
  top:60px !important;
  display:flex !important;
  align-items:center !important;
  gap:16px !important;
  width:auto !important;
}
.journey > .section-index b{
  line-height:1.05 !important;
}
.journey-head{
  padding-top:10px !important;
}
.journey-head > .eyebrow{
  display:block !important;
  margin-left:0 !important;
  padding-left:0 !important;
}

/* Ministry cards use the same vertical rhythm */
.ministry-grid{
  align-items:stretch !important;
}
.ministry-card{
  display:grid !important;
  grid-template-rows:auto auto auto auto minmax(110px,1fr) auto auto !important;
  align-content:stretch !important;
}
.ministry-card .ministry-top{
  min-height:50px !important;
}
.ministry-card h3{
  min-height:116px !important;
  margin:18px 0 8px !important;
}
.ministry-card > b,
.ministry-card .ministry-subtitle{
  min-height:28px !important;
}
.ministry-card > p{
  margin:16px 0 !important;
}
.ministry-card .ministry-detail-trigger{
  align-self:end !important;
}
.ministry-card > .pill{
  align-self:end !important;
  justify-self:start !important;
  margin-top:18px !important;
}

/* Share modal */
.share-modal{
  position:fixed;
  inset:0;
  z-index:2600;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.22s ease;
}
.share-modal.open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.share-backdrop{
  position:absolute;
  inset:0;
  background:rgba(27,38,53,.76);
  backdrop-filter:blur(7px);
}
.share-panel{
  position:absolute;
  right:0;
  top:0;
  bottom:0;
  width:min(610px,46vw);
  background:#fbf8f2;
  color:var(--navy);
  overflow-y:auto;
}
.share-inner{
  padding:76px 44px 46px;
}
.share-inner h2{
  font-size:clamp(46px,4vw,66px);
  line-height:.96;
  font-weight:300;
  letter-spacing:-2.5px;
  margin:16px 0 22px;
}
.share-inner > p{
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.55;
}
.share-actions{
  margin-top:34px;
  border-top:1px solid var(--navy);
}
.share-actions a,
.share-actions button{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:18px 0;
  border:0;
  border-bottom:1px solid var(--navy);
  background:transparent;
  color:var(--navy);
  text-align:left;
  font-weight:900;
  font-size:11px;
  cursor:pointer;
}
.share-close{
  position:absolute;
  right:18px;
  top:18px;
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:white;
  font-size:29px;
  cursor:pointer;
}
.share-status{
  margin-top:20px;
  font-size:12px;
  font-weight:700;
  color:var(--gold-deep);
}

/* Dedicated contact page */
.connect-page{
  background:#f7f1e5;
  color:var(--navy);
  min-height:calc(100vh - 70px);
  padding:72px 5vw 90px;
}
.connect-shell{
  width:min(100%,1280px);
  margin:0 auto;
}
.connect-hero-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:84px;
  align-items:end;
}
.connect-hero-grid h1{
  font-size:clamp(66px,6vw,100px);
  line-height:.88;
  font-weight:300;
  letter-spacing:-4px;
  margin:18px 0 34px;
}
.connect-intro{
  padding-bottom:38px;
}
.connect-intro h2{
  font-family:Georgia,'Times New Roman',serif;
  font-size:27px;
}
.connect-intro p{
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.55;
}
.contact-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--navy);
  border-left:1px solid var(--navy);
}
.contact-grid article{
  min-height:180px;
  padding:22px 24px;
  border-right:1px solid var(--navy);
  border-bottom:1px solid var(--navy);
  display:flex;
  flex-direction:column;
}
.contact-grid article > span{
  align-self:flex-end;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid var(--navy);
  border-radius:50%;
  font-size:9px;
}
.contact-grid small{
  margin-top:auto;
  color:var(--gold-deep);
  font-weight:900;
  letter-spacing:1.3px;
}
.contact-grid a,
.contact-grid article > div{
  margin-top:12px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:18px;
  line-height:1.35;
}
.connect-cta{
  margin-top:52px;
  padding:34px 0;
  border-top:1px solid var(--navy);
  border-bottom:1px solid var(--navy);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
}
.connect-cta h2{
  font-size:44px;
  font-weight:300;
  margin:7px 0 0;
}

/* Cached content should not flash loading message */
.content-loading{
  animation:v28pulse 1.4s ease-in-out infinite alternate;
}
@keyframes v28pulse{
  from{opacity:.42}
  to{opacity:.78}
}

@media(max-width:900px){
  .journey > .section-index{
    position:relative !important;
    top:auto !important;
    left:auto !important;
    margin-bottom:20px !important;
  }
  .share-panel{width:100%}
  .connect-hero-grid{grid-template-columns:1fr;gap:10px}
  .contact-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .contact-grid{grid-template-columns:1fr}
  .connect-page{padding:55px 18px 70px}
  .connect-hero-grid h1{font-size:58px}
  .connect-cta{align-items:flex-start;flex-direction:column}
}


/* V2.8.1 visual polish requested */
:root{
  --grow-soft-blush:#efe2de;
  --grow-soft-sage:#e2eadf;
  --grow-soft-blue:#d8e5f1;
}

/* Slightly bigger journey logos from Sprout to Harmony */
.journey-logo{
  width:122px !important;
  height:122px !important;
  margin-bottom:26px !important;
}
.harmony-community-card .journey-logo{padding:8px !important;}

/* v3.1.5 Sprout logo visual size adjustment */
#sprout .journey-logo{
  width:138px !important;
  height:138px !important;
}
@media (max-width:1399px){
  #sprout .journey-logo{width:118px !important;height:118px !important;}
}
@media (max-width:1099px){
  #sprout .journey-logo{width:108px !important;height:108px !important;}
}
@media (max-width:760px){
  #sprout .journey-logo{width:98px !important;height:98px !important;}
}


/* Large desktop/tablet tuned sizes */
@media (max-width:1399px){
  .journey-logo{width:104px !important;height:104px !important;}
}
@media (max-width:1099px){
  .journey-logo{width:94px !important;height:94px !important;}
}
@media (max-width:760px){
  .journey-logo{width:86px !important;height:86px !important;}
}

/* Spacing and distinct colors for ministry / initiative cards */
.ministry-grid{
  gap:38px !important;
  margin-top:42px !important;
}
.ministry-card{
  border:1.5px solid rgba(34,48,67,.9) !important;
  border-radius:22px !important;
  box-shadow:0 10px 24px rgba(25,37,50,.08) !important;
  overflow:hidden !important;
}
.ministry-card.mission{background:var(--gold) !important;}
.ministry-card.cleanup{background:var(--grow-soft-blue) !important;}
.ministry-card.bethere{background:var(--grow-soft-blush) !important;color:var(--navy) !important;}
.ministry-card .ministry-top{
  padding-bottom:20px !important;
  margin-bottom:34px !important;
}
.ministry-card .underlink.ministry-detail-trigger{
  padding-top:8px !important;
}

/* Slightly improve journey copy fitting after label changes */
#empower .journey-identity .eyebrow,
#families .journey-identity .eyebrow{
  letter-spacing:1.5px;
}
#families .journey-identity h3{font-size:56px !important;}
@media (max-width:1399px){
  #families .journey-identity h3{font-size:48px !important;}
}
@media (max-width:1099px){
  #families .journey-identity h3{font-size:42px !important;}
}

/* =========================================================
   V2.8.2 — PREMIUM REFINEMENT
   Cleaner 100% desktop scale, consistent logos, tuned GROW palette
   ========================================================= */

:root{
  --v282-max:1240px;
  --grow-clean-sage:#dfe9e2;
  --grow-bethere-sand:#efe0cf;
  --grow-card-line:rgba(34,48,67,.72);
}

@media(min-width:1100px){
  /* Make 100% browser zoom feel more composed and less close */
  .hero-grid,
  .about-content,
  .find-shell,
  .journey-head,
  .journey-track,
  .journey-cards,
  .purpose-main,
  .ministries-main,
  .start-grid,
  .faq-grid{
    width:min(calc(100% - 88px), var(--v282-max)) !important;
    max-width:var(--v282-max) !important;
  }

  .hero{
    padding-top:50px !important;
    padding-bottom:68px !important;
  }
  .hero-grid{
    gap:74px !important;
    grid-template-columns:minmax(0,1.02fr) minmax(0,.78fr) !important;
  }
  .hero h1{
    font-size:clamp(64px,5.2vw,86px) !important;
  }
  .hero-visual img{
    max-width:475px !important;
    max-height:525px !important;
  }

  .about,.find-place,.journey,.ministries,.faq,.start{
    padding-top:78px !important;
    padding-bottom:82px !important;
  }

  .journey-cards{
    gap:32px !important;
  }
  .journey-card{
    min-height:490px !important;
    padding:34px 36px !important;
    gap:32px !important;
    grid-template-columns:minmax(0,28%) minmax(0,38%) minmax(0,34%) !important;
  }
  .journey-photo{
    height:410px !important;
    max-height:410px !important;
  }
  .journey-description{
    font-size:14px !important;
    line-height:1.55 !important;
  }

  /* One visual size for all journey logos */
  .journey-logo,
  .harmony-community-card .journey-logo{
    width:108px !important;
    height:108px !important;
    padding:5px !important;
    margin-bottom:24px !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
  }
  .round-logo{
    border-radius:22px !important;
  }

  /* Community titles: balanced rather than oversized */
  .journey-identity h3,
  #empower .journey-identity h3,
  #philos .journey-identity h3,
  #families .journey-identity h3,
  #cafe-life .journey-identity h3,
  #harmony .journey-identity h3{
    font-size:42px !important;
    line-height:.98 !important;
  }

  /* Ministries: air between cards, aligned but not boxed together */
  .ministry-grid{
    gap:34px !important;
    margin-top:48px !important;
  }
  .ministry-card{
    min-height:455px !important;
    padding:30px 32px !important;
    border:1px solid var(--grow-card-line) !important;
    border-radius:24px !important;
    box-shadow:0 12px 30px rgba(25,37,50,.07) !important;
  }
  .ministry-card h3{
    min-height:108px !important;
    font-size:46px !important;
  }
}

/* Distinct but related GROW colors */
.ministry-card.mission{
  background:#f5b63a !important;
}
.ministry-card.cleanup{
  background:var(--grow-clean-sage) !important;
}
.ministry-card.bethere{
  background:var(--grow-bethere-sand) !important;
}

/* Keep card labels readable on the lighter palette */
.ministry-card.cleanup .ministry-top,
.ministry-card.bethere .ministry-top,
.ministry-card.cleanup .underlink,
.ministry-card.bethere .underlink{
  border-color:rgba(34,48,67,.72) !important;
}

/* Tablet logo consistency */
@media(max-width:1099px) and (min-width:761px){
  .journey-logo,
  .harmony-community-card .journey-logo{
    width:96px !important;
    height:96px !important;
    padding:4px !important;
  }
}

/* Mobile logo consistency */
@media(max-width:760px){
  .journey-logo,
  .harmony-community-card .journey-logo{
    width:88px !important;
    height:88px !important;
    padding:4px !important;
    margin-bottom:18px !important;
  }
  .ministry-grid{
    gap:22px !important;
  }
  .ministry-card{
    border-radius:20px !important;
  }
}


/* V2.8.3 BELONG → BELIEVE → BECOME navigation */
.journey-pill-nav a{
  color:inherit;
  text-decoration:none;
  position:relative;
  padding:5px 2px;
  cursor:pointer;
}
.journey-pill-nav a::after{
  content:"";
  position:absolute;
  left:2px;
  right:2px;
  bottom:0;
  height:1px;
  background:var(--gold-deep);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .18s ease;
}
.journey-pill-nav a:hover::after,
.journey-pill-nav a:focus-visible::after{
  transform:scaleX(1);
}
.journey-pill-nav a:focus-visible{
  outline:2px solid var(--gold-deep);
  outline-offset:4px;
}


/* =========================================================
   V2.8.4 GET CONNECTED EXPERIENCE
   ========================================================= */
.connect-page-v284{
  padding-top:64px !important;
  padding-bottom:84px !important;
}
.connect-hero-v284{
  padding-bottom:34px;
}
.connect-hero-v284 h1{
  margin-bottom:8px !important;
}
.connect-hero-v284 .connect-intro{
  padding-bottom:8px !important;
  max-width:520px;
}

.connect-primary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  margin-top:28px;
}
.connect-action-card{
  min-height:350px;
  padding:28px;
  border:1px solid var(--navy);
  border-radius:20px;
  display:flex;
  flex-direction:column;
  box-shadow:0 8px 20px rgba(35,49,69,.06);
}
.connect-action-card.messenger-card{background:var(--navy);color:white;}
.connect-action-card.phone-card{background:var(--gold);color:var(--navy);}
.connect-action-card.email-card{background:#dbe7ef;color:var(--navy);}
.connect-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid currentColor;
  padding-bottom:18px;
  margin-bottom:32px;
}
.connect-card-top span{
  width:32px;height:32px;border:1px solid currentColor;border-radius:50%;
  display:grid;place-items:center;font-size:9px;font-weight:900;
}
.connect-card-top small{
  font-size:9px;font-weight:900;letter-spacing:1.4px;
}
.connect-action-card h3{
  font-size:clamp(40px,3.2vw,52px);
  line-height:.95;
  font-weight:300;
  margin:0 0 22px;
  letter-spacing:-1.7px;
}
.connect-action-card p{
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.55;
  max-width:340px;
}
.contact-action-link{
  margin-top:auto;
  padding:16px 0 11px;
  border-bottom:1px solid currentColor;
  display:flex;
  align-items:center;
  justify-content:space-between;
  font-size:10px;
  font-weight:900;
  letter-spacing:.5px;
  color:inherit;
}
.contact-detail-value{
  margin-top:10px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:14px;
  overflow-wrap:anywhere;
}
.contact-action-card.is-unavailable{
  opacity:.56;
}
.contact-action-card.is-unavailable .contact-action-link::before{
  content:'DETAILS COMING SOON';
}
.contact-action-card.is-unavailable .contact-action-link{
  font-size:0;
  pointer-events:none;
}
.contact-action-card.is-unavailable .contact-action-link::before{
  font-size:9px;
  letter-spacing:1px;
}

.connect-secondary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:24px;
  margin-top:24px;
}
.connect-location-block,
.connect-social-block{
  min-height:190px;
  padding:30px;
  border-top:1px solid var(--navy);
  border-bottom:1px solid var(--navy);
}
.connect-location-block h2{
  font-size:38px;
  font-weight:300;
  margin:13px 0 12px;
}
.connect-location-block p{
  max-width:480px;
  font-family:Georgia,'Times New Roman',serif;
  line-height:1.5;
}
.social-link-list{
  margin-top:24px;
}
.social-link-list a{
  display:flex;
  justify-content:space-between;
  padding:15px 0;
  border-bottom:1px solid var(--navy);
  font-size:11px;
  font-weight:900;
}
.connect-cta-v284 h2 span{
  color:var(--gold-deep);
}

@media(max-width:950px){
  .connect-primary-grid{grid-template-columns:1fr;}
  .connect-action-card{min-height:280px;}
  .connect-secondary-grid{grid-template-columns:1fr;}
}
@media(max-width:600px){
  .connect-action-card{padding:22px;min-height:260px;}
  .connect-location-block,.connect-social-block{padding:24px 0;}
}


/* V2.8.6 SOCIAL ICON ROW */
.connect-socials{
  margin-top:28px;
  padding:30px 0 34px;
  border-top:1px solid var(--navy);
  border-bottom:1px solid var(--navy);
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:50px;
  align-items:center;
}
.social-copy{
  max-width:390px;
  margin:10px 0 0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:15px;
  line-height:1.5;
}
.social-icon-row{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.social-icon-link{
  min-width:92px;
  height:56px;
  padding:0 16px 0 10px;
  border:1px solid var(--navy);
  border-radius:999px;
  color:var(--navy);
  display:inline-flex;
  align-items:center;
  gap:10px;
  font:900 10px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.5px;
  text-decoration:none;
  background:rgba(255,255,255,.2);
  transition:transform .18s ease, background .18s ease, color .18s ease;
}
.social-icon-link:hover,
.social-icon-link:focus-visible{
  transform:translateY(-2px);
  background:var(--navy);
  color:white;
}
.social-icon-link[hidden]{display:none !important;}
.social-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--gold);
  color:var(--navy);
}
.social-icon svg{width:18px;height:18px;display:block;fill:currentColor;stroke:currentColor;stroke-width:1.6;}
.social-icon svg rect,.social-icon svg circle{fill:none;}
.social-icon-link:hover .social-icon,
.social-icon-link:focus-visible .social-icon{background:var(--gold);color:var(--navy);}
@media(max-width:900px){
  .connect-socials{grid-template-columns:1fr;gap:22px;}
  .social-icon-row{justify-content:flex-start;}
}
@media(max-width:520px){
  .social-icon-link{min-width:0;height:50px;padding-right:13px;}
  .social-icon{width:30px;height:30px;flex-basis:30px;}
}


/* =========================================================
   V2.8.9 — FIXED HEADER + APPROVED INVITE DESIGN
   ========================================================= */

:root{
  --grow-header-height:70px;
}

/* Freeze the header on every page */
.site-header{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100% !important;
  height:var(--grow-header-height) !important;
  z-index:5000 !important;
  background:rgba(251,248,241,.97) !important;
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 1px 0 rgba(34,48,67,.12);
}

/* Reserve space for fixed header */
body{
  padding-top:var(--grow-header-height) !important;
}

/* Anchors should not disappear behind fixed header */
section[id],
article[id],
#top,
#about,
#find-place,
#journey,
#ministries,
#connect{
  scroll-margin-top:calc(var(--grow-header-height) + 18px);
}

/* Closing story section */
.closing-cta-v288{
  min-height:660px !important;
  padding:70px 32px 58px !important;
  background:var(--gold) !important;
  color:var(--navy) !important;
  position:relative;
  overflow:hidden;
}

/* soft visual glow, still within GROW palette */
.closing-cta-v288::before{
  content:"";
  position:absolute;
  width:520px;
  height:520px;
  border-radius:50%;
  right:-180px;
  top:120px;
  background:rgba(255,255,255,.11);
  pointer-events:none;
}

.closing-inner{
  width:min(100%,1160px);
  margin:0 auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  position:relative;
  z-index:1;
}

.closing-eyebrow{
  font-size:12px !important;
  letter-spacing:3px !important;
  font-weight:900 !important;
}

.closing-rule{
  width:64px;
  height:3px;
  background:var(--navy);
  margin:17px 0 25px;
  border-radius:999px;
  opacity:.9;
}

.closing-cta-v288 h2{
  font-size:clamp(78px,7.2vw,118px) !important;
  line-height:.82 !important;
  letter-spacing:-5px !important;
  margin:0 0 38px !important;
  color:var(--navy) !important;
  font-weight:400 !important;
}

.closing-lead{
  max-width:820px !important;
  margin:0 auto 36px !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:18px !important;
  line-height:1.52 !important;
  color:var(--navy) !important;
}

.closing-share-row{
  width:min(100%,940px);
  display:grid;
  grid-template-columns:minmax(0,1fr) 300px;
  gap:58px;
  align-items:center;
  margin-top:4px;
}

.closing-share-main{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.invite-share-primary{
  min-width:340px;
  min-height:82px;
  padding:0 38px;
  border:1.5px solid var(--navy) !important;
  border-radius:22px !important;
  background:var(--navy) !important;
  color:white !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:16px;
  font:900 20px/1 Arial,Helvetica,sans-serif !important;
  box-shadow:
    0 9px 0 rgba(31,45,64,.14),
    0 22px 38px rgba(31,45,64,.16);
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease;
}

.invite-share-primary:hover{
  transform:translateY(-3px);
  box-shadow:
    0 11px 0 rgba(31,45,64,.12),
    0 26px 42px rgba(31,45,64,.19);
}

.invite-share-primary:active{
  transform:translateY(1px);
}

.share-glyph{
  width:37px;
  height:37px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:var(--gold);
  color:var(--navy);
  font-size:22px;
  font-weight:900;
}

.share-explainer{
  display:flex;
  align-items:center;
  gap:13px;
  max-width:610px;
  margin:29px auto 0;
}

.share-info{
  flex:0 0 38px;
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.78);
  font-family:Georgia,'Times New Roman',serif;
  font-size:20px;
  font-weight:700;
}

.share-explainer p{
  margin:0 !important;
  max-width:none !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-size:14px !important;
  line-height:1.46 !important;
  text-align:left;
}

/* Decorative preview of what the native sharing experience does */
.share-preview-wrap{
  position:relative;
  padding-bottom:40px;
}

.share-preview-card{
  width:285px;
  padding:18px;
  border-radius:18px;
  background:rgba(251,248,241,.96);
  color:var(--navy);
  box-shadow:0 18px 38px rgba(32,45,64,.18);
  transform:rotate(1.2deg);
}

.share-preview-brand{
  display:flex;
  align-items:center;
  gap:11px;
  padding-bottom:14px;
  border-bottom:1px solid rgba(34,48,67,.16);
  text-align:left;
}

.share-preview-brand b{
  display:block;
  font-size:11px;
}

.share-preview-brand small{
  display:block;
  margin-top:4px;
  font-size:8px;
  color:#69717c;
}

.share-link-icon{
  width:35px;
  height:35px;
  border:1px solid rgba(34,48,67,.18);
  border-radius:8px;
  display:grid;
  place-items:center;
  font-weight:900;
}

.share-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px 8px;
  margin-top:16px;
}

.share-preview-grid span{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  font:800 7px/1.15 Arial,Helvetica,sans-serif;
}

.share-preview-grid i{
  width:34px;
  height:34px;
  border-radius:10px;
  background:var(--gold);
  color:var(--navy);
  display:grid;
  place-items:center;
  font-style:normal;
  font-size:15px;
  font-weight:900;
}

.share-preview-arrow{
  position:absolute;
  left:-34px;
  bottom:13px;
  font-size:44px;
  transform:rotate(20deg);
  font-weight:300;
}

.share-preview-caption{
  position:absolute;
  right:0;
  bottom:0;
  width:230px;
  font-family:Georgia,'Times New Roman',serif;
  font-size:11px;
  font-style:italic;
  text-align:right;
}

.closing-note{
  width:min(100%,790px);
  margin-top:48px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
}

.closing-note span{
  height:1px;
  background:rgba(35,49,69,.5);
}

.closing-note small{
  margin:0 !important;
  font-size:8px !important;
  letter-spacing:1.55px !important;
  white-space:nowrap;
  font-weight:900;
}

/* Responsive */
@media(max-width:900px){
  .closing-share-row{
    grid-template-columns:1fr;
    gap:38px;
  }

  .share-preview-wrap{
    width:285px;
    justify-self:center;
  }
}

@media(max-width:760px){
  :root{
    --grow-header-height:70px;
  }

  .closing-cta-v288{
    min-height:auto !important;
    padding:58px 18px 50px !important;
  }

  .closing-cta-v288 h2{
    font-size:clamp(62px,18vw,88px) !important;
    letter-spacing:-3px !important;
  }

  .closing-lead{
    font-size:16px !important;
  }

  .invite-share-primary{
    min-width:0;
    width:min(100%,350px);
    min-height:72px;
    font-size:18px !important;
  }

  .share-explainer{
    align-items:flex-start;
  }

  .share-explainer p{
    font-size:13px !important;
  }

  .share-preview-card{
    width:min(285px,82vw);
  }

  .closing-note{
    grid-template-columns:1fr;
    gap:10px;
  }

  .closing-note span{
    display:none;
  }

  .closing-note small{
    white-space:normal;
    line-height:1.5;
  }
}


/* =========================================================
   V2.9.0 — PROJECT GROW BRANDED SHARE PANEL
   ========================================================= */

.grow-share-panel{
  width:min(650px,48vw) !important;
  background:#f8f3e9 !important;
  color:var(--navy) !important;
  box-shadow:-20px 0 55px rgba(24,36,50,.18);
}

.grow-share-inner{
  padding:74px 48px 46px !important;
}

.grow-share-inner h2{
  margin:14px 0 18px !important;
  font-size:clamp(52px,4.2vw,70px) !important;
  line-height:.92 !important;
  font-weight:300 !important;
  letter-spacing:-3px !important;
}

.grow-share-copy{
  max-width:500px;
  margin:0 0 28px !important;
  font-family:Georgia,'Times New Roman',serif;
  font-size:17px;
  line-height:1.55;
}

.grow-share-card{
  padding:18px 20px;
  border:1px solid rgba(34,48,67,.18);
  border-radius:16px;
  background:white;
  box-shadow:0 8px 20px rgba(34,48,67,.05);
}

.grow-share-brand{
  display:flex;
  align-items:center;
  gap:13px;
}

.grow-share-logo-mark{
  width:44px;
  height:44px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--gold);
  color:var(--navy);
  font:900 24px/1 Arial,Helvetica,sans-serif;
  box-shadow:inset 0 0 0 2px white;
}

.grow-share-brand b{
  display:block;
  font:900 12px/1.2 Arial,Helvetica,sans-serif;
}

.grow-share-brand small{
  display:block;
  margin-top:5px;
  color:#68717b;
  font-family:Georgia,'Times New Roman',serif;
  font-size:11px;
}

.grow-share-message{
  margin-top:15px;
  padding-top:15px;
  border-top:1px solid rgba(34,48,67,.12);
  font-family:Georgia,'Times New Roman',serif;
  font-size:13px;
  line-height:1.5;
}

.grow-share-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:24px;
}

.grow-share-option{
  min-height:78px;
  padding:13px 15px;
  border:1px solid rgba(34,48,67,.25) !important;
  border-radius:14px;
  background:#fff !important;
  color:var(--navy) !important;
  display:grid !important;
  grid-template-columns:42px 1fr auto;
  gap:12px;
  align-items:center;
  text-decoration:none;
  cursor:pointer;
  transition:
    transform .16s ease,
    box-shadow .16s ease,
    border-color .16s ease,
    background .16s ease;
}

.grow-share-option:hover{
  transform:translateY(-2px);
  border-color:var(--navy) !important;
  box-shadow:0 9px 18px rgba(34,48,67,.08);
}

.grow-share-icon{
  width:42px;
  height:42px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:var(--gold);
  color:var(--navy);
  font:900 18px/1 Arial,Helvetica,sans-serif;
}

.grow-share-option span:nth-child(2){
  display:block;
  min-width:0;
}

.grow-share-option b{
  display:block;
  font:900 11px/1.2 Arial,Helvetica,sans-serif;
}

.grow-share-option small{
  display:block;
  margin-top:5px;
  color:#6e7780;
  font-family:Georgia,'Times New Roman',serif;
  font-size:10px;
  line-height:1.25;
}

.grow-share-option i{
  font-style:normal;
  font-size:17px;
  font-weight:900;
}

.grow-share-option.facebook .grow-share-icon{
  background:#244f93;
  color:white;
}

.grow-share-option.messenger .grow-share-icon{
  background:var(--navy);
  color:white;
}

.grow-share-option.whatsapp .grow-share-icon{
  background:#dfe9dc;
}

.grow-share-option.viber .grow-share-icon{
  background:#e9e0ee;
}

.grow-share-option.email .grow-share-icon{
  background:#dfe8f0;
}

.grow-more-share{
  width:100%;
  margin-top:12px;
  padding:16px 3px;
  border:0 !important;
  border-top:1px solid var(--navy) !important;
  border-bottom:1px solid var(--navy) !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--navy) !important;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font:900 10px/1 Arial,Helvetica,sans-serif;
  letter-spacing:.4px;
  cursor:pointer;
}

.grow-more-share:hover{
  color:var(--gold-deep) !important;
}

.grow-share-status{
  min-height:20px;
  margin-top:14px !important;
  font-family:Arial,Helvetica,sans-serif;
  font-size:11px !important;
  line-height:1.4;
}

@media(max-width:900px){
  .grow-share-panel{
    width:min(640px,88vw) !important;
  }
}

@media(max-width:650px){
  .grow-share-panel{
    width:100% !important;
  }

  .grow-share-inner{
    padding:70px 20px 34px !important;
  }

  .grow-share-inner h2{
    font-size:52px !important;
  }

  .grow-share-grid{
    grid-template-columns:1fr;
  }

  .grow-share-option{
    min-height:72px;
  }
}


/* =========================================================
   V2.9.1 — JOIN MODAL FULL-SCREEN OVERLAY
   ========================================================= */

/* The modal must sit above the frozen header */
#joinModal,
.join-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:7000 !important;
}

/* Backdrop covers EVERYTHING, including the fixed header */
#joinModal .join-backdrop,
#joinModal .modal-backdrop,
.join-modal .join-backdrop,
.join-modal .modal-backdrop{
  position:absolute !important;
  inset:0 !important;
  background:rgba(31,45,64,.68) !important;
  -webkit-backdrop-filter:blur(6px) !important;
  backdrop-filter:blur(6px) !important;
}

/* Keep form panel on top of overlay */
#joinModal .join-panel,
.join-modal .join-panel{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  height:100% !important;
  z-index:2 !important;
  background:#fbf8f2 !important;
  box-shadow:18px 0 42px rgba(17,26,38,.18) !important;
}

/* Prevent header interaction while any modal is open */
body.modal-open .site-header{
  pointer-events:none !important;
}

/* Visually put the header behind the modal */
body.modal-open .site-header{
  filter:blur(1px);
}

/* Do not let the fixed header reserve visual priority over modal */
body.modal-open{
  overflow:hidden !important;
}

/* Responsive panel widths */
@media(min-width:1100px){
  #joinModal .join-panel,
  .join-modal .join-panel{
    width:min(680px,42vw) !important;
    max-width:680px !important;
  }
}

@media(max-width:1099px){
  #joinModal .join-panel,
  .join-modal .join-panel{
    width:min(620px,78vw) !important;
    max-width:620px !important;
  }
}

@media(max-width:700px){
  #joinModal .join-panel,
  .join-modal .join-panel{
    width:100% !important;
    max-width:none !important;
  }
}


/* =========================================================
   V2.9.3 — CMS MEDIA + CAFE LIFE PHOTO FIX
   ========================================================= */

/* Prevent bundled/default images from flashing before CMS data arrives. */
.cms-managed-photo{
  opacity:0 !important;
  transition:opacity .32s ease !important;
}
.cms-managed-photo.cms-photo-ready{
  opacity:1 !important;
}

/* Neutral branded placeholder while the correct CMS image is loading. */
.hero-visual,
.journey-card{
  --cms-placeholder:#f3ecdf;
}
.hero-visual{
  background:linear-gradient(145deg,#f5efe4,#ebe2d2);
  border-radius:28px;
}

/* Café Life uses real landscape/group photos frequently.
   Show the whole image instead of forcing a portrait crop. */
#cafe-life .journey-photo{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  align-self:center !important;
  background:#f7f1e5 !important;
}

/* Keep the Café Life image column visually centered after reducing its height. */
#cafe-life{
  align-items:center !important;
}

@media(max-width:1099px){
  #cafe-life .journey-photo{
    height:auto !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
  }
}


/* =========================================================
   V2.9.3 FAST MEDIA — SAME-SIZE, FULL-PHOTO CARD FRAMES
   ========================================================= */
.journey-photo-frame{
  position:relative;
  width:100%;
  height:445px;
  overflow:hidden;
  border-radius:20px;
  border:5px solid rgba(255,255,255,.86);
  box-shadow:0 12px 40px rgba(25,37,50,.14);
  background:#efe8dc;
  isolation:isolate;
}
.journey-photo-frame.gold-border-frame{
  border-color:#f4c65a;
}
.journey-photo-bg{
  position:absolute;
  inset:-22px;
  z-index:0;
  display:block;
  background-size:cover;
  background-position:50% 50%;
  background-repeat:no-repeat;
  filter:blur(16px) saturate(.78) brightness(.92);
  transform:scale(1.10);
  opacity:.58;
}
.journey-photo-frame::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(248,243,233,.18);
  pointer-events:none;
}
.dark-card .journey-photo-frame::after,
.harmony-community-card .journey-photo-frame::after{
  background:rgba(34,48,67,.10);
}
.journey-photo-frame .journey-photo,
#cafe-life .journey-photo-frame .journey-photo{
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:50% 50%;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  margin:0 !important;
}
.cms-managed-photo{
  opacity:0 !important;
  transition:opacity .22s ease !important;
}
.cms-managed-photo.cms-photo-ready{
  opacity:1 !important;
}
@media(max-width:1099px){
  .journey-photo-frame{height:390px}
}
@media(max-width:760px){
  .journey-photo-frame{
    height:clamp(270px,72vw,410px);
    border-width:4px;
    border-radius:18px;
  }
}


/* =========================================================
   V2.9.3 FAST FOCAL COVER
   Restores the older preferred photo behavior:
   - same frame size across community cards
   - no top/bottom gaps
   - fills the entire frame
   - Sheet focal values (50% 50%, 30% 45%, etc.) control crop
   ========================================================= */

/* Remove the blurred-fill treatment from FAST MEDIA. */
.journey-photo-bg{
  display:none !important;
}
.journey-photo-frame::after{
  display:none !important;
}

/* Stable equal-size frame for all community photos. */
.journey-photo-frame{
  position:relative !important;
  width:100% !important;
  height:445px !important;
  overflow:hidden !important;
  border-radius:20px !important;
  background:#efe8dc !important;
  isolation:isolate !important;
}

/* The actual image fills the frame with no gaps.
   JS / Google Sheet controls object-position. */
.journey-photo-frame .journey-photo,
#cafe-life .journey-photo-frame .journey-photo{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  /* DO NOT force object-position here.
     It comes from Google Sheet focal settings. */
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  margin:0 !important;
}

/* Preserve the white/gold outer frame already used by GROW. */
.journey-photo-frame{
  border:5px solid rgba(255,255,255,.86) !important;
  box-shadow:0 12px 40px rgba(25,37,50,.14) !important;
}
.journey-photo-frame.gold-border-frame{
  border-color:#f4c65a !important;
}

/* Tablet */
@media(max-width:1099px){
  .journey-photo-frame{
    height:390px !important;
  }
}

/* Mobile */
@media(max-width:760px){
  .journey-photo-frame{
    height:clamp(300px,82vw,430px) !important;
    border-width:4px !important;
    border-radius:18px !important;
  }
}

/* CMS image stays hidden until the selected Sheet image is ready,
   so the default/AI image does not flash first. */
.cms-managed-photo{
  opacity:0 !important;
  transition:opacity .20s ease !important;
}
.cms-managed-photo.cms-photo-ready{
  opacity:1 !important;
}


/* =========================================================
   V2.9.3 FAST 4:3 COMMUNITY PHOTO SYSTEM
   Production choice for Project GROW real-world photography.
   ========================================================= */

/*
  COMMUNITY PHOTOS
  All seven community cards use one identical 4:3 frame.
  Your current 1448 x 1086 uploads are exactly 4:3, so they
  display fully with no gaps and no crop.
*/
.journey-photo-frame{
  position:relative !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
  border-radius:20px !important;
  border:5px solid rgba(255,255,255,.90) !important;
  box-shadow:0 12px 40px rgba(25,37,50,.14) !important;
  background:#efe8dc !important;
  isolation:isolate !important;
}

/* FORGE keeps its GROW gold image border. */
.journey-photo-frame.gold-border-frame{
  border-color:#f4c65a !important;
}

/* No blurred filler / duplicate background. */
.journey-photo-bg,
.journey-photo-frame::after{
  display:none !important;
}

/*
  Fill the frame. Because a 1448x1086 source is also 4:3,
  the complete photo is visible. Focal settings remain useful
  for any future upload that is not exactly 4:3.
*/
.journey-photo-frame .journey-photo,
#cafe-life .journey-photo-frame .journey-photo{
  position:absolute !important;
  inset:0 !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  margin:0 !important;
}

/* Keep every community card aligned around the same photo geometry. */
.journey-card{
  align-items:center !important;
}

/* Tablet stays 4:3. */
@media(max-width:1099px){
  .journey-photo-frame{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
  }
  .journey-photo-frame .journey-photo{
    width:100% !important;
    height:100% !important;
  }
}

/* Mobile also stays 4:3 instead of changing to portrait. */
@media(max-width:760px){
  .journey-photo-frame{
    width:100% !important;
    height:auto !important;
    aspect-ratio:4 / 3 !important;
    border-width:4px !important;
    border-radius:18px !important;
  }
  .journey-photo-frame .journey-photo{
    width:100% !important;
    height:100% !important;
    aspect-ratio:auto !important;
    object-fit:cover !important;
  }
}

/* Preserve the fast-media behavior: never flash bundled AI/default photos. */
.cms-managed-photo{
  opacity:0 !important;
  transition:opacity .20s ease !important;
}
.cms-managed-photo.cms-photo-ready{
  opacity:1 !important;
}


/* =========================================================
   V3.0.4 STABLE — COMMUNITY STATUS BADGES
   Uses Website Content:
   forgeBadge / homeBadge / harmonyBadge
   ========================================================= */
.journey-logo-row{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:26px;
}

.journey-logo-row .journey-logo{
  margin-bottom:0 !important;
}

.community-status-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:7px 12px;
  border-radius:999px;
  background:#F8B738;
  color:#243145;
  border:1px solid rgba(36,49,69,.16);
  font-family:Arial,Helvetica,sans-serif;
  font-size:10px;
  font-weight:900;
  line-height:1;
  letter-spacing:1.15px;
  text-transform:uppercase;
  white-space:nowrap;
  box-shadow:0 3px 10px rgba(20,33,49,.08);
}

.dark-card .community-status-badge{
  background:#F8B738;
  color:#243145;
  border-color:rgba(255,255,255,.18);
}

.community-status-badge[hidden]{
  display:none !important;
}

@media(max-width:760px){
  .journey-logo-row{
    gap:8px;
    margin-bottom:18px;
  }

  .community-status-badge{
    min-height:25px;
    padding:6px 9px;
    font-size:9px;
    letter-spacing:.9px;
  }
}


/* v3.0.7: Official community wordmark beside the original, unchanged GROW logo. */
.brand .brand-wordmark {
  display: inline-flex;
  flex-direction: row;
  align-items: baseline;
  gap: 6px;
  line-height: 1.15;
  white-space: nowrap;
}
.brand .brand-wordmark b {
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .15px;
  white-space: nowrap;
}
.brand .brand-wordmark .brand-divider {
  color: var(--gold-deep, #DDA326);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
}
.brand .brand-wordmark small {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .1px;
  white-space: nowrap;
}
footer .brand .brand-wordmark b { font-size: 12px; }
footer .brand .brand-wordmark small { font-size: 11px; }
@media (max-width: 760px) {
  .brand .brand-wordmark { gap: 4px; }
  .brand .brand-wordmark b { font-size: 12px !important; letter-spacing: 0; }
  .brand .brand-wordmark small { font-size: 11px !important; letter-spacing: 0; }
  .brand .brand-wordmark .brand-divider { font-size: 12px; }
}
@media (max-width: 380px) {
  .brand .brand-wordmark b { font-size: 11px !important; }
  .brand .brand-wordmark small { font-size: 10px !important; }
}

/* v3.0.8: Temporarily hide inactive GROW audio controls. */
#listenBtn, .listen-float, #voiceToast, .voice-toast, [data-hero-listen], .hero-listen {
  display: none !important;
}


/* v3.1.0 — Slightly larger logos across the seven GROW Community cards.
   This changes ONLY journey-card logo sizing; not photos or layout structure. */
.journey-logo,
.harmony-community-card .journey-logo {
  width:142px !important;
  height:142px !important;
  object-fit:contain !important;
}
@media (max-width:1499px) {
  .journey-logo,
  .harmony-community-card .journey-logo {
    width:128px !important;
    height:128px !important;
  }
}
@media (max-width:1099px) {
  .journey-logo,
  .harmony-community-card .journey-logo {
    width:112px !important;
    height:112px !important;
  }
}
@media (max-width:760px) {
  .journey-logo,
  .harmony-community-card .journey-logo {
    width:102px !important;
    height:102px !important;
  }
}


/* v3.2.0: Embedded pages use the parent page's single global navigation. */
html.grow-embedded-view .site-header,
html.grow-embedded-view .mobile-menu{display:none !important;}
html.grow-embedded-view body{padding-top:0 !important;}
html.grow-embedded-view .subpage-main{margin-top:0 !important;}


/* v3.2.3 — Public GROW Community name; desktop navigation matches the approved dev look.
   Keep mobile navigation on phone-sized displays only. This overrides legacy 1050/1320 breakpoints. */
.brand .brand-wordmark{gap:0;align-items:center;}
.brand .brand-wordmark b{font-size:14px!important;letter-spacing:.1px!important;}
@media (min-width:970px){
  .site-header{height:76px;gap:14px;padding-left:clamp(18px,2.4vw,48px);padding-right:clamp(18px,2.4vw,48px);}
  .site-header .brand{min-width:0;flex:0 0 auto;max-width:none;}
  .site-header .desktop-nav{display:flex!important;flex:1 1 auto;justify-content:center;align-items:center;margin:0;gap:clamp(10px,1.3vw,28px);font-size:clamp(10px,.78vw,13px);white-space:nowrap;}
  .site-header .header-cta{display:inline-flex!important;flex:0 0 auto;white-space:nowrap;align-items:center;padding:12px 20px;}
  .site-header .menu-toggle{display:none!important;}
}
@media (min-width:970px) and (max-width:1140px){
  .site-header .desktop-nav{gap:8px;font-size:10px;}
  .site-header .header-cta{font-size:11px;padding:10px 12px;}
  .site-header .brand img{width:40px;height:40px;}
  .site-header .brand .brand-wordmark b{font-size:12px!important;}
}
@media (max-width:969px){
  .site-header .desktop-nav,.site-header .header-cta{display:none!important;}
  .site-header .menu-toggle{display:block!important;}
}
