:root{
  --navy:#0C2340;
  --navy2:#08182e;
  --gold:#C8A23A;
  --gold2:#A67C00;
  --ivory:#F4F1E8;
  --ink:#0b0f16;
  --muted:#6a7586;
  --card:#ffffff;
  --soft:#f7f8fb;
  --radius:18px;
  --shadow: 0 18px 45px rgba(0,0,0,.14);
  --shadow2: 0 12px 28px rgba(0,0,0,.10);
  --fontHead: "Cinzel", serif;
  --fontBody: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--fontBody);
  color:var(--ink);
  background:#fff;
  line-height:1.55;
}
a{color:inherit}
code{background:rgba(200,162,58,.12); padding:.15rem .35rem; border-radius:10px}

.container{width:min(1120px, 92vw); margin:0 auto}

.topbar{
  background: linear-gradient(90deg, var(--navy), #102e52);
  color:#fff;
  font-size:.92rem;
}
.topbar__inner{
  display:flex; gap:14px; align-items:center; justify-content:space-between;
  padding:.55rem 0;
}
.topbar__left{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.topbar__right{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.topbar__link{opacity:.9; text-decoration:none}
.topbar__link:hover{opacity:1}
.sep{opacity:.35}
.pill{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.18rem .6rem; border-radius:999px;
  background:rgba(200,162,58,.18); color:#fff; border:1px solid rgba(200,162,58,.35);
  font-weight:600; letter-spacing:.2px;
}

.header{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,.78);
  backdrop-filter: blur(14px);
  border-bottom:1px solid rgba(12,35,64,.08);
}
.header__inner{
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem 0;
}

.brand{display:flex; gap:12px; align-items:center; text-decoration:none}
.brand__mark{
  width:44px; height:44px; border-radius:14px;
  display:grid; place-items:center;
  background:linear-gradient(180deg, var(--navy), var(--navy2));
  color:var(--gold);
  box-shadow: var(--shadow2);
}
.brand__name{font-family:var(--fontHead); font-weight:900; letter-spacing:1px; font-size:1.1rem}
.brand__sub{font-size:.86rem; color:var(--muted); margin-top:-2px}

.nav{display:flex; align-items:center; gap:14px}
.nav__links{display:flex; align-items:center; gap:8px}
.nav__link{
  text-decoration:none; padding:.55rem .75rem; border-radius:12px;
  color:#152235; font-weight:600; font-size:.95rem;
}
.nav__link:hover{background:rgba(12,35,64,.06)}
.nav__cta{
  text-decoration:none; padding:.62rem 1rem; border-radius:14px;
  background:linear-gradient(180deg, var(--gold), var(--gold2));
  color:#111; font-weight:800;
  box-shadow: var(--shadow2);
}
.nav__cta:hover{filter:brightness(1.02)}
.nav__toggle{display:none; border:0; background:transparent; cursor:pointer; padding:.25rem}
.nav__toggle span{display:block; width:26px; height:2px; background:#14233a; margin:6px 0; border-radius:2px}

.hero{
  position:relative;
  padding: 3.2rem 0 2.2rem;
  overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0;
  background:
    radial-gradient(1100px 500px at 15% 5%, rgba(200,162,58,.18), transparent 65%),
    radial-gradient(800px 460px at 85% 20%, rgba(12,35,64,.22), transparent 60%),
    linear-gradient(180deg, #ffffff, #f6f7fb);
  z-index:-1;
}
.hero__inner{display:grid; grid-template-columns: 1.05fr .95fr; gap:22px; align-items:center}
.kicker{display:inline-flex; gap:10px; align-items:center; color:var(--muted); font-weight:600}
.kicker__dot{width:10px;height:10px;border-radius:99px;background:var(--gold); box-shadow:0 0 0 4px rgba(200,162,58,.18)}
.hero__title{
  font-family:var(--fontHead);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height:1.05;
  margin:.8rem 0 .8rem;
  letter-spacing:.4px;
}
.gold{color:var(--gold2)}
.hero__subtitle{color:#1b2b44; font-size:1.05rem; max-width:62ch}
.hero__meta{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:1.2rem 0}
.metaCard{
  background:#fff; border:1px solid rgba(12,35,64,.08);
  border-radius:16px; padding:.9rem 1rem;
  box-shadow: 0 10px 22px rgba(0,0,0,.06);
}
.metaCard__label{color:var(--muted); font-weight:600; font-size:.85rem}
.metaCard__value{font-weight:800; color:#12233a; margin-top:.2rem}
.hero__actions{display:flex; gap:10px; flex-wrap:wrap; margin:1rem 0 .6rem}
.btn{
  display:inline-flex; align-items:center; justify-content:center;
  gap:10px; text-decoration:none;
  padding:.9rem 1.1rem; border-radius:16px;
  font-weight:800;
  border:1px solid transparent;
  transition:.15s ease;
}
.btn--gold{
  background:linear-gradient(180deg, var(--gold), var(--gold2));
  color:#111;
  box-shadow: var(--shadow2);
}
.btn--gold:hover{transform:translateY(-1px)}
.btn--ghost{
  background:transparent;
  border-color: rgba(12,35,64,.18);
  color:#132845;
}
.btn--ghost:hover{background:rgba(12,35,64,.05)}
.btn--small{padding:.7rem .95rem; border-radius:14px; font-size:.95rem}

.hero__contactRow{display:flex; gap:10px; flex-wrap:wrap; margin-top:.8rem}
.chip{
  display:inline-flex; gap:8px; align-items:center;
  padding:.5rem .75rem; border-radius:999px;
  border:1px solid rgba(12,35,64,.16);
  background:#fff;
  text-decoration:none;
  font-weight:700;
  color:#142a46;
}

.heroCard{
  background:#fff;
  border:1px solid rgba(12,35,64,.08);
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow: var(--shadow);
}
.heroCard__imgWrap{aspect-ratio: 16/10; background:linear-gradient(180deg, #0C2340, #0a1b33)}
.heroCard__imgWrap img{width:100%; height:100%; object-fit:cover; display:block}
.imgFallback{
  height:100%; display:flex; align-items:center; justify-content:center;
  color:#fff; text-align:center; padding:16px;
}
.imgFallback__title{font-family:var(--fontHead); font-weight:900; font-size:1.2rem}
.imgFallback__text{opacity:.85; margin-top:.3rem}
.heroCard__footer{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:1rem 1.05rem;
}
.small{font-size:.88rem}
.strong{font-weight:900}
.link{color:var(--gold2); font-weight:900; text-decoration:none}
.link:hover{text-decoration:underline}

.section{padding: 3.4rem 0}
.section--tight{padding: 1.6rem 0 1.2rem}
.section--soft{background: var(--soft)}
.section--dark{
  background: linear-gradient(180deg, var(--navy), var(--navy2));
  color:#fff;
}
.sectionHead{margin-bottom:1.3rem}
.sectionHead--light .h2{color:#fff}
.h2{font-family:var(--fontHead); font-weight:900; font-size: clamp(1.6rem, 2.4vw, 2.2rem); margin:0 0 .35rem}
.h3{font-family:var(--fontHead); font-weight:900; margin:0 0 .6rem}
.h3--light{color:#fff}
.h4{margin:.6rem 0 .35rem; font-weight:900}
.h4--light{color:#fff}
.muted{color:var(--muted); margin:0}
.muted--light{color:rgba(255,255,255,.78)}

.card{
  background:var(--card);
  border:1px solid rgba(12,35,64,.10);
  border-radius:var(--radius);
  padding:1.2rem 1.2rem;
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}
.card--soft{background:#fcfcfe}
.card--dark{
  background:rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.12);
  box-shadow:none;
}

.split{display:grid; grid-template-columns:1fr 1fr; gap:16px; align-items:start}
.bullets{padding-left:1.2rem; margin:.4rem 0 0}
.bullets li{margin:.35rem 0}
.bullets--light{color:rgba(255,255,255,.86)}
.verse{
  margin-top:1rem;
  padding:.6rem .75rem;
  border-radius:14px;
  background:rgba(200,162,58,.12);
  border:1px solid rgba(200,162,58,.30);
  font-weight:800;
  width:fit-content;
}
.valueGrid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:.6rem}
.value{padding:.75rem; border-radius:16px; background:rgba(12,35,64,.04); border:1px solid rgba(12,35,64,.08)}
.value__title{font-weight:900}
.value__text{color:var(--muted); font-size:.95rem; margin-top:.2rem}
.callout{
  margin-top:1rem;
  border-radius:16px;
  padding: .9rem 1rem;
  background:linear-gradient(180deg, rgba(200,162,58,.14), rgba(200,162,58,.06));
  border:1px solid rgba(200,162,58,.25);
}
.callout__title{font-weight:900}
.callout__text{color:#1b2b44; margin-top:.25rem}

.quickGrid{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.quick{
  display:flex; gap:12px; align-items:center;
  padding:1rem 1rem;
  background:#fff;
  border:1px solid rgba(12,35,64,.10);
  border-radius:var(--radius);
  text-decoration:none;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
}
.quick:hover{transform:translateY(-1px)}
.quick__icon{font-size:1.4rem}
.quick__title{font-weight:900}
.quick__text{color:var(--muted); font-size:.95rem}

.leaders{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.leaderCard{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);
  border-radius:var(--radius);
  overflow:hidden;
}
.leaderCard__img{aspect-ratio: 16/11; background:rgba(255,255,255,.04)}
.leaderCard__img img{width:100%; height:100%; object-fit:cover; display:block}
.leaderCard__body{padding:1rem 1.1rem}
.leaderCard__name{font-family:var(--fontHead); font-weight:900; font-size:1.25rem}
.leaderCard__role{color:rgba(255,255,255,.75); font-weight:700; margin-top:.15rem}
.leaderCard__text{color:rgba(255,255,255,.82); margin:.6rem 0 0}
.leaders__bar{
  margin-top:14px;
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:1rem 1.1rem;
  border-radius:var(--radius);
  background:rgba(0,0,0,.18);
  border:1px solid rgba(255,255,255,.10);
}
.leaders__barText{color:rgba(255,255,255,.86)}

.watchGrid{display:grid; grid-template-columns:1.25fr .75fr; gap:16px}
.videoFrame{border-radius:16px; overflow:hidden; border:1px solid rgba(12,35,64,.10); background:#000; aspect-ratio:16/9}
.videoFrame iframe{width:100%; height:100%}
.actionsRow{display:flex; gap:10px; flex-wrap:wrap; margin-top:1rem}
.infoList{display:flex; flex-direction:column; gap:.6rem; margin-top:.6rem}
.infoRow{display:flex; gap:.7rem; align-items:flex-start}
.infoRow a{color:var(--gold2); font-weight:900; text-decoration:none}
.infoRow a:hover{text-decoration:underline}

.divider{height:1px; background:rgba(12,35,64,.12); margin:1rem 0}
.divider--dark{background:rgba(255,255,255,.12)}

.sermonControls{display:flex; gap:10px; flex-wrap:wrap; margin:1rem 0 1.2rem}
.input,.select,.textarea{
  width:100%;
  border-radius:14px;
  border:1px solid rgba(12,35,64,.14);
  padding:.8rem .9rem;
  font-family:var(--fontBody);
  font-size:1rem;
  outline:none;
}
.input:focus,.select:focus,.textarea:focus{border-color: rgba(200,162,58,.65); box-shadow:0 0 0 4px rgba(200,162,58,.18)}
.sermonControls .input{flex:1 1 320px}
.sermonControls .select{flex:0 0 210px}

.sermonGrid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.sermon{
  background:#fff;
  border:1px solid rgba(12,35,64,.10);
  border-radius:var(--radius);
  padding:1rem 1rem;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
  display:flex; flex-direction:column; gap:.4rem;
}
.sermon__title{font-weight:900}
.sermon__meta{color:var(--muted); font-size:.92rem}
.sermon__tags{display:flex; gap:8px; flex-wrap:wrap; margin-top:.3rem}
.tag{
  font-size:.82rem; font-weight:800;
  padding:.25rem .55rem;
  border-radius:999px;
  border:1px solid rgba(12,35,64,.12);
  background:rgba(12,35,64,.04);
}
.sermon__btn{
  margin-top:.7rem;
  align-self:flex-start;
  border:0; cursor:pointer;
  background:linear-gradient(180deg, var(--gold), var(--gold2));
  font-weight:900;
  padding:.6rem .85rem;
  border-radius:14px;
}

.eventsGrid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.eventCard{
  border:1px solid rgba(12,35,64,.10);
  border-radius:var(--radius);
  background:#fff;
  box-shadow: 0 10px 22px rgba(0,0,0,.05);
  padding:1rem 1rem;
  display:flex; gap:12px; align-items:center;
}
.eventCard__date{
  width:64px; min-width:64px;
  border-radius:16px;
  background:linear-gradient(180deg, var(--navy), var(--navy2));
  color:#fff;
  display:grid; place-items:center;
  padding:.55rem .5rem;
  border:1px solid rgba(255,255,255,.10);
}
.eventCard__month{font-size:.78rem; letter-spacing:1px; opacity:.9}
.eventCard__day{font-size:1.5rem; font-weight:900; line-height:1}
.eventCard__title{font-weight:900}
.eventCard__meta{color:var(--muted); font-size:.92rem; margin-top:.2rem}

.center{display:flex; justify-content:center; margin-top:1.3rem}

.visitGrid{display:grid; grid-template-columns:repeat(3,1fr); gap:12px}
.faq{
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:.75rem .85rem;
  margin:.55rem 0;
  background:rgba(255,255,255,.04);
}
.faq summary{cursor:pointer; font-weight:900}
.faq p{margin:.55rem 0 0; color:rgba(255,255,255,.82)}

.contactGrid{display:grid; grid-template-columns:1fr 1fr; gap:14px}
.form{display:flex; flex-direction:column; gap:12px}
.formRow{display:grid; grid-template-columns:1fr 1fr; gap:10px}
label span{display:block; font-weight:800; margin-bottom:.35rem}
.mapFrame{margin-top:1rem; border-radius:16px; overflow:hidden; border:1px solid rgba(12,35,64,.10); aspect-ratio: 16/10}
.mapFrame iframe{width:100%; height:100%; border:0}

.footer{
  background:linear-gradient(180deg, #0c2340, #071427);
  color:#fff;
  padding:2.2rem 0;
}
.footer__inner{display:grid; gap:16px}
.footer__brand{display:flex; flex-direction:column; gap:6px}
.footer__logo{font-family:var(--fontHead); font-weight:900; letter-spacing:1px; font-size:1.3rem; color:var(--gold)}
.footer__text{color:rgba(255,255,255,.78)}
.footer__links{display:flex; gap:12px; flex-wrap:wrap}
.footer__links a{color:rgba(255,255,255,.85); text-decoration:none; font-weight:700}
.footer__links a:hover{color:#fff; text-decoration:underline}
.footer__bottom{border-top:1px solid rgba(255,255,255,.12); padding-top:12px; color:rgba(255,255,255,.72)}

.modal{position:fixed; inset:0; display:none; z-index:80}
.modal[aria-hidden="false"]{display:block}
.modal__backdrop{position:absolute; inset:0; background:rgba(0,0,0,.55)}
.modal__panel{
  position:relative;
  width:min(720px, 92vw);
  margin: 7vh auto;
  background:#fff;
  border-radius:18px;
  padding: 1.1rem 1.1rem;
  box-shadow: var(--shadow);
}
.modal__close{
  position:absolute; top:10px; right:10px;
  border:0; background:rgba(12,35,64,.06);
  border-radius:12px;
  padding:.55rem .7rem;
  cursor:pointer; font-weight:900;
}
.modal__close:hover{background:rgba(12,35,64,.10)}

@media (max-width: 980px){
  .hero__inner{grid-template-columns:1fr; gap:14px}
  .watchGrid{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .leaders{grid-template-columns:1fr}
  .quickGrid{grid-template-columns:1fr 1fr}
  .sermonGrid{grid-template-columns:1fr 1fr}
  .eventsGrid{grid-template-columns:1fr}
  .visitGrid{grid-template-columns:1fr}
  .contactGrid{grid-template-columns:1fr}
}

@media (max-width: 760px){
  .topbar__right{display:none}
  .nav__toggle{display:block}
  .nav__links{
    position:absolute; right:4vw; top:72px;
    width:min(320px, 92vw);
    background:#fff;
    border:1px solid rgba(12,35,64,.12);
    border-radius:18px;
    padding:10px;
    display:none;
    flex-direction:column;
    box-shadow: var(--shadow);
  }
  .nav__links.is-open{display:flex}
  .nav__link,.nav__cta{width:100%; text-align:left}
  .quickGrid{grid-template-columns:1fr}
  .sermonGrid{grid-template-columns:1fr}
  .formRow{grid-template-columns:1fr}
}