/* =========================================================
   Love Unlimited Ministries — black · white · gold
   ========================================================= */

:root{
  --ink:        #0e0e10;
  --ink-2:      #141417;
  --ink-3:      #1b1b20;
  --ink-soft:   #26262d;
  --ivory:      #f6f2e8;
  --paper:      #faf8f1;
  --paper-2:    #f1ece0;
  --gold:       #c9a449;
  --gold-bright:#e6cd86;
  --gold-deep:  #9c7c2f;
  --gold-soft:  rgba(201,164,73,.16);
  --line-dark:  rgba(230,205,134,.18);
  --line-light: rgba(20,18,12,.12);
  --txt-dark:   #20201d;
  --txt-dark-mut:#5a564c;
  --txt-light:  #f6f2e8;
  --txt-light-mut: rgba(246,242,232,.68);

  --ff-display: "Cormorant Garamond", Georgia, serif;
  --ff-roman:   "Marcellus", Georgia, serif;
  --ff-body:    "Outfit", system-ui, sans-serif;

  --maxw: 1180px;
  --radius: 4px;
  --shadow-soft: 0 24px 60px -28px rgba(0,0,0,.55);
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:118px; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--ff-body);
  background:var(--ink);
  color:var(--txt-dark);
  line-height:1.65;
  font-weight:400;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ display:block; max-width:100%; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }

.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(20px,5vw,40px); }

/* ---------- Typography helpers ---------- */
.eyebrow{
  font-family:var(--ff-body);
  font-size:.72rem; font-weight:600;
  letter-spacing:.28em; text-transform:uppercase;
  color:var(--gold-deep);
  margin-bottom:1.1rem;
}
.eyebrow--gold{ color:var(--gold-bright); }
.eyebrow--center{ text-align:center; }
.gold-ink{
  background:linear-gradient(180deg,#f3dca0,var(--gold) 55%,var(--gold-deep));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.h-script{ font-family:var(--ff-display); font-weight:600; font-size:clamp(1.8rem,3.4vw,2.6rem); line-height:1.1; margin-bottom:.6rem; color:var(--txt-dark); }
.h-script--light{ color:var(--txt-light); }

.scripture{
  font-family:var(--ff-display);
  font-style:italic;
  font-size:clamp(1.25rem,2.6vw,1.7rem);
  line-height:1.45;
  color:var(--txt-dark);
  position:relative;
}
.scripture cite{
  display:block; margin-top:.9rem;
  font-family:var(--ff-body); font-style:normal;
  font-size:.82rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold-deep);
}
.scripture--light{ color:var(--ivory); }
.scripture--light cite{ color:var(--gold-bright); }
.scripture--feature{
  max-width:880px; margin:0 auto clamp(48px,7vw,84px);
  text-align:center; padding-top:2.2rem;
}
.scripture--feature::before{
  content:"\201C"; position:absolute; top:-.35em; left:50%; transform:translateX(-50%);
  font-size:5rem; color:var(--gold); opacity:.5; line-height:1;
}

/* =========================================================
   Header
   ========================================================= */
.site-header{ position:sticky; top:0; z-index:60; }
.utility{
  background:var(--ink-2);
  border-bottom:1px solid var(--line-dark);
  color:var(--txt-light-mut);
  font-size:.78rem;
}
.utility__inner{
  max-width:var(--maxw); margin-inline:auto;
  padding:.55rem clamp(20px,5vw,40px);
  display:flex; align-items:center; gap:1rem; flex-wrap:wrap; justify-content:center;
}
.utility__item{ display:inline-flex; align-items:center; gap:.5rem; letter-spacing:.02em; }
.utility__link{ transition:color .25s; }
.utility__link:hover{ color:var(--gold-bright); }
.utility__divider{ width:1px; height:14px; background:var(--line-dark); }
.ico{ width:1.05em; height:1.05em; color:var(--gold); flex:none; }

.nav{
  background:rgba(14,14,16,.86);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line-dark);
}
.nav__inner{
  max-width:var(--maxw); margin-inline:auto;
  padding:.7rem clamp(20px,5vw,40px);
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
}
.brand{ display:inline-flex; align-items:center; gap:.7rem; color:var(--ivory); }
.brand__mark{ width:42px; height:42px; color:var(--gold); flex:none; }
.brand__mark svg{ width:100%; height:100%; }
.brand__text{ display:flex; flex-direction:column; line-height:1; }
.brand__name{ font-family:var(--ff-roman); font-size:1.18rem; letter-spacing:.02em; }
.brand__sub{ font-family:var(--ff-body); font-size:.66rem; font-weight:600; letter-spacing:.36em; text-transform:uppercase; color:var(--gold); margin-top:.28rem; }

.nav__menu{ display:flex; align-items:center; gap:1.6rem; }
.nav__links{ display:flex; align-items:center; gap:.15rem; flex-wrap:wrap; }
.nav__links a{
  font-size:.84rem; font-weight:500; letter-spacing:.01em;
  color:var(--txt-light-mut);
  padding:.5rem .7rem; border-radius:var(--radius);
  position:relative; transition:color .25s;
  white-space:nowrap;
}
.nav__links a::after{
  content:""; position:absolute; left:.7rem; right:.7rem; bottom:.32rem; height:1px;
  background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease);
}
.nav__links a:hover{ color:var(--ivory); }
.nav__links a:hover::after,
.nav__links a.is-active::after{ transform:scaleX(1); }
.nav__links a.is-active{ color:var(--gold-bright); }
.nav__cta{ flex:none; }

.nav__toggle{ display:none; width:44px; height:44px; background:none; border:1px solid var(--line-dark); border-radius:var(--radius); cursor:pointer; flex-direction:column; align-items:center; justify-content:center; gap:5px; }
.nav__toggle span{ width:20px; height:2px; background:var(--gold-bright); transition:transform .3s var(--ease), opacity .2s; }

/* =========================================================
   Buttons
   ========================================================= */
.btn{
  --bg:var(--gold); --fg:var(--ink);
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--ff-body); font-weight:600; font-size:.86rem;
  letter-spacing:.04em;
  padding:.85rem 1.5rem; border-radius:var(--radius);
  border:1px solid transparent; cursor:pointer;
  transition:transform .25s var(--ease), background .25s, color .25s, border-color .25s, box-shadow .25s;
  text-align:center; line-height:1.1;
}
.btn:hover{ transform:translateY(-2px); }
.btn--sm{ padding:.6rem 1.1rem; font-size:.8rem; }
.btn--lg{ padding:1rem 2rem; font-size:.95rem; }
.btn--block{ width:100%; }
.btn--gold{
  background:linear-gradient(180deg,var(--gold-bright),var(--gold) 60%,var(--gold-deep));
  color:#241d06; box-shadow:0 12px 30px -14px rgba(201,164,73,.7);
}
.btn--gold:hover{ box-shadow:0 18px 38px -14px rgba(201,164,73,.85); }
.btn--outline{ background:transparent; color:var(--gold-bright); border-color:rgba(230,205,134,.5); }
.btn--outline:hover{ border-color:var(--gold-bright); background:rgba(201,164,73,.1); }
.btn--ghost{ background:rgba(246,242,232,.05); color:var(--ivory); border-color:rgba(246,242,232,.18); }
.btn--ghost:hover{ background:rgba(246,242,232,.1); border-color:rgba(246,242,232,.34); }
.btn--ink{ background:var(--ink); color:var(--ivory); border-color:var(--ink); }
.btn--ink:hover{ background:var(--ink-soft); }

/* =========================================================
   Hero
   ========================================================= */
.hero{
  position:relative; isolation:isolate;
  background:radial-gradient(120% 90% at 50% -10%, #1e1d1a 0%, var(--ink) 58%);
  color:var(--ivory);
  padding:clamp(64px,11vw,130px) 0 clamp(72px,12vw,140px);
  text-align:center; overflow:hidden;
}
.hero__bg{ position:absolute; inset:0; z-index:-1; }
.hero__glow{ position:absolute; border-radius:50%; filter:blur(70px); opacity:.5; }
.hero__glow--a{ width:50vw; height:50vw; top:-12%; left:50%; transform:translateX(-50%); background:radial-gradient(circle, rgba(201,164,73,.4), transparent 65%); }
.hero__glow--b{ width:34vw; height:34vw; bottom:-10%; right:-6%; background:radial-gradient(circle, rgba(156,124,47,.34), transparent 68%); }
.hero__grid{
  position:absolute; inset:0;
  background-image:linear-gradient(rgba(230,205,134,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(230,205,134,.05) 1px,transparent 1px);
  background-size:64px 64px;
  -webkit-mask-image:radial-gradient(120% 80% at 50% 30%, #000 30%, transparent 78%);
  mask-image:radial-gradient(120% 80% at 50% 30%, #000 30%, transparent 78%);
}
.hero__inner{ max-width:980px; margin-inline:auto; padding-inline:clamp(20px,5vw,40px); }
.hero__title{
  font-family:var(--ff-display); font-weight:600;
  font-size:clamp(2.6rem,6.6vw,5rem); line-height:1.04;
  letter-spacing:-.01em; margin:.4rem 0 1.4rem;
}
.hero__lede{ max-width:720px; margin:0 auto 1.8rem; font-size:clamp(1.02rem,1.7vw,1.18rem); color:var(--txt-light-mut); }
.hero__scripture{ max-width:680px; margin:0 auto 1.6rem; color:var(--ivory); }
.hero__scripture cite{ color:var(--gold-bright); }
.hero__tagline{
  max-width:640px; margin:0 auto 2.6rem;
  font-family:var(--ff-display); font-style:italic; font-size:clamp(1.05rem,2vw,1.3rem);
  color:var(--gold-bright);
}
.hero__actions{ display:flex; flex-wrap:wrap; gap:.7rem; justify-content:center; }

/* =========================================================
   Sections (shared)
   ========================================================= */
.section{ padding:clamp(64px,9vw,118px) 0; position:relative; }
.section--paper{ background:var(--paper); color:var(--txt-dark); }
.section--dark{ background:var(--ink); color:var(--ivory); }
.section--dark .scripture{ color:var(--ivory); }
.section-head{ max-width:760px; margin:0 auto clamp(40px,6vw,64px); text-align:center; }
.section-title{
  font-family:var(--ff-display); font-weight:600;
  font-size:clamp(2rem,4.4vw,3.2rem); line-height:1.08; letter-spacing:-.01em;
  color:var(--ivory);
}
.section-title--ink{ color:var(--txt-dark); }
.section-intro{ margin-top:1.1rem; font-size:1.05rem; color:var(--txt-light-mut); }
.section--paper .section-intro{ color:var(--txt-dark-mut); }

/* ---------- Vision & Mission / split media ---------- */
.vm{ display:grid; grid-template-columns:0.92fr 1.08fr; gap:clamp(32px,5vw,68px); align-items:center; }
.vm--reverse .vm__media{ order:2; }
.vm__body--center{ display:flex; flex-direction:column; }
.vm__block{ margin-top:1.6rem; }
.vm__block:first-of-type{ margin-top:1.2rem; }
.vm__block p + p{ margin-top:.8rem; }
.section--paper .vm__block p{ color:var(--txt-dark-mut); }

.ticks{ margin-top:1rem; display:grid; gap:.85rem; }
.ticks li{ position:relative; padding-left:1.9rem; color:var(--txt-dark-mut); }
.ticks li::before{
  content:""; position:absolute; left:0; top:.55em; width:1.05rem; height:.6rem;
  border-left:2px solid var(--gold); border-bottom:2px solid var(--gold);
  transform:rotate(-45deg);
}

/* ---------- Image frames ---------- */
.frame{
  position:relative; border-radius:var(--radius); overflow:hidden;
  background:var(--ink-2); box-shadow:var(--shadow-soft);
}
.frame::after{ content:""; position:absolute; inset:0; border:1px solid rgba(230,205,134,.28); border-radius:var(--radius); pointer-events:none; }
.frame--gold{ padding:10px; background:linear-gradient(150deg,var(--gold-bright),var(--gold-deep)); }
.frame--gold img{ border-radius:2px; }
.frame--gold::after{ inset:10px; }
.frame--tall img{ width:100%; aspect-ratio:2/3; object-fit:cover; }
.frame--portrait img{ width:100%; aspect-ratio:4/5; object-fit:cover; object-position:top center; }

.detail-list{ margin-top:1.6rem; display:grid; gap:.1rem; border-top:1px solid var(--line-light); }
.detail-list--dark{ border-top-color:var(--line-dark); }
.detail-list li{ display:flex; gap:1rem; padding:.85rem 0; border-bottom:1px solid var(--line-light); }
.detail-list--dark li{ border-bottom-color:var(--line-dark); }
.detail-list__k{ flex:0 0 34%; font-size:.74rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-deep); padding-top:.18rem; }
.detail-list--dark .detail-list__k{ color:var(--gold-bright); }
.detail-list__v{ font-family:var(--ff-display); font-size:1.2rem; }
.link-gold{ color:var(--gold-deep); border-bottom:1px solid currentColor; transition:color .2s; }
.detail-list--dark .link-gold,.section--dark .link-gold{ color:var(--gold-bright); }
.link-gold:hover{ color:var(--gold); }

/* ---------- Pillars (Equip/Strengthen/Serve/Unite) ---------- */
.pillars{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; }
.pillar{
  position:relative; padding:2rem 1.5rem 1.8rem;
  background:linear-gradient(180deg,var(--ink-3),var(--ink-2));
  border:1px solid var(--line-dark); border-radius:var(--radius);
  overflow:hidden; transition:transform .3s var(--ease), border-color .3s;
}
.pillar:hover{ transform:translateY(-5px); border-color:rgba(230,205,134,.4); }
.pillar__num{ font-family:var(--ff-display); font-size:2.4rem; color:var(--gold); opacity:.55; display:block; line-height:1; }
.pillar h3{ font-family:var(--ff-display); font-weight:600; font-size:1.6rem; margin:.8rem 0 .5rem; color:var(--ivory); }
.pillar p{ font-size:.94rem; color:var(--txt-light-mut); }
.pillar::before{ content:""; position:absolute; top:0; left:0; width:100%; height:2px; background:linear-gradient(90deg,var(--gold),transparent); transform:scaleX(0); transform-origin:left; transition:transform .4s var(--ease); }
.pillar:hover::before{ transform:scaleX(1); }

/* ---------- Built grid (What God Has Built) ---------- */
.built-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1.1rem; }
.built{
  padding:1.7rem 1.6rem; background:#fff; border:1px solid var(--line-light); border-radius:var(--radius);
  transition:transform .3s var(--ease), box-shadow .3s;
}
.built:hover{ transform:translateY(-4px); box-shadow:0 22px 40px -26px rgba(40,30,0,.45); }
.built__ico{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--gold-soft); color:var(--gold-deep); font-size:1.3rem; margin-bottom:1rem; }
.built h3{ font-family:var(--ff-display); font-weight:600; font-size:1.42rem; color:var(--txt-dark); margin-bottom:.35rem; }
.built p{ font-size:.95rem; color:var(--txt-dark-mut); }

/* ---------- Ministry grid (Find Your Place) ---------- */
.ministry-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:.7rem; margin-bottom:clamp(56px,8vw,90px); }
.ministry-grid li{
  display:flex; align-items:center; gap:.7rem;
  padding:.95rem 1.1rem; border:1px solid var(--line-dark); border-radius:var(--radius);
  background:rgba(246,242,232,.02); font-size:.95rem; color:var(--ivory);
  transition:background .25s, border-color .25s, transform .25s;
}
.ministry-grid li::before{ content:""; width:7px; height:7px; flex:none; border-radius:50%; background:var(--gold); box-shadow:0 0 0 3px var(--gold-soft); }
.ministry-grid li:hover{ background:rgba(201,164,73,.08); border-color:rgba(230,205,134,.4); transform:translateX(3px); }

.gallery-head{ text-align:center; margin-bottom:2.2rem; }
.gallery-note{ font-size:.86rem; color:var(--txt-light-mut); letter-spacing:.03em; }

/* ---------- Flyer wall ---------- */
.flyer-wall{ display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:1.1rem; }
.flyer{
  position:relative; border-radius:var(--radius); overflow:hidden; cursor:pointer;
  border:1px solid var(--line-dark); background:var(--ink-2);
  transition:transform .35s var(--ease), border-color .35s, box-shadow .35s;
}
.flyer img{ width:100%; aspect-ratio:2/3; object-fit:cover; transition:transform .5s var(--ease); }
.flyer__cap{
  position:absolute; inset:auto 0 0 0; padding:1.4rem .9rem .8rem;
  background:linear-gradient(180deg,transparent,rgba(8,8,9,.92));
  color:var(--ivory); font-size:.82rem; font-weight:500; letter-spacing:.02em;
  display:flex; align-items:center; gap:.45rem;
}
.flyer__cap::before{ content:""; width:6px; height:6px; flex:none; border-radius:50%; background:var(--gold-bright); }
.flyer:hover{ transform:translateY(-4px); border-color:rgba(230,205,134,.5); box-shadow:var(--shadow-soft); }
.flyer:hover img{ transform:scale(1.05); }

/* ---------- Feature bands (Watch / Donate) ---------- */
.section--feature{
  background:linear-gradient(180deg,#15140f,#0c0b09);
  color:var(--ivory); text-align:center; position:relative; overflow:hidden;
}
.section--feature::before{
  content:""; position:absolute; inset:0;
  background:radial-gradient(60% 60% at 50% 0%, rgba(201,164,73,.2), transparent 70%);
  pointer-events:none;
}
.watch__inner, .donate__inner{ max-width:720px; margin-inline:auto; position:relative; }
.watch__inner .btn, .donate__inner .btn{ margin-top:1.8rem; }
.watch .section-intro strong{ color:var(--gold-bright); }

.give-card{
  margin-top:2.4rem; padding:clamp(28px,4vw,44px);
  border:1px solid var(--line-dark); border-radius:8px;
  background:linear-gradient(180deg,rgba(38,36,28,.6),rgba(18,17,13,.6));
  box-shadow:var(--shadow-soft);
}
.give-card__label{ font-size:.78rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold-bright); }
.give-card__cashapp{ font-family:var(--ff-display); font-size:clamp(2rem,5vw,2.8rem); margin:.5rem 0 .2rem; line-height:1.05; }
.give-card__cashapp span{ display:block; color:var(--gold-bright); font-weight:600; letter-spacing:.01em; }

/* ---------- Forms ---------- */
.forms-wrap{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(36px,5vw,72px); align-items:start; }
.form-intro .scripture{ margin-top:1.6rem; }
.card-form{
  background:#fff; border:1px solid var(--line-light); border-radius:8px;
  padding:clamp(24px,3.5vw,40px); box-shadow:0 30px 60px -34px rgba(30,22,0,.4);
}
.card-form--dark{ background:var(--ink-2); border-color:var(--line-dark); box-shadow:var(--shadow-soft); }
.field{ margin-bottom:1.15rem; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.field label, .field__label{ display:block; font-size:.78rem; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--txt-dark-mut); margin-bottom:.5rem; }
.card-form--dark label, .card-form--dark .field__label{ color:var(--txt-light-mut); }
.field input, .field textarea{
  width:100%; font-family:var(--ff-body); font-size:1rem; color:var(--txt-dark);
  padding:.8rem .9rem; background:var(--paper); border:1px solid var(--line-light); border-radius:var(--radius);
  transition:border-color .2s, box-shadow .2s, background .2s; resize:vertical;
}
.card-form--dark input, .card-form--dark textarea{ background:var(--ink-3); border-color:var(--line-dark); color:var(--ivory); }
.field input:focus, .field textarea:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px var(--gold-soft); }
.radio-row{ display:flex; gap:.7rem; flex-wrap:wrap; }
.radio{ display:inline-flex; align-items:center; gap:.5rem; padding:.6rem 1.1rem; border:1px solid var(--line-light); border-radius:var(--radius); cursor:pointer; font-size:.92rem; transition:border-color .2s, background .2s; text-transform:none; letter-spacing:0; color:var(--txt-dark); }
.card-form--dark .radio{ border-color:var(--line-dark); color:var(--ivory); }
.radio span{ font-weight:500; }
.radio input{ accent-color:var(--gold-deep); width:1rem; height:1rem; }
.radio:has(input:checked){ border-color:var(--gold); background:var(--gold-soft); }
.card-form .btn{ margin-top:.6rem; }
.hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form-status{ margin-top:1rem; font-size:.92rem; min-height:1.2em; }
.form-status.is-error{ color:#c0392b; }
.card-form--dark .form-status.is-error{ color:#ff8a7a; }
.form-status.is-ok{ color:var(--gold-deep); font-family:var(--ff-display); font-style:italic; font-size:1.1rem; }
.card-form--dark .form-status.is-ok{ color:var(--gold-bright); }
.card-form.is-done .field, .card-form.is-done .btn{ opacity:.45; pointer-events:none; }

/* ---------- Pastor ---------- */
.pastor-quote{
  font-family:var(--ff-display); font-style:italic; font-size:clamp(1.5rem,3vw,2.1rem);
  line-height:1.4; color:var(--txt-dark); margin-top:.8rem; position:relative; padding-left:1.4rem;
  border-left:2px solid var(--gold);
}
.signature{ margin-top:1.8rem; }
.signature__name{ font-family:var(--ff-display); font-size:1.5rem; color:var(--txt-dark); }
.signature__role{ font-size:.84rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-deep); margin-top:.3rem; }

/* ---------- Contact ---------- */
.contact-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.contact-card{ text-align:center; padding:2.2rem 1.5rem; border:1px solid var(--line-dark); border-radius:var(--radius); background:rgba(246,242,232,.02); transition:transform .3s var(--ease), border-color .3s; }
.contact-card:hover{ transform:translateY(-4px); border-color:rgba(230,205,134,.4); }
.contact-card__ico{ display:inline-flex; width:54px; height:54px; align-items:center; justify-content:center; border-radius:50%; background:var(--gold-soft); margin-bottom:1rem; }
.contact-card__ico svg{ width:24px; height:24px; color:var(--gold-bright); }
.contact-card h3{ font-family:var(--ff-display); font-weight:600; font-size:1.5rem; color:var(--ivory); margin-bottom:.5rem; }
.contact-card p{ color:var(--txt-light-mut); }
.contact-cta{ text-align:center; margin-top:2.4rem; }

/* =========================================================
   Footer
   ========================================================= */
.footer{ background:#08080a; color:var(--txt-light-mut); padding:clamp(48px,7vw,80px) 0 2.4rem; border-top:1px solid var(--line-dark); }
.footer__inner{ text-align:center; display:flex; flex-direction:column; align-items:center; gap:1rem; }
.brand--footer{ justify-content:center; }
.footer__tag{ font-family:var(--ff-display); font-style:italic; font-size:1.15rem; color:var(--gold-bright); }
.footer__links{ display:flex; flex-wrap:wrap; justify-content:center; gap:.4rem 1.4rem; margin:.4rem 0; }
.footer__links a{ font-size:.88rem; transition:color .2s; }
.footer__links a:hover{ color:var(--gold-bright); }
.footer__addr{ font-size:.9rem; }
.footer__addr a{ color:var(--gold); }
.footer__copy{ font-size:.82rem; color:rgba(246,242,232,.4); margin-top:.6rem; padding-top:1.4rem; border-top:1px solid var(--line-dark); width:100%; max-width:640px; }

/* =========================================================
   Lightbox
   ========================================================= */
.lightbox{ position:fixed; inset:0; z-index:100; display:flex; align-items:center; justify-content:center; padding:4vh 4vw; background:rgba(6,6,8,.92); backdrop-filter:blur(6px); opacity:0; visibility:hidden; transition:opacity .3s, visibility .3s; }
.lightbox.is-open{ opacity:1; visibility:visible; }
.lightbox__img{ max-width:min(560px,92vw); max-height:90vh; border-radius:6px; border:1px solid rgba(230,205,134,.4); box-shadow:0 40px 90px -30px rgba(0,0,0,.8); transform:scale(.96); transition:transform .35s var(--ease); }
.lightbox.is-open .lightbox__img{ transform:scale(1); }
.lightbox__close{ position:absolute; top:max(18px,3vh); right:max(18px,3vw); width:48px; height:48px; border-radius:50%; border:1px solid rgba(230,205,134,.4); background:rgba(20,20,24,.7); color:var(--gold-bright); font-size:1.8rem; line-height:1; cursor:pointer; transition:background .2s, transform .2s; }
.lightbox__close:hover{ background:rgba(201,164,73,.2); transform:rotate(90deg); }

/* =========================================================
   Reveal animation
   ========================================================= */
.reveal{ opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.is-in{ opacity:1; transform:none; }

/* =========================================================
   Responsive
   ========================================================= */
@media (max-width:1080px){
  html{ scroll-padding-top:84px; }
  .nav__toggle{ display:flex; }
  .nav__menu{
    position:fixed; inset:0 0 0 auto; width:min(330px,86vw);
    flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0;
    background:var(--ink-2); border-left:1px solid var(--line-dark);
    padding:6rem 1.6rem 2rem; transform:translateX(100%); transition:transform .4s var(--ease);
    overflow-y:auto; box-shadow:-30px 0 60px -20px rgba(0,0,0,.6);
  }
  .nav__menu.is-open{ transform:translateX(0); }
  .nav__links{ flex-direction:column; align-items:stretch; gap:.1rem; }
  .nav__links a{ display:block; padding:.95rem .4rem; font-size:1rem; border-bottom:1px solid var(--line-dark); }
  .nav__links a::after{ display:none; }
  .nav__cta{ margin-top:1.4rem; }
  body.nav-open{ overflow:hidden; }
  .nav__toggle.is-open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
  .nav__toggle.is-open span:nth-child(2){ opacity:0; }
  .nav__toggle.is-open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
}
@media (max-width:860px){
  .pillars{ grid-template-columns:repeat(2,1fr); }
  .vm{ grid-template-columns:1fr; }
  .vm--reverse .vm__media{ order:0; }
  .vm__media{ max-width:440px; margin-inline:auto; width:100%; }
  .forms-wrap{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; max-width:440px; margin-inline:auto; }
}
@media (max-width:560px){
  .utility__inner{ gap:.4rem .9rem; font-size:.72rem; }
  .utility__divider{ display:none; }
  .pillars{ grid-template-columns:1fr; }
  .field-row{ grid-template-columns:1fr; }
  .hero__actions .btn{ width:100%; }
  .flyer-wall{ grid-template-columns:repeat(2,1fr); gap:.7rem; }
  .ministry-grid{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  .reveal{ opacity:1; transform:none; }
}
