:root{
  --ivory:#F7F3E8; --ivory-deep:#EFE7D3; --paper:#FCFAF3;
  --garnet:#6E1B23; --garnet-bright:#8E2A30; --garnet-deep:#4E1219;
  --gold:#A9802C; --gold-soft:#C9A84F; --gold-pale:#E7D6A6;
  --palm:#5C6A43;
  --ink:#2B2118; --ink-soft:#5C5142; --ink-faint:#8A7D69;
  --line:rgba(110,27,35,.16); --line-gold:rgba(169,128,44,.35);
  --display:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --body:'Spectral',Georgia,serif;
  --tamil:'Noto Serif Tamil',var(--display);
  --sans:ui-sans-serif,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --shadow:0 18px 50px -28px rgba(43,33,24,.55);
  --maxw:1140px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--body);font-size:18px;line-height:1.72;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 12% -5%,rgba(169,128,44,.07),transparent 42%),radial-gradient(circle at 92% 4%,rgba(110,27,35,.05),transparent 45%);}
img{max-width:100%;display:block}
a{color:var(--garnet);text-decoration:none}
h1,h2,h3,h4{font-family:var(--display);font-weight:600;line-height:1.08;color:var(--ink);margin:0}
.tamil{font-family:var(--tamil)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px}
.eyebrow{font-family:var(--sans);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);font-weight:600;display:block}
.rule{display:flex;align-items:center;gap:14px;margin:38px 0;color:var(--gold)}
.rule::before,.rule::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,transparent,var(--line-gold),transparent)}
.rule span{font-family:var(--display);font-size:20px;color:var(--gold);transform:rotate(45deg);opacity:.8}

/* ---------- NAV (centered title on top, menu below) ---------- */
header.nav{position:sticky;top:0;z-index:60;background:rgba(247,243,232,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-top{position:relative;display:flex;justify-content:center;align-items:center;padding:15px 60px 11px}
.brand{display:inline-flex;align-items:center;gap:15px;text-align:left}
.brand-mark{flex:none;display:grid;place-items:center;filter:drop-shadow(0 4px 10px rgba(78,18,25,.25))}
.brand-mark .emblem,.brand-mark .logo-img{display:block}
.brand-text b{font-family:var(--display);font-weight:600;font-size:25px;line-height:1.05;letter-spacing:.01em;display:block}
.brand-text small{display:block;font-family:var(--sans);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-faint);
  margin-top:7px;white-space:nowrap}
nav.links{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;border-top:1px solid var(--line);padding:7px 14px}
nav.links a{font-family:var(--sans);font-size:13.5px;letter-spacing:.02em;color:var(--ink-soft);padding:9px 15px;border-radius:7px;font-weight:500;transition:.18s}
nav.links a:hover{color:var(--garnet);background:rgba(110,27,35,.06)}
nav.links a.active{color:var(--garnet);background:rgba(110,27,35,.09)}
nav.links a.nav-admin{color:var(--ink-faint);display:inline-flex;align-items:center;justify-content:center;padding:9px 12px}
nav.links a.nav-admin svg{display:block}
nav.links a.nav-admin:hover{color:var(--garnet)}
.menu-btn{display:none;position:absolute;right:18px;top:50%;transform:translateY(-50%);background:none;border:1px solid var(--line);border-radius:8px;padding:8px 11px;cursor:pointer;color:var(--garnet);font-size:18px}

/* ---------- HERO + SLIDESHOW ---------- */
.hero{padding:62px 0 40px;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.12fr .88fr;gap:54px;align-items:center}
.hero-copy .eyebrow{margin-bottom:22px}                 /* << space under hero eyebrow */
.hero h1{font-size:clamp(40px,6vw,72px);font-weight:600;letter-spacing:-.01em}
.hero .tname{font-family:var(--tamil);font-size:clamp(30px,4.4vw,50px);color:var(--garnet);font-weight:600;line-height:1.2;margin-bottom:8px}
.hero .lede{font-size:21px;color:var(--ink-soft);max-width:40ch;margin:20px 0 28px;font-weight:300}
.dates{display:flex;gap:26px;font-family:var(--sans);font-size:13px;letter-spacing:.04em;color:var(--ink-faint)}
.dates b{display:block;font-family:var(--display);font-size:26px;color:var(--garnet);font-weight:600;letter-spacing:0;margin-top:3px}
.cta-row{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}
.btn{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:.02em;border-radius:9px;padding:13px 22px;cursor:pointer;border:1px solid transparent;transition:.18s;display:inline-flex;align-items:center;gap:8px}
.btn.primary{background:var(--garnet);color:var(--gold-pale)}
.btn.primary:hover{background:var(--garnet-bright)}
.btn.ghost{background:transparent;color:var(--garnet);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--garnet);background:rgba(110,27,35,.05)}

.hero-show{justify-self:center;width:min(380px,88vw)}
.hero-show .arch{position:relative;border-radius:190px 190px 18px 18px;overflow:hidden;border:1px solid var(--line-gold);box-shadow:var(--shadow);background:var(--paper)}
.slideshow{position:relative;aspect-ratio:2/3}
.slide{position:absolute;inset:0;margin:0;opacity:0;transition:opacity .9s ease;}
.slide.on{opacity:1}
.slide img{width:100%;height:100%;object-fit:cover}
.slide figcaption{position:absolute;left:0;right:0;bottom:0;padding:40px 18px 16px;color:#fff;text-align:center;
  background:linear-gradient(transparent,rgba(43,18,22,.82))}
.slide figcaption b{font-family:var(--display);font-style:italic;font-size:20px;display:block}
.slide figcaption span{font-family:var(--sans);font-size:12px;opacity:.85}
.ss-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:rgba(252,250,243,.82);border:1px solid var(--line-gold);
  color:var(--garnet);width:38px;height:38px;border-radius:50%;cursor:pointer;font-size:20px;line-height:1}
.ss-nav.prev{left:8px}.ss-nav.next{right:8px}
.ss-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;gap:7px;justify-content:center;z-index:3}
.ss-dots button{width:8px;height:8px;border-radius:50%;border:none;background:rgba(255,255,255,.55);cursor:pointer;padding:0}
.ss-dots button.on{background:var(--gold-pale)}

.summary{max-width:760px;margin:0 auto;font-size:21px;font-weight:300;color:var(--ink-soft);text-align:center}

/* ---------- CARDS ---------- */
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(232px,1fr));gap:20px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:26px 24px;transition:.2s;display:block}
.card.link:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--line-gold)}
.card .num{font-family:var(--display);font-size:15px;color:var(--gold);font-weight:600;letter-spacing:.1em}
.card h3{font-size:22px;margin:8px 0}
.card p{font-size:15.5px;color:var(--ink-soft);margin:0}
.card .go{font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--garnet);margin-top:16px;display:inline-block}

/* ---------- PAGE SHELL ---------- */
main{min-height:60vh}
.page{padding:54px 0 30px;animation:fade .5s ease}
.page > .wrap .eyebrow{text-align:center}
.page .cta-row,.page .candle-line{justify-content:center}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.page-head{max-width:760px;margin:0 auto;text-align:center}
.page-head h1{font-size:clamp(32px,4.6vw,52px);margin-top:12px}
.page-head p{color:var(--ink-soft);font-size:19px;font-weight:300;margin-top:14px}
.prose{max-width:70ch;margin-left:auto;margin-right:auto}
.prose h2{font-size:30px;margin:34px 0 8px;color:var(--garnet)}
.prose p{margin:14px 0}
.prose blockquote{margin:24px 0;padding:6px 0 6px 26px;border-left:3px solid var(--gold-soft);font-style:italic;color:var(--ink-soft);font-size:19px}
.prose blockquote cite{display:block;font-style:normal;font-family:var(--sans);font-size:12.5px;letter-spacing:.04em;color:var(--ink-faint);margin-top:10px}
.closing-reflection{max-width:none;margin:34px auto 6px;padding:30px 36px;background:linear-gradient(160deg,#FBF6E8,#F1E7CE);
  border:1px solid var(--line-gold);border-radius:16px;font-family:var(--display);font-style:italic;font-size:22px;line-height:1.5;
  color:var(--garnet-deep);text-align:center;box-shadow:var(--shadow)}

/* ---------- STORYTELLING TWO-COLUMN ---------- */
.story-grid{display:grid;grid-template-columns:1fr .82fr;gap:40px;align-items:start;margin:18px auto;max-width:1000px}
.story-grid.reverse{grid-template-columns:.82fr 1fr}
.story-grid .prose{max-width:none;margin:0}
.art{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);overflow:hidden;align-self:center}
.art img{width:100%;border-radius:10px}
.art-svg{background:linear-gradient(160deg,#FBF6E8,#F1E7CE);display:grid;place-items:center}
.art .story{width:68%;max-width:220px;height:auto;margin:6px auto}
/* Mission Field — vertical auto-scrolling picture strip */
.mission-grid{align-items:stretch}
.img-strip{align-self:stretch;min-height:420px;border-radius:16px;overflow:hidden;border:1px solid var(--line);
  box-shadow:var(--shadow);background:linear-gradient(160deg,#FBF6E8,#F1E7CE);position:relative}
.img-strip::before,.img-strip::after{content:"";position:absolute;left:0;right:0;height:46px;z-index:2;pointer-events:none}
.img-strip::before{top:0;background:linear-gradient(#FBF6E8,transparent)}
.img-strip::after{bottom:0;background:linear-gradient(transparent,#F1E7CE)}
.img-strip-track{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;gap:12px;padding:12px;animation:stripUp 30s linear infinite}
.img-strip:hover .img-strip-track{animation-play-state:paused}
.strip-item{margin:0}
.strip-item img{width:100%;border-radius:10px;display:block}
.strip-item figcaption{font-family:var(--sans);font-size:11px;color:var(--ink-faint);text-align:center;margin-top:6px}
@keyframes stripUp{from{transform:translateY(0)}to{transform:translateY(-50%)}}
.art figcaption{font-family:var(--sans);font-size:12px;letter-spacing:.04em;color:var(--ink-faint);text-align:center;margin-top:12px}
/* story animations */
.sail-bob{animation:bob 3.4s ease-in-out infinite;transform-origin:100px 120px}
@keyframes bob{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
.wave{animation:drift 4s linear infinite}
@keyframes drift{from{transform:translateX(0)}to{transform:translateX(-25px)}}
.quill{animation:write 3s ease-in-out infinite;transform-origin:120px 100px}
@keyframes write{0%,100%{transform:rotate(0)}50%{transform:rotate(-6deg)}}
.halo-ring{animation:spin 18s linear infinite;transform-origin:100px 92px}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- VIRTUES / SHRINES ---------- */
.virtues{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:10px}
.virtue{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--garnet);border-radius:10px;padding:20px 22px}
.virtue h3{font-size:18px;color:var(--garnet);margin-bottom:6px}
.virtue p{font-size:15px;color:var(--ink-soft);margin:0}
.shrines{list-style:none;padding:0;margin:10px 0 0;columns:2;column-gap:42px}
.shrines li{break-inside:avoid;margin:0 0 12px;font-size:16.5px;padding-left:20px;position:relative}
.shrines li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:12px}
.shrines li b{font-family:var(--display);font-style:italic;font-weight:500}

/* ---------- WRITINGS ---------- */
.works{display:grid;gap:24px}
.workgroup{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:24px 28px}
.workgroup h3{font-size:21px;color:var(--garnet);display:flex;align-items:baseline;gap:12px}
.workgroup h3 .ct{font-family:var(--sans);font-size:12px;letter-spacing:.1em;color:var(--gold);border:1px solid var(--line-gold);border-radius:20px;padding:2px 10px;font-weight:600}
.worklist{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:2px}
.worklist li{padding:11px 0;border-bottom:1px dashed var(--line);display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.worklist li:last-child{border-bottom:0}
.worklist .ti{font-family:var(--display);font-style:italic;font-size:19px;font-weight:500}
.worklist .yr{font-family:var(--sans);font-size:12px;color:var(--gold);font-weight:600;letter-spacing:.05em}
.worklist .gl{color:var(--ink-soft);font-size:15px;flex-basis:100%}
.pdf-actions{flex-basis:100%;display:flex;gap:8px;margin-top:4px}
.pdf-btn{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.03em;border:1px solid var(--line-gold);border-radius:7px;padding:6px 12px;color:var(--garnet);transition:.15s}
.pdf-btn:hover{background:rgba(110,27,35,.06)}
.pdf-btn.dl{background:var(--garnet);color:var(--gold-pale);border-color:var(--garnet)}
.pdf-btn.dl:hover{background:var(--garnet-bright)}

/* ---------- CHURCHES ---------- */
.church-list{display:grid;gap:22px;margin-top:8px}
.church{display:grid;grid-template-columns:200px 1fr;gap:26px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px;align-items:center}
.church-media{aspect-ratio:1;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#FBF6E8,#EDE1C2);display:grid;place-items:center}
.church-media img{width:100%;height:100%;object-fit:cover}
.church-media .story{width:80%}
.church-yr{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--gold)}
.church h3{font-size:23px;margin:4px 0 6px}
.church-place{font-family:var(--sans);font-size:11.5px;letter-spacing:.06em;color:var(--palm);text-transform:uppercase;font-weight:600;margin-bottom:8px}
.church p{font-size:15.5px;color:var(--ink-soft);margin:0}

/* ---------- TIMELINE + HISTORIC MAP ---------- */
.tl-layout{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.mapwrap{position:sticky;top:104px}
.mapcard{background:linear-gradient(160deg,#FBF6E8,#F1E7CE);border:1px solid var(--line-gold);border-radius:16px;padding:16px;box-shadow:var(--shadow)}
.maptitle{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.maptitle b{font-family:var(--display);font-size:20px;color:var(--garnet)}
.maptitle .pin-name{font-family:var(--sans);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);font-weight:600;text-align:right}
.histmap{height:460px;border-radius:12px;overflow:hidden;border:1px solid var(--line-gold)}
/* historic brown / sepia treatment on the live map tiles */
.histmap .leaflet-tile-pane{filter:sepia(.9) saturate(1.25) hue-rotate(-12deg) brightness(.92) contrast(1.02)}
.histmap .leaflet-container{background:#E7D9BC}
.beschi-pin{background:var(--garnet);width:14px;height:14px;border-radius:50%;border:2px solid var(--gold-pale);box-shadow:0 0 0 3px rgba(110,27,35,.25)}
.beschi-pin.active{background:var(--gold);box-shadow:0 0 0 6px rgba(169,128,44,.4);animation:ping 1.4s infinite}
@keyframes ping{0%,100%{box-shadow:0 0 0 5px rgba(169,128,44,.45)}50%{box-shadow:0 0 0 11px rgba(169,128,44,0)}}
.maptools{display:flex;gap:10px;margin-top:14px}
/* travelling portrait marker */
.traveler{position:relative;width:54px;height:54px;pointer-events:none}
.traveler img{position:absolute;left:4px;top:4px;width:46px;height:46px;border-radius:50%;object-fit:cover;
  border:2px solid var(--gold-pale);box-shadow:0 5px 14px rgba(43,18,22,.55);animation:travelBob 2.4s ease-in-out infinite}
.traveler .t-halo{position:absolute;inset:0;border-radius:50%;border:2px solid var(--gold-soft);animation:travelHalo 1.9s ease-out infinite}
@keyframes travelBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes travelHalo{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.4);opacity:0}}
.maptools button{flex:1;font-family:var(--sans);font-size:12.5px;font-weight:600;letter-spacing:.04em;border:1px solid var(--line);background:rgba(252,250,243,.7);color:var(--garnet);border-radius:8px;padding:10px;cursor:pointer;transition:.18s}
.maptools button:hover{border-color:var(--garnet);background:#fff}
.map-note{font-family:var(--sans);font-size:11.5px;color:var(--ink-faint);margin:12px 2px 2px;line-height:1.5}

.timeline{position:relative;padding-left:30px}
.timeline::before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:linear-gradient(var(--gold-soft),var(--line-gold))}
.era{position:relative;padding:0 0 34px;cursor:pointer}
.era::before{content:"";position:absolute;left:-27px;top:7px;width:14px;height:14px;border-radius:50%;background:var(--ivory);border:2px solid var(--gold);transition:.2s}
.era.on::before{background:var(--garnet);border-color:var(--garnet);box-shadow:0 0 0 4px rgba(110,27,35,.14)}
.era .yr{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--gold)}
.era h3{font-size:21px;margin:3px 0 6px;color:var(--ink)}
.era.on h3{color:var(--garnet)}
.era p{font-size:15.5px;color:var(--ink-soft);margin:0}
.era .loc{font-family:var(--sans);font-size:11.5px;letter-spacing:.06em;color:var(--palm);margin-top:7px;text-transform:uppercase;font-weight:600}

/* ---------- GALLERY + LIGHTBOX ---------- */
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.gtile{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden;cursor:pointer;transition:.2s}
.gtile:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-gold)}
.gtile .ph{aspect-ratio:3/4;overflow:hidden;background:var(--ivory-deep)}
.gtile .ph img{width:100%;height:100%;object-fit:cover;transition:.4s}
.gtile:hover .ph img{transform:scale(1.04)}
.gtile .cap{padding:14px 16px}
.gtile .cap b{font-family:var(--display);font-size:17px;font-style:italic;font-weight:500;display:block}
.gtile .cap span{font-family:var(--sans);font-size:12px;color:var(--ink-faint)}
.lb{position:fixed;inset:0;z-index:120;background:rgba(34,26,18,.92);display:none;align-items:center;justify-content:center;padding:24px}
.lb.open{display:flex}
.lb-inner{max-width:920px;width:100%;text-align:center}
.lb img{max-height:74vh;width:auto;margin:0 auto 14px;border-radius:8px;box-shadow:0 30px 80px -30px #000}
.lb-cap{color:var(--gold-pale);font-family:var(--display);font-style:italic;font-size:20px}
.lb-cap span{display:block;font-family:var(--sans);font-style:normal;font-size:12.5px;color:rgba(231,214,166,.7);margin-top:4px}
.lb-count{font-family:var(--sans);font-size:12px;letter-spacing:.1em;color:rgba(231,214,166,.6);margin:10px 0}
.lb-bar{display:flex;gap:10px;justify-content:center;align-items:center}
.lb-bar button,.lb-bar a{font-family:var(--sans);font-size:13px;font-weight:600;border-radius:8px;padding:10px 18px;cursor:pointer;border:1px solid rgba(231,214,166,.4);background:transparent;color:var(--gold-pale)}
.lb-bar button:hover,.lb-bar a:hover{background:rgba(231,214,166,.15)}
.lb-close{position:absolute;top:18px;right:22px;font-size:30px;color:var(--gold-pale);cursor:pointer;background:none;border:none}

/* ---------- FORMS / PRAYER WALL ---------- */
.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}
.formcard{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:30px;box-shadow:var(--shadow)}
.formcard h3{color:var(--garnet);font-size:24px;margin-bottom:4px}
.formcard .sub{font-size:14.5px;color:var(--ink-soft);margin-bottom:18px}
.field{margin-bottom:15px}
.field label{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;font-family:var(--body);font-size:16px;color:var(--ink);background:var(--ivory);border:1px solid var(--line);border-radius:9px;padding:11px 13px}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--garnet);box-shadow:0 0 0 3px rgba(110,27,35,.1)}
.field textarea{min-height:110px;resize:vertical}
.note{font-family:var(--sans);font-size:11.5px;color:var(--ink-faint);margin-top:6px}
.toast{font-family:var(--sans);font-size:13px;font-weight:600;border-radius:8px;padding:11px 14px;margin-top:12px}
.toast.ok{background:rgba(92,106,67,.14);color:#3f4a2c;border:1px solid rgba(92,106,67,.3)}
.toast.err{background:rgba(142,42,48,.1);color:var(--garnet);border:1px solid var(--line)}
.candle-line{display:flex;align-items:center;gap:10px;font-family:var(--sans);font-size:12.5px;color:var(--ink-faint);margin-top:16px}
.flame{width:9px;height:13px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:radial-gradient(circle at 50% 70%,#FFE08A,#E8932B 70%,transparent);filter:drop-shadow(0 0 5px rgba(232,147,43,.7));animation:flick 1.6s infinite alternate}
@keyframes flick{from{transform:scale(1)}to{transform:scale(1.12) translateY(-1px)}}
.wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin-top:14px}
.intention{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:18px 20px}
.intention .tag{font-family:var(--sans);font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:3px 9px;border-radius:20px;display:inline-block;margin-bottom:10px}
.intention .tag.prayer{background:rgba(110,27,35,.1);color:var(--garnet)}
.intention .tag.thanks{background:rgba(169,128,44,.16);color:var(--gold)}
.intention p{font-size:15.5px;margin:0 0 12px}
.intention .by{font-family:var(--sans);font-size:12px;color:var(--ink-faint)}
.intention .by b{color:var(--ink-soft);font-weight:600}
.wall-empty{font-family:var(--body);font-style:italic;color:var(--ink-faint);font-size:17px}

/* ---------- FOOTER ---------- */
footer{margin-top:60px;background:var(--garnet-deep);color:rgba(231,214,166,.85);padding:48px 0 30px}
footer .fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:36px}
footer h4{font-family:var(--display);font-size:21px;color:var(--gold-pale);margin-bottom:12px}
footer a,footer p{font-family:var(--sans);font-size:13.5px;color:rgba(231,214,166,.78);line-height:2}
footer a{display:block}footer a:hover{color:#fff}
footer .fnote{border-top:1px solid rgba(231,214,166,.2);margin-top:34px;padding-top:18px;font-size:12px;color:rgba(231,214,166,.55);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* ---------- RESPONSIVE ---------- */
@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:34px}.hero-show{order:-1}
  .tl-layout{grid-template-columns:1fr}.mapwrap{position:static;margin-bottom:30px}
  .story-grid,.story-grid.reverse{grid-template-columns:1fr;gap:22px}
  .formgrid{grid-template-columns:1fr;gap:22px}
  footer .fgrid{grid-template-columns:1fr 1fr}.shrines{columns:1}
  .church{grid-template-columns:1fr}.church-media{max-width:200px}
}
@media(max-width:700px){
  .menu-btn{display:block}
  .nav-top{padding:14px 56px 12px}
  .brand-text b{font-size:19px}.brand-text small{font-size:10px;letter-spacing:.16em}.brand{gap:12px}
  nav.links{display:none;flex-direction:column;align-items:center;gap:1px;padding:8px 14px 12px}
  nav.links.show{display:flex}
  nav.links a{width:100%;text-align:center;padding:11px 10px}
}
@media(max-width:560px){body{font-size:17px}.wrap{padding:0 18px}footer .fgrid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto}}
