:root{
  --green-950:#122E21; --green-900:#173F2C; --green-700:#1F5C40; --green-600:#26714F;
  --gold:#D9A441; --gold-deep:#B8842C; --gold-light:#F3E3BD; --cream:#FAF5EA; --cream-2:#F2EADA;
  --ink:#22281F; --muted:#5C655A; --white:#fff;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--cream);line-height:1.65;font-size:17px}
img{max-width:100%;display:block}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:'Fraunces',serif;line-height:1.15;color:var(--green-900)}
h1{font-size:clamp(2.4rem,6vw,4rem);font-weight:600}
h2{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600;margin:8px 0 20px}
h3{font-size:1.25rem;font-weight:600}
p{margin-bottom:1em}
a{color:var(--green-700)}
.center{text-align:center}
.muted-light{color:#E8EFE6;max-width:620px;margin:0 auto 8px}
.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:6px}
.eyebrow.center{display:block;text-align:center}
.eyebrow.light{color:var(--gold-light)}

/* Buttons */
.btn{display:inline-block;padding:14px 30px;border-radius:999px;font-weight:600;text-decoration:none;transition:.2s;border:2px solid transparent;font-size:.95rem}
.btn-gold{background:var(--gold);color:#3A2A08}
.btn-gold:hover{background:var(--gold-deep);color:#fff}
.btn-green{background:var(--green-700);color:#fff}
.btn-green:hover{background:var(--green-900)}
.btn-outline{border-color:rgba(255,255,255,.65);color:#fff}
.btn-outline:hover{background:rgba(255,255,255,.12)}
.btn-sm{padding:9px 20px;font-size:.85rem}

/* Topbar */
.topbar{position:sticky;top:0;z-index:50;background:rgba(18,46,33,.96);backdrop-filter:blur(6px)}
.topbar-in{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:1120px;margin:0 auto}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-family:'Fraunces',serif;font-size:1.15rem;font-weight:600}
.brand em{font-style:normal;color:var(--gold-light);font-weight:500}
.brand-mark{width:30px;height:30px;flex:none}
.brand.light{justify-content:flex-start}
.nav{display:flex;align-items:center;gap:26px}
.nav a{color:#E9EFE7;text-decoration:none;font-weight:500;font-size:.95rem}
.nav a:hover{color:var(--gold-light)}
.nav a.active{color:var(--gold)}
.nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:6px}
.nav-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px 0;border-radius:2px}

/* Hero */
.hero{position:relative;color:#fff;padding:130px 0 120px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:linear-gradient(160deg,#122E21 0%,#1F5C40 55%,#2E7A54 100%)}
.hero-bg::after{content:"";position:absolute;inset:0;background:radial-gradient(1000px 500px at 85% -10%,rgba(217,164,65,.25),transparent 60%),radial-gradient(700px 400px at 0% 110%,rgba(217,164,65,.14),transparent 55%)}
.hero-in{position:relative;text-align:center}
.hero-kicker{color:var(--gold-light);letter-spacing:.18em;text-transform:uppercase;font-size:.78rem;font-weight:600;margin-bottom:18px}
.hero h1 span{color:var(--gold-light);font-style:italic}
.hero-sub{color:#D9E4D6;margin:18px 0 20px;font-size:1.05rem}
.hero-chips{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:34px}
.chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:8px 16px;border-radius:999px;font-size:.88rem;color:#F5EFE2}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* Sections */
.section{padding:88px 0}
.mission{background:var(--cream)}
.split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.lead{color:var(--muted);font-size:1.05rem;margin-bottom:26px}

.pillars{background:var(--white)}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:26px}
.card{background:var(--cream);border:1px solid #E7DFC9;border-radius:18px;padding:30px 26px;transition:.2s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(23,63,44,.10)}
.card-num{font-family:'Fraunces',serif;color:var(--gold-deep);font-size:.95rem;font-weight:700;letter-spacing:.08em;margin-bottom:10px}
.card h3{margin-bottom:10px}
.card p{color:var(--muted);font-size:.95rem;margin:0}

/* Thursday timeline */
.thursday{background:linear-gradient(160deg,#173F2C,#245E42);color:#fff}
.thursday h2{color:#fff}
.timeline{max-width:680px;margin:40px auto 0;display:flex;flex-direction:column;gap:0}
.t-step{display:flex;gap:24px;padding:26px 0;border-bottom:1px solid rgba(255,255,255,.14)}
.t-step:last-child{border-bottom:0}
.t-time{flex:none;width:64px;height:64px;border-radius:50%;background:rgba(217,164,65,.18);border:1.5px solid var(--gold);display:flex;align-items:center;justify-content:center;font-family:'Fraunces',serif;font-size:1.05rem;font-weight:700;color:var(--gold-light)}
.t-body h3{color:var(--gold-light);margin-bottom:6px}
.t-body p{color:#DDE7DA;margin:0;font-size:.97rem}

/* Pastors */
.pastors{background:var(--cream-2)}
.names{color:var(--gold-deep);font-style:italic;font-weight:600;margin-bottom:30px}
.pastors-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:center;max-width:900px;margin:0 auto}
.pastors-copy p{color:var(--muted)}
.quote{font-family:'Fraunces',serif;font-size:1.35rem;color:var(--green-900)!important;font-style:italic;margin-bottom:18px}

/* Photo placeholders */
.photo-frame{background:repeating-linear-gradient(45deg,#EFE8D6,#EFE8D6 14px,#F6F1E3 14px,#F6F1E3 28px);border:2px dashed #C9BE9E;border-radius:18px;min-height:300px;display:flex;align-items:center;justify-content:center;text-align:center;color:#8B8266;font-weight:600;line-height:1.5}
.photo-frame small{font-weight:400}
.photo-frame.tall{min-height:380px}

/* Join */
.join{background:linear-gradient(160deg,#122E21,#1F5C40)}
.join h2{color:#fff}
.join-grid{max-width:980px;margin:34px auto 0}
.join-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:34px 26px;text-align:center}
.join-card h3{color:var(--gold-light);margin:14px 0 8px}
.join-card p{color:#E2EAE0;margin:0}
.join-card a{color:var(--gold-light)}
.join-ico{font-size:1.9rem}
.join-link{display:inline-block;margin-top:10px;font-weight:600}
.cta-row{margin-top:40px}

/* Footer */
.footer{background:var(--green-950);color:#C9D6C6;padding:64px 0 0}
.footer h4{color:var(--gold-light);font-family:'Fraunces',serif;margin-bottom:12px;font-size:1.05rem}
.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:40px;padding-bottom:40px}
.foot-tag{color:#9FB3A0;font-size:.9rem;margin-top:10px}
.footer a{color:#E4DCC0;text-decoration:none}
.footer a:hover{color:var(--gold-light)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 24px;font-size:.85rem;color:#8FA391;text-align:center}

/* Responsive */
@media(max-width:900px){
  .split,.grid-3,.pastors-grid,.footer-grid{grid-template-columns:1fr}
  .join-grid{grid-template-columns:1fr}
  .nav{position:fixed;top:60px;right:0;left:0;background:var(--green-950);flex-direction:column;padding:24px;gap:18px;display:none;box-shadow:0 20px 40px rgba(0,0,0,.3)}
  .nav-open .nav{display:flex}
  .nav-toggle{display:block}
  .section{padding:64px 0}
  .hero{padding:90px 0 80px}
}

/* Scripture foundation */
.scripture{background:var(--cream)}
.verse-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:18px;margin-top:30px}
.verse{background:var(--white);border:1px solid #E7DFC9;border-left:4px solid var(--gold);border-radius:14px;padding:22px 24px}
.verse strong{font-family:'Fraunces',serif;color:var(--green-900);font-size:1.05rem;display:block;margin-bottom:6px}
.verse p{margin:0;color:var(--muted);font-style:italic;font-size:.98rem}

/* Gallery */
.moments{background:var(--cream-2)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.gallery figure{margin:0;background:var(--white);border-radius:14px;overflow:hidden;box-shadow:0 4px 14px rgba(23,63,44,.08)}
.gallery img{width:100%;height:230px;object-fit:cover;display:block}
.gallery figcaption{padding:10px 14px;font-size:.85rem;font-weight:600;color:var(--green-700)}

/* Declaration */
.declaration{max-width:760px;margin:30px auto 0;background:var(--white);border:1px solid #E7DFC9;border-top:4px solid var(--gold);border-radius:18px;padding:44px 48px}
.declaration p{color:var(--muted);font-size:1.02rem}
.declaration .decl-close{font-family:'Fraunces',serif;font-style:italic;color:var(--green-900);font-size:1.15rem;margin-top:22px;text-align:center}

/* Card scripture ref */
.card-ref{font-size:.85rem!important;font-weight:600;color:var(--gold-deep)!important;margin-top:12px!important}

/* Story grid (about) */
.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;margin-top:30px}
.story-grid .photo-frame img{width:100%;height:100%;object-fit:cover;border-radius:16px}

/* Team */
.team-grid{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;margin-top:30px}
.team-card{background:var(--white);border:1px solid #E7DFC9;border-radius:18px;padding:22px;text-align:center;width:280px}
.team-photo{border-radius:14px;overflow:hidden;margin-bottom:16px}
.team-photo img{width:100%;height:300px;object-fit:cover;display:block}
.team-card h3{margin-bottom:2px}
.team-role{color:var(--gold-deep);font-weight:600;font-size:.9rem;margin:0}

@media(max-width:900px){
  .gallery{grid-template-columns:repeat(2,1fr)}
  .story-grid{grid-template-columns:1fr}
  .declaration{padding:30px 24px}
}

/* Polishing */
.hero h1{color:#fff}
.photo-frame:has(img){border:0;background:none;padding:0;min-height:0;overflow:hidden;border-radius:18px;box-shadow:0 14px 30px rgba(23,63,44,.14)}
.photo-frame:has(img) span{display:none}
.photo-frame img{width:100%;height:100%;object-fit:cover;display:block;border-radius:18px}
.mission .photo-frame:has(img){min-height:420px}
.pastors-grid .photo-frame:has(img){min-height:480px}
