/* MODERN THEME - loads after style.css. Light, airy, teal + marigold. Delete this file's <link> to go back to the old look. */
@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700;12..96,800&family=DM+Sans:wght@400;500;600;700&display=swap');

:root{
  --ink:#0d1b2a; --muted:#55617a;
  --indigo:#0f766e; --indigo-deep:#0a2a30;
  --ember:#0f766e; --ember-hot:#0b5f59;
  --gold:#f5a524;
  --parchment:#f2f6f8; --parchment-2:#e6eef1; --paper:#fff;
  --line:rgba(13,27,42,.09); --line-strong:rgba(13,27,42,.16);
  --serif:'Bricolage Grotesque','DM Sans',sans-serif;
  --sans:'DM Sans',-apple-system,'Segoe UI',sans-serif;
  --radius:16px;
  --shadow-sm:0 1px 2px rgba(13,27,42,.06);
  --shadow:0 12px 32px -16px rgba(13,27,42,.22);
}
body{background:#fff;color:var(--ink);font-size:1.02rem}
h1,h2,h3,h4{font-family:var(--serif);letter-spacing:-.02em;font-weight:700}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}

/* top bar + header */
.topbar{background:var(--indigo-deep);color:rgba(255,255,255,.8);letter-spacing:0}
header{background:rgba(255,255,255,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);position:sticky;top:0;box-shadow:none;border-bottom:1px solid var(--line)}
.brand-mark{background:var(--indigo);color:#fff;border-radius:14px;font-family:var(--serif)}
.brand-text .name{color:var(--ink);font-family:var(--serif);font-weight:800}
.brand-text .tagline{color:var(--muted);letter-spacing:.06em}
.live-pill{background:#e5484d;color:#fff;border-radius:999px;box-shadow:none}
.live-pill:hover{background:#c93a3f}
nav.mainnav{background:transparent;border-top:0}
.nav-list > li > a,.nav-list > li > button{color:var(--ink);font-weight:600}
.nav-list > li > a:hover,.nav-list > li > button:hover{color:var(--indigo)}
.nav-list > li.active > a,.nav-list > li.active > button{color:var(--indigo)}
.nav-list > li.active > a::after,.nav-list > li > button::after{background:var(--gold)}
.dropdown-panel,.mega-panel{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.dropdown-panel a,.mega-panel a{color:var(--ink);border-radius:10px}
.dropdown-panel a:hover,.mega-panel a:hover{background:var(--parchment);color:var(--indigo)}
.mega-panel .ic{color:var(--gold)}
.nav-toggle{color:var(--ink);border-color:var(--line-strong)}

/* hero */
.hero{background:linear-gradient(180deg,#eaf5f3 0%,#fff 100%);color:var(--ink)}
.hero::before{background:radial-gradient(circle at 90% 10%,rgba(245,165,36,.28),transparent 42%),radial-gradient(circle at 5% 90%,rgba(15,118,110,.14),transparent 45%)}
.eyebrow-line span{color:var(--indigo);letter-spacing:.02em;text-transform:none;font-weight:700}
.eyebrow-line .dash{background:var(--gold)}
.hero h1{color:var(--ink);font-weight:800;font-size:clamp(2.5rem,5.2vw,4.4rem);line-height:1.02;letter-spacing:-.035em}
.hero h1 em{font-style:normal;color:inherit}
.hero p.lede{color:var(--muted);font-size:1.12rem}
.live-box{background:var(--indigo-deep);border-radius:28px;overflow:hidden;border:0;box-shadow:0 30px 60px -30px rgba(10,42,48,.6)}
.live-box-tag{background:var(--gold);color:var(--ink);border-radius:999px}

/* buttons */
.btn{border-radius:999px;font-weight:700;padding:.85em 1.6em}
.btn-primary{background:var(--indigo);color:#fff;border-color:var(--indigo)}
.btn-primary:hover{background:var(--ember-hot);border-color:var(--ember-hot);color:#fff}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--line-strong)}
.btn-outline:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

/* sections + cards: flat, outlined, rounded */
.section{padding:96px 0}
.section.alt{background:var(--parchment)}
.section-head h2{font-size:clamp(1.9rem,3.6vw,2.8rem);line-height:1.1}
.section-head p,.service-card p,.mini-card p{color:var(--muted)}
.service-card,.mini-card,.contact-info-card,.event-row,.vg-card{background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:none;transition:border-color .2s,transform .2s}
.service-card:hover,.mini-card:hover,.event-row:hover,.vg-card:hover{border-color:var(--indigo);transform:translateY(-3px);box-shadow:none}
.service-card .num{color:var(--gold)}
.mini-card a.link{color:var(--indigo);font-weight:700}
.event-date{background:var(--indigo);color:#fff;border-radius:16px}
.about-split img,.vg-player .vg-frame,.vg-card .vg-card-thumb{border-radius:22px}
.about-stats div strong{color:var(--indigo);font-family:var(--serif)}

/* video modal */
.vg-modal-box{border-radius:24px}

/* call-to-action band */
.cta-strip{background:linear-gradient(135deg,#0f766e,#0a2a30);margin:0 24px;border-radius:32px;padding:72px 24px}
.cta-strip .btn-primary{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.cta-strip .btn-primary:hover{background:#ffb83d;color:var(--ink)}

/* inner page headers */
.page-header{background:linear-gradient(180deg,#eaf5f3,#fff);text-align:left}
.page-header::before{background:radial-gradient(circle at 95% 0,rgba(245,165,36,.25),transparent 40%)}
.page-header h1{color:var(--ink);font-size:clamp(2rem,4.5vw,3.4rem);letter-spacing:-.03em}
.breadcrumb,.breadcrumb a{color:var(--muted)}
.content-page .prose h2{color:var(--ink)}
.content-page .prose p,.content-page .prose li{color:#33405a}

/* forms */
form.contact-form input,form.contact-form textarea,form.contact-form select{border:1.5px solid var(--line-strong);border-radius:14px;background:#fff;color:var(--ink)}
form.contact-form input:focus,form.contact-form textarea:focus{border-color:var(--indigo);outline:0;box-shadow:0 0 0 4px rgba(15,118,110,.15)}
.contact-item .ic{background:var(--parchment);color:var(--indigo);border-radius:12px}

/* footer */
footer{background:var(--indigo-deep);margin-top:24px;border-radius:32px 32px 0 0}
.footer-grid h4{color:#fff;font-family:var(--serif)}
.footer-grid ul li a:hover,.footer-bottom a:hover{color:var(--gold)}
.footer-social a{border-radius:50%}

@media (max-width:860px){
  .section{padding:64px 0}
  .cta-strip{margin:0 12px;border-radius:24px}
  .page-header{text-align:left}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* ===== READABILITY FIXES: dark-theme text colours reset for the new light surfaces ===== */
header{position:relative}

/* ministries / mini cards */
.mini-card{color:var(--ink);border-top:1px solid var(--line)}
.mini-card h3{color:var(--ink)}
.mini-card p{color:var(--muted)}
.mini-card a.link{color:var(--indigo)}

/* events */
.event-date{background:var(--indigo)}
.event-date .d{color:#fff}
.event-date .m{color:#ffd98a}
.event-row h4{color:var(--ink)}
.event-row p{color:var(--muted)}
.event-row .btn-outline{color:var(--ink);border-color:var(--line-strong)}
.event-row .btn-outline:hover{color:#fff;background:var(--ink)}
.event-row:hover{background:#fff}

/* video rail inside the light hero */
.vg-rail-head{border-top:1px solid var(--line)}
.vg-rail-head span{color:var(--ink);font-family:var(--serif);font-weight:700}
.vg-rail-head a.channel-link{color:var(--indigo)}
.vg-card{background:#fff}
.vg-card-body h5{color:var(--ink)}
.vg-card-body .meta{color:var(--muted)}
.vg-card.active{border-color:var(--indigo)}
.vg-now-title{background:var(--indigo-deep);color:#fff}
.vg-now-title span.ch{color:rgba(255,255,255,.65)}
.vg-player{border:0;border-radius:24px;overflow:hidden}

/* contact + location */
.contact-info-card{background:var(--parchment);color:var(--ink)}
.contact-info-card h3{color:var(--ink)}
.contact-item h5{color:var(--ink)}
.contact-item p,.contact-item p a{color:#33405a}
.location-card{background:#fff;border-radius:22px;overflow:hidden}
.location-card .lc-head{background:var(--indigo);color:#fff}
.location-card .lc-head h4{color:#fff}
.location-card .lc-body p{color:var(--muted)}

/* page headers and misc text */
.page-header .sub{color:var(--muted)}
.service-card h3,.about-split h2{color:var(--ink)}
.about-split p,.about-stats div span{color:var(--muted)}
.vx-section{background:var(--parchment)}
.vx-title{color:var(--ink)}
.vx-cat{color:var(--indigo)}
.vx-chip[aria-pressed="true"]{background:var(--indigo);color:#fff}

/* footer + call-to-action stay dark, so keep light text */
footer,.footer-grid p,.footer-grid ul li a{color:rgba(255,255,255,.75)}
.footer-grid h4{color:#fff}
.footer-bottom{color:rgba(255,255,255,.55)}
.footer-brand .brand-text .name{color:#fff}
.cta-strip h2{color:#fff}
.cta-strip p{color:rgba(255,255,255,.85)}

/* ===== VIDEO RAIL (home page): forced dark text on the light cards ===== */
.vg-wrap-rail .vg-rail-head span{color:#0d1b2a !important;font-size:1.15rem;font-family:var(--serif)}
.vg-wrap-rail .vg-rail-head{border-top-color:rgba(13,27,42,.12)}
.vg-wrap-rail .vg-rail-head a.channel-link{color:#0f766e !important;border-bottom-color:rgba(15,118,110,.4)}
.vg-wrap-rail .vg-card{background:#fff !important;border:1px solid rgba(13,27,42,.1) !important}
.vg-wrap-rail .vg-card.active{border-color:#0f766e !important;background:#fff !important;box-shadow:0 0 0 2px rgba(15,118,110,.18)}
.vg-wrap-rail .vg-card:hover{border-color:#0f766e !important}
.vg-wrap-rail .vg-card-body h5{color:#0d1b2a !important;font-size:.92rem}
.vg-wrap-rail .vg-card-body .meta{color:#55617a !important;font-size:.78rem}
.vg-wrap-rail .vg-rail::-webkit-scrollbar-track{background:rgba(13,27,42,.08)}

/* ===== final contrast fixes ===== */
.service-card .num{color:#0f766e !important}
.live-box-foot a{color:#ffd98a !important}
.dropdown-panel .soon,.mega-panel .soon,h3 .soon,h3 > span{color:#55617a !important}
