/* =====================================================================
   DIOCESE OF KUMBAKONAM — style.css
   Royal Maroon + Gold theme | Mobile-first responsive | Animations
   Original site styles preserved; responsive history timeline overrides
   are appended at the end.
   ===================================================================== */
:root{
  --m950:#2a040d; --m900:#4a0714; --m800:#5c0a1e; --m700:#7a0f28; --m600:#941634; --m500:#b01e40;
  --g600:#8c6e0a; --g500:#c9a227; --g400:#e8c860; --g300:#f3dd95; --g100:#fdf3d0; --g50:#fffaf0;
  --cream:#fffbf2; --cream2:#fdf6e3; --cream3:#f7ead0;
  --n950:#060d1d; --n900:#0b1b33; --n800:#132647; --n700:#1d3560;
  --ink:#1a2332; --mut:#64748b;
  --fd:"Playfair Display","Noto Serif Tamil",serif; --fb:"Inter",sans-serif; --fr:"Cinzel",serif; --ft:"Noto Serif Tamil",serif;
  --rad:18px;
}
html{scroll-behavior:smooth;-webkit-tap-highlight-color:transparent}
body,h1,h2,h3,h4,p,ul,figure,blockquote{margin:0}
ul{padding:0;list-style:none}
img{max-width:100%}
body{font-family:var(--fb);background:var(--cream);color:var(--ink);overflow-x:hidden;padding-bottom:68px}
::selection{background:var(--m800);color:var(--g400)}
::-webkit-scrollbar{width:10px;height:8px}
::-webkit-scrollbar-track{background:var(--cream2)}
::-webkit-scrollbar-thumb{background:linear-gradient(var(--m800),var(--g600));border-radius:8px}
button{font-family:inherit;cursor:pointer}
a{text-decoration:none;color:inherit}
.container{max-width:80rem;margin:0 auto;padding-left:1rem;padding-right:1rem}
.container.narrow{max-width:64rem}
section{scroll-margin-top:84px}
 
/* ---------- helpers ---------- */
.gold-text{background:linear-gradient(120deg,#fdf3d0 0%,#e8c860 25%,#c9a227 50%,#f3dd95 75%,#c9a227 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.gold-text-dark{background:linear-gradient(120deg,#8c6e0a,#c9a227 40%,#7a5a08);-webkit-background-clip:text;background-clip:text;color:transparent}
.gold-hr{background:linear-gradient(90deg,transparent,#c9a227 20%,#e8c860 50%,#c9a227 80%,transparent);height:1px}
.tamil{font-family:var(--ft)}
.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--g400);animation:blink 1.6s infinite;display:inline-block;flex-shrink:0}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s ease,transform .7s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0s)}
.reveal.visible{opacity:1;transform:none}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes glowPulse{0%,100%{box-shadow:0 0 20px rgba(201,162,39,.35)}50%{box-shadow:0 0 45px rgba(201,162,39,.65)}}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.btn-gold{display:inline-flex;align-items:center;gap:.45rem;background:linear-gradient(90deg,var(--g500),var(--g400));color:var(--m950);font-weight:800;font-size:13px;padding:.6rem 1.15rem;border:none;border-radius:999px;transition:.3s;white-space:nowrap}
.btn-gold:hover{box-shadow:0 0 25px rgba(232,200,96,.5);transform:scale(1.05)}
.btn-gold.big{font-size:13px;padding:.85rem 1.4rem}
.btn-gold.full{width:100%;justify-content:center}
.btn-gold.glow{animation:glowPulse 3s ease-in-out infinite}
.btn-maroon{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--m800);color:#fff;font-weight:700;font-size:14px;padding:.8rem 1.6rem;border:none;border-radius:999px;transition:.3s;box-shadow:0 10px 25px -10px rgba(92,10,30,.5)}
.btn-maroon:hover{background:var(--m700)}
.btn-maroon.full{width:100%}
.btn-maroon.big{font-weight:800}
.btn-glass{display:inline-flex;align-items:center;gap:.45rem;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);color:#fff;font-weight:700;font-size:13px;padding:.85rem 1.4rem;border-radius:999px;transition:.3s;white-space:nowrap}
.btn-glass:hover{background:rgba(255,255,255,.22)}
.btn-outline{display:inline-flex;align-items:center;gap:.5rem;border:2px solid rgba(201,162,39,.6);color:var(--m800);font-weight:700;font-size:14px;padding:.7rem 1.5rem;border-radius:999px;transition:.3s}
.btn-outline:hover{background:rgba(201,162,39,.12)}
.btn-ghost-gold{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:rgba(255,255,255,.06);border:1px solid rgba(232,200,96,.5);color:var(--g400);font-weight:700;font-size:13px;padding:.8rem 1.4rem;border-radius:.9rem;transition:.3s;width:100%}
.btn-ghost-gold:hover{background:var(--g400);color:var(--m950)}
.icon-btn{width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;display:inline-flex;align-items:center;justify-content:center;transition:.3s;flex-shrink:0}
.icon-btn:hover{background:var(--g500);color:var(--m950);border-color:var(--g500)}
.lucide{width:18px;height:18px}
 
/* ---------- section head ---------- */
.sec-head{text-align:center;max-width:48rem;margin:0 auto 2rem}
.kicker{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;border:1px solid rgba(201,162,39,.4);background:rgba(92,10,30,.05);color:var(--m700)}
.kicker.gold{background:rgba(232,200,96,.15);border-color:rgba(232,200,96,.5);color:var(--g400)}
.sec-head h2{font-family:var(--fd);font-weight:800;font-size:1.65rem;line-height:1.2;margin-top:.8rem;color:var(--ink)}
.sec-head.light h2{color:#fff}
.sec-tamil{font-family:var(--ft);font-size:.9rem;margin-top:.4rem;color:var(--g600)}
.sec-head.light .sec-tamil{color:var(--g400)}
.sec-desc{margin-top:1rem;font-size:.875rem;line-height:1.7;color:var(--mut)}
.sec-head.light .sec-desc{color:rgba(255,255,255,.7)}
.sec-div{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem}
.sec-div span{height:1.5px;width:3rem;background:linear-gradient(90deg,transparent,var(--g500))}
.sec-div span:last-child{background:linear-gradient(90deg,var(--g500),transparent)}
.sec-div .lucide{width:15px;height:15px;color:var(--g500)}
 
/* ---------- topbar ---------- */
.topbar{display:none;background:var(--n900);color:rgba(243,221,149,.9);font-size:12.5px;position:relative;z-index:60}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.45rem;padding-bottom:.45rem}
.topbar-left{display:flex;align-items:center;gap:1.25rem}
.topbar-left span,.topbar-right .gold-line{display:inline-flex;align-items:center;gap:.35rem}
.topbar .lucide{width:12px;height:12px;color:var(--g400)}
.topbar-right{display:flex;align-items:center;gap:1rem}
.gold-line{color:var(--g400)}
.socials{display:flex;align-items:center;gap:.7rem;padding-left:.9rem;border-left:1px solid rgba(255,255,255,.15)}
.socials a{transition:.3s;display:inline-flex}
.socials a:hover{color:var(--g400)}
.hide-lg{display:none}
 
/* ---------- navbar ---------- */
.navbar{position:sticky;top:0;z-index:50;background:linear-gradient(90deg,var(--m950),var(--m800),var(--m950))}
.navbar.scrolled{box-shadow:0 10px 40px -10px rgba(42,4,13,.45)}
.navbar.scrolled .nav-bg{background:rgba(42,4,13,.95)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.65rem;padding-bottom:.65rem}
.brand{display:flex;align-items:center;gap:.65rem;min-width:0}
.crest{position:relative;width:46px;height:46px;border-radius:14px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,var(--m800),var(--m700) 55%,var(--m900));border:1.5px solid rgba(201,162,39,.6);box-shadow:0 8px 24px -6px rgba(92,10,30,.5),inset 0 1px 0 rgba(232,200,96,.4)}
.crest.small{width:40px;height:40px;border-radius:12px}
.crest-cross{width:18px;height:18px}
.crest.small .crest-cross{width:15px;height:15px}
.crest-year{font-family:var(--fr);color:var(--g400);font-weight:700;font-size:7px;margin-top:1px}
.crest-dot{position:absolute;top:-4px;right:-4px;width:11px;height:11px;border-radius:50%;background:var(--g400);box-shadow:0 0 10px rgba(232,200,96,.9);animation:floaty 2.2s ease-in-out infinite}
.brand-txt{display:flex;flex-direction:column;min-width:0}
.brand-over{font-family:var(--fr);color:var(--g400);font-size:9px;letter-spacing:.25em;text-transform:uppercase}
.brand-name{font-family:var(--fd);font-weight:800;color:#fff;font-size:1.15rem;line-height:1.1;white-space:nowrap}
.brand-name em{font-style:italic;font-size:.85em;background:linear-gradient(120deg,#fdf3d0,#e8c860,#c9a227);-webkit-background-clip:text;background-clip:text;color:transparent}
.brand-tamil{font-family:var(--ft);color:rgba(243,221,149,.7);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nav-links{display:none;align-items:center;gap:.15rem}
.nav-links a{position:relative;padding:.55rem .8rem;font-size:13.5px;font-weight:500;color:rgba(255,255,255,.85);border-radius:.55rem;transition:.3s}
.nav-links a:hover{color:#fff;background:rgba(255,255,255,.1)}
.nav-links a::after{content:"";position:absolute;bottom:4px;left:.8rem;right:.8rem;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--g400),var(--g500));transform:scaleX(0);transform-origin:left;transition:transform .3s}
.nav-links a:hover::after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:.5rem}
.lang-toggle{display:none;align-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:999px;padding:2px}
.lang-btn{border:none;background:transparent;color:rgba(255,255,255,.7);font-size:11px;font-weight:800;padding:.3rem .7rem;border-radius:999px;transition:.3s}
.lang-btn.active{background:var(--g400);color:var(--m950)}
.nav-actions .btn-gold{display:none}
.hamburger{padding:.65rem;border-radius:.7rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);color:#fff;display:inline-flex}
.hamburger:active{transform:scale(.92)}
 
/* ---------- drawer ---------- */
.drawer-overlay{position:fixed;inset:0;background:rgba(6,13,29,.7);backdrop-filter:blur(4px);z-index:70;opacity:0;pointer-events:none;transition:.3s}
.drawer-overlay.show{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;height:100%;width:86%;max-width:24rem;z-index:80;background:linear-gradient(180deg,var(--m950),var(--m900),var(--n900));display:flex;flex-direction:column;transform:translateX(100%);transition:transform .35s cubic-bezier(.22,1,.36,1);overflow:hidden}
.drawer.open{transform:none}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid rgba(255,255,255,.1)}
.drawer-brand{display:flex;align-items:center;gap:.65rem;color:#fff}
.drawer-brand span{display:flex;flex-direction:column}
.drawer-brand strong{font-family:var(--fd);font-size:1rem}
.drawer-brand small{font-family:var(--ft);color:var(--g400);font-size:10px}
.drawer-lang{display:flex;gap:.5rem;padding:1rem 1rem 0}
.dlang{flex:1;padding:.6rem;border-radius:.8rem;font-size:.85rem;font-weight:700;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.2);transition:.3s}
.dlang.tamil{font-family:var(--ft)}
.dlang.active{background:var(--g400);color:var(--m950);border-color:var(--g400)}
.drawer-nav{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.15rem}
.drawer-nav a{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-radius:.8rem;color:rgba(255,255,255,.9);transition:.3s}
.drawer-nav a:hover{background:rgba(255,255,255,.1);color:var(--g400)}
.drawer-nav a span{display:flex;flex-direction:column}
.drawer-nav strong{font-weight:500;font-size:15px}
.drawer-nav small{font-size:11px;color:rgba(255,255,255,.4);font-family:var(--ft)}
.drawer-nav .lucide{width:16px;height:16px;color:rgba(232,200,96,.6)}
.drawer-foot{padding:1rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;gap:.5rem}
.drawer-foot p{text-align:center;color:rgba(255,255,255,.4);font-size:11px;padding-top:.25rem}
 
/* ---------- ticker ---------- */
.ticker{background:linear-gradient(90deg,var(--g500),var(--g400),var(--g500));color:var(--m950);display:flex;align-items:stretch;overflow:hidden;position:relative;z-index:10}
.ticker-label{display:none;align-items:center;gap:.4rem;background:var(--m950);color:var(--g400);padding:.5rem 1rem;font-size:11px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;flex-shrink:0;z-index:2}
.ticker-label .lucide{width:13px;height:13px}
.ticker-view{overflow:hidden;flex:1;display:flex;align-items:center}
.ticker-track{display:flex;gap:2.5rem;white-space:nowrap;width:max-content;padding:.5rem 1rem;animation:marquee 28s linear infinite;font-size:12.5px;font-weight:600}
.ticker:hover .ticker-track{animation-play-state:paused}
 
/* ---------- hero ---------- */
.hero{background:var(--n950);position:relative;overflow:hidden}
.hero-stage{position:relative;height:88svh;min-height:560px;max-height:860px}
.slide{position:absolute;inset:0;opacity:0;transform:scale(1.08);transition:opacity 1.1s ease,transform 1.4s ease;pointer-events:none}
.slide.active{opacity:1;transform:scale(1);pointer-events:auto}
.slide img{width:100%;height:100%;object-fit:cover}
.slide-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,4,13,.3),rgba(6,13,29,.55) 55%,var(--n950))}
.slide-side{position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,13,29,.85),rgba(6,13,29,.3) 50%,transparent)}
.hero-arrows{display:none;position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);flex-direction:column;gap:.5rem;z-index:20}
.hero-arrows button{width:44px;height:44px;border-radius:50%;background:rgba(11,27,51,.72);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);color:#fff;display:flex;align-items:center;justify-content:center;transition:.3s}
.hero-arrows button:hover{background:var(--g500);color:var(--m950)}
.hero-content{position:absolute;inset:0;z-index:10;display:flex;align-items:flex-end}
.hero-content .container{width:100%;padding-bottom:7.5rem;padding-top:2.5rem}
.hero-copy{max-width:48rem}
.hero-copy.swap{animation:heroIn .6s ease}
@keyframes heroIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
.hero-kicker{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .9rem;border-radius:999px;background:rgba(201,162,39,.15);border:1px solid rgba(232,200,96,.5);backdrop-filter:blur(8px);color:var(--g300);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.hero-title{font-family:var(--fd);font-weight:900;color:#fff;font-size:2.1rem;line-height:1.08;margin-top:.8rem;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.hero-tamil{font-family:var(--ft);color:var(--g400);font-size:.9rem;margin-top:.5rem}
.hero-desc{color:rgba(255,255,255,.75);font-size:13px;margin-top:.6rem;max-width:36rem;line-height:1.6}
.hero-cta{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}
.hero-dots{margin-top:1.5rem;display:flex;align-items:center;gap:.5rem}
.hero-dots button{background:none;border:none;padding:.3rem}
.dot{display:block;height:3px;width:1.5rem;border-radius:3px;background:rgba(255,255,255,.3);transition:.4s}
.dot.active{width:2.5rem;background:var(--g400)}
.hero-count{margin-left:auto;color:rgba(255,255,255,.5);font-size:12px;font-family:var(--fr);letter-spacing:.2em;display:none}
.hero-cards{position:absolute;bottom:0;left:0;right:0;z-index:20}
.hero-cards-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding-bottom:.75rem}
.hcard{display:flex;align-items:center;gap:.75rem;background:rgba(11,27,51,.72);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.15);border-radius:1rem;padding:.75rem;text-align:left;color:#fff;transition:.3s}
.hcard:hover{border-color:rgba(232,200,96,.6)}
.hcard span{display:flex;flex-direction:column}
.hcard strong{font-size:12px;line-height:1.25}
.hcard small{color:var(--g400);font-size:10px}
.hcard-ic{width:36px;height:36px;border-radius:.7rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.hcard-ic .lucide{width:18px;height:18px}
.hcard-ic.gold{background:linear-gradient(135deg,var(--g500),var(--g400));color:var(--m950)}
.hcard-ic.maroon{background:linear-gradient(135deg,var(--m700),var(--m500));border:1px solid rgba(232,200,96,.4);color:var(--g400)}
.hcard-ic.glass{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:var(--g400)}
.hcard.desk-only{display:none}
.live-thumb{position:relative;width:64px;height:52px;border-radius:.7rem;overflow:hidden;flex-shrink:0}
.live-thumb img{width:100%;height:100%;object-fit:cover}
.live-play{position:absolute;inset:0;background:rgba(42,4,13,.4);display:flex;align-items:center;justify-content:center}
.live-play .lucide{width:18px;height:18px;color:#fff;fill:#fff}
.live-badge{position:absolute;top:4px;left:4px;background:#dc2626;color:#fff;font-size:8px;font-weight:800;padding:2px 6px;border-radius:4px;display:flex;align-items:center;gap:3px}
.live-badge span{width:4px;height:4px;background:#fff;border-radius:50%;animation:blink 1s infinite}
.hero-strip{display:flex;align-items:center;justify-content:space-between;background:var(--m950);border-top:1px solid rgba(201,162,39,.3);padding:.65rem 1rem;font-size:12px}
.hero-strip a{display:flex;align-items:center;gap:.4rem;color:var(--g300);font-weight:600}
.hero-strip a .lucide{width:13px;height:13px;color:var(--g400)}
.hero-strip button{background:var(--g400);color:var(--m950);border:none;font-weight:800;padding:.45rem 1.2rem;border-radius:999px;font-size:12px}
 
/* ---------- stats ---------- */
.stats{position:relative;background:var(--m950);overflow:hidden;padding:2.5rem 0 .5rem;margin-top:-1px}
.stats-glow{position:absolute;top:-6rem;left:50%;transform:translateX(-50%);width:600px;height:200px;background:rgba(201,162,39,.15);filter:blur(100px);border-radius:50%;pointer-events:none;max-width:100%}
.stats-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.stat{position:relative;border-radius:1rem;background:rgba(255,255,255,.06);border:1px solid rgba(201,162,39,.25);padding:1.1rem .8rem;text-align:center;overflow:hidden;transition:.3s}
.stat:hover{border-color:rgba(232,200,96,.6);background:rgba(255,255,255,.09)}
.stat::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--g400),transparent);opacity:0;transition:.3s}
.stat:hover::before{opacity:1}
.stat-ic{margin:0 auto .65rem;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,rgba(201,162,39,.25),rgba(232,200,96,.1));border:1px solid rgba(201,162,39,.4);display:flex;align-items:center;justify-content:center}
.stat-ic .lucide{width:19px;height:19px;color:var(--g400)}
.stat-num{font-family:var(--fd);font-weight:900;font-size:1.6rem;line-height:1}
.stat-label{color:#fff;font-size:12px;font-weight:700;margin-top:.4rem}
.stat-tamil{font-family:var(--ft);color:rgba(232,200,96,.7);font-size:11px}
.stats-foot{position:relative;text-align:center;color:rgba(255,255,255,.4);font-size:11px;margin:1.5rem 0;letter-spacing:.03em;padding:0 1rem}
 
/* ---------- about ---------- */
.about{background:var(--cream);padding:3.5rem 0;position:relative;overflow:hidden}
.about-grid{display:grid;gap:1.5rem;align-items:stretch}
.collage{position:relative;display:grid;grid-template-columns:7fr 5fr;gap:.65rem}
.collage-big{position:relative;border-radius:1.2rem;overflow:hidden;box-shadow:0 20px 50px -20px rgba(42,4,13,.4);min-height:280px}
.collage-big img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.collage-big:hover img{transform:scale(1.05)}
.collage-big::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(42,4,13,.7))}
.collage-cap{position:absolute;bottom:.8rem;left:.8rem;right:.8rem;z-index:2;color:#fff}
.collage-cap p{font-family:var(--fd);font-weight:700;font-size:.9rem}
.collage-cap small{color:var(--g400);font-size:11px}
.collage-side{display:flex;flex-direction:column;gap:.65rem}
.collage-sm{position:relative;flex:1;border-radius:1.2rem;overflow:hidden;box-shadow:0 12px 30px -12px rgba(42,4,13,.3);min-height:135px}
.collage-sm img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.collage-sm:hover img{transform:scale(1.05)}
.collage-sm.overlay::after{content:"";position:absolute;inset:0;background:rgba(92,10,30,.45)}
.collage-num{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff}
.collage-num p{font-family:var(--fd);font-weight:900;font-size:1.7rem}
.collage-num small{font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}
.float-badge{position:absolute;bottom:-1rem;left:1rem;background:#fff;border-radius:1rem;box-shadow:0 15px 35px -12px rgba(42,4,13,.35);border:1px solid rgba(201,162,39,.4);padding:.7rem 1rem;display:flex;align-items:center;gap:.7rem;animation:floaty 5s ease-in-out infinite}
.float-badge span:first-child{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--m800),var(--m700));display:flex;align-items:center;justify-content:center}
.float-badge .lucide{width:20px;height:20px;color:var(--g400)}
.float-badge strong{display:block;color:var(--m950);font-size:.85rem}
.float-badge small{display:block;color:var(--mut);font-size:11px}
.about-txt{display:flex;flex-direction:column;justify-content:center;padding-top:1.5rem}
.about-txt h3{font-family:var(--fd);font-weight:700;font-size:1.25rem;color:var(--m950);line-height:1.4}
.about-txt h3 em{font-style:italic}
.about-txt>p{color:var(--mut);font-size:.875rem;line-height:1.75;margin-top:1rem}
.about-txt>p strong{color:var(--m800)}
.feat-grid{display:grid;gap:.65rem;margin-top:1.25rem}
.feat{display:flex;gap:.75rem;padding:.85rem;border-radius:1rem;background:#fff;border:1px solid rgba(201,162,39,.25);box-shadow:0 2px 10px rgba(42,4,13,.05);transition:.3s}
.feat:hover{box-shadow:0 10px 25px -10px rgba(42,4,13,.2);border-color:rgba(201,162,39,.6)}
.feat>span:first-child{width:40px;height:40px;border-radius:.7rem;background:rgba(92,10,30,.07);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.feat .lucide{width:18px;height:18px;color:var(--m700)}
.feat strong{display:block;color:var(--m950);font-size:13.5px}
.feat small{display:block;color:var(--mut);font-size:12px}
.about-btns{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}
.readings{margin-top:3rem;border-radius:1.2rem;overflow:hidden;background:linear-gradient(90deg,var(--n900),var(--n800),var(--n900));border:1px solid rgba(201,162,39,.3);box-shadow:0 25px 60px -20px rgba(6,13,29,.5);display:grid}
.readings-head{background:linear-gradient(135deg,var(--g500),var(--g400));padding:1.25rem 1.5rem;display:flex;align-items:center;gap:.9rem;color:var(--m950)}
.readings-head .lucide{width:30px;height:30px;flex-shrink:0}
.readings-head small{font-family:var(--fr);font-size:11px;letter-spacing:.25em;font-weight:700}
.readings-head p{font-family:var(--fd);font-weight:900;font-size:1.15rem;margin-top:.15rem}
.readings-head span{font-size:11px;font-weight:600;opacity:.8}
.readings-body{padding:1.25rem;display:grid;gap:.9rem;font-size:12.5px}
.reading{border-radius:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);padding:1rem}
.reading small{color:var(--g400);font-weight:700;font-size:11px;letter-spacing:.15em;text-transform:uppercase}
.reading p{color:rgba(255,255,255,.85);margin-top:.4rem;line-height:1.6}
 
/* ---------- bishop ---------- */
.bishop{position:relative;background:linear-gradient(180deg,var(--n900),#0e2140,var(--m950));padding:3.5rem 0;overflow:hidden}
.bishop .gold-hr{position:absolute;bottom:0;left:0;right:0}
.bishop-grid{display:grid;gap:1.25rem;align-items:stretch}
.bishop-card{border-radius:1.4rem;overflow:hidden;background:linear-gradient(180deg,var(--cream),var(--cream3));border:1px solid rgba(201,162,39,.5);box-shadow:0 25px 60px -20px rgba(0,0,0,.5)}
.bishop-photo{position:relative;height:17rem;overflow:hidden;background:linear-gradient(135deg,var(--m800),var(--m700),var(--n900))}
.bishop-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}
.bishop-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,var(--m950))}
.bishop-emblem{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 1.5rem}
.emblem-ring{width:7rem;height:7rem;border-radius:50%;background:linear-gradient(135deg,var(--g400),var(--g500),var(--g600));padding:4px;box-shadow:0 0 50px rgba(232,200,96,.5);position:relative}
.emblem-in{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,var(--m800),var(--m950));display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid rgba(232,200,96,.4)}
.emblem-in .lucide{width:26px;height:26px;color:var(--g400)}
.emblem-in p{font-family:var(--fd);font-weight:900;font-size:1.4rem;margin-top:.2rem}
.emblem-check{position:absolute;width:36px;height:36px;border-radius:50%;background:#22c55e;border:4px solid var(--cream3);display:flex;align-items:center;justify-content:center;margin-top:-2.2rem;margin-left:5.5rem;z-index:3}
.emblem-check .lucide{width:16px;height:16px;color:#fff}
.bishop-emblem small{font-family:var(--fr);color:var(--g400);font-size:10px;letter-spacing:.3em;margin-top:1rem}
.motto{font-family:var(--fd);font-style:italic;color:#fff;font-size:1.15rem;font-weight:700}
.motto-ta{font-family:var(--ft);color:rgba(232,200,96,.9);font-size:12px;margin-top:.25rem}
.bishop-info{padding:1.25rem}
.bishop-facts{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}
.bishop-facts div{border-radius:.8rem;background:#fff;border:1px solid rgba(201,162,39,.3);padding:.6rem .7rem}
.bishop-facts small{color:var(--g600);font-weight:700;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.bishop-facts p{font-weight:700;color:var(--m950);font-size:12.5px;margin-top:.15rem}
.bishop-bio{color:var(--mut);font-size:12.5px;line-height:1.6;margin-top:1rem}
.bishop-info .btn-maroon{margin-top:1rem}
.bishop-info .btn-maroon .lucide{color:var(--g400)}
.bishop-right{display:flex;flex-direction:column;gap:1.25rem}
.bishop-msg{position:relative;border-radius:1.4rem;background:rgba(255,255,255,.06);border:1px solid rgba(201,162,39,.3);padding:1.5rem;overflow:hidden}
.quote-bg{position:absolute;top:-.5rem;right:1rem;width:80px;height:80px;color:rgba(201,162,39,.15)}
.bishop-msg small{font-family:var(--fr);color:var(--g400);font-size:11px;letter-spacing:.3em}
.msg-main{font-family:var(--fd);color:#fff;font-size:1.1rem;line-height:1.65;margin-top:.8rem;font-style:italic}
.msg-ta{font-family:var(--ft);color:rgba(232,200,96,.9);font-size:.875rem;margin-top:.75rem}
.msg-sign{display:flex;align-items:center;gap:.75rem;margin-top:1.25rem}
.msg-sign span{width:3rem;height:2px;background:var(--g500)}
.msg-sign p{color:rgba(255,255,255,.7);font-size:.85rem;font-weight:600}
.msg-sign em{color:rgba(255,255,255,.4);font-style:normal}
.succession{border-radius:1.4rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);padding:1.25rem}
.succession>small{display:block;font-family:var(--fr);color:var(--g400);font-size:11px;letter-spacing:.3em;margin-bottom:1rem;text-align:center}
.succ-scroll{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory}
.succ-scroll::-webkit-scrollbar{display:none}
.succ-card{scroll-snap-align:start;flex-shrink:0;width:180px;border-radius:1rem;padding:1rem;text-align:center;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);transition:.3s}
.succ-card:hover{border-color:rgba(201,162,39,.5)}
.succ-card.active{background:linear-gradient(180deg,rgba(201,162,39,.25),rgba(201,162,39,.08));border-color:rgba(232,200,96,.7);box-shadow:0 0 30px rgba(201,162,39,.25)}
.succ-in{margin:0 auto;width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:900;background:rgba(255,255,255,.1);color:var(--g400);border:1px solid rgba(201,162,39,.3)}
.succ-card.active .succ-in{background:linear-gradient(135deg,var(--g400),var(--g600));color:var(--m950)}
.succ-name{color:#fff;font-weight:700;font-size:13px;margin-top:.65rem;line-height:1.3}
.succ-years{color:var(--g400);font-size:11px;font-weight:600;margin-top:.25rem}
.succ-note{color:rgba(255,255,255,.5);font-size:10.5px;margin-top:.25rem;line-height:1.4}
.succ-now{display:inline-block;margin-top:.5rem;font-size:9px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;background:var(--g400);color:var(--m950);padding:.25rem .7rem;border-radius:999px}
 
/* ---------- history (original base rules; responsive overrides appended below) ---------- */
.history{background:var(--cream);padding:3.5rem 0}
.timeline{position:relative}
.timeline::before{content:"";position:absolute;left:19px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,var(--g500),rgba(92,10,30,.3),var(--g500))}
.t-item{position:relative;display:flex;gap:1rem;align-items:flex-start;padding:.65rem 0}
.t-dot{position:relative;z-index:2;flex-shrink:0}
.t-dot span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--m800),var(--m700));border:2px solid var(--g400);color:var(--g400);font-family:var(--fd);font-weight:900;font-size:11px;box-shadow:0 8px 20px -6px rgba(42,4,13,.5)}
.t-card{flex:1;border-radius:1rem;background:#fff;border:1px solid rgba(201,162,39,.3);padding:1rem 1.15rem;box-shadow:0 2px 12px rgba(42,4,13,.05);transition:.4s}
.t-card:hover{box-shadow:0 20px 45px -15px rgba(92,10,30,.3);border-color:rgba(201,162,39,.6);transform:translateY(-4px)}
.t-year{display:inline-block;font-family:var(--fr);font-weight:700;color:var(--m700);background:rgba(201,162,39,.15);border:1px solid rgba(201,162,39,.4);padding:.2rem .8rem;border-radius:999px;font-size:12px}
.t-card h4{font-family:var(--fd);font-weight:700;color:var(--m950);font-size:1rem;margin-top:.5rem}
.t-card p{color:var(--mut);font-size:13px;line-height:1.65;margin-top:.35rem}
.t-space{display:none}
 
/* ---------- shrines ---------- */
.shrines{position:relative;background:var(--n900);padding:3.5rem 0;overflow:hidden}
.shrines .gold-hr{position:absolute;bottom:0;left:0;right:0}
.shrines-bg{display:none}
.shrine-grid{display:grid;gap:1rem}
.shrine{border-radius:1.4rem;overflow:hidden;border:1px solid rgba(201,162,39,.3);background:var(--n800);transition:.45s}
.shrine:hover{border-color:rgba(232,200,96,.7);transform:translateY(-8px);box-shadow:0 25px 60px -15px rgba(0,0,0,.6)}
.shrine-img{position:relative;height:13rem;overflow:hidden}
.shrine-img img{width:100%;height:100%;object-fit:cover;transition:transform .7s}
.shrine:hover .shrine-img img{transform:scale(1.1)}
.shrine-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,var(--n900))}
.shrine-tag{position:absolute;top:.75rem;left:.75rem;z-index:2;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;background:rgba(42,4,13,.85);backdrop-filter:blur(6px);border:1px solid rgba(232,200,96,.5);color:var(--g400);padding:.4rem .8rem;border-radius:999px}
.shrine-pin{position:absolute;top:.75rem;right:.75rem;z-index:2;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.15);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;color:#fff}
.shrine-pin .lucide{width:15px;height:15px}
.shrine-body{padding:1.15rem 1.15rem 1.25rem;margin-top:-1.5rem;position:relative;z-index:2}
.shrine-body h3{font-family:var(--fd);font-weight:700;color:#fff;font-size:1.1rem}
.shrine-tamil{font-family:var(--ft);color:var(--g400);font-size:12px;margin-top:.25rem;line-height:1.6}
.shrine-place{color:rgba(232,200,96,.8);font-size:11px;font-weight:600;margin-top:.4rem;display:flex;align-items:center;gap:.25rem}
.shrine-place .lucide{width:11px;height:11px}
.shrine-desc{color:rgba(255,255,255,.65);font-size:12.5px;line-height:1.65;margin-top:.65rem;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.shrine-foot{margin-top:.8rem;padding-top:.8rem;border-top:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between}
.shrine-foot>span:first-child{color:rgba(255,255,255,.7);font-size:11px;font-weight:600}
.visit{color:var(--g400);font-size:12px;font-weight:700;display:flex;align-items:center;gap:.15rem;transition:.3s}
.shrine:hover .visit{gap:.4rem}
.visit .lucide{width:14px;height:14px}
 
/* ---------- parishes ---------- */
.parishes{background:var(--cream);padding:3.5rem 0;position:relative}
.vic-pills{display:flex;gap:.5rem;overflow-x:auto;padding:0 1rem .8rem;margin:0 -1rem}
.vic-pills::-webkit-scrollbar{display:none}
.pill{flex-shrink:0;padding:.55rem 1.1rem;border-radius:999px;font-size:12.5px;font-weight:700;border:1px solid rgba(201,162,39,.4);background:#fff;color:var(--m800);transition:.3s}
.pill.active{background:var(--m800);color:#fff;border-color:var(--m800);box-shadow:0 8px 20px -8px rgba(92,10,30,.6)}
.search-wrap{max-width:36rem;margin:.4rem auto 1.75rem;position:relative}
.search-wrap .lucide{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--g600)}
.search-wrap input{width:100%;box-sizing:border-box;padding:.95rem 1rem .95rem 2.8rem;border-radius:1rem;background:#fff;border:1px solid rgba(201,162,39,.4);box-shadow:0 2px 10px rgba(42,4,13,.05);font-size:.875rem;font-weight:500;font-family:inherit;color:var(--ink)}
.search-wrap input:focus{outline:none;border-color:var(--m700);box-shadow:0 0 0 3px rgba(92,10,30,.12)}
.parish-grid{display:grid;gap:.9rem}
.parish{border-radius:1.1rem;background:#fff;border:1px solid rgba(201,162,39,.3);padding:1.1rem;box-shadow:0 2px 10px rgba(42,4,13,.05);transition:.35s}
.parish:hover{box-shadow:0 18px 40px -15px rgba(92,10,30,.3);border-color:rgba(122,15,40,.5)}
.parish-top{display:flex;gap:.75rem}
.parish-ic{width:44px;height:44px;border-radius:.9rem;background:linear-gradient(135deg,var(--m800),var(--m700));display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:.3s}
.parish:hover .parish-ic{transform:scale(1.1)}
.parish-ic .lucide{width:19px;height:19px;color:var(--g400)}
.parish-top h4{font-family:var(--fd);font-weight:700;color:var(--m950);font-size:15px;line-height:1.3}
.parish-top p{color:var(--mut);font-size:12px;margin-top:.2rem;display:flex;align-items:center;gap:.2rem}
.parish-top p .lucide{width:11px;height:11px}
.parish-meta{margin-top:.8rem;display:flex;flex-direction:column;gap:.35rem;font-size:12.5px}
.parish-meta p{display:flex;align-items:center;gap:.5rem;color:#334155}
.parish-meta p.dim{color:var(--mut)}
.parish-meta .lucide{width:13px;height:13px;color:var(--m700);flex-shrink:0}
.parish-btns{margin-top:.8rem;padding-top:.8rem;border-top:1px solid #f1f5f9;display:flex;gap:.5rem}
.parish-btns a{flex:1;text-align:center;padding:.55rem;border-radius:.75rem;background:rgba(92,10,30,.06);color:var(--m800);font-size:12.5px;font-weight:700;transition:.3s}
.parish-btns a:hover{background:var(--m800);color:#fff}
.parish-btns a.alt{background:rgba(201,162,39,.15);color:#7a5a08}
.parish-btns a.alt:hover{background:var(--g500);color:var(--m950)}
.parish-empty{text-align:center;padding:2.5rem 0;color:var(--mut)}
.parish-empty .lucide{width:36px;height:36px;color:var(--g500);margin-bottom:.75rem}
.parish-empty p{font-weight:600}
.vic-grid{display:grid;gap:1rem;margin-top:2.5rem}
.vic-card{border-radius:1.1rem;background:linear-gradient(135deg,var(--m950),var(--m900));border:1px solid rgba(201,162,39,.3);padding:1.25rem;color:#fff;position:relative;overflow:hidden}
.vic-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.vic-head h4{font-family:var(--fd);font-weight:700;font-size:16px}
.vic-head span{font-size:11px;font-weight:800;background:var(--g400);color:var(--m950);padding:.25rem .7rem;border-radius:999px;white-space:nowrap}
.vic-priest{color:var(--g400);font-size:12px;margin-top:.25rem}
.vic-card ul{margin-top:.8rem;display:flex;flex-direction:column;gap:.4rem}
.vic-card li{color:rgba(255,255,255,.7);font-size:12.5px;display:flex;align-items:center;gap:.55rem}
.vic-card li span{width:6px;height:6px;border-radius:50%;background:var(--g500);flex-shrink:0}
 
/* ---------- ministries ---------- */
.ministries{background:linear-gradient(180deg,var(--cream2),var(--cream));padding:3.5rem 0}
.min-grid{display:grid;gap:.9rem}
.min-card{position:relative;border-radius:1.4rem;background:#fff;border:1px solid rgba(201,162,39,.3);padding:1.3rem;overflow:hidden;transition:.45s}
.min-card:hover{box-shadow:0 25px 55px -18px rgba(92,10,30,.35);border-color:rgba(122,15,40,.4);transform:translateY(-8px)}
.min-card::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--m800),var(--g500),var(--m800));transform:scaleX(0);transform-origin:left;transition:transform .5s}
.min-card:hover::before{transform:scaleX(1)}
.min-top{display:flex;align-items:flex-start;justify-content:space-between}
.min-ic{width:50px;height:50px;border-radius:1rem;background:linear-gradient(135deg,var(--m800),var(--m700));display:flex;align-items:center;justify-content:center;box-shadow:0 10px 20px -8px rgba(92,10,30,.5);transition:.4s}
.min-card:hover .min-ic{transform:scale(1.1) rotate(3deg)}
.min-ic .lucide{width:22px;height:22px;color:var(--g400)}
.min-count{font-size:10.5px;font-weight:700;background:rgba(201,162,39,.15);color:#7a5a08;border:1px solid rgba(201,162,39,.4);padding:.25rem .65rem;border-radius:999px;white-space:nowrap}
.min-card h3{font-family:var(--fd);font-weight:700;color:var(--m950);font-size:17px;margin-top:1rem}
.min-tamil{font-family:var(--ft);color:var(--g600);font-size:12px;margin-top:.15rem}
.min-desc{color:var(--mut);font-size:13px;line-height:1.6;margin-top:.5rem}
.min-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--m700);font-weight:700;font-size:13px;margin-top:.75rem;transition:.3s}
.min-card:hover .min-link{gap:.65rem}
.min-link .lucide{width:14px;height:14px}
.edu-banner{margin-top:2.5rem;border-radius:1.4rem;overflow:hidden;display:grid;background:var(--m950);border:1px solid rgba(201,162,39,.4);box-shadow:0 30px 60px -25px rgba(42,4,13,.6)}
.edu-img{position:relative;min-height:220px}
.edu-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.edu-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(42,4,13,.7))}
.edu-tags{position:absolute;bottom:1rem;left:1rem;z-index:2;display:flex;gap:.5rem;flex-wrap:wrap}
.tag-gold{background:var(--g400);color:var(--m950);font-size:11px;font-weight:800;padding:.4rem .8rem;border-radius:999px}
.tag-glass{background:rgba(255,255,255,.15);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.3);color:#fff;font-size:11px;font-weight:700;padding:.4rem .8rem;border-radius:999px}
.edu-body{padding:1.5rem;display:flex;flex-direction:column;justify-content:center}
.edu-body small{font-family:var(--fr);color:var(--g400);font-size:11px;letter-spacing:.3em}
.edu-body h3{font-family:var(--fd);font-weight:800;color:#fff;font-size:1.3rem;margin-top:.5rem;line-height:1.3}
.edu-body>p{color:rgba(255,255,255,.7);font-size:13px;line-height:1.7;margin-top:.75rem}
.edu-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem;margin-top:1.25rem}
.edu-stats div{border-radius:1rem;background:rgba(255,255,255,.08);border:1px solid rgba(201,162,39,.3);padding:.75rem;text-align:center}
.edu-stats p{font-family:var(--fd);font-weight:900;font-size:1.3rem}
.edu-stats span{color:rgba(255,255,255,.6);font-size:11px;font-weight:600}
.edu-btns{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.25rem}
 
/* ---------- mass ---------- */
.mass{background:var(--cream);padding:3.5rem 0}
.mass-grid{display:grid;gap:1rem}
.mass-card{border-radius:1.1rem;background:#fff;border:1px solid rgba(201,162,39,.35);padding:1.25rem;box-shadow:0 2px 12px rgba(42,4,13,.06);position:relative;overflow:hidden;transition:.35s}
.mass-card:hover{box-shadow:0 18px 40px -15px rgba(92,10,30,.25)}
.mass-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--g500),var(--m800))}
.mass-head{display:flex;align-items:center;gap:.75rem}
.mass-head>span{width:40px;height:40px;border-radius:.75rem;background:var(--m800);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mass-head .lucide{width:18px;height:18px;color:var(--g400)}
.mass-head h4{font-family:var(--fd);font-weight:700;color:var(--m950);font-size:15px}
.mass-rows{margin-top:.8rem;display:flex;flex-direction:column;gap:.5rem;font-size:12.5px}
.mass-rows p{display:flex;gap:.6rem}
.mass-rows strong{color:var(--m700);width:70px;flex-shrink:0}
.mass-rows span{color:#334155}
.mass-rows span.b{font-weight:600}
 
/* ---------- news ---------- */
.news{background:linear-gradient(180deg,var(--n900),var(--n950));padding:3.5rem 0;position:relative}
.news .gold-hr{position:absolute;bottom:0;left:0;right:0}
.news-grid{display:grid;gap:1.25rem}
.news-stage{position:relative;border-radius:1.4rem;overflow:hidden;border:1px solid rgba(201,162,39,.4);box-shadow:0 25px 60px -20px rgba(0,0,0,.6);height:260px}
.news-feature{position:absolute;inset:0;opacity:0;transition:opacity .5s;pointer-events:none}
.news-feature.active{opacity:1;pointer-events:auto}
.news-feature img{width:100%;height:100%;object-fit:cover}
.news-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(6,13,29,.4) 55%,var(--n950))}
.news-tags{position:absolute;top:1rem;left:1rem;display:flex;gap:.5rem;flex-wrap:wrap}
.news-tags .tag-gold{text-transform:uppercase;letter-spacing:.08em;font-size:10.5px}
.news-cap{position:absolute;bottom:0;left:0;right:0;padding:1.25rem}
.news-cap h3{font-family:var(--fd);font-weight:800;color:#fff;font-size:1.1rem;line-height:1.35}
.news-cap p{color:rgba(255,255,255,.7);font-size:12.5px;margin-top:.5rem}
.news-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:.75rem}
.thumb{position:relative;border-radius:1rem;overflow:hidden;border:2px solid rgba(255,255,255,.1);padding:0;background:none;height:5rem;transition:.3s;text-align:left}
.thumb img{width:100%;height:100%;object-fit:cover;transition:.5s}
.thumb:hover img{transform:scale(1.05)}
.thumb-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,13,29,.3),rgba(6,13,29,.95))}
.thumb-t{position:absolute;bottom:.4rem;left:.5rem;right:.5rem;color:#fff;font-size:10px;font-weight:700;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.thumb.active{border-color:var(--g400);box-shadow:0 0 25px rgba(232,200,96,.35)}
.events{border-radius:1.4rem;background:rgba(255,255,255,.05);border:1px solid rgba(201,162,39,.3);padding:1.25rem;backdrop-filter:blur(8px)}
.events-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}
.events-head h3{font-family:var(--fd);font-weight:700;color:#fff;font-size:1.1rem;display:flex;align-items:center;gap:.5rem}
.events-head h3 .lucide{width:19px;height:19px;color:var(--g400)}
.events-head span{font-size:10.5px;font-weight:800;color:var(--g400);background:rgba(232,200,96,.1);border:1px solid rgba(232,200,96,.4);padding:.3rem .7rem;border-radius:999px}
.events-list{display:flex;flex-direction:column;gap:.65rem;max-height:420px;overflow-y:auto}
.events-list::-webkit-scrollbar{display:none}
.event{display:flex;gap:.9rem;padding:.75rem;border-radius:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);transition:.3s;cursor:pointer}
.event:hover{border-color:rgba(232,200,96,.5)}
.event-date{flex-shrink:0;width:3.5rem;text-align:center;border-radius:.75rem;background:linear-gradient(180deg,var(--g500),var(--g600));padding:.4rem .2rem;color:var(--m950)}
.event-date p{font-family:var(--fd);font-weight:900;font-size:1.25rem;line-height:1}
.event-date span{font-size:10px;font-weight:800;letter-spacing:.15em}
.event-body{min-width:0}
.event-t{color:#fff;font-weight:700;font-size:13px;line-height:1.35}
.event:hover .event-t{color:var(--g400)}
.event-p{color:rgba(255,255,255,.5);font-size:11.5px;margin-top:.25rem;display:flex;align-items:center;gap:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.event-p .lucide{width:10px;height:10px;flex-shrink:0}
.event-time{color:rgba(232,200,96,.8);font-size:11px;font-weight:600;margin-top:.15rem;display:flex;align-items:center;gap:.25rem}
.event-time .lucide{width:10px;height:10px}
.events .btn-ghost-gold{margin-top:1rem}
 
/* ---------- gallery ---------- */
.gallery{background:var(--cream);padding:3.5rem 0}
.gal-grid{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}
.gal{position:relative;border-radius:1.1rem;overflow:hidden;border:1px solid rgba(201,162,39,.3);padding:0;background:none;height:160px;transition:.35s;box-shadow:0 2px 10px rgba(42,4,13,.06)}
.gal:hover{border-color:rgba(122,15,40,.5);box-shadow:0 18px 40px -15px rgba(92,10,30,.3)}
.gal.tall{grid-row:span 2;height:100%;min-height:220px}
.gal img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.gal:hover img{transform:scale(1.1)}
.gal::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(42,4,13,.8));opacity:0;transition:.3s}
.gal:hover::after{opacity:1}
.gal-cap{position:absolute;bottom:.75rem;left:.75rem;right:.75rem;z-index:2;color:#fff;font-size:11px;font-weight:700;text-align:left;opacity:0;transform:translateY(8px);transition:.3s}
.gal:hover .gal-cap{opacity:1;transform:none}
.lightbox{position:fixed;inset:0;z-index:90;background:rgba(6,13,29,.95);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;pointer-events:none;transition:.3s}
.lightbox.show{opacity:1;pointer-events:auto}
.lightbox img{max-width:100%;max-height:70vh;border-radius:1rem;box-shadow:0 30px 80px rgba(0,0,0,.6);border:1px solid rgba(201,162,39,.4);object-fit:contain}
.lb-close{position:absolute;top:1rem;right:1rem}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);display:none}
.lb-prev{left:2rem}.lb-next{right:2rem}
.lightbox p{position:absolute;bottom:1.5rem;left:0;right:0;text-align:center;color:#fff;font-family:var(--fd);font-weight:700}
.lb-mob{position:absolute;bottom:4rem;left:0;right:0;display:flex;justify-content:center;gap:.5rem}
 
/* ---------- testimonies ---------- */
.testi{background:var(--cream2);padding:3.5rem 0;border-top:1px solid rgba(201,162,39,.3);border-bottom:1px solid rgba(201,162,39,.3)}
.testi-grid{display:grid;gap:1rem}
.testi-card{border-radius:1.4rem;background:#fff;border:1px solid rgba(201,162,39,.3);padding:1.3rem;box-shadow:0 2px 12px rgba(42,4,13,.05);position:relative;overflow:hidden;transition:.35s}
.testi-card:hover{box-shadow:0 20px 45px -15px rgba(92,10,30,.25)}
.testi-q{position:absolute;top:1rem;right:1rem;width:44px;height:44px;color:rgba(201,162,39,.2)}
.testi-head{display:flex;align-items:center;gap:.75rem}
.testi-head img{width:48px;height:48px;border-radius:50%;object-fit:cover;border:2px solid var(--g500)}
.testi-head p{font-weight:700;color:var(--m950);font-size:.85rem;display:flex;align-items:center;gap:.35rem}
.testi-head p .lucide{width:14px;height:14px;color:var(--m700)}
.testi-head small{color:var(--mut);font-size:12px}
.testi-card blockquote{color:#475569;font-size:13.5px;line-height:1.65;margin-top:.8rem;font-style:italic}
.stars{color:var(--g500);font-size:.85rem;margin-top:.75rem;letter-spacing:.1em}
 
/* ---------- donate cta ---------- */
.donate-cta{position:relative;padding:3.5rem 0;overflow:hidden}
.donate-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.donate-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(42,4,13,.95),rgba(42,4,13,.85),rgba(11,27,51,.8))}
.donate-in{position:relative;text-align:center;max-width:64rem}
.donate-in h2{font-family:var(--fd);font-weight:900;color:#fff;font-size:1.6rem;margin-top:1rem;line-height:1.25}
.donate-in h2 em{font-style:italic}
.donate-ta{font-family:var(--ft);color:rgba(232,200,96,.9);margin-top:.5rem}
.donate-desc{color:rgba(255,255,255,.7);font-size:.85rem;margin-top:.75rem;max-width:42rem;margin-left:auto;margin-right:auto}
.donate-amts{display:flex;flex-wrap:wrap;justify-content:center;gap:.65rem;margin-top:1.5rem}
.donate-amts button{padding:.65rem 1.25rem;border-radius:999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.25);color:#fff;font-weight:700;font-size:.85rem;transition:.3s}
.donate-amts button:hover{background:var(--g400);color:var(--m950);border-color:var(--g400)}
.donate-in .btn-gold{margin-top:1.5rem}
.donate-note{color:rgba(255,255,255,.45);font-size:11px;margin-top:1rem;display:flex;align-items:center;justify-content:center;gap:.4rem}
.donate-note .lucide{width:12px;height:12px}
 
/* ---------- contact ---------- */
.contact{background:var(--cream);padding:3.5rem 0}
.contact-grid{display:grid;gap:1.25rem}
.contact-left{display:flex;flex-direction:column;gap:.9rem}
.c-card{display:flex;gap:1rem;padding:1.1rem;border-radius:1.1rem;background:#fff;border:1px solid rgba(201,162,39,.3);box-shadow:0 2px 10px rgba(42,4,13,.05);transition:.3s}
.c-card:hover{box-shadow:0 15px 35px -12px rgba(92,10,30,.25);border-color:rgba(122,15,40,.4)}
.c-card>span:first-child{width:48px;height:48px;border-radius:1rem;background:linear-gradient(135deg,var(--m800),var(--m700));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.c-card .lucide{width:20px;height:20px;color:var(--g400)}
.c-card strong{display:block;color:var(--m950);font-size:.9rem}
.c-card small{display:block;color:var(--mut);font-size:12.5px;margin-top:.25rem;line-height:1.6}
.map-box{border-radius:1.1rem;overflow:hidden;border:1px solid rgba(201,162,39,.4);box-shadow:0 15px 35px -12px rgba(42,4,13,.3);height:220px}
.map-box iframe{width:100%;height:100%;border:0}
.contact-form-card{border-radius:1.4rem;background:linear-gradient(135deg,var(--m950),var(--n900));border:1px solid rgba(201,162,39,.4);padding:1.5rem;box-shadow:0 30px 60px -25px rgba(42,4,13,.6)}
.contact-form-card h3{font-family:var(--fd);font-weight:700;color:#fff;font-size:1.25rem;display:flex;align-items:center;gap:.6rem}
.contact-form-card h3 .lucide{width:22px;height:22px;color:var(--g400)}
.cf-sub{color:rgba(255,255,255,.6);font-size:13px;margin-top:.25rem}
.contact-form-card form{margin-top:1.25rem;display:flex;flex-direction:column;gap:.9rem}
.cf-row{display:grid;gap:.9rem}
.contact-form-card input,.contact-form-card textarea{width:100%;box-sizing:border-box;padding:.8rem 1rem;border-radius:.8rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.85rem;font-family:inherit}
.contact-form-card input::placeholder,.contact-form-card textarea::placeholder{color:rgba(255,255,255,.4)}
.contact-form-card input:focus,.contact-form-card textarea:focus{outline:none;border-color:var(--g400);box-shadow:0 0 0 3px rgba(232,200,96,.2)}
.contact-form-card textarea{resize:none}
.cf-note{color:rgba(255,255,255,.35);font-size:11px;text-align:center}
.cf-success{margin-top:1.5rem;border-radius:1.1rem;background:rgba(34,197,94,.1);border:1px solid rgba(74,222,128,.4);padding:1.5rem;text-align:center}
.cf-success>span{margin:0 auto;width:56px;height:56px;border-radius:50%;background:#22c55e;display:flex;align-items:center;justify-content:center}
.cf-success .lucide{width:26px;height:26px;color:#fff}
.cf-ok{color:#fff;font-family:var(--fd);font-weight:700;font-size:1.15rem;margin-top:.8rem}
.cf-success p{color:rgba(255,255,255,.6);font-size:.85rem;margin-top:.25rem}
.cf-success button{margin-top:1rem;background:none;border:none;color:var(--g400);font-weight:700;font-size:.85rem;text-decoration:underline}
 
/* ---------- footer ---------- */
.footer{background:var(--n950);color:#fff;position:relative;border-top:1px solid rgba(201,162,39,.3)}
.foot-grid{display:grid;gap:2rem;padding-top:3rem;padding-bottom:1rem}
.foot-brand-top{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}
.foot-brand-top span{display:flex;flex-direction:column}
.foot-brand-top strong{font-family:var(--fd);font-size:1.1rem}
.foot-brand-top small{font-family:var(--ft);color:var(--g400);font-size:12px;margin-top:.15rem}
.foot-brand>p{color:rgba(255,255,255,.6);font-size:13px;line-height:1.7}
.foot-socials{display:flex;gap:.65rem;margin-top:1rem}
.foot-socials a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;transition:.3s}
.foot-socials a:hover{background:var(--g500);color:var(--m950);border-color:var(--g500)}
.foot-socials .lucide{width:15px;height:15px}
.footer h4{font-family:var(--fr);color:var(--g400);font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1rem}
.foot-links{display:flex;flex-direction:column;gap:.65rem}
.foot-links a{color:rgba(255,255,255,.7);font-size:13.5px;display:flex;align-items:center;gap:.5rem;transition:.3s}
.foot-links a:hover{color:var(--g400)}
.foot-links .lucide{width:13px;height:13px;color:var(--g500)}
.foot-contact{display:flex;flex-direction:column;gap:.8rem;font-size:13.5px;color:rgba(255,255,255,.7)}
.foot-contact li{display:flex;gap:.65rem;line-height:1.6}
.foot-contact .lucide{width:15px;height:15px;color:var(--g400);flex-shrink:0;margin-top:.2rem}
.foot-bottom{margin-top:2.5rem;padding-top:1.5rem;padding-bottom:1.5rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;font-size:12px;color:rgba(255,255,255,.45)}
 
/* ---------- mobile bottom nav ---------- */
.mobnav{position:fixed;bottom:0;left:0;right:0;z-index:50;background:rgba(26,6,13,.95);backdrop-filter:blur(16px);border-top:1px solid rgba(201,162,39,.3);display:grid;grid-template-columns:repeat(5,1fr);gap:.25rem;padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom))}
.mobnav a,.mobnav>button{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.4rem 0;color:rgba(255,255,255,.7);background:none;border:none;font-size:10px;font-weight:600}
.mobnav a:first-child{color:var(--g400)}
.mobnav .lucide{width:19px;height:19px}
.mobnav>button{position:relative}
.pray-fab{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--g500),var(--g400));display:flex;align-items:center;justify-content:center;box-shadow:0 8px 25px rgba(201,162,39,.5);border:4px solid #1a060d;margin-top:-1.6rem}
.pray-fab .lucide{width:22px;height:22px;color:var(--m950)}
.pray-t{color:var(--g400)!important;font-weight:800!important}
.mob-top{position:fixed;bottom:76px;right:1rem;z-index:50;width:44px;height:44px;border-radius:50%;background:var(--m800);color:var(--g400);border:1px solid rgba(201,162,39,.5);display:none;align-items:center;justify-content:center;box-shadow:0 10px 25px rgba(0,0,0,.4)}
.mob-top.show{display:flex}
.mob-top .lucide{width:18px;height:18px}
 
/* ---------- desktop floating ---------- */
.float-desk{display:none;position:fixed;right:1.25rem;bottom:1.5rem;z-index:50;flex-direction:column;gap:.65rem}
.float-pray{display:flex;align-items:center;gap:.5rem;background:var(--m950);border:1px solid rgba(201,162,39,.5);color:var(--g400);padding:.8rem 1.1rem .8rem .9rem;border-radius:999px;box-shadow:0 15px 35px rgba(0,0,0,.4);transition:.3s;font-weight:700;font-size:13px}
.float-pray:hover{background:var(--m800)}
.float-pray .lucide{width:17px;height:17px}
.float-top{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--g500),var(--g400));color:var(--m950);border:none;align-items:center;justify-content:center;box-shadow:0 15px 35px rgba(0,0,0,.4);margin:0 auto;transition:.3s}
.float-top:hover{transform:scale(1.1)}
 
/* ---------- modals ---------- */
.modal{position:fixed;inset:0;z-index:100;background:rgba(6,13,29,.85);backdrop-filter:blur(8px);display:flex;align-items:flex-end;justify-content:center;opacity:0;pointer-events:none;transition:.3s}
.modal.show{opacity:1;pointer-events:auto}
.modal-card{width:100%;max-width:32rem;border-radius:1.4rem 1.4rem 0 0;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.6);max-height:92vh;overflow-y:auto;transform:translateY(60px);transition:transform .35s cubic-bezier(.22,1,.36,1)}
.modal.show .modal-card{transform:none}
.modal-card.light{background:linear-gradient(180deg,var(--cream),var(--cream2));border:1px solid rgba(201,162,39,.5)}
.modal-card.dark{background:linear-gradient(180deg,var(--m950),var(--n900));border:1px solid rgba(201,162,39,.5)}
.m-close{position:absolute;top:.8rem;right:.8rem;width:36px;height:36px}
.m-close .lucide{width:17px;height:17px}
.pray-hero{position:relative;height:9rem}
.pray-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pray-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(42,4,13,.5),var(--m950))}
.pray-title{position:absolute;bottom:.8rem;left:1.25rem;right:1.25rem}
.pray-title small{display:flex;align-items:center;gap:.35rem;color:var(--g400);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.pray-title small .lucide{width:12px;height:12px}
.pray-title h3{font-family:var(--fd);font-weight:900;color:#fff;font-size:1.35rem}
.pray-body{padding:1.25rem;display:flex;flex-direction:column;gap:.9rem}
.pray-body.center{text-align:center}
.m-label{font-size:12px;font-weight:800;color:var(--m800);text-transform:uppercase;letter-spacing:.08em}
.m-label.gold{color:var(--g400);font-size:11px;letter-spacing:.2em}
.chip-row{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:-.4rem}
.chip{padding:.5rem .9rem;border-radius:999px;font-size:12.5px;font-weight:700;border:1px solid #e2e8f0;background:#fff;color:#475569;transition:.3s}
.chip.active{background:var(--m800);color:#fff;border-color:var(--m800)}
.chip-row.dark .chip{background:transparent;border-color:rgba(255,255,255,.15);color:rgba(255,255,255,.6)}
.chip-row.dark .chip.active{background:rgba(255,255,255,.2);border-color:var(--g400);color:var(--g400)}
.pray-body input,.pray-body textarea{width:100%;box-sizing:border-box;padding:.8rem 1rem;border-radius:.8rem;background:#fff;border:1px solid rgba(201,162,39,.5);font-size:.85rem;font-family:inherit;color:var(--ink)}
.pray-body input:focus,.pray-body textarea:focus{outline:none;border-color:var(--m700);box-shadow:0 0 0 3px rgba(92,10,30,.1)}
.pray-body textarea{resize:none}
.m-note{text-align:center;color:#94a3b8;font-size:11px}
.m-note.light{color:rgba(255,255,255,.35)}
.tamil-maroon{font-family:var(--ft);color:var(--m700)}
.ok-ring{margin:0 auto;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--g500),var(--g400));display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -8px rgba(201,162,39,.6)}
.ok-ring .lucide{width:30px;height:30px;color:var(--m950)}
.pray-body h4{font-family:var(--fd);font-weight:700;color:var(--m950);font-size:1.25rem}
.pray-body p{color:var(--mut);font-size:.85rem;line-height:1.7}
.don-head{display:flex;align-items:center;gap:.8rem;padding:1.25rem;border-bottom:1px solid rgba(255,255,255,.1);position:relative}
.don-ic{width:44px;height:44px;border-radius:1rem;background:linear-gradient(135deg,var(--g500),var(--g400));display:flex;align-items:center;justify-content:center;flex-shrink:0}
.don-ic .lucide{width:20px;height:20px;color:var(--m950)}
.don-head h3{font-family:var(--fd);font-weight:900;color:#fff;font-size:1.15rem}
.don-head p{font-family:var(--ft);color:var(--g400);font-size:12px;margin-top:.15rem}
.don-body{padding:1.25rem;display:flex;flex-direction:column;gap:1rem}
.don-body.center{text-align:center}
.don-body.center h4{font-family:var(--fd);font-weight:900;color:#fff;font-size:1.25rem}
.don-body.center p{color:rgba(255,255,255,.6);font-size:.85rem;line-height:1.7}
.amt-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}
.amt{padding:.7rem .2rem;border-radius:.8rem;font-size:13px;font-weight:800;border:1px solid rgba(255,255,255,.2);background:rgba(255,255,255,.06);color:#fff;transition:.3s}
.amt.active{background:var(--g400);color:var(--m950);border-color:var(--g400)}
.dark-in{width:100%;box-sizing:border-box;padding:.8rem 1rem;border-radius:.8rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.85rem;font-family:inherit}
.dark-in::placeholder{color:rgba(255,255,255,.4)}
.dark-in:focus{outline:none;border-color:var(--g400)}
.upi-box{border-radius:1rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.15);padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.upi-box small{color:rgba(255,255,255,.5);font-size:11px;font-weight:800;letter-spacing:.1em}
.upi-box p{color:#fff;font-weight:700;font-size:.85rem;margin-top:.15rem}
.upi-box button{display:flex;align-items:center;gap:.4rem;padding:.55rem .9rem;border-radius:.75rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;font-size:12px;font-weight:700;transition:.3s;flex-shrink:0}
.upi-box button:hover{background:var(--g400);color:var(--m950)}
.upi-box button .lucide{width:14px;height:14px}
 
/* =====================================================================
   RESPONSIVE — tablets & desktop (original responsive rules)
   ===================================================================== */
@media(min-width:640px){
  .sec-head h2{font-size:2.25rem}
  .sec-tamil{font-size:1.05rem}
  .ticker-label{display:flex}
  .ticker-track{font-size:13px}
  .hero-content{align-items:center}
  .hero-content .container{padding-bottom:6rem}
  .hero-title{font-size:3.4rem}
  .hero-tamil{font-size:1.2rem}
  .hero-desc{font-size:16px}
  .hero-cta{margin-top:1.75rem}
  .hero-count{display:block}
  .stats-grid{grid-template-columns:repeat(3,1fr);gap:1rem}
  .stat-num{font-size:2rem}
  .feat-grid{grid-template-columns:1fr 1fr}
  .readings-body{grid-template-columns:repeat(3,1fr);font-size:13px}
  .shrine-grid{grid-template-columns:1fr 1fr}
  .parish-grid{grid-template-columns:1fr 1fr}
  .min-grid{grid-template-columns:1fr 1fr}
  .news-thumbs{grid-template-columns:repeat(3,1fr)}
  .testi-grid{grid-template-columns:1fr}
  .cf-row{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .pray-hero{height:11rem}
  .modal{align-items:center;padding:1rem}
  .modal-card{border-radius:1.4rem}
}
@media(min-width:768px){
  body{padding-bottom:0}
  .topbar{display:block}
  .hide-lg{display:inline-flex}
  .lang-toggle{display:flex}
  .mobnav,.mob-top{display:none}
  .float-desk{display:flex}
  .hero-strip{display:none}
  .hero-stage{height:92vh}
  .hero-content .container{padding-bottom:5rem}
  .gal-grid{grid-template-columns:repeat(4,1fr)}
  .gal{height:220px}
  .gal.tall{min-height:320px}
  .foot-bottom{flex-direction:row;justify-content:space-between}
}
@media(min-width:1024px){
  .topbar-in,.nav-in,.container{padding-left:1.5rem;padding-right:1.5rem}
  .nav-links{display:flex}
  .nav-actions .btn-gold{display:inline-flex}
  .hamburger{display:none}
  .hero-arrows{display:flex}
  .hero-cards-grid{grid-template-columns:repeat(4,1fr)}
  .hcard.desk-only{display:flex}
  .hcard strong{font-size:.85rem}
  .hero-title{font-size:4.2rem}
  .stats-grid{grid-template-columns:repeat(6,1fr)}
  .about{padding:6rem 0}
  .about-grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .about-txt{padding-top:0}
  .collage-big{min-height:420px}
  .bishop{padding:6rem 0}
  .bishop-grid{grid-template-columns:380px 1fr;gap:2rem}
  .bishop-photo{height:20rem}
  .msg-main{font-size:1.4rem}
  .shrine-grid{grid-template-columns:repeat(4,1fr)}
  .shrine-img{height:15rem}
  .parish-grid{grid-template-columns:repeat(3,1fr)}
  .vic-pills{flex-wrap:wrap;justify-content:center;overflow:visible}
  .vic-grid{grid-template-columns:repeat(3,1fr)}
  .min-grid{grid-template-columns:repeat(4,1fr)}
  .edu-banner{grid-template-columns:1fr 1fr}
  .edu-body{padding:2.5rem}
  .edu-body h3{font-size:1.8rem}
  .edu-img{min-height:300px}
  .edu-img::after{background:linear-gradient(90deg,transparent 40%,rgba(42,4,13,.6))}
  .mass-grid{grid-template-columns:1fr 1fr}
  .news-grid{grid-template-columns:1fr 360px;gap:2rem}
  .news-stage{height:380px}
  .news-cap h3{font-size:1.6rem}
  .events-list{max-height:none;overflow:visible}
  .testi-grid{grid-template-columns:repeat(3,1fr)}
  .donate-in h2{font-size:2.75rem}
  .contact-grid{grid-template-columns:1fr 1.1fr;gap:2rem}
  .foot-grid{grid-template-columns:1.2fr 1fr 1fr 1.2fr}
  .lb-prev,.lb-next{display:inline-flex}
  .lb-mob{display:none}
  .lightbox img{max-height:80vh}
}
@media(min-width:1280px){
  .hero-title{font-size:4.4rem}
}

/* =====================================================================
   RESPONSIVE HISTORY TIMELINE FIX — appended after the original CSS.
   Only .history descendants are affected; all other sections are untouched.
   ===================================================================== */
.history{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(3.5rem,7vw,6rem) 0;
  background:radial-gradient(ellipse at 50% 0%,rgba(232,200,96,.13),transparent 42%),var(--cream);
}
.history .sec-head{
  position:relative;
  margin:0 auto clamp(2rem,4vw,3.25rem);
  padding-inline:1rem;
}
.history .sec-head h2{
  color:var(--m950);
  font-size:clamp(1.8rem,4vw,2.65rem);
  line-height:1.15;
  text-wrap:balance;
}
.history .sec-desc{max-width:42rem;margin-inline:auto}
.history .timeline{
  position:relative;
  width:100%;
  max-width:68rem;
  margin-inline:auto;
}
.history .timeline::before{
  content:"";
  position:absolute;
  z-index:0;
  top:.35rem;
  bottom:.35rem;
  left:1.375rem;
  width:2px;
  border-radius:999px;
  background:linear-gradient(180deg,transparent 0%,rgba(201,162,39,.45) 4%,var(--g500) 18%,rgba(140,110,10,.42) 82%,transparent 100%);
  box-shadow:0 0 12px rgba(201,162,39,.18);
}
.history .t-item{
  position:relative;
  display:grid;
  grid-template-columns:2.75rem minmax(0,1fr);
  column-gap:.8rem;
  align-items:start;
  padding:.45rem 0 1rem;
}
.history .t-dot{
  position:relative;
  z-index:2;
  grid-column:1;
  grid-row:1;
  display:flex;
  justify-content:center;
  align-self:start;
  width:auto;
  padding-top:.15rem;
}
.history .t-dot span{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:44px;
  height:44px;
  border:2px solid var(--g400);
  border-radius:50%;
  background:linear-gradient(145deg,var(--m800),var(--m950));
  color:var(--g400);
  font-family:var(--fr);
  font-size:.66rem;
  font-weight:900;
  box-shadow:0 7px 18px rgba(42,4,13,.22),0 0 0 5px rgba(255,251,242,.92);
  transition:transform .3s ease,box-shadow .3s ease,background .3s ease;
}
.history .t-dot span::after{
  content:"";
  position:absolute;
  inset:-5px;
  border:1px solid rgba(201,162,39,.55);
  border-radius:inherit;
  pointer-events:none;
  animation:historyMarkerPulse 3.2s ease-out infinite;
}
.history .t-item:nth-child(2) .t-dot span::after{animation-delay:.4s}
.history .t-item:nth-child(3) .t-dot span::after{animation-delay:.8s}
.history .t-item:nth-child(4) .t-dot span::after{animation-delay:1.2s}
.history .t-item:nth-child(5) .t-dot span::after{animation-delay:1.6s}
@keyframes historyMarkerPulse{
  0%{transform:scale(.88);opacity:.58}
  75%,100%{transform:scale(1.38);opacity:0}
}
.history .t-card{
  position:relative;
  grid-column:2;
  grid-row:1;
  width:auto;
  min-width:0;
  margin:0;
  padding:1.05rem 1.15rem 1.15rem;
  overflow:hidden;
  border:1px solid rgba(201,162,39,.28);
  border-radius:1rem;
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(255,253,247,.97));
  box-shadow:0 5px 18px rgba(42,4,13,.055),inset 0 1px 0 rgba(255,255,255,.9);
  transition:transform .32s cubic-bezier(.22,1,.36,1),box-shadow .32s ease,border-color .32s ease;
}
.history .t-card::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:3px;
  background:linear-gradient(180deg,var(--g400),var(--g500),var(--m700));
  transform:scaleY(.35);
  transform-origin:top;
  transition:transform .35s ease;
}
.history .t-card:hover{
  transform:translateY(-4px);
  border-color:rgba(201,162,39,.65);
  box-shadow:0 16px 34px rgba(42,4,13,.12),0 0 0 3px rgba(201,162,39,.07);
}
.history .t-card:hover::before{transform:scaleY(1)}
.history .t-item:hover .t-dot span{
  transform:scale(1.08);
  background:linear-gradient(145deg,var(--m700),var(--m950));
  box-shadow:0 9px 22px rgba(42,4,13,.28),0 0 0 6px rgba(201,162,39,.12);
}
.history .t-year{
  display:inline-flex;
  align-items:center;
  min-height:1.45rem;
  padding:.18rem .72rem;
  border:1px solid rgba(201,162,39,.44);
  border-radius:999px;
  background:linear-gradient(120deg,rgba(243,221,149,.28),rgba(201,162,39,.12));
  color:var(--m700);
  font-family:var(--fr);
  font-size:.68rem;
  font-weight:800;
  letter-spacing:.04em;
}
.history .t-card h4{
  margin-top:.55rem;
  color:var(--m950);
  font-family:var(--fd);
  font-size:1.05rem;
  font-weight:800;
  line-height:1.3;
  text-wrap:pretty;
}
.history .t-card p{
  margin-top:.45rem;
  color:var(--mut);
  font-size:.875rem;
  line-height:1.7;
}
.history .t-space{display:none}

@keyframes historyCardReveal{
  from{opacity:0;translate:0 18px}
  to{opacity:1;translate:0 0}
}
@supports (animation-timeline:view()) and (animation-range:entry 0% entry 35%){
  .history .t-item:not(.reveal) .t-card:not(.reveal){
    animation:historyCardReveal .8s ease both;
    animation-timeline:view();
    animation-range:entry 0% entry 35%;
  }
}

@media(min-width:1024px){
  .history .timeline::before{
    left:50%;
    transform:translateX(-50%);
  }
  .history .t-item{
    grid-template-columns:minmax(0,1fr) 4.5rem minmax(0,1fr);
    column-gap:clamp(1rem,2.2vw,2rem);
    padding:.65rem 0 1.4rem;
  }
  .history .t-dot{
    grid-column:2;
    grid-row:1;
    padding-top:.35rem;
  }
  .history .t-card{
    grid-column:1;
    grid-row:1;
    justify-self:end;
    width:min(100%,29rem);
  }
  .history .t-space{
    display:block;
    grid-column:3;
    grid-row:1;
    min-width:0;
  }
  .history .t-item:nth-child(even) .t-card{
    grid-column:3;
    justify-self:start;
    text-align:left;
  }
  .history .t-item:nth-child(even) .t-space{grid-column:1}
}

@media(max-width:420px){
  .history .t-item{column-gap:.65rem}
  .history .t-card{padding:1rem .95rem 1.05rem}
  .history .t-card p{font-size:.82rem}
}

@media(prefers-reduced-motion:reduce){
  .history .t-dot span,
  .history .t-card,
  .history .t-card::before{transition:none!important}
  .history .t-dot span::after{animation:none!important}
  .history .t-card:hover{transform:none}
  .history .t-item:not(.reveal) .t-card:not(.reveal){
    animation:none!important;
    opacity:1;
    translate:none;
  }
}

/* =====================================================================
   MOBILE BISHOP SECTION FIX — only bishop and mobile-nav rules are scoped.
   Keeps all other site sections unchanged.
   ===================================================================== */
.bishop,
.bishop *{
  box-sizing:border-box;
}
.bishop .container{
  width:100%;
  min-width:0;
}
.bishop .bishop-grid{
  width:100%;
  min-width:0;
  grid-template-columns:minmax(0,1fr);
}
.bishop .bishop-card,
.bishop .bishop-right,
.bishop .bishop-msg,
.bishop .succession,
.bishop .succ-scroll{
  width:100%;
  min-width:0;
  max-width:100%;
}
.bishop .bishop-photo{
  width:100%;
}
.bishop .bishop-info,
.bishop .bishop-facts,
.bishop .bishop-facts div{
  min-width:0;
}
.bishop .bishop-facts{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.bishop .bishop-facts p,
.bishop .bishop-bio{
  overflow-wrap:anywhere;
}
.bishop .bishop-msg{
  overflow:hidden;
}
.bishop .bishop-msg small,
.bishop .msg-main,
.bishop .msg-ta,
.bishop .msg-sign,
.bishop .msg-sign p{
  max-width:100%;
  min-width:0;
  white-space:normal!important;
  overflow-wrap:anywhere;
  word-break:normal;
}
.bishop .bishop-msg small{
  display:block;
  line-height:1.65;
}
.bishop .msg-main,
.bishop .msg-ta{
  display:block;
  width:100%;
  line-height:1.7;
}
.bishop .msg-sign{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem;
}
.bishop .msg-sign span{
  flex:0 0 2.5rem;
}
.bishop .msg-sign p{
  flex:1 1 10rem;
  line-height:1.5;
}

/* On phones, show succession cards as full-width stacked cards instead of
   partially clipped horizontal cards. */
.bishop .succ-scroll{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:.75rem;
  overflow:visible;
  padding-bottom:0;
  scroll-snap-type:none;
}
.bishop .succ-card{
  width:100%;
  min-width:0;
  flex:initial;
  scroll-snap-align:none;
}

@media(max-width:420px){
  .bishop{
    padding-top:3rem;
    padding-bottom:3rem;
  }
  .bishop .bishop-photo{
    height:clamp(13rem,62vw,16rem);
  }
  .bishop .bishop-info{
    padding:1rem;
  }
  .bishop .bishop-facts{
    grid-template-columns:minmax(0,1fr);
  }
  .bishop .bishop-msg{
    padding:1.1rem;
  }
  .bishop .msg-main{
    font-size:1rem;
  }
  .bishop .succession{
    padding:1rem;
  }
}

@media(min-width:640px) and (max-width:1023px){
  .bishop .succ-scroll{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .bishop .succ-card{
    width:auto;
  }
}

@media(min-width:1024px){
  /* Restore the existing desktop two-column bishop layout. */
  .bishop .bishop-grid{
    grid-template-columns:minmax(0,380px) minmax(0,1fr);
  }
  /* Keep the original desktop succession carousel behavior. */
  .bishop .succ-scroll{
    display:flex;
    gap:.75rem;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:.5rem;
    scroll-snap-type:x mandatory;
  }
  .bishop .succ-card{
    flex:0 0 180px;
    width:180px;
    scroll-snap-align:start;
  }
}

@media(max-width:767px){
  /* Reserve room for the fixed mobile navigation and device safe area. */
  body{
    padding-bottom:calc(84px + env(safe-area-inset-bottom));
  }
  .mobnav{
    padding-bottom:calc(.4rem + env(safe-area-inset-bottom));
  }
  .mob-top{
    bottom:calc(82px + env(safe-area-inset-bottom));
  }
}

@media(prefers-reduced-motion:reduce){
  .bishop .succ-card,
  .bishop .bishop-msg{
    transition:none!important;
  }
  .bishop .succ-scroll{scroll-behavior:auto}
}
/* Active navigation state */
.nav-links a.active{color:#fff;background:rgba(255,255,255,.12)}


/* ==========================================================
   DIOCESE TOP BANNER — COMPLETE IMAGE, RESPONSIVE
   ========================================================== */
.site-banner{
  width:100%;
  overflow:hidden;
  background:#2a040d;
  line-height:0;
  border-bottom:1px solid rgba(232,200,96,.35);
}
.site-banner img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  object-position:center;
  margin:0 auto;
}

/* ==========================================================
   BISHOP'S MESSAGE — PORTRAIT LEFT, MESSAGE RIGHT
   ========================================================== */
.bishop-message-section{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(3.2rem,6vw,5.4rem) 0;
  background:
    radial-gradient(ellipse at 8% 18%,rgba(201,162,39,.11),transparent 32%),
    linear-gradient(180deg,#fffdf8 0%,#f7f2e8 100%);
}
.bishop-message-section::before{
  content:"";
  position:absolute;
  z-index:-1;
  width:360px;height:360px;
  left:-220px;bottom:-230px;
  border:1px solid rgba(164,123,35,.15);
  border-radius:50%;
  box-shadow:0 0 0 22px rgba(164,123,35,.025),0 0 0 48px rgba(164,123,35,.02);
}
.bishop-message-heading{
  max-width:720px;
  margin:0 auto clamp(1.7rem,3vw,2.6rem);
  text-align:center;
}
.bishop-message-eyebrow{
  display:inline-flex;align-items:center;gap:.45rem;
  color:#9a741f;font-size:10px;font-weight:900;letter-spacing:.2em;
}
.bishop-message-eyebrow .lucide{width:14px;height:14px}
.bishop-message-heading h2{
  margin:.55rem 0 .45rem;
  color:#3b0916;
  font:800 clamp(2rem,4vw,2.8rem)/1.15 var(--fh);
}
.bishop-message-heading h2 span{color:#b28a2e}
.bishop-message-heading p{
  margin:0;color:#74676a;font-size:13px;line-height:1.7;
}
.bishop-message-card{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  align-items:center;
  gap:clamp(1.6rem,4.5vw,4.5rem);
  width:min(100%,1050px);
  margin:0 auto;
  padding:clamp(1.2rem,3.2vw,2.8rem);
  border:1px solid rgba(177,139,48,.25);
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 22px 60px rgba(50,12,24,.09);
}
.bishop-message-photo{
  position:relative;
  width:min(100%,310px);
  aspect-ratio:4/5;
  justify-self:center;
  padding:10px;
  border-radius:190px 190px 22px 22px;
  background:linear-gradient(145deg,#f3d984,#a77b22 45%,#f8e9b2);
  box-shadow:0 18px 42px rgba(53,10,24,.18);
  animation: bishopPhotoEnter .8s ease both;
}
.bishop-message-photo img{
  display:block;
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  border:4px solid #fff9e9;
  border-radius:180px 180px 16px 16px;
  background:#eadfc9;
}
.bishop-photo-gold-ring{
  position:absolute;inset:-7px;
  border:1px solid rgba(174,132,39,.75);
  border-radius:200px 200px 28px 28px;
  pointer-events:none;
}
.bishop-photo-label{
  position:absolute;left:50%;bottom:22px;
  transform:translateX(-50%);
  display:inline-flex;align-items:center;gap:.4rem;
  white-space:nowrap;
  padding:.48rem .8rem;
  border:1px solid rgba(245,220,145,.65);
  border-radius:999px;
  color:#ffe7a0;
  background:rgba(54,7,20,.91);
  font-size:9px;font-weight:900;letter-spacing:.12em;
}
.bishop-photo-label .lucide{width:12px;height:12px}
.bishop-message-content{min-width:0}
.bishop-message-tag{
  display:inline-flex;align-items:center;gap:.5rem;
  color:#9b7623;font-size:9px;font-weight:900;letter-spacing:.16em;
}
.bishop-live-dot{
  width:7px;height:7px;border-radius:50%;
  background:#3b9b63;box-shadow:0 0 0 4px rgba(59,155,99,.12);
}
.bishop-message-content h3{
  margin:.75rem 0 .2rem;
  color:#390a18;
  font:800 clamp(1.45rem,2.8vw,2.15rem)/1.2 var(--fh);
  text-wrap:balance;
}
.bishop-message-content h3 span{
  display:inline-block;color:#a17a27;font-size:.58em;white-space:nowrap;
}
.bishop-message-role{
  margin:.35rem 0 0;color:#75656a;font-size:13px;font-weight:700;
}
.bishop-message-rule{
  width:100%;height:1px;margin:1.25rem 0;
  background:linear-gradient(90deg,#d4b65f,rgba(212,182,95,0));
}
.bishop-message-rule span{
  display:block;width:68px;height:3px;transform:translateY(-1px);
  border-radius:9px;background:linear-gradient(90deg,#a77b22,#f1d77e);
}
.bishop-message-text,.bishop-message-blessing{
  color:#5c4d52;font-size:13px;line-height:1.95;
}
.bishop-message-text{margin:0}
.bishop-message-blessing{
  margin:.85rem 0 0;padding-left:1rem;
  border-left:3px solid #d4b65f;
  color:#4b2632;font-weight:700;
}
.bishop-message-more{
  display:inline-flex;align-items:center;gap:.6rem;
  margin-top:1.35rem;padding:.78rem 1.1rem;
  border:1px solid #d8b84e;border-radius:999px;
  color:#2c0912;background:linear-gradient(120deg,#f6df96,#d7b34d);
  box-shadow:0 7px 18px rgba(74,42,8,.12);
  font-size:11px;font-weight:900;
  transition:transform .25s ease,box-shadow .25s ease;
}
.bishop-message-more:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 25px rgba(74,42,8,.2);
}
.bishop-message-more .lucide{width:14px;height:14px}
@keyframes bishopPhotoEnter{
  from{opacity:0;transform:translateY(18px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

/* Header navigation alignment */
@media(min-width:1024px){
  .nav-in{gap:1rem}
  .nav-links{justify-content:center;gap:.2rem}
  .nav-links a{padding:.6rem .65rem;font-size:12px}
}
@media(min-width:1024px) and (max-width:1250px){
  .nav-in{gap:.45rem}
  .nav-links a{padding:.55rem .38rem;font-size:11px}
}

/* Tablet and mobile: image first, message second, no horizontal overflow */
@media(max-width:767px){
  .site-banner img{width:100%;height:auto;object-fit:contain}
  .bishop-message-section{padding:3rem 0}
  .bishop-message-heading{margin-bottom:1.4rem;padding:0 .4rem}
  .bishop-message-heading p{font-size:11px}
  .bishop-message-card{
    grid-template-columns:minmax(0,1fr);
    gap:1.4rem;
    padding:1rem;
    border-radius:18px;
  }
  .bishop-message-photo{
    width:min(68%,245px);
    aspect-ratio:4/4.7;
  }
  .bishop-message-content h3{font-size:1.55rem}
  .bishop-message-tag{font-size:8px;letter-spacing:.12em}
  .bishop-message-text,.bishop-message-blessing{font-size:12px;line-height:1.8}
  .bishop-message-more{min-height:42px}
}
@media(max-width:380px){
  .bishop-message-card{padding:.8rem}
  .bishop-message-photo{width:74%}
  .bishop-message-content h3{font-size:1.35rem}
}
@media(prefers-reduced-motion:reduce){
  .bishop-message-photo{animation:none}
  .bishop-message-more{transition:none}
}

/* ================================================================
   HERO VIDEO — browser-safe, cinematic and mobile responsive
   ================================================================ */
.hero-stage{isolation:isolate;background:#07101f;min-height:540px}
.hero .slide{overflow:hidden;background:#07101f}
.hero-video,.hero-image{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center center;background:#07101f}
.hero-video{pointer-events:none}
.hero .slide-shade{z-index:1;background:linear-gradient(90deg,rgba(5,10,23,.82) 0%,rgba(5,10,23,.56) 43%,rgba(5,10,23,.16) 100%),linear-gradient(0deg,rgba(5,10,23,.76),transparent 52%,rgba(5,10,23,.12))}
.hero .slide-side{z-index:2;background:radial-gradient(ellipse at 72% 45%,transparent 0%,rgba(5,10,23,.12) 65%,rgba(5,10,23,.28) 100%)}
.hero-content{z-index:5}
.hero-arrows{z-index:8}
.hero-dots{position:relative;z-index:8}
.hero-copy{max-width:780px;text-shadow:0 2px 18px rgba(0,0,0,.28)}
.hero-title{max-width:780px;text-wrap:balance}
.hero-cards{z-index:9}
.hero .slide.video-fallback{background:#101b2b}
.hero .slide.video-fallback .hero-video{opacity:0}
@media(max-width:767px){
  .hero-stage{height: min(790px, calc(100svh - 70px));min-height:620px;max-height:790px}
  .hero-video,.hero-image{object-position:center center}
  .hero .slide-shade{background:linear-gradient(90deg,rgba(5,10,23,.58),rgba(5,10,23,.18)),linear-gradient(0deg,rgba(5,10,23,.88) 0%,rgba(5,10,23,.48) 48%,rgba(5,10,23,.18) 100%)}
  .hero-content{align-items:flex-end}
  .hero-content .container{padding-top:2rem;padding-bottom:9.4rem}
  .hero-copy{max-width:100%}
  .hero-title{font-size:clamp(2rem,8.2vw,3rem);line-height:1.08;max-width:100%}
  .hero-desc{max-width:34rem}
  .hero-cta{display:flex;flex-wrap:wrap;gap:.6rem}
  .hero-cta a{min-height:44px}
  .hero-cards-grid{gap:.45rem;padding-left:.75rem;padding-right:.75rem}
  .hero-cards .hcard{min-width:0;padding:.65rem .55rem;gap:.45rem}
  .hero-cards .hcard strong{font-size:11px;line-height:1.25}
  .hero-cards .hcard small{font-size:9px;line-height:1.3}
  .hero-cards .hcard-ic{width:34px;height:34px;flex:0 0 34px}
}
@media(max-width:380px){
  .hero-stage{min-height:650px}
  .hero-content .container{padding-bottom:10rem}
  .hero-cta{flex-direction:column;align-items:stretch;max-width:240px}
  .hero-cta a{justify-content:center}
}
@media(prefers-reduced-motion:reduce){.hero .slide{transition:none}.hero-video{animation:none}}



/* ==========================================================
   DIOCESE OF KUMBAKONAM — GLOBAL PREMIUM RESPONSIVE POLISH
   ========================================================== */
:root {
  --site-maroon:#68182b;
  --site-maroon-2:#8f2038;
  --site-gold:#c7a45e;
  --site-cream:#fbf8f1;
  --site-ink:#263044;
  --site-muted:#687386;
}
*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:88px; }
body {
  max-width:100%; overflow-x:hidden;
  color:var(--site-ink); -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img,video,iframe { max-width:100%; }
img { height:auto; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button,a { touch-action:manipulation; }
a { text-underline-offset:3px; }
:focus-visible { outline:3px solid rgba(199,164,94,.8); outline-offset:3px; }
.container { width:min(100% - 42px,1240px); margin-inline:auto; }
section { isolation:isolate; }
section[id] { scroll-margin-top:92px; }

/* A consistent visual rhythm for every page */
section:not(.hero) { position:relative; }
section:not(.hero) .section-title,
section:not(.hero) h2 { text-wrap:balance; }
section:not(.hero) p { overflow-wrap:break-word; }
.card,.hcard,.stat,.news-card,.parish,.ministry-card,.gallery-item,
.bishop-message-card,.canticle-video-card,.diocese-news-card {
  -webkit-backface-visibility:hidden; backface-visibility:hidden;
}
.btn,.btn-gold,.btn-outline,.hero-cta a,.news-notify-button {
  min-height:44px; transition:transform .25s ease,box-shadow .25s ease,background .25s ease;
}
.btn:hover,.btn-gold:hover,.btn-outline:hover,.hero-cta a:hover,.news-notify-button:hover {
  transform:translateY(-2px);
}

/* Navigation refinement */
#navbar { transition:background .3s ease,box-shadow .3s ease,transform .3s ease; }
#navbar.scrolled {
  background:rgba(255,252,247,.97);
  box-shadow:0 8px 28px rgba(45,20,27,.1);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.site-banner img { display:block; width:100%; height:auto; object-fit:cover; }

/* Image and card movement — activated by the scroll observer */
.wow-reveal {
  opacity:0; transform:translate3d(0,24px,0);
  transition:opacity .8s cubic-bezier(.2,.7,.2,1),
             transform .8s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--wow-delay,0ms);
  will-change:opacity,transform;
}
.wow-reveal.wow-visible { opacity:1; transform:translate3d(0,0,0); }
.wow-image {
  overflow:hidden;
  transform:translateZ(0);
}
.wow-image img {
  transition:transform 1s cubic-bezier(.2,.7,.2,1),filter .8s ease;
}
.wow-image:hover img { transform:scale(1.045); filter:saturate(1.06); }
.reveal { transition-duration:.8s; }

/* More polished interactive surfaces */
.about-intro-card,.bishop-message-card,.about-conclusion,.canticle-video-card,
.daily-verse-card,.saints-day-card,.daily-reading-card,.diocese-news-card,
.history-detail,.about-side-info,.hcard {
  transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease,border-color .3s ease;
}
.about-intro-card:hover,.bishop-message-card:hover,.canticle-video-card:hover,
.diocese-news-card:hover,.about-side-info:hover {
  transform:translateY(-4px);
  box-shadow:0 18px 42px rgba(54,25,32,.12);
}
button:active,.hcard:active { transform:scale(.985); }

/* Cleaner typography and consistent content widths */
.about-top-heading h2,.bishop-message-heading h2,.canticle-heading h2,
.bishops-timeline-heading h2,.diocese-news-heading h2 {
  letter-spacing:-.035em;
}
.about-top-heading>p,.bishop-message-heading>p,.canticle-heading>p {
  max-width:680px; margin-inline:auto;
}

/* Global mobile/tablet corrections */
@media(max-width:1024px) {
  .container { width:min(100% - 34px,900px); }
  section:not(.hero) { scroll-margin-top:78px; }
  .about-main-grid { gap:20px; }
}
@media(max-width:760px) {
  html { scroll-padding-top:72px; }
  body { font-size:14px; }
  .container { width:calc(100% - 30px); }
  .topbar { display:none; }
  .site-banner img { min-height:58px; object-fit:cover; }
  section:not(.hero) { overflow-x:clip; }
  .about-diocese,.bishop-message-section,.bishops-timeline-section,
  .canticle-section,.diocese-news-section { padding-top:54px; padding-bottom:58px; }
  .about-top-heading,.bishop-message-heading,.canticle-heading,
  .bishops-timeline-heading { padding-inline:5px; margin-bottom:30px; }
  .about-top-heading h2,.bishop-message-heading h2,
  .canticle-heading h2,.bishops-timeline-heading h2 { font-size:clamp(27px,7vw,35px); }
  .about-main-grid { grid-template-columns:1fr; }
  .about-visual { position:relative; top:auto; }
  .about-image-frame { max-height:420px; }
  .bishop-message-card { grid-template-columns:1fr !important; }
  .bishop-message-photo { max-width:280px; margin-inline:auto; }
  .bishop-message-content { padding:24px 20px !important; }
  .daily-faith-grid { grid-template-columns:1fr; }
  .diocese-news-grid { grid-template-columns:1fr; }
  .hero-cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .hero-cards .desk-only { display:none !important; }
  .hero-cards .hcard { min-width:0; }
  .bishops-timeline-shell { margin-inline:0; }
  .timeline-prev { left:0 !important; }
  .timeline-next { right:0 !important; }
  .timeline-arrow { width:38px; height:38px; }
  .bishops-timeline-bottom { flex-wrap:wrap; }
  .bishops-timeline-bottom .timeline-progress { flex:1 1 100%; order:3; width:100%; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  input,select,textarea { max-width:100%; font-size:16px; }
}
@media(max-width:480px) {
  .container { width:calc(100% - 24px); }
  .hero-cards-grid { gap:8px; }
  .hero-cards .hcard { padding:10px 8px; gap:8px; }
  .hero-cards .hcard strong { font-size:11px; }
  .hero-cards .hcard small { font-size:9px; }
  .about-intro-card { padding:18px; }
  .about-image-frame { height:340px; }
  .bishop-message-content h3 { font-size:22px !important; }
  .canticle-video-grid { grid-template-columns:1fr !important; }
  .canticle-video-card { border-radius:16px; }
  .daily-verse-card { align-items:flex-start; }
  .saints-day-card,.daily-reading-card { padding:21px 17px; }
  .reading-tabs { gap:6px; }
  .reading-tab { padding:9px 12px; }
  .footer-grid { grid-template-columns:1fr; }
  .footer-bottom { flex-direction:column; gap:8px; text-align:center; }
  .modal-card,.modal { max-width:calc(100vw - 20px); }
}
@media(max-width:360px) {
  .container { width:calc(100% - 20px); }
  .hero-content h1 { font-size:2rem; }
  .hero-cards .hcard-ic { width:30px; height:30px; flex-basis:30px; }
}

/* Gentle snowfall — decorative, pointer-safe and performance-conscious */
#dioceseSnowLayer {
  position:fixed; inset:0; z-index:9990; overflow:hidden;
  pointer-events:none; contain:layout paint; opacity:.72;
}
.diocese-snowflake {
  position:absolute; top:-24px; left:var(--snow-left);
  width:var(--snow-size); height:var(--snow-size);
  border-radius:50%; background:rgba(255,255,255,.94);
  box-shadow:0 0 5px rgba(255,255,255,.75);
  opacity:var(--snow-opacity);
  animation:dioceseSnowFall var(--snow-duration) linear var(--snow-delay) infinite;
  will-change:transform;
}
@keyframes dioceseSnowFall {
  0% { transform:translate3d(0,-5vh,0); }
  50% { transform:translate3d(var(--snow-drift),50vh,0); }
  100% { transform:translate3d(calc(var(--snow-drift) * -.55),110vh,0); }
}
#dioceseSnowToggle {
  position:fixed; z-index:9995; left:16px; bottom:18px;
  display:inline-flex; align-items:center; gap:7px;
  min-height:38px; padding:8px 12px; border:1px solid rgba(255,255,255,.4);
  border-radius:30px; color:#fff8e9; background:rgba(104,24,43,.88);
  box-shadow:0 5px 18px rgba(45,18,27,.2); backdrop-filter:blur(8px);
  font:600 11px/1 Inter,Arial,sans-serif; cursor:pointer;
}
#dioceseSnowToggle svg { width:14px; height:14px; }
#dioceseSnowToggle[aria-pressed="false"] { color:#68182b; background:rgba(255,255,255,.92); }
@media(max-width:760px) {
  #dioceseSnowLayer { opacity:.55; }
  .diocese-snowflake:nth-child(odd) { display:none; }
  #dioceseSnowToggle { left:10px; bottom:10px; min-height:34px; padding:7px 10px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .wow-reveal,.wow-image img,.reveal,.diocese-snowflake { animation:none !important; transition:none !important; }
  .wow-reveal { opacity:1 !important; transform:none !important; }
  #dioceseSnowLayer { display:none !important; }
}



/* ==========================================================
   FINAL HOMEPAGE POLISH — BISHOPS, VERSE CAROUSEL, NEWS IMAGES
   ========================================================== */
.bishops-timeline-section { overflow:hidden; }
.bishops-timeline-shell { position:relative; width:100%; min-width:0; }
.bishops-timeline-track {
  display:flex !important; flex-wrap:nowrap !important; align-items:stretch;
  width:100%; max-width:100%; min-width:0;
  overflow-x:auto !important; overflow-y:hidden !important;
  overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch;
  touch-action:pan-x pan-y; cursor:grab;
  scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:thin;
}
.bishops-timeline-track.is-dragging { cursor:grabbing; scroll-snap-type:none; user-select:none; }
.bishops-timeline-track .about-history-item {
  flex:0 0 clamp(265px,23vw,310px) !important;
  min-width:0; scroll-snap-align:start;
}
.bishops-timeline-track .about-history-item p { overflow-wrap:anywhere; }
.timeline-arrow { z-index:8; }
.timeline-arrow:disabled { opacity:.38; cursor:not-allowed; transform:none; }
.bishop-timeline-dots { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin:10px 0 16px; }
.bishop-timeline-dots button { width:9px; height:9px; border:0; border-radius:50%; background:#d9c7a0; cursor:pointer; transition:all .25s ease; }
.bishop-timeline-dots button.active { width:23px; border-radius:12px; background:#8e2035; }
.bishop-read-toggle { cursor:pointer; }
.bishops-timeline-bottom { align-items:center; }

/* Daily Bible quotation carousel */
.daily-verse-card { position:relative; isolation:isolate; }
.daily-verse-copy { flex:1; min-width:0; }
.daily-verse-copy h2,.daily-verse-reference,.daily-verse-reflection {
  transition:opacity .28s ease,transform .28s ease;
}
.daily-verse-card.verse-changing .daily-verse-copy h2,
.daily-verse-card.verse-changing .daily-verse-reference,
.daily-verse-card.verse-changing .daily-verse-reflection {
  opacity:0; transform:translateY(7px);
}
.daily-verse-controls { display:flex; align-items:center; gap:13px; margin-top:17px; }
.daily-verse-nav {
  display:grid; place-items:center; width:34px; height:34px; flex:0 0 34px;
  border:1px solid rgba(247,221,159,.48); border-radius:50%;
  color:#fff5d9; background:rgba(255,255,255,.12); cursor:pointer;
  transition:background .2s ease,transform .2s ease;
}
.daily-verse-nav:hover { background:rgba(255,255,255,.25); transform:scale(1.08); }
.daily-verse-nav svg { width:17px; height:17px; }
.daily-verse-dots { display:flex; align-items:center; justify-content:center; gap:7px; }
.daily-verse-dots button {
  width:7px; height:7px; padding:0; border:0; border-radius:20px;
  background:rgba(255,255,255,.45); cursor:pointer; transition:all .25s ease;
}
.daily-verse-dots button.active { width:22px; background:#f3d58b; }
.daily-verse-mark { pointer-events:none; }

/* News cards use real supplied diocesan photographs instead of empty icon panels */
.news-card-media {
  position:relative; height:190px; overflow:hidden; isolation:isolate;
  background:linear-gradient(135deg,#68182b,#c49a4a);
}
.news-card-media::after {
  content:""; position:absolute; inset:35% 0 0;
  background:linear-gradient(180deg,transparent,rgba(35,10,18,.55));
  pointer-events:none;
}
.news-card-media img {
  display:block; width:100%; height:100%; object-fit:cover; object-position:center;
  transition:transform .8s cubic-bezier(.2,.7,.2,1),filter .6s ease;
}
.diocese-news-card:hover .news-card-media img { transform:scale(1.07); filter:saturate(1.08); }
.news-image-tag {
  position:absolute; z-index:2; left:14px; bottom:13px;
  display:inline-flex; align-items:center; gap:7px;
  padding:7px 11px; border:1px solid rgba(255,255,255,.35); border-radius:30px;
  color:#fff; background:rgba(75,15,31,.72); backdrop-filter:blur(8px);
  font-size:9px; font-weight:800; letter-spacing:1px;
}
.news-image-tag svg { width:13px; height:13px; color:#f2d58a; }
.diocese-news-card { overflow:hidden; }
.news-card-content { position:relative; }
.news-card-content h3 { text-wrap:balance; }
.news-card-content p { min-height:70px; }

/* Make the entire page behave consistently on laptops, tablets and phones */
html { scroll-behavior:smooth; }
body { width:100%; min-width:320px; overflow-x:hidden; }
.container { width:min(1240px,calc(100% - 40px)); }
section { max-width:100%; }
img,video,iframe { max-width:100%; }
@media(max-width:1100px) {
  .bishops-timeline-track .about-history-item { flex-basis:290px !important; }
  .news-card-media { height:170px; }
}
@media(max-width:760px) {
  .container { width:calc(100% - 28px); }
  .bishops-timeline-section { padding:58px 0 54px; }
  .bishops-timeline-heading { padding-inline:8px; }
  .bishops-timeline-track {
    gap:15px !important; padding:38px 3px 18px !important;
    scroll-padding-inline:3px;
  }
  .bishops-timeline-track .about-history-item {
    flex:0 0 min(84vw,330px) !important;
  }
  .bishops-timeline-track .history-detail { padding:0 17px 20px !important; }
  .bishop-portrait-wrap { height:205px !important; }
  .bishops-timeline-track .history-detail p { text-align:left !important; }
  .timeline-arrow { top:50%; width:38px; height:38px; }
  .timeline-prev { left:0 !important; }
  .timeline-next { right:0 !important; }
  .daily-verse-section { padding:36px 0 18px; }
  .daily-verse-card { gap:14px; padding:23px 17px; align-items:flex-start; }
  .daily-verse-symbol { width:44px; height:44px; flex-basis:44px; }
  .daily-verse-copy h2 { font-size:clamp(18px,5vw,23px); }
  .daily-verse-reflection { font-size:12px; line-height:1.65; }
  .daily-verse-controls { margin-top:13px; gap:9px; }
  .daily-verse-nav { width:30px; height:30px; flex-basis:30px; }
  .news-card-media { height:185px; }
  .diocese-news-grid { grid-template-columns:1fr !important; }
  .diocese-news-card { display:grid; grid-template-columns: minmax(105px,36%) 1fr; }
  .news-card-media { height:100%; min-height:170px; }
  .news-card-content { padding:17px 15px; }
  .news-card-content h3 { font-size:16px; }
  .news-card-content p { min-height:0; font-size:12px; }
  .news-card-content>a { margin-top:12px; padding-top:10px; }
}
@media(max-width:430px) {
  .container { width:calc(100% - 22px); }
  .daily-verse-card { display:grid; grid-template-columns:42px minmax(0,1fr); }
  .daily-verse-symbol { grid-row:1; }
  .daily-verse-copy { grid-column:1 / -1; }
  .daily-verse-kicker { font-size:9px; letter-spacing:1.5px; }
  .daily-verse-copy h2 { font-size:19px; }
  .daily-verse-mark { right:5px; bottom:-24px; font-size:100px; }
  .diocese-news-card { grid-template-columns:1fr; }
  .news-card-media { height:175px; min-height:0; }
  .news-card-content { padding:18px; }
  .bishops-timeline-track .about-history-item { flex-basis:82vw !important; }
}
@media(prefers-reduced-motion:reduce) {
  .bishops-timeline-track,.daily-verse-copy h2,.daily-verse-reference,
  .daily-verse-reflection,.news-card-media img { scroll-behavior:auto; transition:none !important; }
}



/* ==========================================================
   SHEPHERDS' MESSAGES — LARGE PORTRAITS + CHURCH WATERMARK
   ========================================================== */
#leaders-messages {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:clamp(64px,7vw,104px) 0;
  background:
    linear-gradient(105deg,rgba(255,253,248,.96),rgba(255,255,255,.91) 52%,rgba(250,245,235,.95)),
    url("../img/slider.jpg") center 42% / cover no-repeat;
}
#leaders-messages::before {
  content:""; position:absolute; z-index:-1; inset:0;
  background:url("../img/slider.jpg") center 43% / cover no-repeat;
  opacity:.075; filter:grayscale(.15) saturate(.7);
  transform:scale(1.025);
}
#leaders-messages::after {
  content:""; position:absolute; z-index:-1; width:440px; height:440px;
  right:-180px; bottom:-230px; border:1px solid rgba(171,132,48,.19);
  border-radius:50%; box-shadow:0 0 0 30px rgba(171,132,48,.035),0 0 0 60px rgba(171,132,48,.025);
  pointer-events:none;
}
#leaders-messages .leaders-messages-heading { margin-bottom:42px; }
#leaders-messages .leaders-messages-heading h2 {
  color:#701a30; font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(30px,3.3vw,43px); letter-spacing:-.7px;
}
#leaders-messages .leaders-messages-heading h2 em { color:#b18a3c; }
#leaders-messages .leaders-messages-heading p { color:#697184; }
#leaders-messages .leaders-message-grid {
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:stretch; gap:clamp(18px,2.2vw,30px);
}
#leaders-messages .leader-message-card {
  display:grid; grid-template-columns:minmax(145px,.72fr) minmax(0,1.28fr);
  grid-template-rows:auto 1fr auto; align-content:start; align-items:start;
  gap:0 clamp(18px,2vw,26px); min-width:0; min-height:440px;
  padding:clamp(22px,2.2vw,32px);
  border:1px solid rgba(196,161,91,.34); border-radius:25px;
  color:#fff; background:linear-gradient(145deg,#912139 0%,#7b1b31 55%,#591426 100%);
  box-shadow:0 20px 55px rgba(55,19,29,.14);
  transition:transform .4s ease,box-shadow .4s ease;
}
#leaders-messages .leader-message-card:hover {
  transform:translateY(-6px); box-shadow:0 28px 65px rgba(55,19,29,.2);
}
#leaders-messages .leader-message-top { display:contents; }
#leaders-messages .leader-avatar {
  grid-column:1; grid-row:1 / span 2;
  width:100%; height:clamp(220px,22vw,285px); min-width:0;
  align-self:start; border:3px solid #d7b765; border-radius:150px 150px 22px 22px;
  padding:5px; background:linear-gradient(145deg,rgba(255,255,255,.24),rgba(255,255,255,.06));
  box-shadow:0 14px 30px rgba(30,5,15,.22); overflow:hidden;
}
#leaders-messages .leader-avatar img {
  width:100%; height:100%; display:block; object-fit:cover;
  border:2px solid rgba(255,248,226,.9); border-radius:145px 145px 16px 16px;
  transition:transform .75s cubic-bezier(.2,.7,.2,1);
}
#leaders-messages .pope-avatar img { object-position:center 20%; }
#leaders-messages .bishop-avatar img { object-position:center 12%; }
#leaders-messages .leader-message-card:hover .leader-avatar img { transform:scale(1.055); }
#leaders-messages .leader-heading-copy {
  grid-column:2; grid-row:1; min-width:0; padding-top:5px;
}
#leaders-messages .leader-heading-copy h3 {
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(21px,1.85vw,27px); line-height:1.2;
}
#leaders-messages .leader-kicker { font-size:9px; letter-spacing:1.7px; }
#leaders-messages .leader-name { font-size:14px; line-height:1.5; }
#leaders-messages .leader-date,#leaders-messages .leader-designation {
  display:inline-flex; flex-wrap:wrap; align-items:center; gap:6px;
  color:#f2d995; font-size:10px; line-height:1.5;
}
#leaders-messages .leader-message-body {
  grid-column:2; grid-row:2; min-width:0; margin:18px 0 0;
  padding:18px 17px; border:1px solid rgba(255,255,255,.17);
  border-radius:17px; background:rgba(255,255,255,.075);
}
#leaders-messages .leader-message-body p {
  color:rgba(255,255,255,.91); font-size:12px; line-height:1.75;
}
#leaders-messages .leader-message-body p + p { margin-top:11px; }
#leaders-messages .leader-message-body .pope-citation,
#leaders-messages .leader-message-body .bishop-blessing { color:#f3d68d; }
#leaders-messages .leader-read-more {
  display:inline-flex; align-items:center; gap:8px; margin-top:13px;
  min-height:40px; padding:9px 15px; border:1px solid rgba(245,216,143,.65);
  border-radius:30px; color:#fff4d8; background:rgba(255,255,255,.10);
  font-size:11px; font-weight:800; transition:all .25s ease;
}
#leaders-messages .leader-read-more:hover { color:#64182b; background:#f0d48e; }
#leaders-messages .leader-source-link {
  grid-column:2; grid-row:3; margin-top:13px; color:#f0d58e;
  font-size:10px;
}
#leaders-messages .leader-source-link a { color:inherit; }
#leaders-messages .avatar-fallback { background:#f3dfaa; color:#742036; }

/* Campus tour gallery */
.campus-tour-section {
  position:relative; isolation:isolate; overflow:hidden;
  padding:clamp(62px,7vw,94px) 0;
  background:linear-gradient(180deg,#f8f5ee 0%,#fffdfa 100%);
}
.campus-tour-section::before {
  content:""; position:absolute; z-index:-1; inset:0;
  background:url("../img/slider.jpg") center / cover no-repeat;
  opacity:.055; filter:grayscale(1);
}
.campus-tour-heading { max-width:720px; margin:0 auto 36px; text-align:center; }
.campus-tour-eyebrow {
  display:inline-flex; align-items:center; gap:8px; color:#a27b2e;
  font-size:10px; font-weight:900; letter-spacing:2px;
}
.campus-tour-eyebrow svg { width:15px; height:15px; }
.campus-tour-heading h2 {
  margin:10px 0; color:#701a30; font:700 clamp(30px,3.3vw,43px)/1.2 Georgia,serif;
}
.campus-tour-heading h2 em { color:#b18a3c; font-style:normal; }
.campus-tour-heading p { max-width:610px; margin:0 auto; color:#697184; font-size:14px; line-height:1.8; }
.campus-tour-rule { display:block; width:66px; height:3px; margin:20px auto 0; border-radius:5px; background:linear-gradient(90deg,#8b1d34,#d4b45e); }
.campus-tour-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }
.campus-tour-card {
  min-width:0; overflow:hidden; border:1px solid rgba(183,145,67,.25);
  border-radius:23px; background:#fff;
  box-shadow:0 16px 42px rgba(48,28,29,.11);
  transition:transform .4s ease,box-shadow .4s ease;
}
.campus-tour-card:hover { transform:translateY(-6px); box-shadow:0 24px 52px rgba(48,28,29,.16); }
.campus-tour-image { position:relative; height:clamp(220px,25vw,340px); overflow:hidden; background:#e9e1d2; }
.campus-tour-image::after { content:""; position:absolute; inset:45% 0 0; background:linear-gradient(transparent,rgba(37,13,20,.38)); }
.campus-tour-image img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s ease; }
.campus-tour-card:hover .campus-tour-image img { transform:scale(1.055); }
.campus-tour-image-label {
  position:absolute; z-index:2; left:17px; bottom:15px;
  display:inline-flex; align-items:center; gap:7px; padding:8px 12px;
  border:1px solid rgba(255,255,255,.4); border-radius:30px;
  color:#fff; background:rgba(85,18,35,.78); backdrop-filter:blur(8px);
  font-size:9px; font-weight:900; letter-spacing:1.1px;
}
.campus-tour-image-label svg { width:14px; height:14px; color:#f2d58a; }
.campus-tour-caption { display:flex; align-items:flex-start; gap:14px; padding:20px 22px 23px; }
.campus-tour-index {
  display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px;
  border-radius:12px; color:#f5e6be; background:#741a30;
  font:700 13px Georgia,serif;
}
.campus-tour-caption h3 { margin:1px 0 6px; color:#701a30; font:700 19px Georgia,serif; }
.campus-tour-caption p { margin:0; color:#697184; font-size:12px; line-height:1.7; }

/* Snowfall tuned down: gentle accent, never a blizzard */
#dioceseSnowLayer { opacity:.28 !important; }
.diocese-snowflake { box-shadow:0 0 3px rgba(255,255,255,.4) !important; }
#dioceseSnowToggle { opacity:.78; transform:scale(.92); transform-origin:left bottom; }
@media(max-width:1050px) {
  #leaders-messages .leaders-message-grid { grid-template-columns:1fr; max-width:780px; margin-inline:auto; }
  #leaders-messages .leader-message-card { min-height:360px; }
  #leaders-messages .leader-avatar { height:250px; }
}
@media(max-width:760px) {
  #leaders-messages { padding:58px 0 62px; }
  #leaders-messages .leaders-messages-heading { margin-bottom:28px; }
  #leaders-messages .leaders-message-grid { gap:18px; }
  #leaders-messages .leader-message-card {
    grid-template-columns:112px minmax(0,1fr);
    gap:0 14px; min-height:0; padding:18px;
    border-radius:21px;
  }
  #leaders-messages .leader-avatar {
    width:112px; height:155px; grid-column:1; grid-row:1 / span 2;
    border-radius:75px 75px 15px 15px; padding:4px;
  }
  #leaders-messages .leader-avatar img { border-radius:70px 70px 11px 11px; }
  #leaders-messages .leader-heading-copy { grid-column:2; grid-row:1; padding-top:3px; }
  #leaders-messages .leader-heading-copy h3 { font-size:20px; }
  #leaders-messages .leader-name { font-size:12px; }
  #leaders-messages .leader-message-body { grid-column:1 / -1; grid-row:3; margin-top:17px; padding:15px; }
  #leaders-messages .leader-source-link { grid-column:1 / -1; grid-row:4; }
  .campus-tour-section { padding:55px 0; }
  .campus-tour-grid { grid-template-columns:1fr; gap:17px; }
  .campus-tour-image { height:clamp(190px,58vw,300px); }
}
@media(max-width:390px) {
  #leaders-messages .leader-message-card { grid-template-columns:92px minmax(0,1fr); padding:14px; gap:0 11px; }
  #leaders-messages .leader-avatar { width:92px; height:132px; }
  #leaders-messages .leader-heading-copy h3 { font-size:18px; }
  #leaders-messages .leader-kicker { font-size:8px; letter-spacing:1px; }
  #leaders-messages .leader-date,#leaders-messages .leader-designation { font-size:9px; }
  #leaders-messages .leader-message-body { padding:13px; }
  .campus-tour-caption { padding:16px; }
  .campus-tour-caption h3 { font-size:17px; }
}



/* ==========================================================
   DIOCESE OF KUMBAKONAM — MAROON & GOLD SIGNATURE DESIGN
   Vision / Mission • Shepherds • Bishops • Scripture Ribbon
   ========================================================== */
:root {
  --dk-wine:#681321;
  --dk-wine-2:#8d2034;
  --dk-wine-3:#a83248;
  --dk-gold:#c9a45b;
  --dk-gold-light:#f0dfb6;
  --dk-ivory:#fbf8f2;
  --dk-ink:#292b34;
  --dk-muted:#697080;
}

/* Warm, spacious Vision and Mission panels with a soft church silhouette */
.vision-mission-section {
  position:relative; isolation:isolate; overflow:hidden;
  padding:88px 0 92px;
  background:
    linear-gradient(115deg,rgba(255,253,248,.97),rgba(250,245,235,.94)),
    url("../img/slider.jpg") center/cover no-repeat;
}
.vision-mission-backdrop {
  position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(ellipse at 10% 85%,rgba(201,164,91,.13),transparent 32%),
    radial-gradient(ellipse at 90% 12%,rgba(104,19,33,.08),transparent 35%);
}
.vision-mission-heading { text-align:center; max-width:760px; margin:0 auto 38px; }
.vision-mission-eyebrow {
  display:inline-flex; align-items:center; gap:8px; color:#a27c34;
  font-size:10px; font-weight:850; letter-spacing:2.3px;
}
.vision-mission-eyebrow svg { width:15px; height:15px; }
.vision-mission-heading h2 {
  margin:12px 0 10px; color:var(--dk-wine);
  font:700 clamp(31px,4vw,46px)/1.15 Georgia,"Times New Roman",serif;
}
.vision-mission-heading h2 em { color:#b58b3f; font-style:normal; }
.vision-mission-heading p { color:#687080; font-size:14px; line-height:1.8; }
.vision-heading-rule {
  display:block; width:74px; height:3px; margin:20px auto 0;
  border-radius:5px; background:linear-gradient(90deg,var(--dk-wine),var(--dk-gold));
}
.vision-mission-grid { display:grid; grid-template-columns:.88fr 1.12fr; gap:24px; align-items:stretch; }
.vision-card,.mission-card {
  position:relative; overflow:hidden; padding:34px 34px 28px;
  border:1px solid rgba(201,164,91,.36); border-radius:23px;
  background:rgba(255,255,255,.92);
  box-shadow:0 16px 42px rgba(55,28,28,.08);
  transition:transform .4s ease,box-shadow .4s ease,border-color .3s ease;
}
.vision-card::before,.mission-card::before {
  content:""; position:absolute; width:180px; height:180px; right:-76px; top:-85px;
  border:1px solid rgba(201,164,91,.24); border-radius:50%;
  box-shadow:0 0 0 18px rgba(201,164,91,.045),0 0 0 38px rgba(201,164,91,.03);
}
.vision-card:hover,.mission-card:hover {
  transform:translateY(-7px); border-color:rgba(201,164,91,.75);
  box-shadow:0 24px 55px rgba(55,28,28,.13);
}
.vision-card-top { display:flex; justify-content:space-between; align-items:center; gap:14px; }
.vision-icon,.mission-icon {
  display:grid; place-items:center; width:54px; height:54px; border-radius:17px;
  color:#f6e8c8; background:linear-gradient(145deg,#8d2034,#55101e);
  box-shadow:0 8px 18px rgba(104,19,33,.2);
}
.mission-icon { color:#fff5df; background:linear-gradient(145deg,#c19a4e,#8b672a); }
.vision-icon svg,.mission-icon svg { width:25px; height:25px; }
.vision-card-index { color:#a88a50; font-size:9px; font-weight:900; letter-spacing:1.8px; }
.vision-card h3,.mission-card h3 {
  margin:23px 0 13px; color:var(--dk-wine);
  font:700 27px/1.2 Georgia,"Times New Roman",serif;
}
.vision-card>p { color:#5e6470; font-size:15px; line-height:1.95; }
.mission-card ul { display:grid; gap:11px; margin:0; padding:0; list-style:none; }
.mission-card li { display:grid; grid-template-columns:18px 1fr; gap:10px; color:#555d6a; font-size:13px; line-height:1.65; }
.mission-card li svg { width:16px; height:16px; margin-top:2px; color:#b48a3c; }
.vision-card-foot {
  display:flex; align-items:center; gap:9px; margin-top:27px; padding-top:17px;
  border-top:1px solid #f0e8d9; color:#98722e; font-size:11px; font-weight:800;
}
.vision-card-foot svg { width:16px; height:16px; }

/* Messages from Our Shepherds — large portrait editorial cards */
.leaders-messages-section {
  position:relative; isolation:isolate; overflow:hidden;
  padding:86px 0 92px;
  background:
    linear-gradient(120deg,rgba(250,247,240,.96),rgba(255,255,255,.95)),
    url("../img/slider.jpg") center/cover fixed no-repeat;
}
.leaders-messages-section::before {
  content:""; position:absolute; z-index:-1; inset:0; pointer-events:none;
  background:radial-gradient(ellipse at 0% 55%,rgba(201,164,91,.12),transparent 35%),
             radial-gradient(ellipse at 100% 10%,rgba(104,19,33,.08),transparent 38%);
}
.leaders-messages-heading { margin-bottom:38px; }
.leaders-messages-heading h2 {
  color:var(--dk-wine); font:700 clamp(30px,4vw,44px)/1.15 Georgia,"Times New Roman",serif;
}
.leaders-messages-heading h2 em { color:#b48a3c; }
.leaders-message-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; align-items:stretch; }
.leader-message-card {
  position:relative; display:flex; flex-direction:column; min-width:0; overflow:hidden;
  padding:0 !important; border:1px solid rgba(201,164,91,.42) !important;
  border-radius:24px !important; background:#fff !important;
  box-shadow:0 17px 42px rgba(48,25,29,.1) !important;
  transition:transform .4s ease,box-shadow .4s ease,border-color .3s ease;
}
.leader-message-card::before {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  background:url("../img/slider.jpg") center/cover no-repeat; opacity:.055;
}
.leader-message-card::after {
  content:""; position:absolute; top:0; left:0; right:0; height:5px; z-index:2;
  background:linear-gradient(90deg,#6b1323,#b68b3c,#6b1323);
}
.leader-message-card:hover { transform:translateY(-7px); box-shadow:0 26px 58px rgba(48,25,29,.15) !important; }
.leader-message-top {
  position:relative; z-index:1; display:grid !important;
  grid-template-columns:190px minmax(0,1fr); align-items:center;
  gap:24px !important; padding:30px 30px 22px !important;
  border:0 !important; background:transparent !important;
}
.leader-avatar {
  position:relative; display:block !important; width:190px !important; height:225px !important;
  flex:none !important; overflow:hidden; border-radius:48% 48% 19px 19px !important;
  border:5px solid #fff !important; outline:1px solid rgba(184,139,60,.65);
  background:linear-gradient(145deg,#f3e6c9,#e6d5b6) !important;
  box-shadow:0 13px 28px rgba(56,26,28,.17) !important;
}
.leader-avatar::after {
  content:""; position:absolute; inset:0; pointer-events:none;
  border-radius:inherit; box-shadow:inset 0 -32px 36px rgba(48,16,26,.1);
}
.leader-avatar img {
  display:block !important; width:100% !important; height:100% !important;
  object-fit:cover !important; object-position:center top !important;
  transform:scale(1.015); transition:transform .75s cubic-bezier(.2,.7,.2,1),filter .5s ease;
}
.leader-message-card:hover .leader-avatar img { transform:scale(1.075); filter:saturate(1.08); }
.leader-avatar .avatar-fallback { position:absolute; inset:0; display:none; align-items:center; justify-content:center; color:#781b30; font:700 28px Georgia,serif; }
.leader-heading-copy { min-width:0; }
.leader-kicker { color:#a47d36 !important; font-size:9px !important; letter-spacing:2px !important; font-weight:900 !important; }
.leader-heading-copy h3 {
  margin:10px 0 7px !important; color:#70182b !important;
  font:700 clamp(21px,2vw,27px)/1.22 Georgia,"Times New Roman",serif !important;
}
.leader-name { color:#3e414a !important; font-size:15px !important; font-weight:800 !important; line-height:1.5 !important; }
.leader-date,.leader-designation {
  display:inline-flex !important; align-items:center; gap:7px; margin-top:11px !important;
  padding:7px 11px; border:1px solid #eadbb9; border-radius:30px;
  color:#8a672b !important; background:#fbf7ed; font-size:10px !important; font-weight:750 !important;
}
.leader-date svg { width:13px; height:13px; }
.leader-message-body {
  position:relative; z-index:1; flex:1; margin:0 30px !important; padding:20px 0 23px !important;
  border-top:1px solid #eee5d5 !important; background:transparent !important;
}
.leader-message-body p { color:#5c6270 !important; font-size:13px !important; line-height:1.85 !important; }
.leader-message-body p+p { margin-top:12px !important; }
.leader-read-more {
  display:inline-flex !important; align-items:center; gap:9px; margin-top:17px !important;
  min-height:42px; padding:10px 17px !important; border:1px solid #8b2638 !important;
  border-radius:30px !important; color:#7d1c30 !important; background:#fff !important;
  font-size:12px !important; font-weight:850 !important; transition:all .25s ease;
}
.leader-read-more:hover { color:#fff !important; background:#7d1c30 !important; transform:translateY(-2px); }
.leader-read-more svg { width:15px; height:15px; }
.leader-source-link {
  position:relative; z-index:1; display:flex !important; align-items:center; gap:7px;
  margin:0 30px !important; padding:14px 0 20px !important;
  border-top:1px solid #f0e9dc !important; color:#9b793d !important;
  font-size:10px !important; font-weight:750 !important;
}
.leader-source-link svg { width:14px; height:14px; }
.bishop-blessing { color:#7c1b30 !important; font-family:Georgia,serif; font-style:italic; }

/* Bishops redesigned as a dignified editorial grid — no tiny horizontal cards */
.bishops-timeline-section {
  position:relative; overflow:hidden; padding:94px 0 100px;
  background:
    linear-gradient(135deg,rgba(250,247,239,.96),rgba(255,255,255,.94)),
    url("../img/slider.jpg") center/cover no-repeat;
}
.bishops-timeline-section::before {
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(circle at 8% 15%,rgba(201,164,91,.13),transparent 28%),
             radial-gradient(circle at 94% 80%,rgba(104,19,33,.08),transparent 30%);
}
.bishops-timeline-heading { position:relative; margin-bottom:42px; text-align:center; }
.bishops-timeline-heading .timeline-eyebrow { color:#a17a31; letter-spacing:2.5px; font-size:10px; font-weight:900; }
.bishops-timeline-heading h2 {
  margin:12px 0; color:#681321;
  font:700 clamp(31px,4vw,46px)/1.16 Georgia,"Times New Roman",serif;
}
.bishops-timeline-heading p { max-width:720px; margin:0 auto; color:#6c7280; font-size:14px; line-height:1.8; }
.bishops-timeline-heading .timeline-heading-line {
  display:block; width:76px; height:3px; margin:19px auto 0;
  border-radius:5px; background:linear-gradient(90deg,#7a182b,#d3ad62);
}
.bishop-heading-note { color:#9a7736; font:italic 13px Georgia,serif; }
.bishops-timeline-shell { width:100%; }
.bishops-timeline-track {
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:22px !important; width:100%; max-width:100%; padding:0 !important;
  overflow:visible !important; scroll-snap-type:none !important;
  cursor:default !important;
}
.bishops-timeline-track .bishops-timeline-rail,
.bishops-timeline-track .history-marker,
.timeline-arrow,.bishop-timeline-dots { display:none !important; }
.bishops-timeline-track .about-history-item {
  display:block; min-width:0; width:auto !important; flex:none !important;
  overflow:hidden; border:1px solid rgba(192,151,73,.4) !important;
  border-radius:20px !important; background:#fff !important;
  box-shadow:0 13px 35px rgba(54,27,30,.075) !important;
  animation:dioceseBishopRise .75s both;
  transition:transform .35s ease,box-shadow .35s ease,border-color .3s ease;
}
.bishops-timeline-track .about-history-item:nth-child(2n) { animation-delay:.08s; }
.bishops-timeline-track .about-history-item:hover {
  transform:translateY(-5px); border-color:#c5a05a !important;
  box-shadow:0 22px 48px rgba(54,27,30,.13) !important;
}
.bishops-timeline-track .history-detail {
  display:grid !important; grid-template-columns:minmax(125px,36%) minmax(0,1fr);
  grid-template-rows:auto auto 1fr auto; align-content:start; align-items:start;
  gap:8px 19px !important; min-height:100%; padding:18px !important;
  border:0 !important; background:transparent !important; box-shadow:none !important;
}
.bishop-portrait-wrap {
  grid-column:1; grid-row:1 / span 4; position:relative;
  height:100%; min-height:245px; margin:0 !important; overflow:hidden;
  border-radius:15px; background:linear-gradient(145deg,#f5eddc,#e5d4b2);
}
.bishop-portrait-wrap::before { inset:8px; border:1px solid rgba(178,137,58,.45); border-radius:11px; }
.bishop-portrait-wrap::after { height:38px; }
.bishop-portrait-wrap img {
  width:100%; height:100%; min-height:245px; padding:8px 7px 0;
  object-fit:contain; object-position:center bottom;
}
.bishop-portrait-number { left:12px; bottom:12px; transform:none; width:36px; height:36px; }
.bishops-timeline-track .history-year {
  grid-column:2; grid-row:1; justify-self:start; margin:1px 0 0 !important;
  padding:6px 12px !important; border-radius:20px !important;
  color:#fff !important; background:#781b30 !important; font-size:10px !important;
}
.bishops-timeline-track .history-detail h4 {
  grid-column:2; grid-row:2; min-height:0; margin:0 !important;
  color:#70182b !important; text-align:left !important;
  font:700 19px/1.35 Georgia,"Times New Roman",serif !important;
}
.bishops-timeline-track .history-detail p {
  grid-column:2; grid-row:3; display:block !important; min-height:0 !important;
  max-height:190px; overflow:auto !important; margin:0 !important;
  color:#626875 !important; text-align:left !important;
  font-size:12px !important; line-height:1.75 !important;
  scrollbar-width:thin; scrollbar-color:#c9a45b #f7f2e8;
}
.bishops-timeline-track .history-detail p.bishop-bio-expanded { max-height:600px; }
.bishop-read-toggle {
  grid-column:2; grid-row:4; justify-self:start; align-self:end;
  margin:4px 0 0 !important; padding:8px 14px !important;
  border:1px solid #d7c08f !important; border-radius:30px;
  color:#781b30 !important; background:#fffaf0 !important;
  font-size:11px !important; font-weight:850; cursor:pointer;
}
.bishop-read-toggle:hover { color:#fff !important; background:#781b30 !important; }
@keyframes dioceseBishopRise { from {opacity:0;transform:translateY(18px)} to {opacity:1;transform:translateY(0)} }

/* Scripture ticker — slow and calm, not distracting */
.scripture-ribbon-section {
  overflow:hidden; padding:17px 0 18px; color:#fdf8ec;
  background:linear-gradient(100deg,#58101f,#7c1a2d 50%,#58101f);
  border-top:1px solid rgba(211,173,98,.35); border-bottom:1px solid rgba(211,173,98,.35);
}
.scripture-ribbon-heading {
  display:flex; justify-content:center; align-items:center; gap:8px; margin-bottom:11px;
  color:#e5c77e; font-size:9px; font-weight:900; letter-spacing:2px;
}
.scripture-ribbon-heading svg { width:14px; height:14px; }
.scripture-ribbon-viewport { overflow:hidden; width:100%; }
.scripture-ribbon-track {
  display:flex; align-items:center; gap:48px; width:max-content;
  animation:scriptureRibbonMove 52s linear infinite;
}
.scripture-ribbon-track span {
  display:inline-flex; align-items:center; gap:11px; white-space:nowrap;
  color:#fff7e7; font:italic 15px Georgia,"Times New Roman",serif;
}
.scripture-ribbon-track span::before { content:"✦"; color:#e2c06f; font-style:normal; font-size:11px; }
.scripture-ribbon-track b { color:#e4c578; font:800 9px Arial,sans-serif; letter-spacing:.8px; }
.scripture-ribbon-viewport:hover .scripture-ribbon-track { animation-play-state:paused; }
@keyframes scriptureRibbonMove { from {transform:translateX(0)} to {transform:translateX(-50%)} }

/* Mobile and tablet finishing */
@media(max-width:1050px) {
  .leader-message-top { grid-template-columns:155px minmax(0,1fr); gap:18px !important; padding:25px 23px 18px !important; }
  .leader-avatar { width:155px !important; height:195px !important; }
  .bishops-timeline-track .history-detail { grid-template-columns:125px minmax(0,1fr); gap:8px 14px !important; }
}
@media(max-width:800px) {
  .vision-mission-section,.leaders-messages-section,.bishops-timeline-section { padding:62px 0 68px; }
  .vision-mission-grid,.leaders-message-grid { grid-template-columns:1fr; }
  .vision-card,.mission-card { padding:26px 24px; }
  .leaders-message-grid { max-width:650px; margin-inline:auto; }
  .leader-message-top { grid-template-columns:170px minmax(0,1fr); }
  .leader-avatar { width:170px !important; height:205px !important; }
  .bishops-timeline-track { grid-template-columns:1fr !important; gap:16px !important; }
  .bishops-timeline-track .history-detail { grid-template-columns:150px minmax(0,1fr); }
  .bishop-portrait-wrap,.bishop-portrait-wrap img { min-height:220px; }
}
@media(max-width:560px) {
  .vision-mission-section,.leaders-messages-section,.bishops-timeline-section { padding:52px 0 56px; }
  .vision-mission-heading { margin-bottom:25px; }
  .vision-card,.mission-card { padding:22px 19px; border-radius:18px; }
  .vision-card h3,.mission-card h3 { margin-top:18px; font-size:24px; }
  .mission-card li { font-size:12px; }
  .leaders-message-grid { gap:18px; }
  .leader-message-card { border-radius:19px !important; }
  .leader-message-top {
    grid-template-columns:112px minmax(0,1fr); gap:15px !important;
    padding:23px 17px 17px !important;
  }
  .leader-avatar { width:112px !important; height:145px !important; border-width:4px !important; }
  .leader-heading-copy h3 { font-size:21px !important; }
  .leader-name { font-size:12px !important; }
  .leader-date,.leader-designation { font-size:9px !important; padding:6px 8px; }
  .leader-message-body { margin:0 18px !important; padding:16px 0 18px !important; }
  .leader-message-body p { font-size:12px !important; line-height:1.75 !important; }
  .leader-source-link { margin:0 18px !important; }
  .bishops-timeline-heading { margin-bottom:25px; }
  .bishops-timeline-track .history-detail {
    grid-template-columns:105px minmax(0,1fr); gap:7px 12px !important; padding:12px !important;
  }
  .bishop-portrait-wrap,.bishop-portrait-wrap img { min-height:190px; }
  .bishops-timeline-track .history-detail h4 { font-size:16px !important; }
  .bishops-timeline-track .history-detail p { max-height:170px; font-size:11px !important; }
  .bishop-portrait-number { width:31px; height:31px; left:8px; bottom:8px; font-size:11px; }
  .bishop-read-toggle { padding:7px 10px !important; font-size:10px !important; }
  .scripture-ribbon-track { gap:28px; animation-duration:42s; }
  .scripture-ribbon-track span { font-size:13px; }
}
@media(max-width:370px) {
  .leader-message-top { grid-template-columns:94px minmax(0,1fr); gap:11px !important; }
  .leader-avatar { width:94px !important; height:125px !important; }
  .leader-heading-copy h3 { font-size:19px !important; }
  .bishops-timeline-track .history-detail { grid-template-columns:88px minmax(0,1fr); gap:6px 9px !important; }
  .bishop-portrait-wrap,.bishop-portrait-wrap img { min-height:170px; }
}
@media(prefers-reduced-motion:reduce) {
  .scripture-ribbon-track { animation:none !important; }
  .vision-card,.mission-card,.leader-message-card,.leader-avatar img { transition:none !important; }
}



/* FINAL FIX — shepherd message cards: prevent narrow text columns */
#leaders-messages .leaders-message-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:26px !important;
  align-items:stretch !important;
}
#leaders-messages .leader-message-card {
  display:flex !important;
  flex-direction:column !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
#leaders-messages .leader-message-top {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:24px !important;
  width:100% !important;
  min-width:0 !important;
  padding:30px 30px 24px !important;
}
#leaders-messages .leader-avatar {
  display:block !important;
  flex:0 0 190px !important;
  width:190px !important;
  height:230px !important;
  min-width:190px !important;
  max-width:190px !important;
  margin:0 !important;
}
#leaders-messages .leader-heading-copy {
  display:flex !important;
  flex:1 1 auto !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  justify-content:center !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  padding:0 !important;
  overflow-wrap:anywhere !important;
}
#leaders-messages .leader-heading-copy h3 {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  margin:9px 0 7px !important;
  white-space:normal !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}
#leaders-messages .leader-heading-copy .leader-name,
#leaders-messages .leader-heading-copy .leader-kicker,
#leaders-messages .leader-heading-copy .leader-date,
#leaders-messages .leader-heading-copy .leader-designation {
  display:inline-flex !important;
  width:auto !important;
  max-width:100% !important;
  min-width:0 !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:anywhere !important;
}
#leaders-messages .leader-heading-copy .leader-name {
  display:block !important;
  font-size:15px !important;
  line-height:1.55 !important;
}
#leaders-messages .leader-message-body {
  display:block !important;
  width:auto !important;
  min-width:0 !important;
  margin:0 30px !important;
  padding:21px 22px !important;
  overflow:visible !important;
}
#leaders-messages .leader-message-body p {
  width:auto !important;
  max-width:100% !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  word-break:normal !important;
  font-size:13px !important;
  line-height:1.85 !important;
}
#leaders-messages .leader-source-link {
  display:flex !important;
  width:auto !important;
  margin:0 30px !important;
  padding:16px 0 21px !important;
  white-space:normal !important;
}
@media(max-width:900px) {
  #leaders-messages .leaders-message-grid { grid-template-columns:1fr !important; max-width:720px; margin-inline:auto; }
}
@media(max-width:560px) {
  #leaders-messages .leaders-message-grid { gap:18px !important; }
  #leaders-messages .leader-message-top {
    gap:15px !important;
    padding:22px 17px 18px !important;
  }
  #leaders-messages .leader-avatar {
    flex:0 0 112px !important;
    width:112px !important; min-width:112px !important; max-width:112px !important;
    height:145px !important;
  }
  #leaders-messages .leader-heading-copy h3 { font-size:21px !important; }
  #leaders-messages .leader-heading-copy .leader-name { font-size:12px !important; }
  #leaders-messages .leader-message-body { margin:0 17px !important; padding:16px 0 18px !important; }
  #leaders-messages .leader-message-body p { font-size:12px !important; line-height:1.8 !important; }
  #leaders-messages .leader-source-link { margin:0 17px !important; }
}
@media(max-width:360px) {
  #leaders-messages .leader-message-top { gap:11px !important; padding-inline:13px !important; }
  #leaders-messages .leader-avatar {
    flex-basis:94px !important; width:94px !important; min-width:94px !important;
    max-width:94px !important; height:126px !important;
  }
  #leaders-messages .leader-heading-copy h3 { font-size:18px !important; }
}



/* ==========================================================
   SIGNATURE FINISH — CALM SNOW, IMMERSIVE SPACING & MOTION
   ========================================================== */
:root {
  --page-wine:#681321;
  --page-gold:#c9a45b;
  --page-cream:#fbf8f1;
}
html { scroll-behavior:smooth; scroll-padding-top:92px; }
body { scroll-behavior:smooth; }
main section[id], body > section[id] { scroll-margin-top:92px; }

/* Elegant reading progress */
#dioceseReadingProgress {
  position:fixed; z-index:10020; top:0; left:0; width:0; height:3px;
  background:linear-gradient(90deg,#74182c,#c9a45b,#f0d99f);
  box-shadow:0 1px 7px rgba(104,19,33,.24);
  pointer-events:none; transition:width .08s linear;
}

/* Softer, slower snow: gentle depth rather than a dense overlay */
#dioceseSnowLayer { opacity:.66 !important; }
.diocese-snowflake {
  background:radial-gradient(circle at 35% 30%,#fff 0,#fff 42%,rgba(255,255,255,.68) 75%,transparent 100%) !important;
  box-shadow:0 0 7px rgba(255,255,255,.58) !important;
  filter:drop-shadow(0 1px 2px rgba(111,83,54,.08));
}
@keyframes dioceseSnowFall {
  0% { transform:translate3d(0,-7vh,0) rotate(0deg); }
  35% { transform:translate3d(calc(var(--snow-drift) * .45),32vh,0) rotate(80deg); }
  70% { transform:translate3d(var(--snow-drift),73vh,0) rotate(175deg); }
  100% { transform:translate3d(calc(var(--snow-drift) * -.45),112vh,0) rotate(260deg); }
}
#dioceseSnowToggle {
  border-color:rgba(226,199,139,.65) !important;
  background:rgba(83,17,32,.82) !important;
  box-shadow:0 8px 24px rgba(45,18,27,.18) !important;
  transition:transform .25s ease,background .25s ease,box-shadow .25s ease;
}
#dioceseSnowToggle:hover { transform:translateY(-3px); box-shadow:0 12px 28px rgba(45,18,27,.23) !important; }

/* Fill visual gaps with subtle texture, section ornaments and balanced rhythm */
main > section, body > section {
  position:relative;
}
main > section:not(.hero):not(.scripture-ribbon-section)::before,
body > section:not(.hero):not(.scripture-ribbon-section)::before {
  pointer-events:none;
}
main > section:not(.hero):not(.scripture-ribbon-section) {
  padding-top:clamp(58px,6vw,88px);
  padding-bottom:clamp(58px,6vw,88px);
}
main > section:nth-of-type(even):not(.hero):not(.scripture-ribbon-section) {
  background-image:
    radial-gradient(ellipse at 4% 18%,rgba(201,164,91,.065),transparent 29%),
    radial-gradient(ellipse at 96% 82%,rgba(104,19,33,.045),transparent 30%);
}
main > section .container, body > section .container {
  position:relative; z-index:1;
}
section .section-heading, section .diocese-news-heading,
section .canticle-heading, section .bishops-timeline-heading,
section .vision-mission-heading {
  margin-bottom:clamp(26px,3.4vw,44px);
}
section p { text-wrap:pretty; }

/* Reveal animation with a softer cinematic easing */
.wow-reveal {
  transform:translate3d(0,30px,0) scale(.985) !important;
  transition:
    opacity .85s cubic-bezier(.18,.72,.22,1),
    transform .95s cubic-bezier(.18,.72,.22,1) !important;
}
.wow-reveal.wow-visible {
  opacity:1 !important; transform:translate3d(0,0,0) scale(1) !important;
}
.wow-image img { will-change:transform; }
.about-intro-card,.vision-card,.mission-card,.leader-message-card,
.canticle-video-card,.diocese-news-card,.saints-day-card,.daily-reading-card,
.gallery-item,.history-detail {
  transition:
    transform .42s cubic-bezier(.2,.7,.2,1),
    box-shadow .42s ease,border-color .32s ease !important;
}
.about-intro-card:hover,.canticle-video-card:hover,.diocese-news-card:hover,
.saints-day-card:hover,.daily-reading-card:hover,.gallery-item:hover {
  transform:translateY(-5px);
  box-shadow:0 22px 48px rgba(50,25,28,.12);
}
a,button { -webkit-tap-highlight-color:transparent; }
.btn.is-pressed,.button.is-pressed,.nav-link.is-pressed,.site-nav a.is-pressed {
  transform:scale(.97);
}

/* Comfortable content widths and balanced section height */
.container { width:min(1240px,calc(100% - 44px)); }
section .container { max-width:1240px; }
.hero, .hero-stage { min-height:clamp(560px,76vh,820px); }
.daily-verse-section,.saints-section,.daily-reading-section,
.diocese-news-section,.canticle-section { min-height:unset; }
.daily-verse-card,.saints-day-card,.daily-reading-card { height:100%; }
.diocese-news-card { height:100%; }
.diocese-news-grid { align-items:stretch; }

/* Soft background wash behind long content areas */
.about-section,.bishop-message-section,.leaders-messages-section,
.vision-mission-section,.bishops-timeline-section,.canticle-section,
.diocese-news-section {
  background-blend-mode:normal;
}
.about-section::after,.bishop-message-section::after,
.diocese-news-section::after {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
  opacity:.18;
  background-image:radial-gradient(rgba(201,164,91,.22) .7px,transparent .7px);
  background-size:22px 22px;
  mask-image:linear-gradient(90deg,transparent,black 18%,black 82%,transparent);
}
@media(max-width:760px) {
  #dioceseSnowLayer { opacity:.52 !important; }
  .diocese-snowflake:nth-child(odd) { display:none; }
  #dioceseSnowToggle { left:10px; bottom:12px; }
  .container { width:calc(100% - 28px); }
  main > section:not(.hero):not(.scripture-ribbon-section) {
    padding-top:52px; padding-bottom:54px;
  }
  .hero,.hero-stage { min-height:620px; }
  .wow-reveal { transform:translate3d(0,18px,0) scale(.99) !important; }
}
@media(max-width:420px) {
  .container { width:calc(100% - 22px); }
  main > section:not(.hero):not(.scripture-ribbon-section) {
    padding-top:44px; padding-bottom:46px;
  }
}
@media(prefers-reduced-motion:reduce) {
  html,body { scroll-behavior:auto !important; }
  #dioceseReadingProgress { transition:none; }
  .diocese-snowflake { animation:none !important; }
  .wow-reveal { opacity:1 !important; transform:none !important; transition:none !important; }
  .about-intro-card,.vision-card,.mission-card,.leader-message-card,
  .canticle-video-card,.diocese-news-card,.gallery-item,.history-detail { transition:none !important; }
}


/* ABOUT MENU DROPDOWN ONLY */
.nav-dropdown{position:relative;display:inline-flex;align-items:center}
.nav-dropdown-toggle{display:inline-flex!important;align-items:center;gap:6px}
.nav-dropdown-toggle svg{width:13px;height:13px;transition:transform .25s ease}
.nav-dropdown:hover .nav-dropdown-toggle svg,
.nav-dropdown:focus-within .nav-dropdown-toggle svg{transform:rotate(180deg)}
.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:190px;padding:8px;background:#fffdf8;border:1px solid rgba(190,148,62,.45);border-radius:10px;box-shadow:0 14px 32px rgba(35,10,15,.18);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s;z-index:10000}
.nav-dropdown-menu a{display:flex!important;align-items:center;padding:11px 13px;border-radius:7px;color:#5c0a1e!important;text-decoration:none;white-space:nowrap}
.nav-dropdown-menu a:hover,.nav-dropdown-menu a:focus{background:#5c0a1e;color:#fff!important}
.nav-dropdown:hover .nav-dropdown-menu,.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible;transform:translateY(0)}
.drawer-dropdown{width:100%;border-bottom:1px solid rgba(190,148,62,.18)}
.drawer-dropdown-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:14px 0;border:0;background:transparent;color:inherit;text-align:left;font:inherit;cursor:pointer}
.drawer-dropdown-toggle span{display:flex;flex-direction:column;gap:4px}
.drawer-dropdown-toggle svg{width:16px;height:16px;transition:transform .25s ease}
.drawer-dropdown.open .drawer-dropdown-toggle svg{transform:rotate(180deg)}
.drawer-submenu{display:none;padding:0 0 8px 16px}
.drawer-dropdown.open .drawer-submenu{display:block}
.drawer-submenu a{display:flex!important;padding:10px 12px;color:inherit;text-decoration:none;border-radius:6px}
.drawer-submenu a:hover,.drawer-submenu a:focus{background:rgba(190,148,62,.13)}
@media(hover:none){.nav-dropdown:hover .nav-dropdown-menu{opacity:0;visibility:hidden}.nav-dropdown:focus-within .nav-dropdown-menu{opacity:1;visibility:visible}}
