:root{
  --green:#123f2a;
  --green-2:#1c653f;
  --gold:#c99a2b;
  --cream:#fbf7ed;
  --warm:#f4efe2;
  --charcoal:#1f2522;
  --muted:#667068;
  --white:#fff;
  --shadow:0 18px 50px rgba(18,63,42,.16);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--charcoal);background:#fff;line-height:1.65}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:12px 5vw;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);box-shadow:0 6px 24px rgba(0,0,0,.06)}
.brand{display:flex;align-items:center;gap:12px;min-width:245px}.brand img{width:58px;height:58px;object-fit:contain}.brand strong{display:block;font-size:22px;color:var(--green);line-height:1}.brand small{display:block;font-size:12px;color:var(--muted);line-height:1.2}
nav{display:flex;align-items:center;gap:22px;font-weight:700;font-size:14px;color:var(--green)}nav a{opacity:.92}.nav-give{background:var(--gold);padding:10px 16px;border-radius:999px;color:#fff;opacity:1}
.hero{position:relative;min-height:740px;display:grid;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:url('assets/img/hero-sunset.jpg');background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,28,20,.86),rgba(18,63,42,.66),rgba(18,63,42,.08))}.hero-content{position:relative;z-index:1;width:min(760px,90vw);margin-left:5vw;color:#fff;padding:70px 0}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-weight:900;font-size:12px;color:var(--gold);margin:0 0 12px}.eyebrow.green{color:var(--green-2)}.eyebrow.gold{color:var(--gold)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;line-height:1.08;margin:0 0 18px;color:var(--green)}h1{font-size:clamp(46px,7vw,82px);color:#fff;max-width:850px}h2{font-size:clamp(34px,4.6vw,56px)}h3{font-size:26px}.hero p{font-size:20px;max-width:690px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:32px 0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:999px;font-weight:900;box-shadow:0 12px 28px rgba(0,0,0,.12)}.btn.primary{background:var(--gold);color:#fff}.btn.secondary{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.35);color:#fff}.btn.light{background:#fff;color:var(--green)}.scripture{font-size:15px!important;color:#f5e8bc;border-left:3px solid var(--gold);padding-left:18px}.section{padding:96px 0}.container{width:min(1160px,90vw);margin:0 auto}.container.narrow{width:min(850px,90vw);text-align:center}.split{display:grid;grid-template-columns:1.04fr .96fr;gap:54px;align-items:center}.split.reverse{grid-template-columns:.96fr 1.04fr}.warm{background:var(--cream)}.photo-card,.card,figure{margin:0}.photo-card{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:#fff}.photo-card img{width:100%;height:420px;object-fit:cover}.photo-card.tall img{height:560px}.photo-card figcaption, .gallery figcaption{font-size:14px;color:var(--muted);background:#fff;padding:14px 18px}.text-panel{background:#fff;padding:42px;border-radius:var(--radius);box-shadow:var(--shadow)}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:stretch}.leadership{margin-top:34px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}.card{background:#fff;border-radius:22px;overflow:hidden;box-shadow:var(--shadow);border:1px solid #edf2ee}.card img{width:100%;height:235px;object-fit:cover}.card div{padding:26px}.card p{color:var(--muted);margin-bottom:0}.feature-school{background:linear-gradient(135deg,var(--green),#0b251a);color:#fff}.feature-school h2,.feature-school h3{color:#fff}.feature-school p,.feature-school li{color:#eef8ef}.fallback{margin-top:0}.checklist{padding:0;margin:25px 0;list-style:none}.checklist li{padding:8px 0 8px 30px;position:relative}.checklist li:before{content:'✓';position:absolute;left:0;color:var(--gold);font-weight:900}.gallery.three{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:34px}.gallery figure{border-radius:22px;overflow:hidden;box-shadow:var(--shadow);background:#fff}.gallery img{height:360px;width:100%;object-fit:cover}.stacked-photos{position:relative;min-height:590px}.stacked-photos .photo-card img{height:390px}.stacked-photos .overlap{position:absolute;right:0;bottom:0;width:72%;border:8px solid #fff}.beliefs{background:#fff}.beliefs p{font-size:19px;color:#435048}.give-section{background:linear-gradient(135deg,rgba(18,63,42,.95),rgba(28,101,63,.94)), url('assets/img/children-reading-outside.jpg') center/cover;color:#fff}.give-section h2,.give-section h3{color:#fff}.give-box{display:grid;grid-template-columns:1.35fr .85fr;gap:42px;align-items:center}.giving-options{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.2);border-radius:var(--radius);padding:34px}.giving-options ul{margin:0 0 20px;padding-left:20px}.small{font-size:14px;color:#f2e6bd}.footer{background:#0d281c;color:#dfe8e2;padding:48px 0}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:34px}.footer h3{color:#fff;font-size:22px}.footer-logo{width:100px;background:#fff;border-radius:18px;padding:8px;margin-bottom:14px}
@media (max-width: 900px){.site-header{position:relative;align-items:flex-start;flex-direction:column}.brand{min-width:0}nav{flex-wrap:wrap;gap:12px}.hero{min-height:680px}.hero-content{padding:40px 0}.split,.split.reverse,.grid.two,.give-box,.footer-grid{grid-template-columns:1fr}.cards,.gallery.three{grid-template-columns:1fr}.photo-card img,.photo-card.tall img,.gallery img{height:auto;max-height:520px}.stacked-photos{min-height:auto}.stacked-photos .overlap{position:relative;width:100%;border:0;margin-top:20px}.section{padding:64px 0}}


/* v6 refinements */
.photo-card img, .card img, .gallery img {
  object-position: center center;
}
.leadership .photo-card img[src*="family-group-new"] {
  object-position: center top;
}
.gallery-section .gallery-intro {
  max-width: 760px;
  color: #4d5b52;
  margin: 0 0 1.4rem;
}
.gallery.mosaic {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}
.gallery.mosaic figure {
  margin: 0;
  background: #fff;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 14px 35px rgba(0,0,0,.09);
}
.gallery.mosaic img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
}
.gallery.mosaic figcaption {
  padding: .75rem .9rem;
  font-size: .92rem;
  color: #264631;
}
@media (max-width: 900px) {
  .gallery.mosaic {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 560px) {
  .gallery.mosaic {
    grid-template-columns: 1fr;
  }
  .gallery.mosaic img {
    height: 240px;
  }
}


/* v8 story, medical link, and giving refinements */
html { scroll-behavior: smooth; }
.story-section {
  background: #ffffff;
}
.story-section .story-btn {
  background: var(--green);
  color: #fff;
  margin-top: 12px;
}
.button-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}
.btn.outline-dark {
  background: transparent;
  color: var(--green);
  border: 2px solid var(--green);
  box-shadow: none;
}
.medical-section .btn.outline-dark {
  background: #fff;
}
.card a {
  color: var(--green);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.give-section {
  background: linear-gradient(135deg, rgba(9,42,28,.96), rgba(24,105,61,.92)), url('assets/img/children-reading-outside.jpg') center/cover;
}
.giving-options {
  background: #fff7df;
  color: #193a28;
  border: 3px solid var(--gold);
  box-shadow: 0 24px 70px rgba(0,0,0,.24);
}
.giving-options h3 {
  color: var(--green);
}
.giving-options ul {
  color: #263d2f;
}
.giving-instructions {
  background: #fff;
  border: 2px dashed var(--gold);
  border-radius: 18px;
  padding: 18px 20px;
  margin: 20px 0;
  color: #183b28;
}
.giving-instructions p {
  margin: 0 0 8px;
  color: var(--green);
  font-weight: 900;
}
.giving-instructions ol {
  margin: 0;
  padding-left: 22px;
}
.giving-instructions li {
  margin: 6px 0;
  font-weight: 700;
}
.btn.light.give-main {
  background: var(--gold);
  color: #fff;
  width: 100%;
  font-size: 18px;
  padding: 16px 24px;
}
.nav-give {
  background: var(--gold);
  color: #fff !important;
  padding: 10px 16px;
  border-radius: 999px;
}


/* v9 final polish */
.btn.tertiary {
  background: rgba(255,255,255,.92);
  color: var(--green);
}
.impact-strip {
  background: var(--green);
  color: #fff;
  padding: 26px 0;
}
.impact-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
.impact-grid div {
  border-left: 3px solid var(--gold);
  padding-left: 16px;
}
.impact-grid strong {
  display: block;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 24px;
  color: #fff;
}
.impact-grid span {
  color: #f6e7b5;
  font-weight: 700;
}
.why-section {
  padding: 60px 0;
  background: linear-gradient(135deg, var(--green), #1b6b42);
}
.why-box {
  background: rgba(255,255,255,.11);
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--radius);
  padding: 44px;
  color: #fff;
  text-align: center;
}
.why-box h2 {
  color: #fff;
}
.why-box p {
  max-width: 880px;
  margin-left: auto;
  margin-right: auto;
  color: #eef8ef;
  font-size: 19px;
}
.partner-prayer {
  background: #fff;
}
.prayer-cards {
  grid-template-columns: repeat(3, 1fr);
}
.mini-card {
  border-top: 5px solid var(--gold);
}
.contact-section {
  background: var(--cream);
}
.contact-card {
  background: #fff;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 36px;
  border: 1px solid #e8eee8;
}
.contact-card p {
  margin: 0 0 18px;
}
.contact-card a,
.footer a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 3px;
  font-weight: 800;
}
.floating-actions {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 50;
  display: flex;
  gap: 10px;
}
.floating-actions a {
  background: var(--gold);
  color: #fff;
  font-weight: 900;
  padding: 12px 16px;
  border-radius: 999px;
  box-shadow: 0 12px 30px rgba(0,0,0,.22);
}
.floating-actions a:nth-child(2) {
  background: var(--green);
}
@media (max-width: 900px) {
  .impact-grid,
  .prayer-cards {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 620px) {
  .impact-grid,
  .prayer-cards {
    grid-template-columns: 1fr;
  }
  .floating-actions {
    left: 14px;
    right: 14px;
    justify-content: center;
  }
  .floating-actions a {
    flex: 1;
    text-align: center;
  }
  body {
    padding-bottom: 72px;
  }
}


/* v10 sponsorship and FOLCS video refinements */
.feature-school .btn.secondary.video-btn {
  background: rgba(255,255,255,.96);
  color: var(--green);
  border: 0;
}
.school-video-section {
  background: #fff;
}
.school-video-section .photo-card img {
  object-position: center center;
}
.feature-school .photo-card img {
  object-position: center center;
}


/* v11 Dr. Kenny theological training refinement */
.pastor-profile {
  margin-top: 34px;
  background: #fff;
  border-left: 6px solid var(--gold);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 38px 42px;
}
.pastor-profile h3 {
  color: var(--green);
  margin-bottom: 14px;
}
.pastor-profile p {
  color: #3f4e45;
}
.pastor-profile p:last-child {
  margin-bottom: 0;
}
@media (max-width: 620px) {
  .pastor-profile {
    padding: 28px 24px;
  }
}


/* v17 clean Netlify response form */
.response-form-card {
  margin-top: 28px;
  background: #fff7df;
  border: 2px solid var(--gold);
  border-radius: 22px;
  padding: 24px;
}
.response-form-card h3 {
  margin-bottom: 8px;
}
.response-form-card p {
  color: #395243;
}
.response-form-card form {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}
.response-form-card label {
  font-weight: 900;
  color: var(--green);
  font-size: 14px;
}
.response-form-card input,
.response-form-card select,
.response-form-card textarea {
  width: 100%;
  border: 1px solid #d4dfd7;
  border-radius: 14px;
  padding: 13px 14px;
  font: inherit;
  background: #fff;
  color: #15251b;
}
.response-form-card input:focus,
.response-form-card select:focus,
.response-form-card textarea:focus {
  outline: 3px solid rgba(200, 160, 68, .3);
  border-color: var(--gold);
}
.hidden-field {
  display: none;
}
.form-submit {
  border: 0;
  cursor: pointer;
  margin-top: 8px;
}
.form-note {
  font-size: 13px;
  color: #5a6b60;
  margin: 6px 0 0;
  line-height: 1.45;
}
.thank-you-page {
  min-height: 100vh;
  display: grid;
  align-items: center;
  background: var(--cream);
}
.thank-you-page h1 {
  color: var(--green);
}


/* v18 light professional polish — no content or form changes */
:root {
  --soft-green: #eef7f1;
  --soft-gold: #fff7dd;
}

body {
  text-rendering: optimizeLegibility;
}

.section {
  position: relative;
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 90px;
  background: linear-gradient(to bottom, rgba(255,255,255,0), var(--cream));
  pointer-events: none;
}

.hero-content {
  backdrop-filter: blur(1.5px);
}

.eyebrow {
  letter-spacing: .14em;
}

.card,
.photo-card,
.contact-card,
.giving-options,
.pastor-profile,
.response-form-card {
  transition: transform .22s ease, box-shadow .22s ease;
}

@media (hover: hover) {
  .card:hover,
  .photo-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 45px rgba(0,0,0,.13);
  }
}

.card img,
.photo-card img,
.gallery img {
  filter: saturate(1.04) contrast(1.02);
}

.card h3::after,
.text-panel h3::after,
.contact-section h2::after,
.partner-prayer h2::after {
  content: "";
  display: block;
  width: 54px;
  height: 4px;
  background: var(--gold);
  border-radius: 999px;
  margin-top: 12px;
}

.cards .card {
  border: 1px solid rgba(18, 82, 49, .08);
}

.impact-strip {
  box-shadow: inset 0 1px rgba(255,255,255,.1), inset 0 -1px rgba(0,0,0,.08);
}

.why-box {
  box-shadow: 0 22px 50px rgba(0,0,0,.14);
}

.give-section h2 {
  text-shadow: 0 2px 18px rgba(0,0,0,.18);
}

.giving-instructions {
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.55);
}

.response-form-card {
  background:
    linear-gradient(135deg, rgba(255,255,255,.88), rgba(255,247,221,.95)),
    var(--soft-gold);
}

.response-form-card input,
.response-form-card select,
.response-form-card textarea {
  box-shadow: inset 0 1px 2px rgba(0,0,0,.04);
}

.response-form-card button,
.btn {
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

@media (hover: hover) {
  .btn:hover,
  .response-form-card button:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 30px rgba(0,0,0,.18);
  }
}

.gallery.mosaic figure {
  position: relative;
}

.gallery.mosaic figcaption {
  font-weight: 800;
  background: linear-gradient(to right, #ffffff, #fbfff9);
}

.footer {
  border-top: 6px solid var(--gold);
}

@media (max-width: 620px) {
  .hero::after {
    height: 55px;
  }

  .card h3::after,
  .text-panel h3::after,
  .contact-section h2::after,
  .partner-prayer h2::after {
    width: 42px;
    height: 3px;
  }
}
