:root {
  --navy: #061a35;
  --navy-2: #0a3158;
  --blue: #135a91;
  --blue-light: #eaf3f9;
  --gold: #d3a33b;
  --gold-light: #f0d482;
  --cream: #f8f5ef;
  --white: #fff;
  --ink: #132032;
  --muted: #657181;
  --line: #dce5eb;
  --serif: Georgia, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--white); font-family: Arial, Helvetica, sans-serif; }
body, button, input, select, textarea { font-family: Arial, Helvetica, sans-serif; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
.section { padding: 110px max(6vw, 28px); }
.kicker { margin: 0 0 16px; color: var(--blue); font-size: 11px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.kicker.light { color: var(--gold-light); }
h1, h2 { margin: 0; font-family: var(--serif); font-weight: 400; letter-spacing: -.045em; line-height: .98; }
h1 { font-size: clamp(64px, 8.7vw, 132px); }
h2 { font-size: clamp(46px, 5.5vw, 78px); }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 17px 22px; border: 1px solid transparent; font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s; }
.btn:hover { transform: translateY(-3px); box-shadow: 0 14px 35px rgba(1,17,35,.2); }
.btn-gold { background: linear-gradient(135deg, #e3bc5a, #ba811c); color: #08182b; }
.btn-outline { border-color: rgba(255,255,255,.48); color: white; }
.text-link { display: inline-flex; gap: 25px; margin-top: 25px; padding-bottom: 8px; border-bottom: 1px solid var(--gold); color: var(--navy); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }

.announcement { min-height: 38px; display: flex; align-items: center; justify-content: center; gap: 18px; padding: 8px 5vw; background: linear-gradient(90deg,#03142c,#0d416f,#03142c); color: #dceaf4; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; }
.announcement-label { color: var(--gold-light); font-weight: 800; }
.announcement strong { color: white; }
.announcement-link { padding-bottom: 2px; border-bottom: 1px solid rgba(240,212,130,.5); color: var(--gold-light); }

.site-header { position: sticky; top: 0; z-index: 50; min-height: 86px; display: flex; align-items: center; gap: 35px; padding: 0 5vw; border-bottom: 1px solid var(--line); background: rgba(255,255,255,.96); box-shadow: 0 10px 35px rgba(4,29,55,.06); backdrop-filter: blur(14px); }
.brand { display: flex; align-items: center; gap: 12px; margin-right: auto; font-family: var(--serif); font-size: 15px; letter-spacing: .025em; }
.brand img { width: 61px; height: 61px; object-fit: contain; }
.brand b { display: block; color: var(--blue); font-size: 11px; letter-spacing: .16em; text-transform: uppercase; }
.site-header nav { display: flex; align-items: center; gap: 26px; }
.site-header nav a { position: relative; padding: 35px 0; font-size: 11px; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; }
.site-header nav a:after { content: ""; position: absolute; left: 0; right: 100%; bottom: 25px; height: 2px; background: var(--gold); transition: right .2s; }
.site-header nav a:hover:after,.site-header nav a.active:after { right: 0; }
.nav-cta { padding: 13px 17px; background: var(--navy); color: white; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.menu-toggle { display: none; width: 42px; height: 42px; padding: 10px; border: 0; background: transparent; cursor: pointer; }
.menu-toggle span { display: block; height: 2px; margin: 5px 0; background: var(--navy); transition: transform .2s, opacity .2s; }
.menu-toggle.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.menu-toggle.open span:nth-child(2) { opacity: 0; }
.menu-toggle.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.hero { position: relative; min-height: 760px; display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; overflow: hidden; padding: 90px 6vw 110px; color: white; background: radial-gradient(circle at 78% 28%,rgba(49,130,188,.28),transparent 22%), linear-gradient(120deg,#020c1d 0%,#072946 56%,#0c4977 100%); }
.hero-pattern { position: absolute; inset: 0; opacity: .35; background-image: linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size: 60px 60px; mask-image: linear-gradient(90deg,black,transparent 85%); }
.hero-content { position: relative; z-index: 3; max-width: 780px; }
.hero h1 em { color: var(--gold-light); font-weight: 400; }
.hero-content > p:not(.kicker) { max-width: 590px; margin: 28px 0 0; color: #c4d3df; font-size: 19px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.hero-image-wrap { position: absolute; z-index: 2; right: 3vw; bottom: 0; width: 47vw; height: 94%; display: flex; align-items: flex-end; justify-content: center; }
.hero-pastor { position: relative; z-index: 2; height: 100%; object-fit: contain; object-position: bottom; filter: drop-shadow(-25px 10px 40px rgba(0,0,0,.32)); }
.hero-orbit { position: absolute; width: min(42vw,620px); height: min(42vw,620px); border: 1px solid rgba(240,212,130,.36); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.018),0 0 0 90px rgba(255,255,255,.012); top: 10%; right: 0; }
.hero-caption { position: absolute; z-index: 4; right: 0; bottom: 45px; padding: 16px 22px; border-left: 2px solid var(--gold); background: rgba(3,16,32,.72); backdrop-filter: blur(10px); }
.hero-caption span,.hero-caption strong { display: block; }.hero-caption span { color: #9fb8cb; font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }.hero-caption strong { margin-top: 4px; color: var(--gold-light); font-family: var(--serif); font-size: 20px; font-weight: 400; }
.hero-verse { position: absolute; z-index: 5; left: 6vw; bottom: 24px; max-width: 520px; margin: 0; color: #91aabe; font-family: var(--serif); font-size: 14px; }.hero-verse span { margin-right: 14px; color: var(--gold); font-family: Arial,sans-serif; font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.quick-links { position: relative; z-index: 10; width: min(88%,1260px); display: grid; grid-template-columns: repeat(3,1fr); margin: -40px auto 0; background: white; box-shadow: 0 22px 70px rgba(3,31,57,.16); }
.quick-links > a { display: grid; grid-template-columns: 47px 1fr 25px; align-items: center; gap: 18px; min-height: 115px; padding: 24px 30px; border-right: 1px solid var(--line); transition: background .2s; }
.quick-links > a:last-child { border-right: 0; }.quick-links > a:hover { background: var(--blue-light); }
.quick-icon { width: 47px; height: 47px; display: grid; place-items: center; border: 1px solid #9fc0d7; border-radius: 50%; color: var(--blue); font-family: var(--serif); }
.quick-links small,.quick-links strong { display: block; }.quick-links small { color: var(--muted); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }.quick-links strong { margin-top: 6px; font-family: var(--serif); font-size: 20px; font-weight: 400; }.quick-links b { color: var(--blue); }

.about { display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 9vw; padding-top: 150px; background: linear-gradient(135deg,#fff,#f1f7fa); }
.about-visual { position: relative; min-height: 600px; }.about-main { width: 88%; height: 560px; object-fit: cover; }.about-small { position: absolute; right: 0; bottom: -15px; width: 48%; height: 270px; padding: 10px; object-fit: cover; background: white; box-shadow: 0 20px 50px rgba(4,30,54,.18); }.about-badge { position: absolute; right: 5%; top: 30px; width: 130px; height: 130px; display: flex; flex-direction: column; align-items: center; justify-content: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; background: var(--navy); color: white; text-align: center; box-shadow: 0 18px 40px rgba(4,30,54,.23); }.about-badge strong { color: var(--gold-light); font-family: var(--serif); font-size: 25px; }.about-badge span { margin-top: 5px; font-size: 8px; letter-spacing: .15em; text-transform: uppercase; }
.about-copy { max-width: 610px; }.about-copy h2 { color: var(--navy); }.about-copy p { color: var(--muted); line-height: 1.75; }.about-copy .large-copy { margin-top: 32px; color: #2c3e50; font-family: var(--serif); font-size: 21px; line-height: 1.55; }

.scripture-banner { padding: 95px max(10vw,35px); color: white; text-align: center; background: radial-gradient(circle at 50% 120%,rgba(49,130,188,.33),transparent 35%),linear-gradient(120deg,#030d1f,#082f52); }.scripture-banner blockquote { max-width: 1000px; margin: 20px auto; font-family: var(--serif); font-size: clamp(30px,4vw,55px); line-height: 1.25; }.scripture-banner > span { color: var(--gold-light); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }

.messages { background: #f5f9fc; }.section-heading { display: grid; grid-template-columns: 1.2fr .8fr; align-items: end; gap: 55px; margin-bottom: 55px; }.section-heading h2 { color: var(--navy); }.section-heading > p { max-width: 500px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.7; }.section-heading.centered { display: block; max-width: 760px; margin-left: auto; margin-right: auto; text-align: center; }.section-heading.centered > p { margin: 22px auto 0; }
.message-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 22px; }.featured-message { position: relative; min-height: 580px; overflow: hidden; color: white; background: var(--navy); }.featured-message:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 35%,rgba(1,12,28,.94)); }.featured-message > img { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: center 25%; filter: saturate(.85); }.featured-message > div { position: absolute; z-index: 2; left: 45px; right: 45px; bottom: 40px; }.featured-message small { color: var(--gold-light); letter-spacing: .13em; text-transform: uppercase; }.featured-message h3 { margin: 10px 0; font-family: var(--serif); font-size: 42px; font-weight: 400; }.featured-message p { max-width: 530px; color: #b9c8d5; line-height: 1.6; }.play { position: absolute; z-index: 3; left: 45px; top: 42px; width: 65px; height: 65px; display: grid; place-items: center; border-radius: 50%; background: var(--gold); color: var(--navy); box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.message-platforms { display: grid; gap: 15px; }.platform { display: grid; grid-template-columns: 52px 1fr 25px; align-items: center; gap: 18px; padding: 28px; color: white; box-shadow: 0 10px 30px rgba(3,28,52,.1); transition: transform .2s; }.platform:hover { transform: translateX(6px); }.platform img,.tv-icon { width: 46px; height: 46px; padding: 11px; border-radius: 50%; background: rgba(255,255,255,.13); filter: invert(1); }.platform small,.platform strong { display: block; }.platform small { margin-bottom: 6px; color: rgba(255,255,255,.7); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }.platform strong { font-family: var(--serif); font-size: 20px; font-weight: 400; }.platform.youtube { background: linear-gradient(135deg,#551613,#ba2821); }.platform.spotify { background: linear-gradient(135deg,#123123,#188a4e); }.platform.godtv { background: linear-gradient(135deg,#061a35,#135a91); }.tv-icon { display: grid; place-items: center; filter: none; font-size: 10px; font-weight: 800; }

.beliefs { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7vw; color: white; background: radial-gradient(circle at 0 100%,rgba(49,130,188,.3),transparent 28%),linear-gradient(130deg,#020d1f,#0a355c); }.beliefs-intro p:not(.kicker) { color: #9eb2c2; line-height: 1.7; }.belief-cards { display: grid; grid-template-columns: repeat(3,1fr); border-top: 1px solid rgba(255,255,255,.14); }.belief-cards article { padding: 38px 27px; border-right: 1px solid rgba(255,255,255,.14); }.belief-cards article:last-child { border-right: 0; }.belief-cards span { color: var(--gold); font-size: 10px; }.belief-cards h3 { margin: 35px 0 18px; font-family: var(--serif); font-size: 25px; font-weight: 400; }.belief-cards p { color: #a7b9c7; font-size: 14px; line-height: 1.7; }

.leadership { display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding-top: 0; padding-bottom: 0; background: linear-gradient(135deg,#e5f0f7,#f8fbfd); }.leadership-photo { min-height: 670px; align-self: stretch; display: flex; align-items: flex-end; justify-content: center; background: linear-gradient(145deg,#f4f9fc,#9fc1d7); }.leadership-photo img { width: 100%; height: 100%; object-fit: contain; object-position: bottom; }.leadership-copy { padding: 90px 7vw; }.leadership-copy h2 { color: var(--navy); }.leadership-copy > p:not(.kicker) { color: var(--muted); font-size: 17px; line-height: 1.8; }.leadership-quote { margin-top: 35px; padding: 22px 0 22px 25px; border-left: 3px solid var(--gold); color: var(--navy); font-family: var(--serif); font-size: 20px; }.leadership-quote span { display: block; margin-top: 8px; color: var(--blue); font-family: Arial,sans-serif; font-size: 9px; letter-spacing: .14em; text-transform: uppercase; }

.events { background: linear-gradient(135deg,#fff,#edf5f9); }.next-event { display: grid; grid-template-columns: 1.08fr .92fr; overflow: hidden; color: white; box-shadow: 0 28px 80px rgba(5,35,65,.2); }.next-event-image { position: relative; min-height: 570px; }.next-event-image:after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,transparent 45%,rgba(2,15,31,.72)); }.next-event-image img { width: 100%; height: 100%; position: absolute; object-fit: cover; object-position: center 20%; filter: saturate(.8); }.next-event-image > span { position: absolute; z-index: 2; left: 0; top: 30px; padding: 12px 25px; color: var(--navy); background: var(--gold-light); font-size: 9px; font-weight: 900; letter-spacing: .15em; text-transform: uppercase; }.next-event-details { padding: 58px 50px; background: radial-gradient(circle at 100% 0,rgba(49,130,188,.3),transparent 35%),linear-gradient(145deg,#04142d,#0b4472); }.next-event-details h3 { margin: 6px 0; font-family: var(--serif); font-size: clamp(48px,5vw,74px); font-weight: 400; line-height: .95; }.event-theme { margin: 0 0 30px; color: var(--gold-light); font-family: var(--serif); font-size: 20px; font-style: italic; }.schedule { border-top: 1px solid rgba(255,255,255,.17); }.schedule p { display: flex; justify-content: space-between; gap: 20px; margin: 0; padding: 15px 0; border-bottom: 1px solid rgba(255,255,255,.17); font-size: 13px; }.schedule strong { font-weight: 600; }.schedule span { color: #cfdfeb; text-align: right; }.venue { margin: 25px 0; padding-left: 18px; border-left: 2px solid var(--gold); }.venue strong,.venue span { display: block; }.venue strong { letter-spacing: .07em; text-transform: uppercase; }.venue span { margin-top: 5px; color: #a9bfce; font-size: 13px; }.event-actions { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }.event-actions > a:last-child { padding-bottom: 5px; border-bottom: 1px solid var(--gold); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }
.event-list { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 25px; }.event-list article { display: grid; grid-template-columns: 115px 1fr 45px; align-items: center; gap: 24px; padding: 28px; border: 1px solid #cbdce7; background: rgba(255,255,255,.78); box-shadow: 0 12px 35px rgba(5,35,65,.06); }.date { min-height: 85px; display: flex; flex-direction: column; justify-content: center; padding-left: 18px; border-left: 3px solid var(--blue); }.date strong { color: var(--blue); font-family: var(--serif); font-size: 32px; }.date span { color: var(--muted); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }.event-list small { color: var(--blue); font-size: 8px; letter-spacing: .12em; text-transform: uppercase; }.event-list h3 { margin: 6px 0; font-family: var(--serif); font-size: 25px; font-weight: 400; }.event-list p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }.event-list > article > a { width: 39px; height: 39px; display: grid; place-items: center; border: 1px solid var(--blue); border-radius: 50%; color: var(--blue); }

.ministry-life { background: var(--cream); }.ministry-cards { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }.ministry-cards article { background: white; box-shadow: 0 16px 40px rgba(5,34,60,.08); transition: transform .25s; }.ministry-cards article:hover { transform: translateY(-7px); }.ministry-cards img { width: 100%; height: 300px; object-fit: cover; }.ministry-cards article > div { padding: 28px; }.ministry-cards span { color: var(--blue); font-size: 9px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.ministry-cards h3 { margin: 9px 0 12px; color: var(--navy); font-family: var(--serif); font-size: 26px; font-weight: 400; }.ministry-cards p { margin: 0; color: var(--muted); line-height: 1.6; }

.prayer { display: grid; grid-template-columns: .9fr 1.1fr; color: white; background: linear-gradient(135deg,#020d20,#0a3d69); }.prayer-copy { position: relative; overflow: hidden; padding: 105px 7vw; background: radial-gradient(circle at 0 100%,rgba(49,130,188,.35),transparent 32%); }.prayer-copy:after { content: ""; position: absolute; width: 350px; height: 350px; left: -190px; bottom: -190px; border: 1px solid rgba(240,212,130,.18); border-radius: 50%; box-shadow: 0 0 0 45px rgba(255,255,255,.015); }.prayer-copy blockquote { margin: 38px 0 24px; padding: 20px 0 20px 24px; border-left: 2px solid var(--gold); font-family: var(--serif); font-size: 20px; line-height: 1.5; }.prayer-copy blockquote span { display: block; margin-top: 8px; color: var(--gold-light); font-family: Arial,sans-serif; font-size: 9px; letter-spacing: .13em; text-transform: uppercase; }.prayer-copy > p:last-child { color: #a9bfce; line-height: 1.7; }.prayer-form { display: flex; flex-direction: column; gap: 22px; padding: 105px 7vw; color: var(--ink); background: #edf5f9; }.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }.prayer-form label { display: flex; flex-direction: column; gap: 9px; color: var(--navy); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.prayer-form input,.prayer-form textarea { width: 100%; padding: 15px 16px; border: 1px solid #bfcfda; border-radius: 0; outline: 0; color: var(--ink); background: white; font-size: 15px; line-height: 1.5; }.prayer-form input:focus,.prayer-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(19,90,145,.12); }.prayer-form textarea { min-height: 150px; resize: vertical; }.prayer-form .consent { flex-direction: row; align-items: flex-start; color: var(--muted); font-size: 11px; font-weight: 400; letter-spacing: 0; line-height: 1.5; text-transform: none; }.consent input { width: 17px; height: 17px; margin: 0; accent-color: var(--blue); }.prayer-form button { align-self: flex-start; border: 0; }

.gallery { background: white; }
.gallery-grid { display: grid; grid-template-columns: repeat(4,1fr); grid-auto-rows: 230px; gap: 14px; }
.gallery-card { position: relative; min-height: 0; margin: 0; overflow: hidden; background: var(--navy); box-shadow: 0 14px 35px rgba(5,34,60,.08); cursor: zoom-in; }
.gallery-card img { width: 100%; height: 100%; object-fit: cover; object-position: center center; transition: transform .35s, filter .35s; }
.gallery-face img { object-fit: cover; object-position: center 30%; }
.gallery-card:nth-child(5) img { object-position: center 24%; }
.gallery-card:nth-child(6) img { object-position: center 34%; }
.gallery-card:nth-child(7) img { object-position: center 23%; }
.gallery-card:nth-child(8) img { object-position: center 28%; }
.gallery-card:nth-child(9) img { object-position: center 24%; }
.gallery-card:nth-child(10) img { object-position: center 23%; }
.gallery-card:nth-child(13) img { object-position: center 34%; }
.gallery-card:nth-child(14) img { object-position: center 24%; }
.gallery-card:nth-child(15) img { object-position: center 23%; }
.gallery-card:nth-child(16) img { object-position: center 20%; }
.gallery-card:nth-child(17) img { object-position: center 18%; }
.gallery-card:nth-child(18) img { object-position: center 22%; }
.gallery-card:nth-child(19) img { object-position: center 18%; }
.gallery-card:nth-child(20) img { object-position: center 20%; }
.gallery-card:nth-child(21) img { object-position: center 18%; }
.gallery-card:nth-child(22) img { object-position: 43% 31%; }
.gallery-card:nth-child(23) img { object-position: center 28%; }
.gallery-card:nth-child(24) img { object-position: center 26%; }
.gallery-card:nth-child(25) img { object-position: center 18%; }
.gallery-card:nth-child(26) img { object-position: center 19%; }
.gallery-card:nth-child(29) img { object-position: center 30%; }
.gallery-card:nth-child(30) img { object-position: 68% 30%; }
.gallery-card:nth-child(36) img { object-position: center 18%; }
.gallery-card:nth-child(37) img { object-position: center 18%; }
.gallery-card:after { content: ""; position: absolute; inset: auto 0 0; height: 48%; background: linear-gradient(180deg,transparent,rgba(2,13,31,.74)); pointer-events: none; }
.gallery-card figcaption { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 16px; color: white; font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.gallery-card:hover img { transform: scale(1.035); filter: saturate(1.05); }
.gallery-card:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 4px; }
.gallery-feature { grid-column: span 2; grid-row: span 2; }
.gallery-wide { grid-column: span 2; }
.gallery-tall { grid-row: span 2; }
.gallery-lightbox { position: fixed; inset: 0; z-index: 100; display: flex; align-items: center; justify-content: center; padding: clamp(18px,4vw,54px); background: rgba(2,13,31,.93); opacity: 0; pointer-events: none; transition: opacity .22s ease; }
.gallery-lightbox[hidden] { display: none; }
.gallery-lightbox.open { opacity: 1; pointer-events: auto; }
.gallery-lightbox figure { width: min(100%,1200px); max-height: 90vh; margin: 0; color: white; }
.gallery-lightbox img { width: 100%; max-height: 82vh; object-fit: contain; background: #020d1f; box-shadow: 0 24px 80px rgba(0,0,0,.45); }
.gallery-lightbox figcaption { margin-top: 14px; color: #d6e4ef; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; text-align: center; }
.gallery-lightbox-close { position: absolute; top: 20px; right: 20px; width: 44px; height: 44px; border: 1px solid rgba(255,255,255,.35); background: rgba(255,255,255,.1); color: white; font-size: 18px; font-weight: 800; cursor: pointer; }
.gallery-lightbox-close:hover { background: rgba(255,255,255,.18); }
.lightbox-open { overflow: hidden; }

.give-now { display: grid; grid-template-columns: .95fr 1.05fr; color: white; background: var(--navy); }.give-copy { padding: 105px 7vw; background: radial-gradient(circle at 10% 90%,rgba(49,130,188,.35),transparent 35%); }.give-copy > p:not(.kicker) { color: #adc0cf; line-height: 1.7; }.banking-details { display: grid; gap: 16px; margin-top: 36px; padding: 30px 0; border-top: 1px solid rgba(255,255,255,.15); border-bottom: 1px solid rgba(255,255,255,.15); }.banking-details p { display: grid; grid-template-columns: 155px 1fr; gap: 20px; margin: 0; align-items: start; }.banking-details small,.banking-details strong { display: block; }.banking-details small { color: var(--gold-light); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.banking-details strong { color: white; font-size: 17px; font-weight: 700; line-height: 1.45; }.give-qr { display: grid; place-items: center; min-height: 590px; padding: 75px 7vw; background: linear-gradient(135deg,#edf5f9,#ffffff); }.give-qr > div { width: min(100%,430px); padding: 34px; color: var(--navy); background: white; box-shadow: 0 24px 70px rgba(5,34,60,.16); text-align: center; }.give-qr img { width: min(100%,300px); margin: 0 auto 24px; border: 12px solid white; box-shadow: 0 12px 35px rgba(5,34,60,.09); }.give-qr p { margin: 0 0 12px; color: var(--navy); font-family: var(--serif); font-size: 28px; line-height: 1.1; }.give-qr span { display: block; color: var(--muted); font-size: 13px; line-height: 1.7; }

.partner { background: linear-gradient(135deg,#ffffff,#edf5f9); }.partner .section-heading { align-items: start; }.partner-form { position: relative; display: flex; flex-direction: column; gap: 22px; max-width: 1080px; padding: 36px; border: 1px solid #cbdce7; background: white; box-shadow: 0 22px 65px rgba(5,34,60,.1); }.partner-form label { display: flex; flex-direction: column; gap: 9px; color: var(--navy); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.partner-form input,.partner-form select,.partner-form textarea { width: 100%; padding: 15px 16px; border: 1px solid #bfcfda; border-radius: 0; outline: 0; color: var(--ink); background: white; font-size: 15px; line-height: 1.5; }.partner-form select { appearance: none; background-image: linear-gradient(45deg,transparent 50%,var(--blue) 50%),linear-gradient(135deg,var(--blue) 50%,transparent 50%); background-position: calc(100% - 20px) 52%,calc(100% - 14px) 52%; background-size: 6px 6px,6px 6px; background-repeat: no-repeat; }.partner-form input:focus,.partner-form select:focus,.partner-form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(19,90,145,.12); }.partner-form textarea { min-height: 160px; resize: vertical; }.partner-form button { align-self: flex-start; border: 0; }.form-note { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.6; }.partner-feedback { display: none; padding: 14px 16px; border-left: 3px solid var(--blue); color: var(--navy); background: var(--blue-light); font-size: 14px; line-height: 1.55; }.partner-feedback.show { display: block; }.partner-feedback.success { border-left-color: var(--gold); background: #fff6df; }.partner-feedback.error { border-left-color: #a53d3d; background: #fff0f0; color: #7d2424; }.spam-check { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }

.social { display: flex; align-items: center; justify-content: space-between; gap: 50px; background: #f5f9fc; }.social h2 { color: var(--navy); }.social-links { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; flex: 1; max-width: 860px; }.social-links a { display: flex; align-items: center; gap: 12px; min-height: 82px; padding: 15px; color: white; }.social-links img { width: 35px; height: 35px; padding: 8px; border-radius: 50%; filter: invert(1); background: rgba(255,255,255,.15); }.social-links strong,.social-links small { display: block; }.social-links strong { font-size: 12px; }.social-links small { margin-top: 4px; color: rgba(255,255,255,.7); font-size: 8px; }.facebook { background: #1877f2; }.instagram { background: linear-gradient(145deg,#833ab4,#e1306c,#f77737); }.youtube { background: #f00; }.spotify { background: #159c4e; }

footer { color: #a6b6c3; background: linear-gradient(130deg,#010811,#061d39); }.footer-main { display: grid; grid-template-columns: 1.4fr .7fr 1fr 1fr; gap: 50px; padding: 75px 6vw; }.footer-brand img { width: 95px; }.footer-brand h3 { margin: 18px 0 10px; color: white; font-family: var(--serif); font-size: 22px; font-weight: 400; }.footer-brand p { max-width: 330px; line-height: 1.6; }.footer-main h4 { margin: 8px 0 20px; color: var(--gold-light); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }.footer-main > div:not(.footer-brand) { display: flex; flex-direction: column; gap: 11px; }.footer-main a,.footer-main p { margin: 0; font-size: 13px; line-height: 1.7; }.footer-main a:hover { color: white; }.footer-bottom { display: flex; justify-content: space-between; gap: 30px; padding: 25px 6vw; border-top: 1px solid rgba(255,255,255,.09); font-size: 10px; }.footer-bottom strong { color: var(--gold-light); font-family: var(--serif); font-size: 14px; font-weight: 400; }

a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline: 3px solid var(--gold-light); outline-offset: 3px; }

main > section { scroll-margin-top: 102px; }
.section-slide-in { animation: sectionSlideIn .55s cubic-bezier(.2,.8,.2,1) both; }
@keyframes sectionSlideIn {
  from { opacity: .35; transform: translateX(54px); }
  to { opacity: 1; transform: translateX(0); }
}

/* Face-aware framing for Pastor Phatudi's portrait photographs */
.about-main { object-position: center 30%; }
.about-small { object-position: center 30%; }
.featured-message > img { object-position: center 31%; filter: saturate(.9) contrast(1.02); }
.next-event-image img { object-position: center 31%; filter: saturate(.9) contrast(1.02); }
.ministry-cards article:nth-child(1) img { object-position: center 28%; }
.ministry-cards article:nth-child(2) img { object-position: center 30%; }
.ministry-cards article:nth-child(3) img { object-position: center 29%; }

@media (max-width: 1100px) {
  .site-header nav { gap: 15px; }.site-header nav a { font-size: 9px; }.brand { font-size: 13px; }
  .beliefs { grid-template-columns: 1fr; }.message-grid { grid-template-columns: 1fr; }.message-platforms { grid-template-columns: repeat(3,1fr); }.platform { grid-template-columns: 45px 1fr; }.platform b { display: none; }
  .social { align-items: flex-start; flex-direction: column; }.social-links { width: 100%; max-width: none; }
}

@media (max-width: 850px) {
  .section { padding: 78px 7vw; }
  .announcement { flex-wrap: wrap; gap: 7px 14px; }.announcement-link { display: none; }
  .site-header { min-height: 72px; padding: 0 5vw; }.brand img { width: 48px; height: 48px; }.brand span { display: none; }
  .menu-toggle { display: block; margin-left: auto; }.nav-cta { padding: 10px 11px; font-size: 8px; }
  .site-header nav { position: absolute; left: 0; right: 0; top: 71px; display: flex; flex-direction: column; align-items: stretch; gap: 0; max-height: 0; overflow: hidden; background: white; box-shadow: 0 22px 38px rgba(3,29,54,.15); transition: max-height .3s; }.site-header nav.open { max-height: 430px; }.site-header nav a { padding: 15px 7vw; border-top: 1px solid var(--line); font-size: 11px; }.site-header nav a.active { background: var(--blue-light); color: var(--blue); }.site-header nav a:after { display: none; }
  .hero { min-height: 890px; grid-template-columns: 1fr; align-items: start; padding: 80px 7vw 430px; }.hero-content > p:not(.kicker) { font-size: 16px; }.hero-image-wrap { width: 100%; height: 47%; right: -8vw; }.hero-orbit { width: 390px; height: 390px; right: -60px; }.hero-caption { right: 7vw; bottom: 25px; }.hero-verse { display: none; }
  .quick-links { width: 86%; grid-template-columns: 1fr; margin-top: -30px; }.quick-links > a { min-height: 95px; border-right: 0; border-bottom: 1px solid var(--line); }.quick-links > a:last-child { border-bottom: 0; }
  .about,.leadership,.prayer,.give-now { grid-template-columns: 1fr; }.about { padding-top: 110px; }.about-visual { min-height: 480px; }.about-main { height: 440px; }.about-small { height: 210px; }.about-copy { padding-top: 30px; }
  .section-heading { grid-template-columns: 1fr; gap: 20px; }.message-platforms { grid-template-columns: 1fr; }.featured-message { min-height: 500px; }
  .belief-cards { grid-template-columns: 1fr; }.belief-cards article { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }.belief-cards article:last-child { border-bottom: 0; }
  .leadership-photo { min-height: 480px; }.leadership-copy { padding: 75px 7vw; }
  .next-event { grid-template-columns: 1fr; }.next-event-image { min-height: 440px; }.next-event-details { padding: 45px 7vw; }.event-list { grid-template-columns: 1fr; }
  .ministry-cards { grid-template-columns: 1fr; }.ministry-cards img { height: 340px; }
  .prayer-copy,.prayer-form,.give-copy { padding: 78px 7vw; }.give-qr { min-height: 470px; padding: 60px 7vw; }.partner-form { padding: 28px; }
  .gallery-grid { grid-template-columns: 1fr 1fr; grid-auto-rows: 240px; }.gallery-feature,.gallery-wide { grid-column: span 2; }.gallery-tall { grid-row: span 1; }
  .social-links { grid-template-columns: 1fr 1fr; }.footer-main { grid-template-columns: 1fr 1fr; }.footer-brand { grid-column: 1/3; }
}

@media (max-width: 540px) {
  h1 { font-size: 58px; }.hero-actions { flex-direction: column; align-items: flex-start; }.hero-image-wrap { right: -15vw; }
  .about-visual { min-height: 390px; }.about-main { width: 100%; height: 360px; }.about-small { display: none; }.about-badge { width: 105px; height: 105px; }
  .featured-message { min-height: 440px; }.featured-message > div { left: 25px; right: 25px; bottom: 25px; }.featured-message h3 { font-size: 32px; }.play { left: 25px; top: 25px; }
  .schedule p { flex-direction: column; gap: 6px; }.schedule span { text-align: left; }.event-list article { grid-template-columns: 1fr; }.event-list > article > a { display: none; }
  .form-row,.banking-details p { grid-template-columns: 1fr; gap: 7px; }.partner-form { padding: 24px 18px; }.partner-form button { width: 100%; }.gallery-grid { grid-template-columns: 1fr; grid-auto-rows: 270px; }.gallery-feature,.gallery-wide,.gallery-tall,.gallery-card { grid-column: 1; grid-row: auto; }.gallery-card:nth-child(5) img,.gallery-card:nth-child(10) img,.gallery-card:nth-child(14) img,.gallery-card:nth-child(15) img,.gallery-card:nth-child(16) img,.gallery-card:nth-child(17) img,.gallery-card:nth-child(18) img,.gallery-card:nth-child(19) img,.gallery-card:nth-child(20) img,.gallery-card:nth-child(21) img,.gallery-card:nth-child(22) img,.gallery-card:nth-child(23) img,.gallery-card:nth-child(24) img,.gallery-card:nth-child(25) img,.gallery-card:nth-child(26) img,.gallery-card:nth-child(29) img,.gallery-card:nth-child(30) img,.gallery-card:nth-child(36) img,.gallery-card:nth-child(37) img { object-position: center 18%; }
  .social-links { grid-template-columns: 1fr; }.footer-main { grid-template-columns: 1fr; }.footer-brand { grid-column: 1; }.footer-bottom { flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .section-slide-in { animation: none; }
}
