:root{
  --blue:#1b3a6b;
  --blue-dark:#122a50;
  --gold:#c9a227;
  --gold-light:#e8d495;
  --cream:#faf7f0;
  --ink:#222a35;
  --gray:#5b6675;
  --line:#e5dfd2;
  --white:#ffffff;
  --shadow:0 6px 24px rgba(18,42,80,.10);
  --radius:12px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',system-ui,-apple-system,Arial,sans-serif;color:var(--ink);background:var(--white);line-height:1.6}

.container{max-width:1140px;margin:0 auto;padding:0 24px}

/* ===== Utility bar ===== */
.utility{background:var(--blue-dark);color:#fff;font-size:.82rem}
.utility .container{display:flex;justify-content:flex-end;gap:4px;flex-wrap:wrap}
.utility a{color:#fff;text-decoration:none;padding:8px 14px;border-left:1px solid rgba(255,255,255,.12);font-weight:600;letter-spacing:.02em}
.utility a:hover{background:rgba(255,255,255,.12)}
.utility a.accent{background:var(--gold);color:var(--blue-dark)}

/* ===== Header ===== */
header.main{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 24px;max-width:1200px;margin:0 auto}
.logo img{height:52px;width:auto}
.logo .tag{font-size:.7rem;color:var(--gray);letter-spacing:.18em;text-transform:uppercase}

.nav{display:flex;gap:4px}
.nav-item{position:relative}
.nav-item>a,.nav-folder{display:block;padding:12px 14px;font-weight:600;color:var(--blue);font-size:.95rem;border-radius:8px;background:none;border:none;cursor:pointer;font-family:inherit}
.nav-item>a:hover,.nav-folder:hover,.nav-folder.open{background:var(--cream)}
.folder-menu{display:none;position:absolute;top:100%;left:0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:260px;padding:10px 0;z-index:100}
.folder-menu a{display:block;padding:9px 20px;color:var(--ink);text-decoration:none;font-size:.92rem}
.folder-menu a:hover{background:var(--cream);color:var(--gold)}
.folder-menu .mhead{font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gray);padding:8px 20px 4px}
.nav-folder.open+.folder-menu{display:block}

/* ===== Hero ===== */
.hero{position:relative;color:#fff;overflow:hidden;min-height:380px;display:flex;align-items:center}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero .veil{position:absolute;inset:0;background:linear-gradient(100deg,rgba(18,42,80,.92) 0%,rgba(18,42,80,.72) 45%,rgba(18,42,80,.35) 100%)}
.hero .container{position:relative;z-index:2;padding-top:70px;padding-bottom:70px}
.hero h1{font-size:2.7rem;font-weight:800;letter-spacing:-.01em;max-width:680px;line-height:1.1}
.hero p.lead{margin-top:16px;font-size:1.15rem;max-width:600px;color:#f0eefb}
.hero .cta-row{margin-top:26px;display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-block;padding:14px 26px;border-radius:50px;font-weight:700;text-decoration:none;font-size:.98rem;border:none;cursor:pointer;transition:.2s}
.btn-gold{background:var(--gold);color:var(--blue-dark)}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px)}
.btn-ghost{background:rgba(255,255,255,.14);color:#fff;border:1px solid rgba(255,255,255,.6)}
.btn-ghost:hover{background:rgba(255,255,255,.25)}
.btn-blue{background:var(--blue);color:#fff}
.btn-blue:hover{background:var(--blue-dark)}
.btn-line{background:transparent;color:var(--blue);border:1.5px solid var(--blue)}
.btn-line:hover{background:var(--cream)}

/* ===== Service times band ===== */
.times{background:var(--blue);color:#fff}
.times .container{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:20px;padding-bottom:20px}
.times .row{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.times .label{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-light)}
.times .big{font-size:1.35rem;font-weight:800}
.times .sub{font-size:.9rem;color:#d8dcE9}
.times .btn{padding:11px 20px}

/* ===== Section ===== */
section{padding:64px 0}
section.alt{background:var(--cream)}
.eyebrow{font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700}
h2.sec{font-size:2rem;color:var(--blue);font-weight:800;margin:8px 0 6px}
p.sec-sub{color:var(--gray);max-width:640px;margin-bottom:34px}

/* cards */
.grid{display:grid;gap:24px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.2s;color:inherit;text-decoration:none;display:flex;flex-direction:column}
.card a.card-link{text-decoration:none;color:inherit}
.card img{width:100%;height:180px;object-fit:cover;display:block}
.card .body{padding:20px}
.card h3{color:var(--blue);font-size:1.15rem;margin-bottom:6px}
.card p{font-size:.92rem;color:var(--gray);margin-bottom:12px}
.card .more{color:var(--gold);font-weight:700;font-size:.9rem}
.card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(18,42,80,.16)}

/* ===== Audience mega cards (ministries) ===== */
.aud{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.audblock{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;padding:24px}
.audblock .imgwrap{height:200px;border-radius:10px;overflow:hidden;margin-bottom:16px}
.audblock .imgwrap img{width:100%;height:100%;object-fit:cover}
.audblock h3{font-size:1.4rem;color:var(--blue)}
.audblock ul{list-style:none;margin:12px 0 4px}
.audblock li{padding:6px 0;border-bottom:1px dashed var(--line);display:flex;justify-content:space-between;align-items:center}
.audblock li a{color:var(--ink);text-decoration:none;font-weight:600}
.audblock li a:hover{color:var(--gold)}
.audblock .btn{margin-top:14px}

/* ===== Split feature ===== */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split img{width:100%;border-radius:var(--radius);box-shadow:var(--shadow)}
.split h2{color:var(--blue);font-size:1.9rem;font-weight:800;margin:10px 0}
.split p{color:var(--gray);margin-bottom:16px}
.split .steps{list-style:none;counter-reset:st;margin:18px 0}
.split .steps li{counter-increment:st;position:relative;padding:6px 0 6px 44px;color:var(--ink)}
.split .steps li::before{content:counter(st);position:absolute;left:0;top:6px;width:30px;height:30px;background:var(--gold);color:var(--blue-dark);font-weight:800;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem}

/* ===== Callout ===== */
.callout{background:var(--blue);color:#fff;border-radius:var(--radius);padding:30px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:34px}
.callout .t{font-size:1.2rem;font-weight:800}
.callout .s{color:#d8dce9;font-size:.95rem}

/* ===== FAQ ===== */
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:12px;padding:18px 22px}
.faq summary{font-weight:700;color:var(--blue);cursor:pointer}
.faq details p{margin-top:10px;color:var(--gray)}

/* ===== Footer ===== */
footer{background:var(--blue-dark);color:#cfd6ea;padding:56px 0 30px;margin-top:0}
footer .grid-4 h4{color:#fff;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:16px;color:var(--gold-light)}
footer a{color:#cfd6ea;text-decoration:none;display:block;padding:5px 0;font-size:.92rem}
footer a:hover{color:#fff}
footer .footline{border-top:1px solid rgba(255,255,255,.12);margin-top:36px;padding-top:20px;font-size:.82rem;color:#95a0bd;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
footer .address{font-size:.9rem;color:#eaf0ff;font-weight:600}

/* ===== Page hero (interior) ===== */
.page-hero{background:var(--blue);color:#fff;padding:46px 0}
.page-hero .kicker{color:var(--gold-light);letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;font-weight:700}
.page-hero h1{font-size:2.4rem;font-weight:800}
.page-hero p{max-width:640px;color:#dce1f0;margin-top:10px}

/* ===== Breadcrumb ===== */
.crumbs{font-size:.82rem;padding:14px 0;color:var(--gray)}
.crumbs span{color:var(--gold)}

/* ===== Give steps ===== */
.givesteps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.givestep{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-align:center}
.givestep .num{width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--blue-dark);font-weight:800;font-size:1.2rem;display:flex;align-items:center;justify-content:center;margin:0 auto 14px}
.givestep h3{color:var(--blue);margin-bottom:8px}

/* ===== Responsive ===== */
@media(max-width:900px){
  .nav{display:none}
  .grid-3,.grid-4,.givesteps{grid-template-columns:1fr 1fr}
  .aud,.split{grid-template-columns:1fr}
  .hero h1{font-size:2rem}
  .logo img{height:42px}
}
@media(max-width:600px){
  .grid-2,.grid-3,.grid-4,.givesteps{grid-template-columns:1fr}
}
