:root {
  --purple-deep:#2D1557;
  --purple-dark:#3D1F70;
  --purple:#5B2D8E;
  --purple-mid:#7B45B0;
  --purple-light:#C4A0E0;
  --purple-pale:#F3EDFB;
  --purple-ghost:#FAF6FF;
  --gold:#A8822A;
  --gold-mid:#C9A84C;
  --gold-light:#E8CC7A;
  --white:#FFFFFF;
  --off-white:#F8F7FB;
  --border:#E2D9EF;
  --border-light:#EDE8F5;
  --text:#1A1020;
  --text2:#3D2F55;
  --muted:#7A6E8A;
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }

body {
  font-family:'Barlow', sans-serif;
  background:var(--white);
  color:var(--text);
  overflow-x:hidden;
}

#email-overlay {
  position:fixed; inset:0;
  background:rgba(45,21,87,0.80);
  z-index:9999;
  display:flex; align-items:center; justify-content:center;
  padding:1rem;
  animation:fadeIn 0.4s ease forwards;
}
@keyframes fadeIn { from{opacity:0} to{opacity:1} }

#email-modal {
  background:var(--white);
  border-top:5px solid var(--purple);
  max-width:520px; width:100%;
  padding:3rem 2.5rem 2.5rem;
  text-align:center; position:relative;
  animation:slideUp 0.45s ease 0.1s both;
  box-shadow:0 32px 70px rgba(45,21,87,0.22);
}
@keyframes slideUp {
  from{transform:translateY(28px);opacity:0}
  to{transform:translateY(0);opacity:1}
}

.modal-cross {
  position:absolute; top:1rem; right:1.25rem;
  font-size:1.3rem; color:var(--muted);
  cursor:pointer; background:none; border:none; line-height:1;
}
.modal-cross:hover { color:var(--purple); }

.modal-eyebrow {
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--gold); margin-bottom:0.6rem; display:block;
}

#email-modal h2 {
  font-family:'Playfair Display',serif;
  font-size:2rem; font-weight:900; color:var(--purple-deep);
  line-height:1.15; margin-bottom:0.75rem;
}
#email-modal h2 em { color:var(--gold); font-style:italic; }

.modal-body {
  font-size:0.92rem; color:var(--muted); line-height:1.75; margin-bottom:1rem;
}

.modal-field-row { display:flex; gap:0.5rem; margin-bottom:0.5rem; }

.modal-field-row input {
  flex:1; width:100%;
  padding:0.8rem 1rem;
  background:var(--purple-ghost); border:1px solid var(--border);
  color:var(--text); font-family:'Barlow',sans-serif; font-size:0.88rem;
  outline:none; transition:border-color 0.2s;
}
.modal-field-row input:focus { border-color:var(--purple-mid); background:var(--white); }
.modal-field-row input::placeholder { color:var(--muted); }

.modal-field-submit button {
  padding:0.8rem 1.4rem;
  background:var(--purple); color:var(--white);
  font-family:'Barlow Condensed',sans-serif; font-size:0.82rem; font-weight:700;
  letter-spacing:0.12em; text-transform:uppercase;
  border:none; cursor:pointer; white-space:nowrap;
}
.modal-field-submit button:hover { background:var(--purple-dark); }

.modal-disclaimer { font-size:0.72rem; color:#bbb; margin-top:1rem; }

.form-success {
  display:none; color:var(--purple);
  font-family:'Barlow Condensed',sans-serif; letter-spacing:0.08em; font-size:0.95rem;
  padding:0.9rem 1rem; border:1px solid var(--purple-light);
  background:var(--purple-pale); margin-top:1rem;
}

nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 3rem;
  background:rgba(255,255,255,0.97);
  border-bottom:1px solid var(--border-light);
  backdrop-filter:blur(8px);
}

.nav-logo {
  font-family:'Barlow Condensed',sans-serif; font-size:1rem; font-weight:800;
  letter-spacing:0.05em; text-transform:uppercase; color:var(--purple-deep);
  text-decoration:none; line-height:1.2;
}
.nav-logo span {
  color:var(--gold); display:block;
  font-size:0.65rem; font-weight:600; letter-spacing:0.18em;
}

.nav-links { display:flex; gap:1.75rem; list-style:none; align-items:center; }

.nav-links a {
  font-family:'Barlow Condensed',sans-serif; font-size:0.78rem; font-weight:600;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--text2);
  text-decoration:none;
}
.nav-links a:hover { color:var(--purple); }

.nav-cta {
  padding:0.5rem 1.2rem;
  background:var(--purple) !important; color:var(--white) !important;
}
.nav-cta:hover { background:var(--purple-dark) !important; }

#hero {
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden; text-align:center; padding:8rem 2rem 5rem;
}

.hero-bg {
  position:absolute; inset:0;
  background:linear-gradient(155deg, var(--purple-deep) 0%, #4a1a80 50%, var(--purple-deep) 100%);
}
.hero-bg::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 80% 65% at 50% 45%, rgba(201,168,76,0.12) 0%, transparent 68%);
}
.hero-lines {
  position:absolute; inset:0;
  background-image:
    repeating-linear-gradient(0deg, transparent, transparent 79px, rgba(196,160,224,0.07) 80px),
    repeating-linear-gradient(90deg, transparent, transparent 79px, rgba(196,160,224,0.07) 80px);
}
.hero-arc {
  position:absolute; bottom:-2px; left:0; right:0;
  height:80px; overflow:hidden;
}
.hero-arc svg { width:100%; height:100%; display:block; }

.hero-content { position:relative; z-index:2; max-width:820px; }

.hero-eyebrow {
  font-family:'Barlow Condensed',sans-serif; font-size:0.72rem;
  letter-spacing:0.35em; text-transform:uppercase; color:var(--gold-light);
  margin-bottom:1.25rem; display:block;
}

.hero-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.8rem,7vw,5.5rem); font-weight:900; color:#FFFFFF;
  line-height:1.05; margin-bottom:1.5rem;
}
.hero-title em { font-style:italic; color:var(--gold-light); }

.hero-verse {
  font-family:'Playfair Display',serif; font-style:italic; font-size:1rem;
  color:rgba(255,255,255,0.6); line-height:1.85; margin-bottom:2.5rem;
  max-width:600px; margin-left:auto; margin-right:auto;
}
.hero-verse strong {
  display:block; font-style:normal; font-size:0.7rem;
  font-family:'Barlow Condensed',sans-serif; letter-spacing:0.22em; text-transform:uppercase;
  color:var(--gold-light); margin-top:0.5rem;
}

.hero-buttons { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }

.btn-gold {
  display:inline-block; padding:0.9rem 2rem;
  background:var(--gold-mid); color:var(--white);
  font-family:'Barlow Condensed',sans-serif; font-size:0.82rem; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase; text-decoration:none;
}
.btn-gold:hover { background:var(--gold); }

.btn-outline-white {
  display:inline-block; padding:0.9rem 2rem;
  border:1px solid rgba(255,255,255,0.4); color:rgba(255,255,255,0.9);
  font-family:'Barlow Condensed',sans-serif; font-size:0.82rem; font-weight:700;
  letter-spacing:0.18em; text-transform:uppercase; text-decoration:none;
}
.btn-outline-white:hover { border-color:var(--gold-light); color:var(--gold-light); }

.service-strip {
  background:var(--purple);
  padding:1.1rem 3rem;
  display:flex; align-items:center; justify-content:center; gap:3rem; flex-wrap:wrap;
}
.service-item { text-align:center; }
.service-item .s-day {
  font-family:'Barlow Condensed',sans-serif; font-size:0.65rem; font-weight:700;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-light);
}
.service-item .s-time {
  font-family:'Barlow Condensed',sans-serif; font-size:1.1rem; font-weight:800; color:#fff;
}
.service-item .s-detail { font-size:0.72rem; color:rgba(255,255,255,0.65); margin-top:0.1rem; }
.strip-div { width:1px; height:38px; background:rgba(255,255,255,0.2); }

section { padding:6rem 2rem; }
.container { max-width:1100px; margin:0 auto; }

.eyebrow {
  font-family:'Barlow Condensed',sans-serif; font-size:0.68rem;
  letter-spacing:0.3em; text-transform:uppercase; color:var(--gold);
  margin-bottom:0.6rem; display:block;
}

.sec-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.9rem,4vw,2.9rem); font-weight:700; color:var(--purple-deep);
  line-height:1.15; margin-bottom:1.25rem;
}

#leadership { background:var(--white); padding-top:6rem; }

.leadership-grid {
  display:grid;
  grid-template-columns:minmax(250px,1fr) minmax(280px,360px) minmax(250px,1fr);
  gap:4rem; align-items:center;
}

.leader-column-left { text-align:left; }
.leader-column-right { text-align:right; }

.leader-kicker {
  font-family:'Barlow Condensed',sans-serif;
  font-size:0.7rem; letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold); margin-bottom:0.75rem;
}

.leader-name {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.2rem,4vw,3.4rem);
  line-height:1.05; color:var(--purple-deep); margin-bottom:1rem;
}

.leader-summary {
  font-size:0.95rem; line-height:1.9; color:var(--muted); max-width:380px;
}

.leader-column-left .leader-summary,
.leader-column-left .leader-quote { margin-right:auto; }

.leader-column-right .leader-summary,
.leader-column-right .leader-quote { margin-left:auto; }

.leader-quote {
  margin-top:1.5rem; padding-top:1rem; border-top:1px solid var(--border-light);
  color:var(--purple-light); font-family:'Playfair Display',serif;
  font-style:italic; font-size:1.05rem; max-width:380px;
}

.leader-image-column { position:relative; display:flex; justify-content:center; }

.leader-photo-frame {
  width:min(100%,360px);
  position:relative;
  background:var(--purple-pale);
  border:2px solid var(--purple-light);
  padding:0.55rem;
}

.leader-photo-frame::before {
  content:'';
  position:absolute;
  top:-1rem; left:-1rem; right:1rem; bottom:1rem;
  border:2px solid var(--purple-light);
  z-index:0;
}

.leader-photo {
  position:relative; z-index:1;
  width:100%; height:100%;
  object-fit:cover;
  object-position:center 18%;
  display:block;
  aspect-ratio:3 / 4;
}

#connect { background:var(--off-white); }
.connect-header { text-align:center; margin-bottom:3rem; }
.connect-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--border); }

.connect-card {
  background:var(--white); padding:2.5rem 1.75rem;
  text-align:center; text-decoration:none; display:block;
}
.connect-card:hover { background:var(--purple-ghost); }

.card-icon {
  width:54px; height:54px;
  border:1.5px solid var(--purple-light);
  background:var(--purple-ghost);
  display:flex; align-items:center; justify-content:center; margin:0 auto 1.25rem;
}
.card-icon svg { width:22px; height:22px; stroke:var(--purple-mid); fill:none; stroke-width:1.5; }

.connect-card h3 {
  font-family:'Barlow Condensed',sans-serif; font-size:0.95rem; font-weight:700;
  letter-spacing:0.15em; text-transform:uppercase; color:var(--purple-deep); margin-bottom:0.6rem;
}
.connect-card p { font-size:0.86rem; line-height:1.75; color:var(--muted); }

.card-link {
  display:inline-block; margin-top:1rem;
  font-family:'Barlow Condensed',sans-serif; font-size:0.72rem; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); text-decoration:none;
}

#gallery { background:var(--white); padding:5rem 0; overflow:hidden; }
.gallery-header { text-align:center; padding:0 2rem; margin-bottom:2.5rem; }
.carousel-outer { overflow:hidden; padding:0 2rem; }
.carousel-track { display:flex; transition:transform 0.5s ease; will-change:transform; }
.carousel-slide { min-width:calc(33.333% - 1rem); margin-right:1.5rem; flex-shrink:0; overflow:hidden; }
.photo-box { aspect-ratio:4/3; background:var(--purple-ghost); overflow:hidden; position:relative; }
.photo-box img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s ease; }
.carousel-slide:hover .photo-box img { transform:scale(1.04); }

.slide-caption {
  padding:0.8rem 0.25rem 0;
  font-family:'Barlow Condensed',sans-serif; font-size:0.73rem; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--purple-mid);
}

.carousel-controls {
  display:flex; align-items:center; justify-content:center;
  gap:1rem; margin-top:2.5rem; padding:0 2rem;
}

.carousel-btn {
  width:44px; height:44px;
  border:1.5px solid var(--border);
  background:var(--white); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:var(--purple-mid);
}
.carousel-btn svg { width:18px; height:18px; stroke:currentColor; fill:none; stroke-width:2; }

.carousel-dots { display:flex; gap:0.5rem; }
.dot {
  width:8px; height:8px; background:var(--border); border-radius:50%;
  cursor:pointer;
}
.dot.active { background:var(--purple); transform:scale(1.3); }

.carousel-cta { text-align:center; margin-top:2rem; padding:0 2rem; }

#prayer { background:var(--off-white); padding:5.5rem 2rem; }

.prayer-inner {
  max-width:960px; margin:0 auto;
  display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:center;
}

.prayer-info h2 {
  font-family:'Playfair Display',serif; font-size:2.1rem; font-weight:700;
  color:var(--purple-deep); margin-bottom:1rem; line-height:1.2;
}
.prayer-info p { font-size:0.93rem; color:var(--muted); line-height:1.85; margin-bottom:0.9rem; }

.prayer-details {
  background:var(--white);
  border-left:3px solid var(--purple);
  padding:2rem;
  box-shadow:0 2px 24px rgba(91,45,142,0.08);
}

.prayer-detail-row { display:flex; align-items:flex-start; gap:1rem; margin-bottom:1.1rem; }
.pdr-label {
  font-family:'Barlow Condensed',sans-serif; font-size:0.65rem;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); min-width:70px;
}
.pdr-value { font-size:0.92rem; color:var(--text); line-height:1.5; }

#movement { background:var(--purple-deep); text-align:center; }
#movement .eyebrow { color:var(--gold-light); }

.movement-quote {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.3rem,3vw,1.9rem); font-style:italic;
  color:rgba(255,255,255,0.92); max-width:760px; margin:0 auto 0.75rem; line-height:1.55;
}
.movement-ref {
  font-family:'Barlow Condensed',sans-serif; font-size:0.75rem;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-light); margin-bottom:3rem;
}

.movement-grid {
  display:grid; grid-template-columns:repeat(2,1fr);
  gap:1px; background:rgba(255,255,255,0.08); max-width:800px; margin:0 auto;
}
.movement-item {
  background:rgba(255,255,255,0.04); padding:2.25rem 2rem; text-align:left;
}
.movement-item h4 {
  font-family:'Barlow Condensed',sans-serif; font-size:0.8rem; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--gold-light); margin-bottom:0.5rem;
}
.movement-item p { font-size:0.88rem; color:rgba(255,255,255,0.55); line-height:1.75; }

#give {
  background:linear-gradient(135deg, var(--gold) 0%, var(--gold-mid) 100%);
  text-align:center; padding:5rem 2rem;
}
#give .eyebrow { color:rgba(255,255,255,0.65); }
#give .sec-title { color:var(--white); }
#give p { font-size:1rem; color:rgba(255,255,255,0.85); max-width:500px; margin:0 auto 2rem; line-height:1.8; }

.btn-purple,
.btn-primary-purple {
  display:inline-block; padding:1rem 2.5rem;
  background:var(--purple-deep); color:var(--white);
  font-family:'Barlow Condensed',sans-serif; font-size:0.85rem; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; text-decoration:none;
}

footer { background:var(--purple-deep); padding:4rem 2rem 2rem; }

.footer-grid {
  max-width:1100px; margin:0 auto 3rem;
  display:grid; grid-template-columns:1.5fr 1fr 1fr 1fr; gap:3rem;
}

.footer-brand h3 {
  font-family:'Playfair Display',serif; font-size:1.1rem;
  color:var(--white); margin-bottom:0.75rem;
}
.footer-brand p { font-size:0.84rem; color:rgba(255,255,255,0.45); line-height:1.8; margin-bottom:1.25rem; }

.footer-social { display:flex; gap:0.6rem; }
.footer-social a {
  width:34px; height:34px; border:1px solid rgba(255,255,255,0.18);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,0.45); text-decoration:none; font-size:0.78rem;
}

.footer-col h4 {
  font-family:'Barlow Condensed',sans-serif; font-size:0.68rem; font-weight:700;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--gold-light); margin-bottom:1rem;
}
.footer-col ul { list-style:none; }
.footer-col ul li { margin-bottom:0.45rem; }
.footer-col ul li a {
  font-size:0.83rem; color:rgba(255,255,255,0.4);
  text-decoration:none;
}

.footer-bottom {
  max-width:1100px; margin:0 auto;
  border-top:1px solid rgba(255,255,255,0.08); padding-top:1.5rem;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem;
}
.footer-bottom p { font-size:0.76rem; color:rgba(255,255,255,0.25); }
.footer-tax {
  font-family:'Barlow Condensed',sans-serif; font-size:0.68rem;
  letter-spacing:0.15em; text-transform:uppercase; color:rgba(255,255,255,0.25);
}

@media (max-width:900px) {
  nav { padding:1rem 1.5rem; }
  .nav-links { display:none; }
  .leadership-grid, .prayer-inner { grid-template-columns:1fr; gap:3rem; }
  .connect-grid { grid-template-columns:1fr 1fr; }
  .carousel-slide { min-width:calc(50% - 0.75rem); }
  .movement-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .service-strip { gap:1.5rem; padding:1rem; }
  .strip-div { display:none; }
  .leader-column-left, .leader-column-right { text-align:center; }
  .leader-column-left .leader-summary,
  .leader-column-left .leader-quote,
  .leader-column-right .leader-summary,
  .leader-column-right .leader-quote { margin-left:auto; margin-right:auto; }
  .leader-image-column { order:-1; }
}

@media (max-width:600px) {
  .connect-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .carousel-slide { min-width:calc(88% - 0.75rem); }
  .modal-field-submit { flex-direction:column; }
  #email-modal { padding:2rem 1.5rem; }
}
