:root{
  --page:#edf0f1;
  --paper:#fbfaf8;
  --white:#ffffff;
  --ink:#121415;
  --muted:#465157;
  --muted-soft:#5a6469;
  --text-on-dark:#e5eaec;
  --navy:#08141b;
  --navy-soft:#0e1b22;
  --navy-card:#111e25;
  --gold:#d6ad70;
  --gold-light:#efd5a6;
  --gold-dark:#b98542;
  --line:#dedbd5;
  --line-dark:rgba(255,255,255,.12);
  --shadow:0 22px 70px rgba(12,23,30,.14);
  --radius:18px;
  --radius-lg:26px;
  --max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:auto}
body{margin:0;background:var(--page);color:var(--ink);font-family:"Segoe UI",Arial,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,select,textarea{font:inherit}
h1,h2,h3,h4,p{margin-top:0}
.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}
.page-surface{background:var(--paper)}
.section{padding:60px 0}
.section-tight{padding:38px 0}
.section-dark{background:var(--navy);color:#fff}
.section-soft{background:#f4f1eb}
.section-title-row{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:24px}
.section-title-row h2{font-size:34px;line-height:1.05;margin:0}
.section-title-row p{margin:0;color:var(--muted);max-width:580px;font-size:15px;line-height:1.6}
.section-link{font-size:14px;font-weight:700;color:var(--gold-dark);white-space:nowrap}
.kicker{display:inline-block;color:var(--gold-dark);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}
.muted{color:var(--muted)}
.small{font-size:14px;color:var(--muted);line-height:1.55}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--navy);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.nav-wrap{height:74px;display:flex;align-items:center;gap:24px}
.brand{display:flex;align-items:center;gap:11px;min-width:245px}
.brand-logo{width:38px;height:42px;color:#fff;flex:0 0 auto}
.brand-copy{line-height:1.05}
.brand-copy small{display:block;font-size:11px;color:#d1d8dc;margin-bottom:3px}
.brand-copy strong{font-size:14px;font-weight:700}
.nav{display:flex;align-items:center;justify-content:center;gap:30px;flex:1;font-size:13px}
.nav a{position:relative;padding:27px 0;color:#f0f2f3}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:15px;height:2px;background:var(--gold);transform:scaleX(0)}
.nav a.active::after{transform:scaleX(1)}
.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:8px;padding:12px 18px;font-weight:700;font-size:14px;cursor:pointer}
.nav-cta,.btn-gold{background:var(--gold-light);color:#20170c;border-color:#e3bd82}
.btn-dark{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-outline-dark{background:transparent;color:var(--ink);border-color:#aeb3b6}
.btn-small{padding:9px 14px;font-size:12px}
.menu-btn{display:none;margin-left:auto;border:0;background:transparent;color:#fff;font-size:26px;padding:8px}

/* Placeholder visuals: no generated photos */
.media-placeholder{position:relative;overflow:hidden;background:
  radial-gradient(circle at 74% 34%,rgba(239,213,166,.38),transparent 17%),
  linear-gradient(135deg,#17252c 0%,#0c171d 52%,#28323a 100%);color:#fff}
.media-placeholder::before{content:"";position:absolute;inset:0;background:
  linear-gradient(120deg,transparent 0 45%,rgba(255,255,255,.04) 45% 47%,transparent 47% 100%),
  radial-gradient(circle at 18% 80%,rgba(214,173,112,.2),transparent 28%)}
.media-placeholder::after{content:attr(data-photo);position:absolute;right:14px;bottom:12px;border:1px solid rgba(255,255,255,.28);background:rgba(3,11,15,.56);padding:6px 10px;border-radius:999px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#dfe5e8}
.photo-light{background:linear-gradient(140deg,#c6b08d,#6a675f 45%,#19232a)}
.photo-warm{background:radial-gradient(circle at 68% 28%,rgba(255,211,143,.58),transparent 18%),linear-gradient(145deg,#231b17,#6b4b2e 48%,#0e171c)}
.photo-community{background:radial-gradient(circle at 40% 32%,rgba(223,182,116,.42),transparent 20%),linear-gradient(140deg,#101b21,#5a4030 55%,#10181d)}
.photo-youth{background:radial-gradient(circle at 78% 20%,rgba(248,196,115,.55),transparent 20%),linear-gradient(135deg,#27353a,#78654b 55%,#152128)}
.photo-help{background:radial-gradient(circle at 65% 36%,rgba(235,177,89,.4),transparent 19%),linear-gradient(135deg,#211b17,#6e4c2f 53%,#101a20)}
.photo-bible{background:radial-gradient(circle at 66% 32%,rgba(255,210,130,.38),transparent 18%),linear-gradient(135deg,#171b1f,#4b3828 58%,#0d151a)}
.photo-kids{background:radial-gradient(circle at 72% 30%,rgba(232,189,113,.42),transparent 17%),linear-gradient(140deg,#263039,#765847 57%,#111b21)}
.photo-music{background:radial-gradient(circle at 70% 31%,rgba(247,198,121,.45),transparent 18%),linear-gradient(135deg,#171c20,#583a27 55%,#0b141a)}

/* Home */
.home-hero{position:relative;min-height:610px;background:var(--navy);color:#fff;overflow:hidden}
.home-hero .hero-visual{position:absolute;inset:0;background:
  radial-gradient(circle at 70% 34%,rgba(255,203,119,.58),transparent 9%),
  linear-gradient(130deg,rgba(6,15,20,.98) 0%,rgba(8,20,27,.82) 40%,rgba(91,70,47,.42) 68%,rgba(7,15,20,.78) 100%),
  linear-gradient(180deg,#17242c,#6d5a45 56%,#182026)}
.home-hero .hero-visual::before{content:"";position:absolute;right:16%;top:110px;width:34px;height:220px;background:#121212;border-radius:3px;box-shadow:0 14px 45px rgba(0,0,0,.45)}
.home-hero .hero-visual::after{content:"";position:absolute;right:11.2%;top:170px;width:150px;height:32px;background:#121212;border-radius:3px;box-shadow:0 14px 45px rgba(0,0,0,.4)}
.home-hero-inner{position:relative;z-index:2;min-height:610px;display:flex;flex-direction:column;justify-content:center;padding:52px 0 150px}
.home-hero h1{font-size:58px;line-height:1.02;max-width:620px;margin-bottom:20px;letter-spacing:-.035em}
.home-hero p{font-size:19px;max-width:470px;color:#e2e7e9;margin-bottom:28px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-events{position:absolute;left:0;right:0;bottom:28px;z-index:3}
.hero-events-panel{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:10px;background:rgba(10,18,22,.86);border:1px solid rgba(255,255,255,.18);border-radius:16px;padding:14px 18px;backdrop-filter:blur(8px)}
.hero-events-title{display:flex;align-items:center;justify-content:space-between;padding-right:18px}
.hero-events-title h3{font-size:16px;margin:0}
.hero-mini-event{display:grid;grid-template-columns:86px 46px 1fr;gap:12px;align-items:center;padding-left:16px;border-left:1px solid rgba(255,255,255,.14)}
.hero-thumb{height:54px;border-radius:8px}
.hero-date{width:46px;height:54px;border:1px solid rgba(255,255,255,.24);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800}
.hero-date small{font-size:10px;color:#e1e6e8}
.hero-mini-event strong{display:block;font-size:13px;margin-bottom:3px}
.hero-mini-event span{font-size:12px;color:#e1e6e8;line-height:1.45}

.home-intro-grid{display:grid;grid-template-columns:1.1fr .95fr 1.45fr;gap:34px;align-items:start}
.home-intro-copy h2{font-size:25px;margin-bottom:14px}
.home-intro-copy p{font-size:15px;color:var(--muted);line-height:1.65}
.home-intro-copy .btn{margin-top:10px}
.home-about-media{height:220px;border-radius:14px}
.home-news-list{display:grid;gap:9px}
.news-list-row{display:grid;grid-template-columns:112px 1fr;gap:12px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:7px}
.news-list-row .media-placeholder{height:58px;border-radius:7px}
.news-list-row h4{font-size:14px;margin:0 0 3px}
.news-list-row small{font-size:11px;color:#8b5a21;font-weight:700}
.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.service-tile{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.service-tile .media-placeholder{height:130px}
.service-tile-body{padding:14px}
.service-tile h3{font-size:17px;margin:0 0 6px}
.service-tile p{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:9px}
.text-link{font-size:12px;color:#8d5b22;font-weight:800}

/* Shared page hero */
.page-hero{position:relative;background:var(--navy);color:#fff;min-height:280px;display:flex;align-items:end;overflow:hidden}
.page-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,15,20,.98) 0%,rgba(6,15,20,.78) 46%,rgba(6,15,20,.42) 100%)}
.page-hero .hero-bg{position:absolute;inset:0}
.page-hero-content{position:relative;z-index:2;padding:56px 0 42px;max-width:700px}
.page-hero h1{font-size:48px;line-height:1;margin-bottom:12px;letter-spacing:-.03em}
.page-hero p{font-size:17px;color:#e3e8eb;max-width:610px;margin:0}

/* About */
.about-top-grid{display:grid;grid-template-columns:1fr 1fr 1.25fr;gap:18px;align-items:stretch}
.info-panel{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px}
.info-panel h3{font-size:18px;margin:0 0 8px}
.info-panel p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}
.quote-panel{border-radius:14px;min-height:150px;padding:24px;display:flex;align-items:flex-end}
.quote-panel blockquote{font-size:20px;font-weight:700;line-height:1.35;margin:0;max-width:430px}
.quote-panel cite{display:block;font-size:13px;font-style:normal;color:#eef1f2;margin-top:10px}
.value-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.value-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.value-icon{font-size:25px;color:var(--gold-dark);margin-bottom:10px}
.value-card h3{font-size:17px;margin:0 0 7px}
.value-card p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.about-lower-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:22px}
.timeline-clean{display:grid;gap:17px}
.timeline-row{display:grid;grid-template-columns:68px 1fr;gap:14px;position:relative}
.timeline-row::before{content:"";position:absolute;left:73px;top:8px;width:1px;height:calc(100% + 18px);background:#dbc49e}
.timeline-row:last-child::before{display:none}
.timeline-year{font-weight:800;font-size:13px;color:#293137}
.timeline-row p{font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.schedule-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}
.schedule-line{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #ece8e1;font-size:13px;color:#313a3f}
.schedule-line:last-child{border-bottom:0}
.welcome-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.welcome-card .media-placeholder{height:126px;border-radius:9px;margin-top:14px}
.gallery-row{display:grid;grid-template-columns:repeat(6,1fr);gap:9px}
.gallery-row .media-placeholder{height:92px;border-radius:9px}

/* Ministries + projects */
.ministry-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ministry-card{position:relative;min-height:180px;border-radius:12px;overflow:hidden;color:#fff;padding:22px;display:flex;align-items:end}
.ministry-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(3,10,14,.9),rgba(3,10,14,.08))}
.ministry-card-content{position:relative;z-index:2}
.ministry-card h3{font-size:18px;margin:0 0 8px}
.ministry-card p{font-size:13px;color:#f2f4f5;line-height:1.55;margin-bottom:8px;max-width:260px;text-shadow:0 1px 2px rgba(0,0,0,.35)}
.project-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.project-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.project-card .media-placeholder{height:115px}
.project-body{padding:13px}
.project-card h3{font-size:15px;margin:0 0 7px}
.project-card p{font-size:12.5px;color:var(--muted);line-height:1.55;margin-bottom:10px}
.project-result{font-size:12px;color:#87561f;font-weight:800}
.mission-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:0;background:var(--navy);color:#fff;border-radius:14px;overflow:hidden}
.mission-item{padding:24px;display:grid;grid-template-columns:40px 1fr;gap:14px;border-right:1px solid rgba(255,255,255,.14)}
.mission-item:last-child{border-right:0}
.mission-item h3{font-size:17px;margin:0 0 5px}
.mission-item p{font-size:13px;color:var(--text-on-dark);line-height:1.55;margin:0}

/* Events dark page */
.events-page{background:var(--navy);color:#fff}
.events-page .site-header{border-bottom-color:rgba(255,255,255,.1)}
.events-hero{min-height:170px;display:flex;align-items:end;padding:34px 0 20px;background:
  linear-gradient(90deg,rgba(8,20,27,.98) 0%,rgba(8,20,27,.78) 55%,rgba(8,20,27,.35)),
  radial-gradient(circle at 75% 40%,rgba(214,173,112,.4),transparent 20%),
  linear-gradient(135deg,#0a171e,#3a2d22)}
.events-hero h1{font-size:48px;margin-bottom:10px}
.events-hero p{max-width:520px;color:#eef2f3;font-size:16px;line-height:1.6}
.events-layout{display:grid;grid-template-columns:1.8fr .75fr;gap:22px;padding:0 0 44px}
.feature-event{display:grid;grid-template-columns:44% 56%;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:14px;overflow:hidden}
.feature-event-media{min-height:250px}
.feature-event-copy{padding:24px}
.event-date-line{display:flex;gap:16px;align-items:center;margin-bottom:14px}
.event-date-box{width:54px;height:62px;border:1px solid rgba(255,255,255,.25);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800}
.event-date-box small{font-size:10px;color:#e0e5e7}
.feature-event h2{font-size:26px;margin:0 0 10px}
.feature-event p{font-size:14px;color:#e5eaec;line-height:1.6}
.event-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.calendar-card,.announcement-card{background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:18px}
.calendar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;font-size:12px;text-align:center}
.calendar-grid span{padding:7px 2px;border-radius:50%}
.calendar-grid .muted-day{color:#68737a}
.calendar-grid .marked{background:var(--gold);color:#24180c;font-weight:800}
.filter-row{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.filter-chip{padding:8px 14px;border:1px solid rgba(255,255,255,.28);border-radius:7px;color:#f0f3f4;font-size:12px;font-weight:650}
.filter-chip.active{background:var(--gold-light);color:#20170c;border-color:var(--gold-light)}
.events-main-grid{display:grid;grid-template-columns:1.8fr .75fr;gap:22px}
.events-list{display:grid;gap:10px}
.event-row{display:grid;grid-template-columns:66px 110px 1fr 112px;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:10px 12px;background:rgba(255,255,255,.03)}
.event-row-date{height:58px;border:1px solid rgba(255,255,255,.17);border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800}
.event-row-date small{font-size:10px;color:#e0e5e7}
.event-time{font-size:13px;color:#f0f3f4}
.event-row h3{font-size:15px;margin:0 0 4px}
.event-row p{font-size:12.5px;color:#d9e0e3;line-height:1.5;margin:0}
.announcement-list{display:grid;gap:14px}
.announcement-item{display:grid;grid-template-columns:62px 1fr;gap:12px}
.announcement-item .media-placeholder{height:54px;border-radius:8px}
.announcement-item h4{font-size:13px;margin:0 0 4px;color:var(--gold-light)}
.announcement-item p{font-size:12.5px;color:#e0e5e7;line-height:1.5;margin:0}

/* News */
.news-intro{display:grid;grid-template-columns:.8fr 1.1fr 1.25fr;gap:28px;align-items:center;padding:36px 0 24px}
.news-intro h1{font-size:46px;line-height:1;margin-bottom:12px}
.news-feature-media{height:230px;border-radius:14px}
.news-feature-copy h2{font-size:24px;margin:8px 0 10px}
.news-feature-copy p{font-size:14px;color:var(--muted);line-height:1.6}
.news-toolbar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:8px 0 22px}
.news-tabs{display:flex;gap:6px;flex-wrap:wrap}
.news-tab{padding:8px 14px;border-radius:999px;border:1px solid #c9c6c0;font-size:12px;background:#fff;font-weight:650}
.news-tab.active{background:var(--gold-light);border-color:var(--gold-light)}
.news-sort{border:1px solid #c9c6c0;background:#fff;border-radius:8px;padding:9px 12px;font-size:12px;color:#2f383c}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.news-card .media-placeholder{height:180px}
.news-card-body{padding:15px}
.news-card-meta{display:flex;justify-content:space-between;gap:10px;font-size:10.5px;color:#596267;font-weight:650;text-transform:uppercase;letter-spacing:.04em}
.news-card-meta strong{color:var(--gold-dark)}
.news-card h3{font-size:17px;margin:8px 0}
.news-card p{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:10px}
.newsletter{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;align-items:center;background:var(--navy);color:#fff;border-radius:14px;padding:22px 26px;margin-top:22px}
.newsletter h3{font-size:18px;margin:0 0 4px}
.newsletter p{font-size:13px;color:#e1e6e8;line-height:1.55;margin:0}
.newsletter-form{display:grid;grid-template-columns:1fr auto;gap:8px}
.newsletter input{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.05);color:#fff;border-radius:8px;padding:11px 12px}

/* Ministers */
.ministers-intro{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center}
.ministers-intro .media-placeholder{height:310px;border-radius:14px}
.minister-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.minister-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.minister-card .media-placeholder{height:240px}
.minister-copy{padding:18px}
.minister-copy h3{font-size:19px;margin:3px 0 6px}
.minister-copy p{font-size:13px;color:var(--muted);line-height:1.55;margin-bottom:10px}
.role-tag{font-size:10px;color:var(--gold-dark);text-transform:uppercase;font-weight:800;letter-spacing:.08em}

/* Contacts */
.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:22px}
.contact-stack{display:grid;gap:14px}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
.contact-card h3{font-size:18px;margin:0 0 12px}
.contact-item{display:grid;grid-template-columns:28px 1fr;gap:10px;margin:12px 0;font-size:13px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.contact-form .full{grid-column:1/-1}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:#fff}
.contact-form textarea{min-height:130px;resize:vertical}
.map-large{min-height:420px;border-radius:14px;background-color:#e5e1d9;background-image:linear-gradient(#d2cdc2 1px,transparent 1px),linear-gradient(90deg,#d2cdc2 1px,transparent 1px);background-size:40px 40px;position:relative;overflow:hidden;border:1px solid #c8c4bc;display:block;color:var(--ink)}
.map-large::before{content:"";position:absolute;left:18%;right:12%;top:46%;height:8px;background:#fff;transform:rotate(-8deg);box-shadow:0 0 0 1px #d6d2ca}
.map-large::after{content:"●";position:absolute;left:56%;top:33%;transform:translate(-50%,-50%);color:#b7792d;font-size:28px;filter:drop-shadow(0 3px 4px rgba(0,0,0,.22))}
.map-label{position:absolute;z-index:2;left:56%;top:48%;transform:translate(-50%,-50%);width:min(310px,calc(100% - 38px));background:#fff;border:1px solid #bdb8af;border-radius:11px;padding:12px 14px;box-shadow:0 15px 45px rgba(12,23,30,.17);text-align:center}
.map-label strong{display:block;font-size:14px;margin-bottom:4px}
.map-label small{display:block;font-size:12px;color:#465157;line-height:1.45}

/* Article */
.article-wrap{max-width:840px;margin-inline:auto}
.article-head{padding:46px 0 24px}
.article-head h1{font-size:46px;line-height:1.05;margin:8px 0 12px}
.article-cover{height:420px;border-radius:16px;margin-bottom:28px}
.article-body{font-size:17px;line-height:1.7}
.article-body h2{font-size:28px;margin-top:32px}
.article-body p{color:#4e575b}
.article-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:28px 0}.article-gallery:empty{display:none}.article-gallery figure{margin:0}.article-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:12px}.article-gallery figcaption{padding:7px 2px;color:#687175;font-size:13px}

/* Footer */
.footer{background:var(--navy);color:#fff;padding:34px 0 16px}
.footer-grid{display:grid;grid-template-columns:1.3fr .8fr .8fr 1.05fr 1.2fr;gap:26px;align-items:start}
.footer .brand{min-width:0;margin-bottom:15px}
.footer p,.footer a{font-size:13px;color:#e0e5e7;line-height:1.55}
.footer h4{font-size:13px;margin:0 0 12px}
.footer-links{display:grid;gap:8px}
.social-row{display:flex;gap:9px;margin-top:14px}
.social-dot{width:29px;height:29px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;font-size:11px}
.footer-map{height:126px;border-radius:10px;background-color:#e4e0d8;background-image:linear-gradient(#cbc6bd 1px,transparent 1px),linear-gradient(90deg,#cbc6bd 1px,transparent 1px);background-size:28px 28px;position:relative;overflow:hidden;display:grid;place-items:center;color:#13191c!important;border:1px solid rgba(255,255,255,.18)}
.footer-map span{position:relative;background:#fff;border:1px solid #bdb8af;padding:8px 10px;border-radius:8px;font-size:11px;font-weight:800;line-height:1.35;text-align:center;box-shadow:0 8px 24px rgba(12,23,30,.16)}
.footer-map span small{display:block;font-size:10px;color:#515b60;margin-top:2px;font-weight:650}
.footer-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid rgba(255,255,255,.14);padding-top:14px;margin-top:22px;color:#c9d1d4;font-size:11px}
.footer-legal{display:flex;gap:24px}

/* Guide */
.guide-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px;margin-bottom:14px}
.codebox{background:#0f1b21;color:#e8eef0;border-radius:10px;padding:16px;overflow:auto;font-family:Consolas,monospace;font-size:13px}
.notice{background:#fff4df;border:1px solid #e8cc99;border-radius:10px;padding:14px 16px}

@media(max-width:1080px){
  .nav{gap:18px}.nav a{font-size:12px}.brand{min-width:205px}
  .home-intro-grid{grid-template-columns:1fr 1fr}.home-news-list{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}
  .service-grid{grid-template-columns:repeat(2,1fr)}
  .project-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-map{grid-column:span 2}
  .about-top-grid{grid-template-columns:1fr 1fr}.quote-panel{grid-column:1/-1}
  .about-lower-grid{grid-template-columns:1fr 1fr}.welcome-card{grid-column:1/-1}
  .gallery-row{grid-template-columns:repeat(3,1fr)}
  .events-layout,.events-main-grid{grid-template-columns:1fr}.calendar-card{max-width:none}
  .news-intro{grid-template-columns:1fr 1fr}.news-feature-copy{grid-column:1/-1}
}

@media(max-width:860px){
  .nav{display:none;position:absolute;top:74px;left:20px;right:20px;background:var(--navy-soft);padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:12px;flex-direction:column;align-items:stretch}
  .nav.open{display:flex}.nav a{padding:10px 0}.nav a::after{bottom:4px;right:auto;width:45px}.menu-btn{display:block}.nav-cta{display:none}.brand{min-width:0;margin-right:auto}
  .home-hero h1{font-size:48px}.hero-events-panel{grid-template-columns:1fr 1fr}.hero-events-title{grid-column:1/-1;padding:0 0 8px}.hero-mini-event{padding-left:0;border-left:0}
  .home-intro-grid,.about-top-grid,.about-lower-grid,.ministers-intro,.contact-layout{grid-template-columns:1fr}
  .value-grid{grid-template-columns:repeat(2,1fr)}
  .ministry-grid,.news-grid,.minister-grid{grid-template-columns:repeat(2,1fr)}
  .project-grid{grid-template-columns:repeat(2,1fr)}
  .mission-strip{grid-template-columns:1fr}.mission-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}.mission-item:last-child{border-bottom:0}
  .feature-event{grid-template-columns:1fr}.feature-event-media{min-height:210px}
  .event-row{grid-template-columns:60px 90px 1fr}.event-row .btn{grid-column:1/-1}
  .news-intro{grid-template-columns:1fr}.news-feature-copy{grid-column:auto}.newsletter{grid-template-columns:1fr}
}

@media(max-width:620px){
  .container{width:min(100% - 28px,var(--max))}.section{padding:42px 0}.section-title-row{align-items:start;flex-direction:column}.section-title-row h2{font-size:28px}
  .home-hero{min-height:720px}.home-hero-inner{min-height:720px;padding:40px 0 265px}.home-hero h1{font-size:42px;max-width:360px}.home-hero p{font-size:16px;max-width:340px}.home-hero .hero-visual::before{right:13%;top:180px;height:175px}.home-hero .hero-visual::after{right:5%;top:228px;width:118px}
  .hero-events{bottom:18px}.hero-events-panel{grid-template-columns:1fr;padding:14px}.hero-mini-event{grid-template-columns:70px 44px 1fr}.hero-thumb{height:50px}
  .home-intro-grid,.news-grid,.ministry-grid,.minister-grid,.value-grid,.project-grid,.service-grid{grid-template-columns:1fr}.home-news-list{grid-template-columns:1fr;grid-column:auto}
  .news-list-row{grid-template-columns:90px 1fr}
  .page-hero{min-height:250px}.page-hero h1,.events-hero h1,.news-intro h1,.article-head h1{font-size:36px}
  .gallery-row{grid-template-columns:repeat(2,1fr)}
  .event-row{grid-template-columns:58px 1fr}.event-time{grid-column:2}.event-row-copy{grid-column:2}.event-row .btn{grid-column:1/-1}
  .news-toolbar{align-items:stretch;flex-direction:column}.newsletter-form{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}.footer .footer-brand-col,.footer-map{grid-column:1/-1}.footer-bottom{flex-direction:column}.footer-legal{flex-wrap:wrap;gap:12px}
  .contact-form{grid-template-columns:1fr}.contact-form .full{grid-column:auto}
}

/* =========================================================
   Interactive layer, support modal, transitions and ministers
   ========================================================= */
body{opacity:0;transform:translateY(5px);transition:opacity .3s ease,transform .3s ease}
body.page-ready{opacity:1;transform:none}
body.page-leaving{opacity:0;transform:translateY(-5px)}
body.modal-open{overflow:hidden}

.nav{gap:21px}
.nav a{font-size:12px;white-space:nowrap;transition:color .2s ease}
.nav a::after{transition:transform .25s ease}
.nav a:hover{color:var(--gold-light)}
.nav-cta{white-space:nowrap;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.nav-cta:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(214,173,112,.24)}
.nav-mobile-support{display:none;border:0;border-radius:8px;background:var(--gold-light);color:#20170c;padding:11px 14px;font-weight:800;text-align:left}
.menu-btn{width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-btn span{display:block;width:23px;height:2px;background:#fff;border-radius:99px;transition:transform .25s ease,opacity .2s ease}
.menu-btn.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-btn.active span:nth-child(2){opacity:0}
.menu-btn.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.btn,.text-link,.section-link{transition:transform .2s ease,box-shadow .2s ease,color .2s ease,background-color .2s ease,border-color .2s ease}
.btn:hover{transform:translateY(-2px)}
.text-link:hover,.section-link:hover{color:#8e5f27}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .65s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.reveal.is-visible{opacity:1;transform:none}

/* Support modal */
.site-modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:24px;visibility:hidden;pointer-events:none}
.site-modal.open{visibility:visible;pointer-events:auto}
.modal-backdrop{position:absolute;inset:0;border:0;background:rgba(2,9,13,.72);backdrop-filter:blur(8px);opacity:0;transition:opacity .28s ease}
.site-modal.open .modal-backdrop{opacity:1}
.modal-card{position:relative;width:min(610px,100%);max-height:min(780px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:20px;padding:30px;box-shadow:0 28px 100px rgba(0,0,0,.34);opacity:0;transform:translateY(22px) scale(.97);transition:opacity .3s ease,transform .3s cubic-bezier(.22,1,.36,1)}
.site-modal.open .modal-card{opacity:1;transform:none}
.modal-close,.drawer-close{position:absolute;top:14px;right:14px;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fff;color:#1b2226;font-size:25px;line-height:1;cursor:pointer;display:grid;place-items:center;transition:transform .2s ease,background .2s ease}
.modal-close:hover,.drawer-close:hover{transform:rotate(8deg);background:#f3eee4}
.modal-icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:#f5e7cf;color:#9e6b2e;font-size:27px;margin-bottom:16px}
.modal-card h2{font-size:32px;line-height:1.05;margin:0 42px 10px 0}
.modal-lead{color:var(--muted);font-size:15px;line-height:1.6;margin-bottom:20px}
.support-requisites{display:grid;gap:10px;margin:18px 0}
.requisite-row{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:13px 14px;background:#fbfaf8}
.requisite-row small{display:block;font-size:11px;color:#777f83;text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.requisite-row strong{display:block;font-size:13px;overflow-wrap:anywhere}
.requisite-row button{border:1px solid #cdb58d;border-radius:8px;background:#fff7e8;color:#765021;padding:8px 10px;font-size:12px;font-weight:800;cursor:pointer}
.support-note{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start;padding:12px 14px;background:#fff4df;border:1px solid #e8cc99;border-radius:10px;margin:16px 0}
.support-note span{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#d6ad70;color:#20170c;font-weight:900}
.support-note p{font-size:12px;margin:2px 0 0;color:#6b5639}
.copy-toast{position:fixed;left:50%;bottom:28px;z-index:700;transform:translate(-50%,20px);background:#09161d;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:10px 16px;font-size:12px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}
.copy-toast.show{opacity:1;transform:translate(-50%,0)}

/* Ministers page in reference composition */
.ministers-hero{position:relative;min-height:515px;background:#08141b;color:#fff;overflow:hidden}
.ministers-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,13,18,.98) 0%,rgba(5,13,18,.86) 43%,rgba(5,13,18,.18) 75%,rgba(5,13,18,.48) 100%);pointer-events:none}
.ministers-hero-art{position:absolute;inset:0;background:linear-gradient(180deg,#18252c 0%,#55514b 43%,#2f3231 62%,#121b20 100%)}
.css-sun{position:absolute;right:21%;top:33%;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,#fff8df 0 8%,#f3c47a 18%,rgba(238,174,89,.42) 43%,transparent 72%);filter:blur(.2px)}
.css-mountain{position:absolute;bottom:-12%;background:#12191d;transform:rotate(-4deg);filter:drop-shadow(0 -14px 35px rgba(0,0,0,.28))}
.mountain-one{right:-5%;width:68%;height:54%;clip-path:polygon(0 72%,12% 62%,23% 68%,34% 48%,45% 54%,58% 34%,67% 48%,78% 22%,90% 36%,100% 18%,100% 100%,0 100%)}
.mountain-two{left:32%;width:55%;height:35%;opacity:.58;clip-path:polygon(0 65%,18% 42%,34% 58%,49% 27%,65% 52%,79% 20%,100% 55%,100% 100%,0 100%)}
.css-cross{position:absolute;right:18.5%;top:95px;width:31px;height:230px;background:#111;transform:rotate(1deg);box-shadow:0 18px 50px rgba(0,0,0,.45)}
.css-cross::after{content:"";position:absolute;left:-62px;top:55px;width:155px;height:28px;background:#111}
.ministers-hero-inner{position:relative;z-index:2;padding:48px 0 28px}
.ministers-heading{max-width:680px;margin-bottom:20px}
.ministers-heading h1{font-size:52px;line-height:1;margin-bottom:10px;letter-spacing:-.035em}
.ministers-heading p{font-size:16px;color:#e0e6e8;margin:0}
.pastor-feature{width:min(665px,100%);display:grid;grid-template-columns:220px 1fr;gap:20px;background:rgba(19,24,24,.9);border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:16px;box-shadow:0 22px 60px rgba(0,0,0,.28);backdrop-filter:blur(10px)}
.pastor-portrait{height:260px;border:0;border-radius:10px;cursor:pointer;width:100%}
.portrait-placeholder{position:relative;overflow:hidden;background:linear-gradient(145deg,#5d625f,#2f393c 52%,#141e23);color:#fff}
.portrait-placeholder::before{content:"";position:absolute;left:50%;top:23%;width:82px;height:82px;border-radius:50%;transform:translateX(-50%);background:linear-gradient(145deg,#c4aa86,#756551);box-shadow:0 0 0 14px rgba(255,255,255,.03)}
.portrait-placeholder::after{content:"";position:absolute;left:50%;bottom:-23%;width:72%;height:65%;border-radius:48% 48% 12% 12%;transform:translateX(-50%);background:linear-gradient(180deg,#364146,#152027)}
.portrait-initials{position:absolute;z-index:2;left:50%;top:43%;transform:translate(-50%,-50%);font-weight:800;font-size:22px;color:#f4dfba}
.portrait-label{position:absolute;z-index:3;left:10px;bottom:9px;border:1px solid rgba(255,255,255,.22);background:rgba(5,12,16,.62);border-radius:999px;padding:5px 8px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#d7dee1}
.portrait-youth{background:linear-gradient(145deg,#846e55,#3b4b49 54%,#152026)}
.portrait-worship{background:linear-gradient(145deg,#6a513a,#394045 54%,#111b20)}
.portrait-kids{background:linear-gradient(145deg,#9d805f,#5b5550 54%,#1a2429)}
.portrait-social{background:linear-gradient(145deg,#7d654d,#3e4a45 54%,#111d22)}
.portrait-media{background:linear-gradient(145deg,#58666c,#3d3837 54%,#121c21)}
.portrait-pastor{background:linear-gradient(145deg,#6c6258,#364248 54%,#121d22)}
.pastor-feature-copy{padding:8px 6px 4px}
.pastor-feature-copy h2{font-size:27px;margin:4px 0 8px}
.pastor-feature-copy>p{font-size:13px;color:#eef2f3;line-height:1.65;margin-bottom:15px}
.pastor-calling{border-top:1px solid rgba(255,255,255,.12);padding-top:12px;display:grid;gap:4px}
.pastor-calling strong{font-size:13px;color:var(--gold-light)}
.pastor-calling span{font-size:13px;color:#f0f3f4;line-height:1.5}
.pastor-actions{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}

.minister-team-section{background:#fbfaf8}
.minister-team-section .section-title-row{align-items:center;margin-bottom:16px}
.minister-team-section .section-title-row h2{font-size:23px}
.minister-team-section .section-title-row p{font-size:14px;margin-top:5px}
.minister-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.minister-filter{border:1px solid #c9c6c0;background:#fff;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:750;color:#343d42;cursor:pointer;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.minister-filter:hover{transform:translateY(-1px);border-color:#c7a26b}
.minister-filter.active{background:var(--gold-light);border-color:var(--gold-light);color:#2d2112}
.minister-reference-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px;transition:opacity .14s ease,transform .14s ease}
.minister-reference-grid.is-filtering{opacity:.1;transform:translateY(5px)}
.minister-reference-card{background:#fff;border:1px solid var(--line);border-radius:11px;overflow:hidden;cursor:pointer;transition:transform .28s cubic-bezier(.22,1,.36,1),box-shadow .28s ease,border-color .2s ease}
.minister-reference-card:hover,.minister-reference-card:focus-visible{transform:translateY(-7px);box-shadow:0 18px 40px rgba(15,25,31,.12);border-color:#c9aa7a;outline:0}
.minister-card-portrait{height:135px}
.minister-card-portrait::before{width:58px;height:58px;top:20%}
.minister-card-portrait::after{width:76%;height:68%;bottom:-34%}
.minister-card-portrait .portrait-initials{font-size:16px;top:41%}
.minister-card-content{padding:12px}
.minister-card-content .role-tag{font-size:9px}
.minister-card-content h3{font-size:14px;margin:4px 0 6px}
.minister-card-content p{font-size:12px;line-height:1.5;color:var(--muted);min-height:72px;margin-bottom:8px}
.minister-card-content .text-link{font-size:11px}
.minister-empty{text-align:center;padding:30px;color:var(--muted)}

.minister-service-section{background:#fbfaf8;padding-top:8px}
.minister-service-section h2{font-size:22px;margin-bottom:15px}
.minister-service-layout{display:grid;grid-template-columns:1fr 310px;gap:18px;align-items:stretch}
.minister-service-list{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.minister-service-list article{display:grid;grid-template-columns:30px 1fr;gap:10px;padding:17px;border-right:1px solid var(--line)}
.minister-service-list article:last-child{border-right:0}
.minister-service-list article>span{font-size:24px;color:var(--gold-dark)}
.minister-service-list h3{font-size:13px;margin:2px 0 5px}
.minister-service-list p{font-size:11.5px;color:var(--muted);line-height:1.5;margin:0}
.minister-quote{position:relative;margin:0;background:linear-gradient(145deg,#0b171d,#121d22);color:#fff;border-radius:12px;padding:23px 20px 18px;overflow:hidden}
.minister-quote::after{content:"";position:absolute;inset:auto -50px -70px auto;width:150px;height:150px;border-radius:50%;background:rgba(214,173,112,.08)}
.quote-mark{display:block;font-family:Georgia,serif;font-size:48px;line-height:.65;color:var(--gold-light);margin-bottom:12px}
.minister-quote p{font-size:13px;color:#f0f3f4;line-height:1.6;margin-bottom:12px}
.minister-quote cite{font-size:11px;color:var(--gold-light);font-style:normal;font-weight:700}

/* Minister details drawer */
.minister-drawer{position:fixed;inset:0;z-index:550;visibility:hidden;pointer-events:none}
.minister-drawer.open{visibility:visible;pointer-events:auto}
.drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(3,10,14,.72);backdrop-filter:blur(6px);opacity:0;transition:opacity .3s ease}
.minister-drawer.open .drawer-backdrop{opacity:1}
.drawer-panel{position:absolute;top:0;right:0;width:min(510px,100%);height:100%;overflow:auto;background:#fff;padding:28px;box-shadow:-25px 0 80px rgba(0,0,0,.28);transform:translateX(105%);transition:transform .42s cubic-bezier(.22,1,.36,1)}
.minister-drawer.open .drawer-panel{transform:none}
.drawer-portrait{height:270px;border-radius:15px;margin-bottom:22px}
.drawer-portrait::before{width:92px;height:92px}
.drawer-portrait::after{width:64%;bottom:-26%}
.drawer-portrait .portrait-initials{font-size:25px}
.drawer-panel h2{font-size:34px;line-height:1.05;margin:5px 45px 12px 0}
.drawer-panel h3{font-size:17px;margin:20px 0 10px}
.drawer-bio{font-size:15px;color:var(--muted);line-height:1.7}
.drawer-calling{background:#f6efe4;border:1px solid #ead6b5;border-radius:12px;padding:15px}
.drawer-calling strong{font-size:12px;color:#9b682d;text-transform:uppercase;letter-spacing:.08em}
.drawer-calling p{font-size:13px;margin:6px 0 0;color:#584a39}
.drawer-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none;padding:0;margin:0}
.drawer-list li{position:relative;border:1px solid var(--line);border-radius:9px;padding:10px 10px 10px 28px;font-size:13px;line-height:1.45}
.drawer-list li::before{content:"✓";position:absolute;left:10px;color:var(--gold-dark);font-weight:900}
.drawer-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}

/* Vision page */
.vision-hero{position:relative;min-height:560px;background:linear-gradient(125deg,#07131a 0%,#0b1a21 57%,#30281e 100%);color:#fff;overflow:hidden}
.vision-glow{position:absolute;right:10%;top:12%;width:430px;height:430px;border-radius:50%;background:radial-gradient(circle,rgba(232,185,113,.4),rgba(214,173,112,.12) 35%,transparent 70%);filter:blur(10px)}
.vision-hero-grid{min-height:560px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:40px;position:relative;z-index:2;padding:50px 0}
.vision-hero h1{font-size:58px;line-height:1.02;letter-spacing:-.04em;margin:0 0 20px}
.vision-hero p{font-size:17px;line-height:1.65;color:#d4dcdf;max-width:610px}
.vision-symbol{position:relative;min-height:390px}
.vision-cross{position:absolute;left:50%;top:14%;width:34px;height:250px;background:#0b0d0e;transform:translateX(-50%);box-shadow:0 20px 50px rgba(0,0,0,.4)}
.vision-cross::after{content:"";position:absolute;width:170px;height:31px;left:50%;top:60px;transform:translateX(-50%);background:#0b0d0e}
.vision-ring{position:absolute;left:50%;top:50%;border:1px solid rgba(239,213,166,.26);border-radius:50%;transform:translate(-50%,-50%)}
.ring-one{width:330px;height:330px}.ring-two{width:430px;height:430px;opacity:.45}
.vision-intro-grid{display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:16px}
.vision-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:23px}
.vision-card-icon{font-size:26px;color:var(--gold-dark)}
.vision-card h2{font-size:21px;margin:12px 0 8px}.vision-card p{font-size:14px;color:var(--muted);line-height:1.6;margin:0}
.vision-scripture{margin:0;background:linear-gradient(145deg,#0a171d,#162329);color:#fff;border-radius:14px;padding:24px}
.vision-scripture p{font-size:18px;line-height:1.45;margin:0 0 12px}.vision-scripture cite{font-style:normal;color:var(--gold-light);font-size:11px}
.vision-pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}
.vision-pillar{position:relative;background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;overflow:hidden}
.vision-pillar>span{position:absolute;right:13px;top:5px;font-size:48px;font-weight:800;color:#eee9df}
.vision-pillar h3{position:relative;font-size:18px;margin:28px 0 8px}.vision-pillar p{position:relative;font-size:13px;color:var(--muted);line-height:1.55;margin:0}
.vision-callout{display:flex;align-items:center;justify-content:space-between;gap:28px;background:linear-gradient(120deg,#0b171d,#1c2728);color:#fff;border-radius:16px;padding:28px 32px}
.vision-callout h2{font-size:30px;margin:0 0 8px}.vision-callout p{font-size:14px;color:#edf1f2;line-height:1.6;margin:0}

@media(max-width:1180px){
  .nav{gap:14px}.nav a{font-size:11px}.brand{min-width:210px}.brand-copy strong{font-size:13px}
  .minister-reference-grid{grid-template-columns:repeat(3,1fr)}
  .minister-service-layout{grid-template-columns:1fr}.minister-service-list{grid-template-columns:repeat(2,1fr)}.minister-service-list article:nth-child(2){border-right:0}.minister-service-list article:nth-child(-n+2){border-bottom:1px solid var(--line)}
}

@media(max-width:1040px){
  .nav{gap:0}.nav-mobile-support{display:block}.menu-btn{display:flex}.nav-cta{display:none}
  .ministers-hero{min-height:610px}.ministers-heading h1{font-size:44px}.css-cross{right:13%;opacity:.65}.ministers-hero::after{background:linear-gradient(90deg,rgba(5,13,18,.97),rgba(5,13,18,.72))}
  .pastor-feature{grid-template-columns:180px 1fr}.pastor-portrait{height:235px}
  .minister-reference-grid{grid-template-columns:repeat(2,1fr)}
  .vision-hero-grid{grid-template-columns:1fr}.vision-symbol{display:none}.vision-hero h1{font-size:49px}.vision-intro-grid{grid-template-columns:1fr 1fr}.vision-scripture{grid-column:1/-1}.vision-pillars{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:620px){
  body{background:#fff}.nav-wrap{height:70px}.nav{top:70px}.brand-copy strong{font-size:12px}.brand-logo{width:34px}
  .site-modal{padding:12px}.modal-card{padding:24px 18px;border-radius:16px;max-height:calc(100vh - 24px)}.modal-card h2{font-size:27px}.requisite-row{grid-template-columns:1fr}.requisite-row button{justify-self:start}
  .ministers-hero{min-height:650px}.ministers-hero-inner{padding:36px 0 22px}.ministers-heading{max-width:300px}.ministers-heading h1{font-size:38px;max-width:290px}.ministers-heading p{font-size:13px;max-width:270px}.css-cross{right:12%;top:100px;height:180px;width:25px}.css-cross::after{width:118px;height:23px;left:-47px;top:45px}.css-sun{right:12%;top:27%}
  .pastor-feature{margin-top:165px;grid-template-columns:105px 1fr;padding:11px;gap:12px}.pastor-portrait{height:178px}.pastor-feature-copy{padding:3px 0}.pastor-feature-copy h2{font-size:19px}.pastor-feature-copy>p{font-size:9px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}.pastor-calling{display:none}.pastor-actions .btn{padding:8px 10px;font-size:10px}.portrait-placeholder::before{width:52px;height:52px}.portrait-initials{font-size:15px}
  .minister-team-section .section-title-row{align-items:flex-start}.minister-team-section .section-title-row p{display:none}.minister-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:6px;scrollbar-width:none}.minister-filter{flex:0 0 auto}
  .minister-reference-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding-bottom:12px;scrollbar-width:none}.minister-reference-card{flex:0 0 82%;scroll-snap-align:center;display:grid;grid-template-columns:42% 58%;min-height:205px}.minister-card-portrait{height:100%}.minister-card-content p{min-height:0;font-size:10px}.minister-card-content h3{font-size:15px}
  .minister-service-list{grid-template-columns:1fr}.minister-service-list article{border-right:0;border-bottom:1px solid var(--line)!important}.minister-service-list article:last-child{border-bottom:0!important}.minister-quote{min-height:170px}
  .drawer-panel{padding:18px}.drawer-portrait{height:220px}.drawer-panel h2{font-size:28px}.drawer-list{grid-template-columns:1fr}.drawer-actions .btn{width:100%}
  .vision-hero{min-height:590px}.vision-hero-grid{min-height:590px;padding:44px 0}.vision-hero h1{font-size:42px}.vision-hero p{font-size:15px}.vision-intro-grid,.vision-pillars{grid-template-columns:1fr}.vision-scripture{grid-column:auto}.vision-callout{align-items:flex-start;flex-direction:column}.vision-callout .btn{width:100%}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition-duration:.01ms!important;transition-delay:0ms!important}
  body,.reveal{opacity:1!important;transform:none!important}
}

/* Working filters and event details */
.news-tab,.filter-chip{font:inherit;cursor:pointer}
.news-tab{color:var(--ink)}
.news-grid{transition:opacity .12s ease,transform .12s ease}
.news-grid.is-filtering{opacity:.15;transform:translateY(5px)}
.news-empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:36px;border:1px dashed var(--line);border-radius:12px}
.filter-chip{background:transparent}
.filter-chip:hover{border-color:rgba(239,213,166,.62);color:#fff}
.event-row{transition:opacity .22s ease,transform .22s ease,border-color .2s ease}
.event-row:hover{transform:translateY(-2px);border-color:rgba(239,213,166,.34)}
.event-row[hidden]{display:none}
.events-empty{padding:24px;border:1px dashed rgba(255,255,255,.2);border-radius:10px;color:#aeb8bd;text-align:center}
.event-modal-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 16px}
.event-modal-meta span{background:#f6efe4;border:1px solid #e8d6b7;border-radius:999px;padding:7px 10px;font-size:11px;color:#75552f}
.event-modal-meta span:empty{display:none}
.newsletter button:disabled{opacity:.72;cursor:default;transform:none}


/* Readability improvements */
@media(max-width:620px){
  .small{font-size:13px}
  .service-tile p,.news-card p,.project-card p,.value-card p,.info-panel p{font-size:13px}
  .minister-card-content p{font-size:12px!important;line-height:1.5;min-height:0}
  .pastor-feature-copy>p{font-size:11px!important;color:#f0f3f4!important;line-height:1.5!important}
  .minister-service-list p{font-size:12px}
  .footer p,.footer a{font-size:12.5px}
}

/* =========================================================
   Real header photos supplied by the project owner
   These classes keep each photo replaceable as a single file.
   ========================================================= */
.header-photo{background-repeat:no-repeat;background-size:cover;background-position:center}
.header-photo::after{display:none!important}
.header-photo-home{background-image:url('../img/header-home.webp')}
.header-photo-about{background-image:url('../img/header-about.webp')}
.header-photo-ministers{background-image:url('../img/header-ministers.webp')}
.header-photo-ministries{background-image:url('../img/header-ministries.webp')}
.header-photo-events{background-image:url('../img/header-events.webp')}
.header-photo-news{background-image:url('../img/header-news.webp')}

.home-hero .hero-visual{
  background-image:linear-gradient(90deg,rgba(4,13,19,.96) 0%,rgba(4,13,19,.8) 38%,rgba(4,13,19,.22) 72%,rgba(4,13,19,.16) 100%),url('../img/header-home.webp');
  background-position:center;
}
.home-hero .hero-visual::before,.home-hero .hero-visual::after{display:none}

.page-hero .hero-bg{background-position:center 46%}
.page-hero::before{z-index:1;background:linear-gradient(90deg,rgba(5,14,19,.96) 0%,rgba(5,14,19,.77) 46%,rgba(5,14,19,.28) 100%)}
.page-hero-content{z-index:2}

.ministers-hero-art{background-position:center 48%}
.ministers-hero-art .css-sun,.ministers-hero-art .css-mountain,.ministers-hero-art .css-cross{display:none}

.events-hero{position:relative;isolation:isolate;background:#07131a;overflow:hidden}
.events-hero-photo{position:absolute;inset:0;z-index:-2;background-position:center 52%}
.events-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(4,13,19,.97),rgba(4,13,19,.7) 48%,rgba(4,13,19,.24))}
.events-hero>.container{position:relative;z-index:1}

.news-feature-media{background-position:center;min-height:300px}

.vision-hero-photo{
  background-image:linear-gradient(90deg,rgba(4,13,19,.97),rgba(4,13,19,.75) 48%,rgba(4,13,19,.24)),url('../img/header-home.webp');
  background-size:cover;background-position:center;
}
.vision-hero-photo .vision-glow{opacity:.25}

/* Google Maps */
.map-large{position:relative;display:block;min-height:440px;background:#d9d7d0;border:1px solid #c4c0b8;border-radius:14px;overflow:hidden}
.map-large::before,.map-large::after{display:none}
.map-frame{position:absolute;inset:0;width:100%;height:100%;border:0}
.map-open-link{position:absolute;right:14px;top:14px;z-index:2;background:#fff;color:#10191e;padding:10px 13px;border-radius:8px;font-size:12px;font-weight:800;box-shadow:0 10px 28px rgba(7,19,26,.2)}
.map-open-link:hover{transform:translateY(-1px)}
.footer-map{position:relative;display:block;overflow:hidden;background:#d9d7d0}
.footer-map iframe{width:100%;height:100%;border:0;pointer-events:none;filter:saturate(.78) contrast(.95)}
.footer-map>a{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);white-space:nowrap;background:#fff;color:#11191d!important;padding:7px 10px;border-radius:7px;font-size:10px!important;font-weight:800;box-shadow:0 7px 18px rgba(0,0,0,.18)}
.footer-map>a:hover{transform:translateX(-50%) translateY(-1px)}

/* Online page */
.online-hero{position:relative;min-height:470px;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}
.online-hero-photo{position:absolute;inset:0;background-position:center}
.online-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,13,19,.98),rgba(4,13,19,.8) 48%,rgba(4,13,19,.25))}
.online-hero-content{position:relative;z-index:2;max-width:720px;padding:70px 0}
.online-hero h1{font-size:56px;line-height:1.03;max-width:680px;margin:10px 0 18px;letter-spacing:-.035em}
.online-hero p{max-width:560px;color:#e5eaec;font-size:18px;line-height:1.62;margin-bottom:26px}
.online-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:start}
.online-live-card{background:var(--navy);color:#fff;border-radius:16px;padding:30px;min-height:100%;box-shadow:0 16px 42px rgba(6,17,24,.12)}
.online-live-card h2{font-size:34px;margin:12px 0}
.online-live-card p{color:#d7dfe2;font-size:15px;line-height:1.7}
.live-badge{display:inline-flex;align-items:center;gap:7px;color:#21170b;background:var(--gold-light);border-radius:999px;padding:7px 11px;font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.live-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#8a1f17;box-shadow:0 0 0 4px rgba(138,31,23,.12)}
.online-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}
.online-links-grid{display:grid;gap:12px}
.online-link-card{display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px;color:var(--ink);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.online-link-card:hover{transform:translateY(-3px);border-color:#cfab70;box-shadow:0 14px 34px rgba(15,28,35,.09)}
.online-link-card>span{width:46px;height:46px;border-radius:12px;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:19px;font-weight:800}
.online-link-card h3{font-size:18px;margin:0 0 3px}
.online-link-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.5}
.online-link-card>b{color:var(--gold-dark);font-size:20px}
.online-note{display:flex;align-items:center;justify-content:space-between;gap:28px;background:#fff;border:1px solid var(--line);border-radius:15px;padding:28px}
.online-note h2{font-size:30px;margin:5px 0 8px}
.online-note p{color:var(--muted);margin:0;max-width:720px}
.online-note code{background:#efe9df;padding:2px 6px;border-radius:5px;color:#1b2327}

/* Slightly stronger small text contrast */
.small,.muted,.news-card p,.project-card p,.service-tile p,.minister-card-content p,.footer p,.footer a{color:#4b555a}
.footer p,.footer a{color:#e1e7e9}
.events-page .small,.events-page .event-row p,.events-page .announcement-item p{color:#c8d0d4}

@media(max-width:860px){
  .online-layout{grid-template-columns:1fr}
  .online-hero h1{font-size:46px}
  .map-large{min-height:390px}
}

@media(max-width:620px){
  .home-hero .hero-visual{background-position:66% center}
  .page-hero .hero-bg{background-position:62% center}
  .ministers-hero-art{background-position:67% center}
  .events-hero-photo{background-position:70% center}
  .news-feature-media{min-height:250px}
  .online-hero{min-height:500px}.online-hero-photo{background-position:66% center}.online-hero h1{font-size:39px}.online-hero p{font-size:16px}
  .online-note{align-items:flex-start;flex-direction:column}.online-note .btn{width:100%}
  .map-large{min-height:360px}.map-open-link{left:12px;right:12px;top:auto;bottom:12px;text-align:center}
}

/* =========================================================
   FINAL DESKTOP HEADER ALIGNMENT — based on approved refs
   One photo per hero, navigation directly over the photo.
   ========================================================= */
.header-photo-contacts{background-image:url('../img/header-contacts.webp')}

/* Header is transparent only on pages that actually have a photo hero. */
.site-header{position:sticky;top:0;width:100%;z-index:100;background:#07131a;border-bottom:1px solid rgba(255,255,255,.08)}
.site-header.site-header-overlay{
  position:absolute;
  inset:0 0 auto 0;
  background:linear-gradient(180deg,rgba(4,13,19,.88) 0%,rgba(4,13,19,.46) 62%,transparent 100%);
  border-bottom:0;
  box-shadow:none;
}
.site-header-overlay .nav-wrap{height:104px}
.site-header-overlay .brand,.site-header-overlay .nav a{filter:drop-shadow(0 1px 5px rgba(0,0,0,.5))}
.nav-wrap{height:88px}
.brand-logo{width:42px;height:47px}
.brand-copy small{font-size:12px;color:#e1e6e8}
.brand-copy strong{font-size:15px}
.nav{gap:27px;font-size:13px}
.nav a{padding:34px 0}
.nav a::after{bottom:21px}
.nav-cta{padding:13px 20px;border-radius:9px}

/* Only a single source image is used in each hero. */
.home-hero .hero-visual,
.page-hero .hero-bg,
.ministers-hero-art,
.events-hero-photo,
.online-hero-photo{
  background-repeat:no-repeat!important;
  background-color:#07131a;
}

/* Main page: image stays on the right like the reference, never tiled/stretched. */
.home-hero{min-height:720px}
.home-hero .hero-visual{
  background-image:
    linear-gradient(90deg,#06131a 0%,rgba(6,19,26,.98) 25%,rgba(6,19,26,.77) 47%,rgba(6,19,26,.18) 76%,rgba(6,19,26,.08) 100%),
    url('../img/header-home.webp');
  background-size:cover,auto 100%;
  background-position:center,right center;
}
.home-hero-inner{min-height:720px;padding:150px 0 190px;justify-content:center}
.home-hero h1{font-size:64px;max-width:650px;line-height:1.03;margin-bottom:22px}
.home-hero p{font-size:21px;max-width:510px;line-height:1.55}
.hero-actions .btn{min-height:52px;padding:14px 23px}
.hero-events{bottom:28px}
.hero-events-panel{background:rgba(11,17,19,.82);border-color:rgba(239,213,166,.24);box-shadow:0 18px 55px rgba(0,0,0,.2)}

/* About / ministries / contacts headers: photo is the right-hand visual. */
.page-hero{min-height:510px;align-items:center}
.page-hero .hero-bg{
  background-size:auto 100%;
  background-position:right center;
}
.page-hero::before{
  background:linear-gradient(90deg,#06131a 0%,rgba(6,19,26,.98) 31%,rgba(6,19,26,.78) 51%,rgba(6,19,26,.20) 82%,rgba(6,19,26,.08) 100%);
}
.page-hero-content{padding:150px 0 72px;max-width:560px}
.page-hero h1{font-size:62px;margin-bottom:18px}
.page-hero p{font-size:21px;line-height:1.55;max-width:540px}
.header-photo-about,.header-photo-contacts{background-size:auto 100%!important;background-position:right center!important}
.header-photo-ministries{background-size:auto 100%!important;background-position:right center!important}

/* Ministers reference: cross photo at right, content/card at left. */
.ministers-hero{min-height:700px}
.ministers-hero-art{
  background-image:url('../img/header-ministers.webp');
  background-size:auto 100%;
  background-position:right center;
}
.ministers-hero::after{
  background:linear-gradient(90deg,#06131a 0%,rgba(6,19,26,.98) 38%,rgba(6,19,26,.76) 57%,rgba(6,19,26,.14) 86%,rgba(6,19,26,.06) 100%);
}
.ministers-hero-inner{padding:150px 0 44px}
.ministers-heading{margin-bottom:25px}
.ministers-heading h1{font-size:60px}
.ministers-heading p{font-size:18px}
.pastor-feature{width:min(720px,100%);grid-template-columns:225px 1fr;background:rgba(23,23,20,.91);border-color:rgba(239,213,166,.18)}

/* Events reference: title and photo are one continuous dark hero. */
.events-hero{min-height:520px;align-items:flex-start;padding:0}
.events-hero-photo{
  background-image:url('../img/header-events.webp');
  background-size:auto 100%;
  background-position:right center;
}
.events-hero::after{
  background:linear-gradient(90deg,#06131a 0%,rgba(6,19,26,.97) 37%,rgba(6,19,26,.68) 60%,rgba(6,19,26,.15) 100%);
}
.events-hero>.container{padding-top:165px}
.events-hero h1{font-size:62px;line-height:1.02;margin-bottom:15px}
.events-hero p{font-size:19px;max-width:560px}
.events-layout{position:relative;z-index:3;margin-top:-155px;padding-bottom:50px}
.feature-event,.calendar-card{background:rgba(24,23,20,.92);border-color:rgba(239,213,166,.21);box-shadow:0 20px 55px rgba(0,0,0,.18);backdrop-filter:blur(8px)}

/* Online and vision also keep their menu directly on their image. */
.online-hero{min-height:570px}
.online-hero-photo{
  background-image:url('../img/header-home.webp');
  background-size:auto 100%;
  background-position:right center;
}
.online-hero::after{background:linear-gradient(90deg,#06131a 0%,rgba(6,19,26,.96) 43%,rgba(6,19,26,.22) 82%,rgba(6,19,26,.08))}
.online-hero-content{padding:155px 0 80px}
.vision-hero{padding-top:104px}

/* News has the solid dark navigation bar exactly as in its white-page reference. */
.news-intro{padding-top:58px;padding-bottom:38px;grid-template-columns:.9fr .95fr 1.2fr;gap:36px}
.news-feature-media{height:310px;min-height:0;background-size:cover;background-position:center;border-radius:16px}
.news-intro h1{font-size:52px}
.news-feature-copy h2{font-size:28px}

/* Intentionally empty social destinations until official links are supplied. */
.social-dot{border:0;color:#fff;font-family:inherit;cursor:pointer}
.social-empty,.is-link-empty{cursor:not-allowed;opacity:.62}
.social-empty:hover,.is-link-empty:hover{transform:none!important;box-shadow:none!important}
.online-link-card.is-link-empty{width:100%;text-align:left;color:var(--ink);font-family:inherit}
.online-link-card.is-link-empty:hover{transform:none;border-color:var(--line);box-shadow:none}

@media(max-width:1080px){
  .nav{gap:17px}
  .nav a{font-size:11.5px}
  .home-hero h1{font-size:56px}
  .page-hero h1,.events-hero h1,.ministers-heading h1{font-size:52px}
}

@media(max-width:860px){
  .site-header.site-header-overlay{background:linear-gradient(180deg,rgba(4,13,19,.96),rgba(4,13,19,.62) 70%,transparent)}
  .site-header-overlay .nav-wrap{height:82px}
  .nav-wrap{height:74px}
  .site-header-overlay .nav{top:74px}
  .home-hero-inner{padding-top:125px}
  .page-hero-content,.ministers-hero-inner,.online-hero-content{padding-top:125px}
  .events-hero>.container{padding-top:130px}
}

@media(max-width:620px){
  /* Temporary responsive safety; final phone composition will follow the mobile refs. */
  .home-hero{min-height:720px}
  .home-hero .hero-visual{background-size:cover,auto 100%;background-position:center,72% center}
  .home-hero-inner{min-height:720px;padding:118px 0 275px}
  .home-hero h1{font-size:43px}
  .page-hero{min-height:470px}
  .page-hero .hero-bg{background-size:auto 100%!important;background-position:70% center!important}
  .page-hero-content{padding:125px 0 60px;max-width:330px}
  .page-hero h1{font-size:42px}
  .page-hero p{font-size:16px}
  .ministers-hero{min-height:720px}
  .ministers-hero-art{background-size:auto 100%;background-position:75% center}
  .ministers-hero-inner{padding-top:120px}
  .ministers-heading h1{font-size:40px}
  .events-hero{min-height:480px}
  .events-hero-photo{background-size:auto 100%;background-position:72% center}
  .events-hero>.container{padding-top:120px}
  .events-hero h1{font-size:42px}
  .events-layout{margin-top:-115px}
  .news-intro{padding-top:36px;gap:22px}
  .news-feature-media{height:280px}
}

/* =========================================================
   DESKTOP HERO CORRECTIONS — full-photo composition
   ========================================================= */
html,body{width:100%;min-height:100%;overflow-x:hidden;background:#07131a}
html{scrollbar-color:#44535c #07131a}
::-webkit-scrollbar{width:11px}
::-webkit-scrollbar-track{background:#07131a}
::-webkit-scrollbar-thumb{background:#44535c;border:3px solid #07131a;border-radius:999px}
.page-surface{width:100%;overflow:hidden}

/* Navigation stays inside the photo instead of occupying a separate strip. */
.site-header.site-header-overlay{
  background:linear-gradient(180deg,rgba(3,11,17,.88) 0%,rgba(3,11,17,.48) 58%,rgba(3,11,17,0) 100%);
}
.site-header-overlay .nav-wrap{height:112px}

/* Home: one continuous photo across the complete hero, with text over it. */
.home-hero{min-height:720px;background:#07131a}
.home-hero .hero-visual{
  inset:0;
  background-image:
    linear-gradient(90deg,rgba(4,14,20,.96) 0%,rgba(4,14,20,.88) 27%,rgba(4,14,20,.60) 49%,rgba(4,14,20,.18) 73%,rgba(4,14,20,.08) 100%),
    linear-gradient(0deg,rgba(3,11,16,.72) 0%,rgba(3,11,16,.04) 44%,rgba(3,11,16,.10) 100%),
    url('../img/header-home.webp')!important;
  background-size:cover,cover,cover!important;
  background-position:center,center,center 48%!important;
}
.home-hero .hero-visual::before,.home-hero .hero-visual::after{display:none!important}
.home-hero-inner{min-height:720px;padding:150px 0 190px;justify-content:center}
.home-hero h1{max-width:650px;font-size:64px;line-height:1.02;text-shadow:0 3px 24px rgba(0,0,0,.28)}
.home-hero p{max-width:510px;font-size:20px;text-shadow:0 2px 16px rgba(0,0,0,.34)}
.hero-events-panel{background:rgba(7,15,19,.82);backdrop-filter:blur(12px);border-color:rgba(239,213,166,.22)}

/* Shared inner page headers: photo fills the whole block and fades softly into the dark left side. */
.page-hero{min-height:410px;align-items:flex-end;background:#07131a}
.page-hero .hero-bg{
  inset:0;
  background-size:cover!important;
  background-position:center 47%!important;
}
.page-hero::before{
  z-index:1;
  background:
    linear-gradient(90deg,rgba(4,14,20,.97) 0%,rgba(4,14,20,.91) 25%,rgba(4,14,20,.63) 49%,rgba(4,14,20,.19) 76%,rgba(4,14,20,.08) 100%),
    linear-gradient(0deg,rgba(4,14,20,.55) 0%,transparent 46%,rgba(4,14,20,.13) 100%);
}
.page-hero-content{
  width:min(var(--max),calc(100% - 40px));
  max-width:none;
  margin-inline:auto;
  padding:150px 0 52px;
}
.page-hero-content h1,.page-hero-content p{max-width:600px}
.page-hero h1{font-size:58px;margin-bottom:14px;text-shadow:0 3px 22px rgba(0,0,0,.28)}
.page-hero p{font-size:19px;line-height:1.55;text-shadow:0 2px 14px rgba(0,0,0,.35)}
.header-photo-about,.header-photo-contacts,.header-photo-ministries{background-size:cover!important;background-position:center 48%!important}

/* The ministries reference uses a noticeably lower hero and a longer left-to-photo gradient. */
.ministries-hero{min-height:365px}
.ministries-hero::before{
  background:
    linear-gradient(90deg,rgba(4,14,20,.99) 0%,rgba(4,14,20,.95) 30%,rgba(4,14,20,.72) 52%,rgba(4,14,20,.25) 76%,rgba(4,14,20,.08) 100%),
    linear-gradient(0deg,rgba(4,14,20,.62),transparent 52%);
}
.ministries-hero .page-hero-content{padding:142px 0 45px}
.ministries-hero h1{font-size:56px;max-width:520px}
.ministries-hero p{max-width:610px}

/* Contacts needs a wider dark fade to keep text clear without a hard boundary. */
.contacts-hero::before{
  background:
    linear-gradient(90deg,rgba(4,14,20,.99) 0%,rgba(4,14,20,.94) 32%,rgba(4,14,20,.70) 56%,rgba(4,14,20,.22) 82%,rgba(4,14,20,.08) 100%),
    linear-gradient(0deg,rgba(4,14,20,.58),transparent 52%);
}

/* Vision: same full-photo language as the homepage; no drawn cross over the image. */
.vision-hero{position:relative;min-height:650px;padding:0;background:#07131a;color:#fff;overflow:hidden}
.vision-hero-photo{
  background-image:url('../img/header-home.webp')!important;
  background-size:cover!important;
  background-position:center 48%!important;
  background-repeat:no-repeat!important;
}
.vision-hero::after{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,14,20,.97) 0%,rgba(4,14,20,.88) 30%,rgba(4,14,20,.57) 51%,rgba(4,14,20,.16) 78%,rgba(4,14,20,.07) 100%),
    linear-gradient(0deg,rgba(4,14,20,.60),transparent 50%);
}
.vision-glow,.vision-symbol,.vision-cross,.vision-ring{display:none!important}
.vision-hero-grid{position:relative;z-index:2;display:block;min-height:650px;padding:155px 0 88px}
.vision-hero-grid>div{max-width:650px}
.vision-hero h1{font-size:62px;line-height:1.02;margin-bottom:20px;text-shadow:0 3px 22px rgba(0,0,0,.3)}
.vision-hero p{font-size:18px;max-width:620px;color:#eef2f3;text-shadow:0 2px 14px rgba(0,0,0,.34)}

/* Ministers: full photograph with a long smooth fade, not a hard half-screen cut. */
.ministers-hero{min-height:735px;background:#07131a}
.ministers-hero-art{
  inset:0;
  background-image:url('../img/header-ministers.webp')!important;
  background-size:cover!important;
  background-position:center 50%!important;
  background-repeat:no-repeat!important;
}
.ministers-hero::after{
  background:
    linear-gradient(90deg,rgba(4,14,20,.99) 0%,rgba(4,14,20,.95) 27%,rgba(4,14,20,.79) 48%,rgba(4,14,20,.37) 69%,rgba(4,14,20,.08) 100%),
    linear-gradient(0deg,rgba(4,14,20,.66) 0%,rgba(4,14,20,.12) 44%,rgba(4,14,20,.08) 100%);
}
.ministers-hero-inner{padding:155px 0 42px}
.ministers-heading{max-width:720px;margin-bottom:26px}
.ministers-heading h1{font-size:60px;margin-bottom:12px;text-shadow:0 3px 22px rgba(0,0,0,.32)}
.ministers-heading p{font-size:18px;color:#f0f3f4}
.pastor-feature{
  width:min(770px,100%);
  grid-template-columns:215px 1fr;
  gap:18px;
  padding:14px;
  border-radius:14px;
  background:linear-gradient(105deg,rgba(30,29,25,.96),rgba(20,22,21,.91));
  border:1px solid rgba(239,213,166,.20);
  box-shadow:0 24px 65px rgba(0,0,0,.34);
  backdrop-filter:blur(12px);
}
.pastor-portrait{height:270px;border-radius:10px}
.pastor-feature-copy{padding:7px 10px 4px}
.pastor-feature-copy h2{font-size:29px;margin:4px 0 9px}
.pastor-feature-copy>p{font-size:13.5px;line-height:1.62;margin-bottom:13px}
.pastor-calling{padding-top:11px}
.pastor-actions{margin-top:14px}

/* Events: full-width photo, smooth dark fade and live calendar. */
.events-page,.events-page main{background:#07131a}
.events-hero{position:relative;min-height:535px;align-items:flex-start;padding:0;background:#07131a;overflow:hidden}
.events-hero-photo{
  inset:0;z-index:0;
  background-image:url('../img/header-events.webp')!important;
  background-size:cover!important;
  background-position:center 47%!important;
}
.events-hero::after{
  content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,14,20,.99) 0%,rgba(4,14,20,.94) 30%,rgba(4,14,20,.67) 54%,rgba(4,14,20,.18) 82%,rgba(4,14,20,.07) 100%),
    linear-gradient(0deg,rgba(4,14,20,.64),transparent 50%);
}
.events-hero>.container{position:relative;z-index:2;padding-top:165px}
.events-hero h1{font-size:60px;line-height:1.02;margin-bottom:14px;text-shadow:0 3px 22px rgba(0,0,0,.3)}
.events-hero p{font-size:18px;line-height:1.58;max-width:560px;text-shadow:0 2px 14px rgba(0,0,0,.34)}
.events-layout{position:relative;z-index:3;margin-top:-150px;padding-bottom:45px}
.feature-event,.calendar-card{background:rgba(24,23,20,.93);border-color:rgba(239,213,166,.22);box-shadow:0 22px 60px rgba(0,0,0,.26);backdrop-filter:blur(10px)}
.calendar-head button{width:34px;height:34px;border:0;border-radius:50%;background:transparent;color:#fff;font-size:23px;cursor:pointer;display:grid;place-items:center}
.calendar-head button:hover{background:rgba(255,255,255,.08)}
.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;text-align:center;font-size:12px;margin-bottom:5px}
.calendar-weekdays b:nth-last-child(-n+2){color:var(--gold-light)}
.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;font-size:12px;text-align:center}
.calendar-day{aspect-ratio:1;border:0;border-radius:50%;background:transparent;color:#eff2f3;cursor:default;padding:0;display:grid;place-items:center;transition:background .18s ease,transform .18s ease,color .18s ease}
.calendar-day.muted-day{color:#67737a}
.calendar-day.marked{background:rgba(214,173,112,.30);color:#fff;cursor:pointer;font-weight:800;box-shadow:inset 0 0 0 1px rgba(239,213,166,.20)}
.calendar-day.marked:hover{transform:scale(1.08);background:var(--gold);color:#25190c}
.calendar-day.selected{background:var(--gold)!important;color:#25190c!important;box-shadow:0 0 0 4px rgba(214,173,112,.15)}
.calendar-status{font-size:11.5px;line-height:1.45;color:#cbd3d6;margin-top:13px;min-height:34px}
.calendar-reset{border:0;background:transparent;color:var(--gold-light);font-size:12px;font-weight:800;padding:6px 0;cursor:pointer}
.events-list-title{font-size:22px;margin-bottom:13px}
.event-category-label{display:block;color:var(--gold-light);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.event-place-small{color:#b7c1c5!important}
.events-bottom-space{height:42px}

@media(max-width:1080px){
  .home-hero h1{font-size:56px}
  .page-hero h1,.events-hero h1,.ministers-heading h1{font-size:51px}
  .vision-hero h1{font-size:54px}
  .pastor-feature{width:min(710px,100%)}
}

@media(max-width:860px){
  .site-header-overlay .nav-wrap{height:82px}
  .home-hero-inner{padding-top:125px}
  .page-hero-content,.ministers-hero-inner,.vision-hero-grid{padding-top:125px}
  .events-hero>.container{padding-top:130px}
  .pastor-feature{grid-template-columns:185px 1fr}
  .pastor-portrait{height:245px}
}

@media(max-width:620px){
  /* This remains a safe temporary layout until the dedicated phone references arrive. */
  .home-hero .hero-visual{background-position:center,center,68% center!important}
  .home-hero h1{font-size:42px}
  .page-hero{min-height:455px}
  .page-hero .hero-bg{background-position:66% center!important}
  .page-hero-content{padding:122px 0 55px}
  .page-hero h1{font-size:41px}
  .ministries-hero{min-height:430px}
  .vision-hero{min-height:600px}.vision-hero-photo{background-position:68% center!important}.vision-hero-grid{min-height:600px;padding:122px 0 70px}.vision-hero h1{font-size:41px}
  .ministers-hero{min-height:735px}.ministers-hero-art{background-position:70% center!important}.ministers-hero-inner{padding-top:120px}.ministers-heading h1{font-size:39px}
  .pastor-feature{margin-top:150px;grid-template-columns:105px 1fr;padding:10px;gap:11px}.pastor-portrait{height:178px}.pastor-feature-copy h2{font-size:19px}.pastor-feature-copy>p{font-size:10px;line-height:1.45}.pastor-calling{display:none}
  .events-hero{min-height:485px}.events-hero-photo{background-position:70% center!important}.events-hero h1{font-size:41px}.events-layout{margin-top:-112px}
}

/* =========================================================
   ABOUT + VISION PASS 01
   Full-width hero, simplified vision list and richer motion.
   ========================================================= */
.about-page,
.vision-body{background:#07131a;overflow-x:clip}

/* Force the photo headers to touch both viewport edges. */
.about-page .page-hero,
.vision-body .vision-hero{
  width:100%;
  max-width:none;
  margin:0;
  border:0;
  outline:0;
}
.about-page .page-hero::after,
.vision-body .vision-hero::before{display:none!important}
.about-page .page-hero .hero-bg{right:-2px;left:-2px}
.about-page .page-hero::before{right:-2px;left:-2px}

/* A subtle cinematic movement without changing the chosen photo. */
.about-page .page-hero .hero-bg{
  will-change:transform;
  animation:hero-photo-breathe 16s ease-in-out infinite alternate;
}
@keyframes hero-photo-breathe{
  from{transform:scale(1)}
  to{transform:scale(1.035)}
}
.about-page .page-hero-content,
.vision-body .vision-hero-grid{transform:translateZ(0)}

/* About-page card motion. */
.about-page .info-panel,
.about-page .value-card,
.about-page .quote-panel,
.about-page .schedule-card,
.about-page .welcome-card,
.about-page .gallery-row .media-placeholder{
  transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,border-color .25s ease;
}
.about-page .info-panel:hover,
.about-page .value-card:hover,
.about-page .schedule-card:hover,
.about-page .welcome-card:hover{
  transform:translateY(-6px);
  border-color:#d4b37f;
  box-shadow:0 18px 42px rgba(16,28,35,.10);
}
.about-page .quote-panel:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(10,18,23,.20)}
.about-page .gallery-row .media-placeholder:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 14px 30px rgba(10,20,26,.14)}
.about-page .timeline-row{transition:transform .22s ease,color .22s ease}
.about-page .timeline-row:hover{transform:translateX(6px)}
.about-page .timeline-row:hover .timeline-year{color:var(--gold-dark)}

/* Vision is intentionally only a header and a numbered list. */
.vision-list-section{padding:58px 0 78px;background:var(--paper)}
.vision-list-heading{display:grid;grid-template-columns:minmax(270px,.7fr) 1fr;column-gap:42px;align-items:end;margin-bottom:30px}
.vision-list-heading .kicker{grid-column:1/-1}
.vision-list-heading h2{font-size:38px;line-height:1.08;margin:0;letter-spacing:-.025em}
.vision-list-heading p{margin:0;color:var(--muted);font-size:15px;line-height:1.65;max-width:650px}
.vision-points{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}
.vision-point{position:relative;display:grid;grid-template-columns:58px 1fr;gap:16px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;overflow:hidden;transition:transform .3s cubic-bezier(.22,1,.36,1),border-color .25s ease,box-shadow .3s ease,background .25s ease}
.vision-point::after{content:"";position:absolute;inset:auto -50px -80px auto;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(214,173,112,.16),transparent 68%);opacity:0;transition:opacity .3s ease,transform .4s ease;transform:scale(.75)}
.vision-point>span{position:relative;z-index:1;width:50px;height:50px;border-radius:50%;display:grid;place-items:center;background:#f3eadc;color:#8b5b24;font-weight:850;font-size:13px;letter-spacing:.06em;transition:background .25s ease,color .25s ease,transform .3s ease}
.vision-point>div{position:relative;z-index:1}
.vision-point h3{font-size:19px;margin:1px 0 6px;line-height:1.2}
.vision-point p{font-size:13.5px;line-height:1.58;color:var(--muted);margin:0}
.vision-point:hover{transform:translateY(-6px);border-color:#d0aa70;box-shadow:0 18px 44px rgba(11,25,32,.10);background:#fffdfa}
.vision-point:hover::after{opacity:1;transform:scale(1)}
.vision-point:hover>span{background:var(--gold-light);color:#24180c;transform:rotate(-5deg) scale(1.05)}

/* Clear, responsive interaction feedback for every real button/link. */
.btn,.nav-cta,.nav a,.section-link,.text-link,.schedule-line,a.brand{
  transition:transform .22s ease,box-shadow .22s ease,background-color .22s ease,color .22s ease,border-color .22s ease,opacity .22s ease;
}
.btn-gold:hover,.nav-cta:hover{
  transform:translateY(-3px);
  background:#f6dcae;
  border-color:#f1c77f;
  box-shadow:0 12px 28px rgba(181,124,51,.24);
}
.btn-outline-light:hover{transform:translateY(-3px);background:rgba(255,255,255,.12);border-color:#fff;box-shadow:0 12px 26px rgba(0,0,0,.18)}
.btn-outline-dark:hover{transform:translateY(-3px);background:var(--navy);border-color:var(--navy);color:#fff;box-shadow:0 12px 26px rgba(9,22,29,.18)}
.btn:active,.nav-cta:active{transform:translateY(0) scale(.98);box-shadow:none}
.nav a:hover{color:var(--gold-light)}
.nav a:hover::after{transform:scaleX(1)}
.section-link:hover,.text-link:hover{color:#6e4317;transform:translateX(4px)}
.brand:hover{opacity:.9;transform:translateY(-1px)}
.btn:focus-visible,.nav-cta:focus-visible,.nav a:focus-visible,.vision-point:focus-visible{outline:3px solid rgba(239,213,166,.58);outline-offset:4px}

/* Hero copy gets a slightly cleaner first-load reveal. */
.hero-copy-reveal.reveal{transform:translateY(34px)}
.hero-copy-reveal.reveal.is-visible{transform:none}

@media(max-width:900px){
  .vision-list-heading{grid-template-columns:1fr;gap:12px}
  .vision-points{grid-template-columns:1fr}
}

@media(max-width:620px){
  .vision-list-section{padding:42px 0 58px}
  .vision-list-heading h2{font-size:30px}
  .vision-point{grid-template-columns:48px 1fr;padding:17px;gap:12px}
  .vision-point>span{width:42px;height:42px}
  .vision-point h3{font-size:17px}
  .vision-point p{font-size:13px}
}

@media(prefers-reduced-motion:reduce){
  .about-page .page-hero .hero-bg{animation:none!important}
}

/* =========================================================
   FUNCTIONAL BASE PASS
   Logo, interactive content pages and faster motion.
   ========================================================= */
.brand-logo-wrap{width:58px;height:58px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;overflow:hidden;background:#fff;border:1px solid rgba(255,255,255,.24)}
.brand-logo-image{width:100%;height:100%;display:block;object-fit:cover;border-radius:50%}
.footer .brand-logo-wrap{width:54px;height:54px}

/* Support is deliberately quieter than primary CTAs. */
.nav-cta{background:rgba(239,213,166,.14)!important;color:#f2dfbd!important;border:1px solid rgba(239,213,166,.38)!important;box-shadow:none!important;padding:11px 16px!important}
.nav-cta:hover{background:rgba(239,213,166,.24)!important;border-color:rgba(239,213,166,.64)!important;transform:translateY(-2px)!important;box-shadow:0 8px 24px rgba(0,0,0,.16)!important}

/* Faster, softer motion. */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .36s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .36s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms)}
.hero-copy-reveal.reveal{transform:translateY(18px)}
body{transition:opacity .14s ease}
body:not(.page-ready){opacity:.01}
body.page-ready{opacity:1}
body.page-leaving{opacity:.18}

/* Online platform switcher. */
.online-switch-section{background:var(--paper)}
.online-switcher{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:22px;align-items:start}
.online-preview{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 16px 42px rgba(7,21,28,.08)}
.online-preview-screen{position:relative;aspect-ratio:16/10;background:#07131a;overflow:hidden}
.online-preview-screen img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .14s ease,transform .25s ease}
.online-preview-screen img.is-switching{opacity:.25;transform:scale(1.015)}
.online-preview-badge{position:absolute;left:18px;top:18px;padding:8px 12px;border-radius:999px;background:rgba(5,16,22,.82);color:#fff;border:1px solid rgba(255,255,255,.18);font-size:12px;font-weight:800;backdrop-filter:blur(8px)}
.online-preview-copy{padding:26px}
.online-preview-copy h2{font-size:34px;margin:7px 0 12px}
.online-preview-copy p{color:var(--muted);max-width:760px}
.online-preview-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.online-channel-list{display:grid;gap:10px;position:sticky;top:96px}
.online-channel-button{width:100%;display:grid;grid-template-columns:48px 1fr auto;gap:13px;align-items:center;padding:16px;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}
.online-channel-button>span{width:48px;height:48px;display:grid;place-items:center;border-radius:12px;background:var(--navy);color:#fff;font-weight:900;font-size:18px}
.online-channel-button strong{display:block;font-size:16px;margin-bottom:3px}.online-channel-button small{display:block;color:var(--muted)}.online-channel-button>b{font-size:20px;color:var(--gold-dark)}
.online-channel-button:hover,.online-channel-button:focus-visible{transform:translateY(-2px);border-color:#cfa970;box-shadow:0 12px 28px rgba(11,26,34,.08);outline:none}
.online-channel-button.active{background:#fbf5eb;border-color:#c99a5a;box-shadow:0 12px 30px rgba(147,94,29,.10)}

/* Generic manual-content filters and drawers. */
.content-filter-row{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 24px}
.content-empty{padding:30px;border:1px dashed var(--line);border-radius:14px;text-align:center;color:var(--muted);background:#fff}
.content-card{cursor:pointer}
.content-card:focus-visible{outline:3px solid rgba(201,154,90,.38);outline-offset:4px}
.content-drawer,.minister-drawer{position:fixed;inset:0;z-index:250;visibility:hidden;pointer-events:none}
.content-drawer.open,.minister-drawer.open{visibility:visible;pointer-events:auto}
.drawer-backdrop{position:absolute;inset:0;border:0;background:rgba(2,10,15,.72);opacity:0;transition:opacity .22s ease}
.content-drawer.open .drawer-backdrop,.minister-drawer.open .drawer-backdrop{opacity:1}
.drawer-panel{position:absolute;right:0;top:0;height:100%;width:min(520px,92vw);overflow:auto;background:#fff;padding:28px;transform:translateX(102%);transition:transform .32s cubic-bezier(.22,1,.36,1);box-shadow:-24px 0 70px rgba(0,0,0,.22)}
.content-drawer.open .drawer-panel,.minister-drawer.open .drawer-panel{transform:none}
.drawer-media{height:245px;border-radius:16px;margin-bottom:20px}
.drawer-close{position:sticky;top:0;margin-left:auto;z-index:2;width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:24px;cursor:pointer}
.ministry-icon{display:inline-grid;width:42px;height:42px;place-items:center;border-radius:11px;background:rgba(239,213,166,.16);color:var(--gold-light);font-size:20px;margin-bottom:10px}
.functional-project-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.project-status-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.project-status-row small{color:var(--muted)}

/* Contact form and manual data states. */
.contact-inline-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.text-button{border:0;background:none;padding:0;color:var(--gold-dark);font:inherit;font-size:12px;font-weight:800;cursor:pointer;text-decoration:none}
.text-button:hover{text-decoration:underline}
.form-honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.form-consent{display:flex;align-items:flex-start;gap:9px;color:var(--muted);font-size:12px;line-height:1.45}.form-consent input{width:auto;margin-top:2px}
.form-status{font-size:12px;color:var(--muted);margin:0}.form-status.is-success{color:#47704f}
.thank-you-section{min-height:70vh;display:flex;align-items:center;background:var(--paper)}

/* Dynamic homepage lists. */
.home-upcoming-events{display:contents}

/* Toast works for copies and empty links. */
.copy-toast{position:fixed;left:50%;bottom:24px;z-index:400;transform:translate(-50%,18px);opacity:0;pointer-events:none;background:#07131a;color:#fff;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:10px 16px;font-size:13px;font-weight:800;transition:opacity .18s ease,transform .18s ease}
.copy-toast.show{opacity:1;transform:translate(-50%,0)}

@media(max-width:980px){
  .online-switcher{grid-template-columns:1fr}.online-channel-list{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.functional-project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .brand-logo-wrap{width:46px;height:46px}.footer .brand-logo-wrap{width:46px;height:46px}
  .online-preview-copy{padding:20px}.online-preview-copy h2{font-size:27px}.online-channel-list{grid-template-columns:1fr}.online-channel-button{padding:13px}
  .functional-project-grid{grid-template-columns:1fr}.drawer-panel{padding:20px}.drawer-media{height:210px}
}
@media(prefers-reduced-motion:reduce){.online-preview-screen img,.drawer-panel,.drawer-backdrop,body{transition:none!important}}
.content-drawer{z-index:450}
.minister-drawer{z-index:550}
