@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;700;800;900&family=Raleway:wght@400;600;700&display=swap');
:root{
  --teal:#00838f;--teal-dark:#005662;--teal-darker:#003d47;
  --purple:#6a1b9a;--purple-dark:#4a0072;
  --orange:#e65100;--orange-dark:#bf360c;
  --blue:#1565c0;--blue-dark:#003c8f;
  --green:#2e7d32;--red:#b71c1c;
  --navy: linear-gradient(90deg, #030645 0%, #040854 50%, #030645 100%);
  --navy2:#1a1a2e;
  --yellow:#ffe082;--yellow2:#ffc107;
  --white:#fff;--off:#f4f4f4;
  --font-head:'Montserrat',sans-serif;
  --font-body:'Raleway',sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--off);color:#111;line-height:1.6;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}

/* TOP BAR */
.top-bar{background:var(--teal-darker);padding:8px 48px;display:flex;justify-content:space-between;align-items:center;font-size:12px;}
.tb-links{display:flex;gap:24px;}
.tb-links a{color:rgba(255,255,255,.75);display:flex;align-items:center;gap:7px;transition:color .2s;}
.tb-links a:hover{color:#fff;}
.tb-links i{color:var(--yellow);font-size:11px;}
.tb-social{display:flex;gap:10px;}
.tb-social a{color:rgba(255,255,255,.5);font-size:14px;transition:color .2s,transform .2s;}
.tb-social a:hover{color:var(--yellow);transform:scale(1.2);}

/* HEADER */
.site-header{background:var(--navy);padding:14px 48px;display:flex;justify-content:space-between;align-items:center;}
.logo-wrap{display:flex;align-items:center;gap:14px;}
.logo-img {width:114px;}
.logo-mark{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.07);border:0px solid var(--teal);display:flex;align-items:center;justify-content:center;}
.logo-mark svg{width:44px;height:44px;}
.logo-text .mc{font-family:'Raleway',serif;font-size:36px;font-weight:700;color:var(--teal);line-height:1;display:block;letter-spacing:-1px;}
.logo-text .sub{font-family:var(--font-head);font-size:16.5px;font-weight:800;letter-spacing:4px;text-transform:uppercase;color:rgba(255,254,254,.8);margin-top:2px;}
.h-search{display:flex;align-items:center;border:1.5px solid rgba(255,255,255,.12);border-radius:30px;overflow:hidden;background:rgba(255,255,255,.06);}
.h-search:focus-within{border-color:var(--teal);}
.h-search input{padding:8px 16px;border:none;outline:none;font-family:var(--font-body);font-size:13px;background:transparent;color:#fff;width:180px;}
.h-search input::placeholder{color:rgba(255,255,255,.35);}
.h-search button{background:var(--teal);color:#fff;border:none;padding:9px 14px;cursor:pointer;font-size:13px;}

/* NAV */
.site-nav{background:var(--navy2);position:sticky;top:0;z-index:200;border-bottom:3px; border-top:3px solid var(--teal);}
.nav-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;padding:0 20px;flex-wrap:wrap;}
.nav-inner a{color:rgba(255,255,255,.6);font-family:var(--font-head);font-size:11px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:15px 14px;display:block;position:relative;transition:color .2s;white-space:nowrap;}
.nav-inner a::after{content:'';position:absolute;bottom:0;left:50%;right:50%;height:3px;background:var(--yellow);transition:left .25s,right .25s;}
.nav-inner a:hover,.nav-inner a.active{color:#fff;}
.nav-inner a:hover::after,.nav-inner a.active::after{left:8px;right:8px;}

/* PAGE BANNER */
.page-banner{position:relative;height:250px;display:flex;align-items:flex-end;overflow:hidden;}
.banner-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.banner-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(5,5,25,.95) 0%,rgba(5,5,25,.5) 55%,transparent 100%);}
.banner-content{position:relative;z-index:2;padding:36px 60px;}
.banner-crumb{font-size:9.5px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.5);margin-bottom:10px;display:flex;align-items:center;gap:7px;}
.banner-crumb a{color:var(--yellow);}
.banner-content h1{font-family:var(--font-head);font-size:clamp(2rem,4.5vw,3rem);color:#fff;line-height:1.1;font-weight:900;}
.banner-content h1 em{color:var(--yellow);font-style:normal;}
.banner-rule{width:48px;height:4px;border-radius:2px;margin-top:14px;}

/* SECTION BLOCKS — colored backgrounds */
.sec{padding:64px 48px;}
.sec-inner{max-width:1200px;margin:0 auto;}
.sec-teal{background:var(--teal);}
.sec-teal-dark{background:var(--teal-dark);}
.sec-purple{background:var(--purple);}
.sec-purple-dark{background:var(--purple-dark);}
.sec-orange{background:var(--orange);}
.sec-blue{background:var(--blue);}
.sec-navy{background:var(--navy);}
.sec-navy2{background:var(--navy2);}
.sec-green{background:var(--green);}
.sec-white{background:#fff;}
.sec-off{background:var(--off);}

/* LABELS & TITLES on dark/color backgrounds */
.eyebrow{font-family:var(--font-head);font-size:9.5px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--yellow);margin-bottom:6px;display:flex;align-items:center;gap:10px;}
.eyebrow::before{content:'';width:20px;height:3px;background:var(--yellow);border-radius:2px;}
.sec-title{font-family:var(--font-head);font-size:clamp(1.7rem,3.5vw,2.4rem);color:#fff;line-height:1.15;margin-bottom:10px;font-weight:900;}
.sec-title span{color:var(--yellow);}
.sec-sub{font-size:15px;color:rgba(255,255,255,.82);line-height:1.8;max-width:560px;}
.rule{width:48px;height:3px;background:var(--yellow);border-radius:2px;margin:16px 0 36px;}

/* on light backgrounds */
.eyebrow-dark{font-family:var(--font-head);font-size:9.5px;font-weight:800;letter-spacing:3px;text-transform:uppercase;color:var(--teal-dark);margin-bottom:6px;display:flex;align-items:center;gap:10px;}
.eyebrow-dark::before{content:'';width:20px;height:3px;background:var(--teal);border-radius:2px;}
.sec-title-dark{font-family:var(--font-head);font-size:clamp(1.7rem,3.5vw,2.4rem);color:var(--navy);line-height:1.15;margin-bottom:10px;font-weight:900;}
.sec-title-dark span{color:var(--teal);}
.rule-dark{width:48px;height:3px;background:var(--teal);border-radius:2px;margin:16px 0 36px;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:4px;font-family:var(--font-head);font-size:10.5px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;transition:all .25s;cursor:pointer;border:none;}
.btn-yellow{background:var(--yellow);color:var(--navy);}
.btn-yellow:hover{background:var(--yellow2);transform:translateY(-2px);}
.btn-white{background:#fff;color:var(--teal-dark);}
.btn-white:hover{background:var(--off);transform:translateY(-2px);}
.btn-outline{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.55);}
.btn-outline:hover{background:rgba(255,255,255,.12);border-color:#fff;}
.btn-teal{background:var(--teal);color:#fff;}
.btn-teal:hover{background:var(--teal-dark);transform:translateY(-2px);}

/* VERSE BOX */
.verse{border-left:3px solid var(--yellow);padding:14px 18px;background:rgba(255,255,255,.1);border-radius:0 8px 8px 0;margin:20px 0;}
.verse p{font-size:14.5px;font-style:italic;color:rgba(255,255,255,.92);line-height:1.7;}
.verse cite{display:block;margin-top:7px;font-family:var(--font-head);font-size:9.5px;font-weight:800;letter-spacing:1.5px;color:var(--yellow);}

/* COLOR CARDS (solid colored tiles) */
.color-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.color-card{border-radius:14px;padding:28px 24px;position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s;}
.color-card:hover{transform:translateY(-5px);box-shadow:0 20px 50px rgba(0,0,0,.35);}
.color-card.wide{grid-column:span 2;}
.color-card::before{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.07);}
.color-card i{font-size:28px;color:rgba(255,255,255,.9);margin-bottom:12px;display:block;}
.color-card h3{font-family:var(--font-head);font-size:1.1rem;font-weight:900;color:#fff;margin-bottom:8px;}
.color-card p{font-size:13.5px;color:rgba(255,255,255,.82);line-height:1.65;}
.cc-teal{background:var(--teal);}
.cc-teal-dark{background:var(--teal-dark);}
.cc-purple{background:var(--purple);}
.cc-purple-dark{background:var(--purple-dark);}
.cc-orange{background:var(--orange);}
.cc-blue{background:var(--blue);}
.cc-green{background:var(--green);}
.cc-red{background:var(--red);}
.cc-navy{background:var(--navy);}

/* ALT BLOCKS */
.alt{display:grid;grid-template-columns:1fr 1fr;min-height:460px;}
.alt.rev .alt-img{order:2;}.alt.rev .alt-txt{order:1;}
.alt-img{overflow:hidden;position:relative;}
.alt-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s;}
.alt:hover .alt-img img{transform:scale(1.04);}
.alt-txt{padding:60px 54px;display:flex;flex-direction:column;justify-content:center;}

/* HOVER CARDS (for services, ministerios listing) */
.hcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;}
.hcard{border-radius:14px;overflow:hidden;transition:transform .3s,box-shadow .3s;display:block;color:inherit;}
.hcard:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(0,0,0,.3);}
.hc-img{height:190px;overflow:hidden;position:relative;}
.hc-img img{width:100%;height:100%;object-fit:cover;transition:transform .4s;}
.hcard:hover .hc-img img{transform:scale(1.07);}
.hc-tag{position:absolute;top:12px;left:12px;color:#fff;font-family:var(--font-head);font-size:9.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;padding:4px 11px;border-radius:20px;}
.hc-body{padding:20px 20px 24px;}
.hc-body h3{font-family:var(--font-head);font-size:1rem;font-weight:900;margin-bottom:7px;}
.hc-body p{font-size:13px;line-height:1.65;margin-bottom:12px;color:rgba(255,255,255,.78);}
.hc-arrow{font-family:var(--font-head);font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow);display:flex;align-items:center;gap:6px;transition:gap .2s;}
.hcard:hover .hc-arrow{gap:12px;}

/* STATS ROW */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.stat{text-align:center;padding:36px 20px;border-right:1px solid rgba(255,255,255,.1);}
.stat:last-child{border-right:none;}
.stat-num{font-family:var(--font-head);font-size:2.8rem;font-weight:900;color:var(--yellow);line-height:1;margin-bottom:6px;}
.stat-lbl{font-family:var(--font-head);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.65);}

/* TIMELINE */
.timeline{max-width:700px;margin:0 auto;position:relative;}
.timeline::before{content:'';position:absolute;left:26px;top:0;bottom:0;width:3px;background:rgba(255,255,255,.25);}
.t-item{display:flex;gap:24px;margin-bottom:28px;}
.t-dot{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;flex-shrink:0;position:relative;z-index:1;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.3);}
.t-box{background:rgba(255,255,255,.1);border-radius:10px;padding:18px 22px;flex:1;border-left:3px solid var(--yellow);}
.t-box h4{font-family:var(--font-head);font-size:.95rem;color:#fff;margin-bottom:5px;font-weight:800;}
.t-box p{font-size:13.5px;color:rgba(255,255,255,.78);line-height:1.7;}

/* ACCORDION */
.accordion{display:flex;flex-direction:column;gap:8px;}
.acc-item{border-radius:8px;overflow:hidden;}
.acc-btn{width:100%;background:rgba(255,255,255,.1);border:none;padding:16px 22px;text-align:left;font-family:var(--font-head);font-size:14px;font-weight:700;color:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;transition:background .2s;}
.acc-btn:hover,.acc-item.open .acc-btn{background:rgba(255,255,255,.2);}
.acc-btn .ico{font-size:20px;transition:transform .3s;color:var(--yellow);}
.acc-item.open .acc-btn .ico{transform:rotate(45deg);}
.acc-body{max-height:0;overflow:hidden;transition:max-height .4s ease;}
.acc-body-inner{padding:18px 22px;background:rgba(0,0,0,.2);font-size:14px;color:rgba(255,255,255,.82);line-height:1.8;}

/* MINISTRY SUB PAGE */
.min-layout{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.min-img{border-radius:14px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4);}
.min-img img{width:100%;height:400px;object-fit:cover;display:block;}
.glr{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.gi{border-radius:8px;overflow:hidden;cursor:pointer;transition:transform .3s;}
.gi:hover{transform:scale(1.04);}
.gi.wide{grid-column:span 2;}
.gi img{width:100%;height:200px;object-fit:cover;display:block;}
.acts{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.act{background:rgba(255,255,255,.1);border-radius:10px;padding:22px 20px;border-left:3px solid var(--yellow);transition:background .2s;}
.act:hover{background:rgba(255,255,255,.18);}
.act i{font-size:22px;color:var(--yellow);margin-bottom:10px;display:block;}
.act h3{font-family:var(--font-head);font-size:.9rem;font-weight:800;color:#fff;margin-bottom:6px;}
.act p{font-size:13px;color:rgba(255,255,255,.75);line-height:1.6;}
.atag{display:inline-block;margin-top:8px;background:rgba(255,255,255,.15);color:var(--yellow);font-family:var(--font-head);font-size:9.5px;font-weight:800;padding:3px 10px;border-radius:20px;letter-spacing:.5px;}
.lbx{background:rgba(255,255,255,.1);border-radius:14px;padding:36px;display:flex;gap:28px;align-items:center;border-top:4px solid var(--yellow);}
.lbx-p{width:110px;height:110px;border-radius:50%;overflow:hidden;flex-shrink:0;border:3px solid var(--yellow);}
.lbx-p img{width:100%;height:100%;object-fit:cover;}
.lbx-i h3{font-family:var(--font-head);font-size:1.2rem;color:#fff;margin-bottom:3px;font-weight:900;}
.lbx-i .rol{color:var(--yellow);font-family:var(--font-head);font-size:9.5px;font-weight:800;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;display:block;}
.lbx-i p{color:rgba(255,255,255,.78);font-size:13.5px;line-height:1.7;}
.team{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;}
.tc{text-align:center;}
.tcp{width:80px;height:80px;border-radius:50%;overflow:hidden;margin:0 auto 8px;border:3px solid rgba(255,255,255,.3);}
.tcp img{width:100%;height:100%;object-fit:cover;}
.tc h4{font-family:var(--font-head);font-size:11.5px;font-weight:800;color:#fff;margin-bottom:2px;}
.tc span{font-size:11px;color:var(--yellow);}

/* FORM */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.f-group{display:flex;flex-direction:column;gap:6px;}
.f-group.full{grid-column:span 2;}
.f-group label{font-family:var(--font-head);font-size:9.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:rgba(255,255,255,.7);}
.f-group input,.f-group select,.f-group textarea{padding:11px 15px;border:2px solid rgba(255,255,255,.2);border-radius:6px;font-family:var(--font-body);font-size:14px;color:#fff;background:rgba(255,255,255,.1);outline:none;transition:border-color .2s;}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{border-color:var(--yellow);}
.f-group input::placeholder,.f-group textarea::placeholder{color:rgba(255,255,255,.35);}
.f-group select option{background:var(--navy);color:#185d67;}
.f-group textarea{resize:vertical;min-height:110px;}

/* TABLE */
.sched-table{width:100%;border-collapse:collapse;border-radius:10px;overflow:hidden;}
.sched-table th{background:rgba(255,255,255,.15);color:var(--yellow);font-family:var(--font-head);font-size:10px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;padding:13px 16px;text-align:left;}
.sched-table td{padding:13px 16px;font-size:13.5px;color:rgba(255,255,255,.82);border-bottom:1px solid rgba(255,255,255,.07);}
.sched-table tr:last-child td{border-bottom:none;}
.sched-table tr:nth-child(even) td{background:rgba(255,255,255,.04);}
.sched-table tr:hover td{background:rgba(255,255,255,.1);}
.sched-table .hl td{color:#fff;font-weight:700;}

/* FOOTER */
.site-footer{background:var(--navy);}
.footer-top{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;padding:60px 48px 40px;border-bottom:1px solid rgba(255,255,255,.06);}
.f-brand .mc-f{font-family:'Raleway',sans-serif;font-size:44px;font-weight:700;color:var(--teal);line-height:1;display:block;letter-spacing:-1px;}
.f-brand .sub-f{font-family:var(--font-head);font-size:8.5px;letter-spacing:3px;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:14px;}
.f-brand p{font-size:13px;color:rgba(255,255,255,.45);line-height:1.8;max-width:260px;}
.f-social{display:flex;gap:8px;margin-top:18px;}
.f-social a{width:32px;height:32px;border-radius:50%;border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.4);display:flex;align-items:center;justify-content:center;font-size:13px;transition:all .2s;}
.f-social a:hover{border-color:var(--teal);color:var(--teal);}
.f-col h4{font-family:var(--font-head);font-size:9.5px;font-weight:800;letter-spacing:2.5px;text-transform:uppercase;color:var(--teal);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06);}
.f-col a{display:block;font-size:13px;color:rgba(255,255,255,.42);margin-bottom:8px;transition:color .2s;}
.f-col a:hover{color:var(--teal);}
.f-col a i{color:var(--yellow);font-size:10px;margin-right:6px;}
.footer-bottom{padding:16px 48px;display:flex;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.25);}
.footer-bottom em{color:var(--teal);font-style:normal;}

/* CTA SECTIONS */
.cta-sec{padding:64px 48px;text-align:center;}
.cta-sec h2{font-family:var(--font-head);font-size:2rem;font-weight:900;color:#fff;margin-bottom:12px;}
.cta-sec p{color:rgba(255,255,255,.82);font-size:15px;max-width:520px;margin:0 auto 26px;line-height:1.7;}
.btn-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* RESPONSIVE */
@media(max-width:1024px){
  .footer-top{grid-template-columns:1fr 1fr;gap:28px;}
  .alt{grid-template-columns:1fr;}
  .alt.rev .alt-img,.alt.rev .alt-txt{order:unset;}
  .alt-img{height:300px;}
  .color-grid{grid-template-columns:1fr 1fr;}
  .color-card.wide{grid-column:span 1;}
  .stats-row{grid-template-columns:repeat(2,1fr);}
  .min-layout{grid-template-columns:1fr;gap:28px;}
  .team{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:768px){
  .top-bar{padding:8px 16px;}.tb-links{display:none;}
  .site-header{padding:12px 16px;flex-direction:column;gap:10px;}
  .nav-inner{padding:0 4px;}.nav-inner a{padding:12px 9px;font-size:10px;}
  .page-banner{height:200px;}.banner-content{padding:22px 20px;}
  .sec{padding:44px 20px;}
  .alt-txt{padding:36px 22px;}
  .cta-sec{padding:44px 20px;}
  .footer-top{grid-template-columns:1fr;padding:36px 20px;}
  .footer-bottom{flex-direction:column;gap:6px;padding:14px 20px;text-align:center;}
  .color-grid,.acts,.form-grid,.stats-row{grid-template-columns:1fr;}
  .lbx{flex-direction:column;text-align:center;align-items:center;}
  .glr{grid-template-columns:1fr 1fr;}
  .gi.wide{grid-column:span 1;}
  .team{grid-template-columns:repeat(3,1fr);}
  .hcards{grid-template-columns:1fr;}
}
