:root{
  --navy-deep:#0F1B33;
  --navy:#182A4D;
  --navy-soft:#24365E;
  --gold:#C9A438;
  --gold-soft:#E4CD8B;
  --cream:#FAF5E9;
  --cream-dim:#F1E9D6;
  --burgundy:#6E1F2A;
  --ink:#1B1B1B;
  --line: rgba(201,164,56,0.35);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Source Sans 3', sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
}
h1,h2,h3,h4{
  font-family:'Cormorant Garamond', serif;
  font-weight:600;
  letter-spacing:0.01em;
}
img{max-width:100%; display:block;}
a{color:inherit;}
.wrap{max-width:1080px; margin:0 auto; padding:0 28px;}

.crown{width:52px; height:52px; margin:0 auto 18px; display:block;}

/* header / nav */
header{
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:rgba(15,27,51,0.95);
  backdrop-filter:blur(6px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 28px; max-width:1080px; margin:0 auto;
}
.brand{
  color:var(--cream); font-family:'Cormorant Garamond',serif;
  font-size:1.15rem; font-weight:700; letter-spacing:0.02em;
  display:flex; align-items:center; gap:10px; text-decoration:none;
}
.brand svg{width:26px; height:26px; flex-shrink:0;}
nav.links{display:flex; gap:22px; flex-wrap:wrap;}
nav.links a{
  color:var(--cream-dim); text-decoration:none; font-size:0.88rem;
  border-bottom:1px solid transparent; padding-bottom:2px;
  transition:border-color .2s, color .2s;
  white-space:nowrap;
}
nav.links a:hover, nav.links a.active{border-color:var(--gold); color:#fff;}
.nav-toggle{display:none; background:none; border:none; color:var(--cream); font-size:1.7rem; cursor:pointer; line-height:1;}

@media (max-width:920px){
  nav.links{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--navy-deep); flex-direction:column; gap:0;
    border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  }
  nav.links.open{display:flex;}
  nav.links a{padding:14px 28px; border-bottom:1px solid rgba(255,255,255,0.06);}
  .nav-toggle{display:block;}
}

/* page banner (for inner pages) */
.page-banner{
  position:relative;
  padding:150px 24px 70px;
  text-align:center;
  background:
    radial-gradient(ellipse at top, rgba(201,164,56,0.14), transparent 60%),
    linear-gradient(180deg, var(--navy-deep) 0%, var(--navy) 100%);
  color:var(--cream);
}
.page-banner::before{
  content:"";
  position:absolute; inset:0;
  background-image:repeating-linear-gradient(135deg, rgba(201,164,56,0.045) 0 2px, transparent 2px 46px);
  pointer-events:none;
}
.page-banner-inner{position:relative; max-width:720px; margin:0 auto;}
.page-banner h1{font-size:clamp(2rem,4.6vw,3rem); color:#fff; margin-bottom:14px;}
.page-banner p{color:var(--cream-dim); font-size:1.05rem; max-width:560px; margin:0 auto;}

/* hero (home only) */
.hero{
  position:relative; min-height:100vh;
  display:flex; align-items:center; justify-content:center; text-align:center;
  background:
    radial-gradient(ellipse at top, rgba(201,164,56,0.18), transparent 60%),
    linear-gradient(180deg, rgba(15,27,51,0.72) 0%, rgba(24,42,77,0.62) 45%, rgba(15,27,51,0.80) 100%),
    url('/images/hero.jpg') center 30%/cover no-repeat;
  color:var(--cream); padding:140px 24px 100px; overflow:hidden;
}
.hero-inner{position:relative; max-width:720px;}
.hero .crown{width:64px; height:64px; opacity:0.95;}
.eyebrow-scripture{
  font-style:italic; color:var(--gold-soft);
  font-family:'Cormorant Garamond',serif; font-size:1.15rem;
  max-width:520px; margin:0 auto 22px;
}
.hero h1{font-size:clamp(2.3rem, 5.4vw, 3.6rem); line-height:1.12; color:#fff; margin-bottom:18px;}
.hero h1 em{color:var(--gold-soft); font-style:normal;}
.hero p.tagline{font-size:1.1rem; color:var(--cream-dim); max-width:480px; margin:0 auto 36px;}
.hero-cta{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}

.btn{
  display:inline-block; padding:13px 30px; font-size:0.95rem;
  text-decoration:none; border-radius:2px; font-weight:600;
  letter-spacing:0.02em; transition:transform .18s, box-shadow .18s;
}
.btn:hover{transform:translateY(-1px);}
.btn-gold{background:var(--gold); color:var(--navy-deep);}
.btn-gold:hover{box-shadow:0 8px 22px rgba(201,164,56,0.35);}
.btn-outline{border:1px solid var(--gold-soft); color:var(--cream);}
.btn-outline:hover{background:rgba(255,255,255,0.06);}
.btn-navy{background:var(--navy-deep); color:#fff;}

section{padding:88px 0;}
.section-cream{background:var(--cream);}
.section-navy{background:var(--navy-deep); color:var(--cream);}
.kicker-rule{width:56px; height:2px; background:var(--gold); margin-bottom:20px;}
.section-navy .kicker-rule{background:var(--gold-soft);}
h2.section-title{font-size:clamp(1.9rem,3.4vw,2.5rem); margin-bottom:22px; max-width:640px;}
.lede{font-size:1.05rem; max-width:640px; color:#3a3a3a;}
.section-navy .lede{color:var(--cream-dim);}

/* quick links / cards */
.link-card-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:36px;}
.link-card{
  background:var(--navy); border:1px solid var(--line); border-top:2px solid var(--gold);
  padding:26px 22px; text-decoration:none; color:var(--cream); transition:transform .18s;
}
.link-card:hover{transform:translateY(-3px);}
.link-card h3{color:#fff; font-size:1.15rem; margin-bottom:8px;}
.link-card p{color:var(--cream-dim); font-size:0.9rem;}

/* about / photo grid */
.about-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:center;}
.figure-frame{border:1px solid var(--line); overflow:hidden; background:var(--navy);}
.figure-frame img{width:100%; height:100%; object-fit:cover;}

.service-list{list-style:none; margin-top:28px;}
.service-list li{
  display:flex; justify-content:space-between; gap:20px;
  padding:18px 0; border-bottom:1px solid rgba(0,0,0,0.1); max-width:620px;
}
.section-navy .service-list li{border-bottom:1px solid rgba(255,255,255,0.12);}
.service-list .day{font-weight:600;}
.service-list .time{color:var(--gold); font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.05rem;}
.venue-note{margin-top:24px; color:#555; max-width:640px;}
.section-navy .venue-note{color:var(--cream-dim);}

/* leadership */
.leader-grid{display:grid; grid-template-columns:1fr 1fr; gap:44px; margin-top:40px;}
.leader-card{background:var(--navy); border:1px solid var(--line); border-top:2px solid var(--gold);}
.leader-photo{aspect-ratio:4/5; overflow:hidden;}
.leader-photo img{width:100%; height:100%; object-fit:cover; object-position:top;}
.leader-body{padding:26px 24px;}
.leader-body h3{color:#fff; font-size:1.4rem; margin-bottom:4px;}
.leader-role{color:var(--gold-soft); font-size:0.88rem; letter-spacing:0.03em; text-transform:uppercase; margin-bottom:14px;}
.leader-body p{color:var(--cream-dim); font-size:0.96rem; margin-bottom:10px;}

.team-photo-strip{margin-top:44px;}
.team-photo-strip .figure-frame{aspect-ratio:16/8;}

/* nations map + brand cards */
.nations-map{margin-top:36px; background:var(--navy); border:1px solid var(--line); padding:14px;}
.nations-map svg{width:100%; height:auto; display:block;}
.brand-card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:32px;}
.brand-card{background:var(--navy); border:1px solid var(--line); border-top:2px solid var(--gold); padding:26px 22px; text-align:center;}
.brand-card-crown{width:30px; height:30px; margin:0 auto 14px;}
.brand-card-label{font-size:0.78rem; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold-soft); margin-bottom:14px;}
.brand-card-quote{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.1rem; color:#fff; margin-bottom:12px;}
.brand-card-body{color:var(--cream-dim); font-size:1rem; line-height:1.7;}
.brand-card-ref{font-size:0.82rem; color:var(--gold-soft);}

/* testimonies */
.testimony-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:28px; margin-top:40px;}
.testimony-card{background:var(--navy); border:1px solid var(--line); border-left:3px solid var(--gold); overflow:hidden;}
.testimony-card img{width:100%; display:block; border-bottom:1px solid var(--line);}
.testimony-card .cap{padding:16px 18px; font-size:0.88rem; color:var(--cream-dim);}
.testimony-card .who{padding:0 18px 16px; font-size:0.82rem; color:var(--gold-soft); letter-spacing:0.02em;}
.testimony-card .cap + .who{margin-top:-4px;}
.quote-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:32px; margin-top:40px;}
.quote-card{background:var(--navy); border-left:3px solid var(--gold); padding:30px 28px;}
.quote-card p{font-family:'Cormorant Garamond',serif; font-style:italic; font-size:1.2rem; color:var(--cream); margin-bottom:16px;}
.quote-card .who{font-size:0.85rem; color:var(--gold-soft); letter-spacing:0.02em;}

.healing-band{background:var(--burgundy); color:var(--cream); padding:64px 0;}
.healing-inner{display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center;}
.healing-inner .lede{color:#F0DCDF;}
.healing-form{background:rgba(255,255,255,0.06); border:1px solid rgba(228,205,139,0.3); padding:28px;}
.healing-form p{font-size:0.92rem; color:#F0DCDF; margin-bottom:18px;}
.healing-form textarea{
  width:100%; min-height:96px; background:rgba(255,255,255,0.08);
  border:1px solid rgba(228,205,139,0.35); color:#fff;
  padding:12px; font-family:inherit; font-size:0.92rem; resize:vertical; margin-bottom:14px;
}
.healing-form textarea::placeholder{color:rgba(255,255,255,0.5);}

.prayer-line{background:var(--gold-soft); padding:70px 0; text-align:center;}
.prayer-line h2{color:var(--navy-deep); max-width:600px; margin:0 auto 14px;}
.prayer-line p{max-width:480px; margin:0 auto 28px; color:#4a3f22;}

.floating-whatsapp{
  position:fixed; bottom:22px; right:22px; z-index:60;
  background:#1E7A46; color:#fff; width:58px; height:58px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 8px 22px rgba(0,0,0,0.25); text-decoration:none;
}
.floating-whatsapp svg{width:28px; height:28px;}

.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:50px;}
.contact-item{margin-bottom:22px;}
.contact-item .label{font-size:0.78rem; letter-spacing:0.04em; color:var(--gold-soft); text-transform:uppercase; margin-bottom:4px;}
.contact-item a{color:var(--cream); text-decoration:underline; text-decoration-color:var(--gold-soft);}
.social-row{display:flex; gap:16px; margin-top:20px; flex-wrap:wrap;}
.social-row a{
  height:40px; padding:0 16px; border:1px solid var(--gold-soft); border-radius:20px;
  display:flex; align-items:center; justify-content:center; gap:8px;
  color:var(--gold-soft); text-decoration:none; font-size:0.85rem;
}
.social-row a:hover{background:rgba(255,255,255,0.06);}
.meet-box{
  background:var(--navy); border:1px solid var(--line); aspect-ratio:4/3;
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:32px 24px;
}
.meet-box::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(circle at 50% 38%, rgba(201,164,56,0.16), transparent 65%);
  pointer-events:none;
}
.meet-box svg{width:150px; height:auto; margin-bottom:20px; position:relative;}
.meet-box .meet-label{
  position:relative; font-family:'Cormorant Garamond',serif; font-style:italic;
  color:var(--cream-dim); font-size:1.05rem; line-height:1.55;
}
.meet-box .meet-label strong{color:var(--gold-soft); font-style:normal; font-weight:600;}

footer{
  background:var(--navy-deep); color:rgba(255,255,255,0.55);
  text-align:center; padding:26px 20px; font-size:0.82rem; border-top:1px solid var(--line);
}
footer a{color:var(--gold-soft); text-decoration:none;}

@media (max-width:820px){
  .about-grid, .healing-inner, .contact-grid, .leader-grid{grid-template-columns:1fr; gap:36px;}
  .quote-grid, .testimony-grid{grid-template-columns:1fr;}
  .link-card-grid{grid-template-columns:repeat(2,1fr);}
  .brand-card-grid{grid-template-columns:1fr;}
}

/* ---- small-screen hardening ---- */
/* stop long words, URLs and email addresses from pushing the layout sideways */
body{overflow-wrap:break-word; word-wrap:break-word;}

@media (max-width:560px){
  .wrap{padding:0 20px;}
  .nav{padding:14px 20px;}
  nav.links a{padding:14px 20px;}
  section{padding:60px 0;}
  .page-banner{padding:130px 20px 54px;}
  .hero{padding:130px 20px 80px;}
  /* day/time stack instead of colliding on narrow screens */
  .service-list li{flex-direction:column; gap:2px;}
  /* full-width buttons read better on a phone */
  .hero-cta{flex-direction:column; align-items:stretch;}
  .hero-cta .btn{text-align:center;}
  /* keep the floating WhatsApp button clear of the footer text */
  footer{padding-bottom:90px;}
  .social-row a{flex:1 1 auto;}
}

/* testimony screenshots vary in height - cap them so cards stay even */
.testimony-card img{max-height:520px; object-fit:contain; background:var(--navy-deep);}

/* ---- homepage "Latest Updates" (blog preview) ---- */
.updates-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:36px;}
.update-card{
  display:block; min-width:0; text-align:left; text-decoration:none; color:inherit;
  background:#fff; border-left:3px solid var(--gold); padding:18px;
  overflow-wrap:anywhere; word-break:break-word;
}
.update-card .u-date{font-size:0.78rem; color:#8a7a4a; margin-bottom:6px;}
.update-card .u-title{font-family:'Cormorant Garamond',serif; font-size:1.2rem; color:var(--navy-deep); margin-bottom:6px; line-height:1.25;}
.update-card .u-excerpt{
  font-size:0.9rem; color:#444;
  display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden;
}

@media (max-width:820px){
  .updates-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .updates-grid{grid-template-columns:1fr; margin-top:26px;}
  .update-card{padding:16px;}
}
