/* ================================================================
   KHGM MERCY SEAT PARISH — Apex Design System v3.0
   Ultra-modern · Architectural · Bold Typography
   Palette: Terracotta · Ochre · Cream · Charcoal
   ================================================================ */

/* --- TOKENS --- */
:root {
  --s0: #FFFFFF;
  --s1: #FAF8F4;
  --s2: #F3EDE3;
  --s3: #EBE2D4;
  --rule: #E0D5C5;
  --rule-2: #D0C3B0;
  --ink:   #0E0C09;
  --ink-2: #2C2618;
  --ink-3: #6B5E4A;
  --ink-4: #A89880;
  --t:     #B85C38;
  --t2:    #9A4A28;
  --t3:    #D4754F;
  --tl:    #FAE8E0;
  --o:     #C49A3C;
  --o2:    #A8812A;
  --ol:    #FBF3DC;
  --dk:    #0E0C09;
  --dk2:   #1A1610;
  --dk3:   #2A2218;
  --serif: 'Lora', Georgia, serif;
  --sans:  'Nunito Sans', system-ui, sans-serif;
  --mono:  'JetBrains Mono', monospace;
  --ease:  cubic-bezier(0.16, 1, 0.3, 1);
  --r1: 4px; --r2: 8px; --r3: 14px; --r4: 20px; --r5: 32px;
}
[data-theme="dark"] {
  --s0: #0E0C09; --s1: #141008; --s2: #1E1810; --s3: #2A2218;
  --rule: #302818; --rule-2: #403830;
  --ink: #F5F0E8; --ink-2: #D0C8B8; --ink-3: #8A7A68; --ink-4: #5C4E3E;
  --t: #D4754F; --t2: #E08060; --t3: #B85C38; --tl: #2A1810;
  --o: #D4A83C; --o2: #B88C28; --ol: #1E1400;
  --dk: #050402; --dk2: #0A0806; --dk3: #141008;
}

/* --- RESET --- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;}
body{font-family:var(--sans);background:var(--s1);color:var(--ink);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .4s,color .4s;}
a{color:inherit;text-decoration:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
img{display:block;max-width:100%;}
::selection{background:var(--t);color:#fff;}
.ap-wrap{max-width:1200px;margin:0 auto;padding:0 2rem;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* REVEAL */
.rv{opacity:0;transform:translateY(30px);clip-path:inset(0 0 15% 0);transition:opacity .8s var(--ease),transform .8s var(--ease),clip-path .8s var(--ease);}
.rvl{opacity:0;transform:translateX(-30px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.rvr{opacity:0;transform:translateX(30px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.rvs{opacity:0;transform:scale(.95);transition:opacity .9s var(--ease),transform .9s var(--ease);}
.rv.in,.rvl.in,.rvr.in{opacity:1;transform:none;clip-path:inset(0 0 0 0);}
.rvs.in{opacity:1;transform:none;}
.d1{transition-delay:.06s!important}.d2{transition-delay:.12s!important}
.d3{transition-delay:.18s!important}.d4{transition-delay:.24s!important}
.d5{transition-delay:.30s!important}.d6{transition-delay:.36s!important}
@media(prefers-reduced-motion:reduce){.rv,.rvl,.rvr,.rvs{transition:opacity .3s ease;clip-path:none!important;transform:none!important;}}

/* SKIP */
.ap-skip,.em-skip{position:absolute;top:-80px;left:1rem;z-index:9999;background:var(--t);color:#fff;font-family:var(--sans);font-size:.78rem;font-weight:700;padding:.5rem 1.1rem;border-radius:var(--r2);}
.ap-skip:focus,.em-skip:focus{top:.75rem;}

/* ================================================================ HEADER ================================================================ */

/* Prevent transition flash on page load */
.em-header.no-transition{transition:none!important;}
.em-header{position:fixed;top:0;left:0;right:0;z-index:600;height:64px;background:transparent;border-bottom:1px solid transparent;transition:background .35s var(--ease),border-color .35s,box-shadow .35s,backdrop-filter .35s;}
.em-header.scrolled{background:rgba(250,248,244,.92);border-bottom-color:var(--rule);backdrop-filter:blur(16px) saturate(1.5);-webkit-backdrop-filter:blur(16px) saturate(1.5);box-shadow:0 1px 0 rgba(224,213,197,.6),0 8px 32px rgba(14,12,9,.05);}
[data-theme="dark"] .em-header.scrolled{background:rgba(14,12,9,.92);border-bottom-color:var(--rule);}
body:not(.em-front) .em-header{background:rgba(250,248,244,.97);border-bottom-color:var(--rule);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);}
[data-theme="dark"] body:not(.em-front) .em-header{background:rgba(14,12,9,.97);}
.em-header-inner{max-width:1200px;margin:0 auto;padding:0 2rem;height:64px;display:flex;align-items:center;gap:1.5rem;}
.em-header-inner svg{max-width:20px;max-height:20px;}
.em-logo-badge svg{max-width:none;max-height:none;}
.em-logo{display:flex;align-items:center;gap:.8rem;flex-shrink:0;text-decoration:none;}
.em-logo-badge{width:40px;height:40px;flex-shrink:0;border-radius:50%;overflow:visible;transition:transform .3s var(--ease);}
.em-logo-badge img{width:40px;height:40px;object-fit:contain;border-radius:50%;}
.em-logo:hover .em-logo-badge{transform:rotate(-4deg) scale(1.08);}
.em-logo-words{display:flex;flex-direction:column;gap:1px;}
.em-logo-name{font-family:var(--serif);font-size:.9rem;font-weight:700;color:#fff;line-height:1.1;transition:color .3s;}
.em-logo-sub{font-family:var(--sans);font-size:.48rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);transition:color .3s;}
.em-header.scrolled .em-logo-name,body:not(.em-front) .em-logo-name{color:var(--ink);}
.em-header.scrolled .em-logo-sub,body:not(.em-front) .em-logo-sub{color:var(--t);}
.em-nav{flex:1;display:flex;justify-content:center;}
.em-nav ul{list-style:none;display:flex;align-items:center;}
.em-nav-item{position:relative;}
.em-nav-link{display:flex;align-items:center;gap:.22rem;padding:.42rem .85rem;font-family:var(--sans);font-size:.76rem;font-weight:600;color:rgba(255,255,255,.8);border-radius:var(--r2);transition:color .18s,background .18s;white-space:nowrap;}
.em-nav-link:hover{color:#fff;background:rgba(255,255,255,.1);}
.em-header.scrolled .em-nav-link,body:not(.em-front) .em-nav-link{color:var(--ink-3);}
.em-header.scrolled .em-nav-link:hover,body:not(.em-front) .em-nav-link:hover{color:var(--ink);background:var(--s2);}
.em-caret{width:7px!important;height:4px!important;max-width:7px;max-height:4px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform .2s;flex-shrink:0;}
.em-nav-item:hover .em-caret,.em-nav-item.em-open .em-caret{transform:rotate(180deg);}
.em-drop,.em-mega{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%) translateY(-6px);background:var(--s0);border:1px solid var(--rule);border-radius:var(--r3);box-shadow:0 20px 60px rgba(14,12,9,.12);opacity:0;pointer-events:none;transition:opacity .15s,transform .18s var(--ease);overflow:hidden;}
.em-drop{min-width:200px;}
.em-mega{min-width:440px;display:grid;grid-template-columns:1fr 1fr;}
.em-drop::before,.em-mega::before{content:"";position:absolute;top:-12px;left:0;right:0;height:12px;}
.em-nav-item:hover .em-drop,.em-nav-item:hover .em-mega,.em-nav-item.em-open .em-drop,.em-nav-item.em-open .em-mega{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0);}
.em-drop a{display:block;padding:.58rem 1.2rem;font-family:var(--sans);font-size:.78rem;color:var(--ink-3);border-bottom:1px solid var(--rule);transition:background .12s,color .12s,padding-left .15s;}
.em-drop a:last-child{border-bottom:none;}
.em-drop a:hover{background:var(--s2);color:var(--t);padding-left:1.6rem;}
.em-mega-col{padding:1.2rem;}
.em-mega-col+.em-mega-col{border-left:1px solid var(--rule);}
.em-mega-head{font-family:var(--sans);font-size:.54rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-4);padding-bottom:.5rem;border-bottom:1px solid var(--rule);margin-bottom:.5rem;display:block;}
.em-mega a{display:block;padding:.38rem .5rem;font-family:var(--sans);font-size:.78rem;color:var(--ink-3);border-radius:var(--r1);transition:background .12s,color .12s,padding-left .14s;}
.em-mega a:hover{background:var(--s2);color:var(--t);padding-left:.85rem;}
.em-hdr-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0;}
.em-btn-give{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:.46rem 1.1rem;background:var(--t);color:#fff;border-radius:var(--r2);box-shadow:0 2px 12px rgba(184,92,56,.4);transition:background .18s,transform .18s,box-shadow .18s;}
.em-btn-give:hover{background:var(--t2);transform:translateY(-1px);box-shadow:0 6px 20px rgba(184,92,56,.5);}
.em-btn-ghost{font-family:var(--sans);font-size:.7rem;font-weight:600;padding:.46rem 1.1rem;border:1.5px solid rgba(255,255,255,.3);color:rgba(255,255,255,.8);border-radius:var(--r2);transition:border-color .18s,color .18s,background .18s;}
.em-btn-ghost:hover{border-color:rgba(255,255,255,.7);color:#fff;}
.em-header.scrolled .em-btn-ghost,body:not(.em-front) .em-btn-ghost{border-color:var(--rule-2);color:var(--ink-3);}
.em-header.scrolled .em-btn-ghost:hover,body:not(.em-front) .em-btn-ghost:hover{border-color:var(--ink-3);background:var(--s2);color:var(--ink);}
.em-theme-btn{width:34px;height:34px;border-radius:var(--r2);border:1.5px solid rgba(255,255,255,.25);background:transparent;display:flex;align-items:center;justify-content:center;transition:border-color .18s,background .18s,transform .3s;}
.em-theme-btn:hover{border-color:rgba(255,255,255,.6);transform:rotate(20deg);}
.em-header.scrolled .em-theme-btn,body:not(.em-front) .em-theme-btn{border-color:var(--rule);}
.em-header.scrolled .em-theme-btn:hover,body:not(.em-front) .em-theme-btn:hover{border-color:var(--ink-3);background:var(--s2);}
.em-theme-btn svg{width:13px!important;height:13px!important;max-width:13px;max-height:13px;fill:none;stroke:rgba(255,255,255,.8);stroke-width:1.6;}
.em-header.scrolled .em-theme-btn svg,body:not(.em-front) .em-theme-btn svg{stroke:var(--ink-3);}
.em-ham{display:none;width:34px;height:34px;border-radius:var(--r2);border:1.5px solid rgba(255,255,255,.28);background:transparent;flex-direction:column;align-items:center;justify-content:center;gap:5px;transition:border-color .18s,background .18s;}
.em-ham:hover{border-color:rgba(255,255,255,.6);}
.em-header.scrolled .em-ham,body:not(.em-front) .em-ham{border-color:var(--rule);}
.em-header.scrolled .em-ham:hover,body:not(.em-front) .em-ham:hover{background:var(--s2);}
.em-ham span{display:block;width:16px;height:1.5px;background:rgba(255,255,255,.85);border-radius:2px;transition:transform .26s,opacity .26s,background .3s;}
.em-header.scrolled .em-ham span,body:not(.em-front) .em-ham span{background:var(--ink-2);}
.em-ham[aria-expanded="true"] span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.em-ham[aria-expanded="true"] span:nth-child(2){opacity:0;}
.em-ham[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.admin-bar .em-header{top:32px;z-index:99999;}
.admin-bar .em-drawer{top:calc(64px + 32px);}
.admin-bar .em-hero{padding-top:calc(64px + 32px);}
html.wp-toolbar{padding-top:0!important;}
@media screen and (max-width:782px){.admin-bar .em-header{top:46px;}.admin-bar .em-drawer{top:calc(64px + 46px);}.admin-bar .em-hero{padding-top:calc(64px + 46px);}}

/* DRAWER */
.em-drawer{position:fixed;top:64px;left:0;right:0;bottom:0;z-index:590;background:var(--s1);transform:translateX(100%);transition:transform .34s var(--ease);overflow-y:auto;border-top:1px solid var(--rule);}
.em-drawer.open{transform:translateX(0);}
.em-drawer-inner{padding:1.5rem 1.4rem 4rem;}
.em-mob-section{padding-bottom:1.25rem;margin-bottom:1.25rem;border-bottom:1px solid var(--rule);}
.em-mob-section:last-of-type{border-bottom:none;}
.em-mob-head{font-family:var(--sans);font-size:.54rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-4);display:block;margin-bottom:.7rem;}
.em-mob-link{display:block;padding:.55rem 0;font-family:var(--serif);font-size:1.05rem;color:var(--ink-2);border-bottom:1px solid var(--rule);transition:color .15s,padding-left .15s;}
.em-mob-link:last-child{border-bottom:none;}
.em-mob-link:hover{color:var(--t);padding-left:.4rem;}
.em-mob-btns{display:flex;gap:.65rem;margin-top:1.5rem;flex-wrap:wrap;}
.em-mob-btns .em-btn-give,.em-mob-btns .em-btn-ghost{flex:1;text-align:center;padding:.82rem 1rem;font-size:.8rem;min-width:120px;}
.em-mob-btns .em-btn-ghost{border:1.5px solid var(--rule-2);color:var(--ink-2);}
@media(max-width:480px){.em-mob-btns{flex-direction:column;gap:.5rem;}.em-mob-btns .em-btn-give{padding:.92rem 1rem;}.em-mob-btns .em-btn-ghost{padding:.75rem 1rem;}}

/* ================================================================ HERO ================================================================ */
.em-hero{padding-top:64px;min-height:100vh;display:flex;align-items:flex-end;position:relative;overflow:hidden;background:var(--dk);}
.em-hero-bg-img{position:absolute;inset:0;background-size:cover;background-position:center;transform:scale(1.05);}
.em-hero.has-image .em-hero-bg-img{animation:apHeroZoom 12s ease-out forwards;}
@keyframes apHeroZoom{from{transform:scale(1.08);}to{transform:scale(1.0);}}
.em-hero-veil{position:absolute;inset:0;z-index:1;}
.em-hero-accent{position:absolute;bottom:0;right:0;width:4px;height:35%;background:var(--t);z-index:3;}
.em-hero-body{position:relative;z-index:10;max-width:1200px;margin:0 auto;padding:6rem 2rem 5rem;width:100%;display:grid;grid-template-columns:1fr auto;gap:3rem;align-items:end;}
.em-hero-left{max-width:720px;}
.em-hero-pill{display:inline-flex;align-items:center;gap:.55rem;border:1px solid rgba(196,154,60,.4);border-radius:100px;padding:.28rem .85rem .28rem .45rem;margin-bottom:2rem;opacity:0;animation:apUp .7s var(--ease) .1s forwards;}
.em-hero-pill-dot{width:6px;height:6px;border-radius:50%;background:var(--o);}
.em-hero-pill-text{font-family:var(--sans);font-size:.54rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--o);}
.em-hero-h1{font-family:var(--serif);font-size:clamp(3rem,7vw,6.5rem);font-weight:700;line-height:.98;color:#fff;letter-spacing:-.02em;margin-bottom:1.5rem;opacity:0;animation:apUp 1s var(--ease) .28s forwards;}
.em-hero-h1 span{color:var(--o);font-style:italic;}
.em-hero-sub{font-family:var(--sans);font-size:.8rem;color:rgba(255,255,255,.45);margin-bottom:.8rem;opacity:0;animation:apUp .7s var(--ease) .52s forwards;}
.em-hero-verse{font-family:var(--serif);font-size:.98rem;font-style:italic;color:rgba(255,255,255,.5);max-width:460px;line-height:1.72;border-left:2px solid var(--t);padding-left:1rem;margin-bottom:2.5rem;opacity:0;animation:apUp .7s var(--ease) .62s forwards;}
.em-hero-ctas{display:flex;gap:.85rem;flex-wrap:wrap;opacity:0;animation:apUp .7s var(--ease) .78s forwards;}
.em-hero-stats{display:flex;flex-direction:column;gap:1px;opacity:0;animation:apUp .8s var(--ease) .95s forwards;flex-shrink:0;}
.em-hero-stat{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);padding:1rem 1.25rem;min-width:140px;backdrop-filter:blur(8px);}
.em-hero-stat:first-child{border-radius:var(--r3) var(--r3) 0 0;}
.em-hero-stat:last-child{border-radius:0 0 var(--r3) var(--r3);border-top:none;}
.em-hero-stat-num{font-family:var(--serif);font-size:1.8rem;font-weight:700;color:var(--o);display:block;line-height:1;}
.em-hero-stat-lbl{font-family:var(--sans);font-size:.6rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.4);display:block;margin-top:.2rem;}
.em-hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:.4rem;opacity:0;animation:apUp .6s var(--ease) 1.3s forwards;}
.em-hero-scroll span{font-family:var(--sans);font-size:.5rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.2);}
.em-scroll-track{width:1px;height:44px;background:rgba(255,255,255,.1);overflow:hidden;}
.em-scroll-fill{width:100%;height:45%;background:linear-gradient(to bottom,transparent,var(--t));animation:apScroll 2.2s ease-in-out infinite;}
@keyframes apScroll{0%{transform:translateY(-100%)}100%{transform:translateY(300%)}}
@keyframes apUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.em-btn-primary{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 2rem;background:var(--t);color:#fff;border-radius:var(--r2);box-shadow:0 6px 24px rgba(184,92,56,.4);transition:background .18s,transform .2s var(--ease),box-shadow .2s;}
.em-btn-primary:hover{background:var(--t2);transform:translateY(-2px);box-shadow:0 12px 32px rgba(184,92,56,.5);}
.em-btn-outline-w{font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 2rem;border:1.5px solid rgba(255,255,255,.3);color:rgba(255,255,255,.75);border-radius:var(--r2);transition:border-color .18s,color .18s,transform .2s;}
.em-btn-outline-w:hover{border-color:rgba(255,255,255,.8);color:#fff;transform:translateY(-2px);}

/* TICKER */
.em-ticker{background:var(--dk);height:40px;overflow:hidden;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.06);}
.em-ticker-tag{flex-shrink:0;padding:0 1.25rem;font-family:var(--sans);font-size:.52rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--t);border-right:1px solid rgba(255,255,255,.08);white-space:nowrap;}
.em-ticker-scroll{flex:1;overflow:hidden;}
.em-ticker-inner{display:flex;white-space:nowrap;animation:apTick 52s linear infinite;}
.em-ticker-item{font-family:var(--sans);font-size:.7rem;color:rgba(255,255,255,.45);padding:0 2.2rem;display:inline-block;}
.em-ticker-item::before{content:"—";margin-right:.6rem;color:var(--o);}
@keyframes apTick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* SECTIONS */
.ap-sec{padding:6rem 0;border-bottom:1px solid var(--rule);}
.ap-sec-dark{background:var(--dk);}
.ap-sec-alt{background:var(--s2);}
.ap-eyebrow{font-family:var(--sans);font-size:.54rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--t);display:block;margin-bottom:.85rem;}
.ap-eyebrow-light{color:rgba(255,255,255,.4);}
.ap-title{font-family:var(--serif);font-size:clamp(2rem,3.5vw,3rem);font-weight:700;color:var(--ink);line-height:1.1;letter-spacing:-.01em;}
.ap-title-light{color:#fff;}
.ap-lead{font-family:var(--sans);font-size:.9rem;color:var(--ink-3);line-height:1.85;max-width:520px;}
.ap-link{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--t);display:inline-flex;align-items:center;gap:.35rem;transition:gap .2s,color .18s;}
.ap-link::after{content:"→";}
.ap-link:hover{gap:.6rem;color:var(--t2);}
.ap-link-light{color:rgba(255,255,255,.5);}
.ap-link-light:hover{color:#fff;}

/* COUNTDOWN */
.ap-cd{background:var(--dk2);padding:2rem 0;border-bottom:1px solid rgba(255,255,255,.06);}
.ap-cd-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;gap:3rem;flex-wrap:wrap;}
.ap-cd-label{font-family:var(--sans);font-size:.52rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.35);display:block;margin-bottom:.2rem;}
.ap-cd-name{font-family:var(--serif);font-size:1.1rem;font-weight:700;color:#fff;}
.ap-cd-units{display:flex;align-items:baseline;gap:.1rem;margin-left:auto;}
.ap-cd-unit{text-align:center;min-width:56px;}
.ap-cd-num{font-family:var(--serif);font-size:2.6rem;font-weight:700;color:var(--t);line-height:1;display:block;}
.ap-cd-lbl{font-family:var(--sans);font-size:.48rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);}
.ap-cd-sep{font-family:var(--serif);font-size:2rem;color:rgba(255,255,255,.1);padding-bottom:.4rem;}
.ap-cd-btn{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.6rem 1.4rem;background:var(--t);color:#fff;border-radius:var(--r2);transition:background .18s;}
.ap-cd-btn:hover{background:var(--t2);}

/* WELCOME */
.em-welcome{display:grid;grid-template-columns:1fr 1fr;min-height:75vh;overflow:hidden;border-bottom:1px solid var(--rule);}
.em-welcome-photo{position:relative;overflow:hidden;background:#C8BFB8;}
.em-welcome-photo-inner{position:absolute;inset:0;}
.em-welcome-photo-inner img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;transition:transform 8s ease-out;}
.em-welcome:hover .em-welcome-photo-inner img{transform:scale(1.04);}
.em-welcome-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 55%,var(--s2) 100%);pointer-events:none;}
.em-welcome-badge{position:absolute;bottom:2.5rem;left:2rem;background:var(--t);padding:.7rem 1.2rem .8rem;border-radius:var(--r2);z-index:10;max-width:260px;}
.em-welcome-badge::before{content:"";position:absolute;top:-3px;left:0;right:0;height:3px;background:var(--o);border-radius:var(--r2) var(--r2) 0 0;}
.em-welcome-badge-title{font-family:var(--sans);font-size:.52rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);display:block;margin-bottom:.2rem;}
.em-welcome-badge-name{font-family:var(--serif);font-size:1rem;font-weight:700;color:#fff;display:block;line-height:1.25;}
.em-welcome-body{background:var(--s2);padding:5rem 4.5rem 4rem 4rem;display:flex;flex-direction:column;justify-content:center;}
.em-welcome-h{font-family:var(--serif);font-size:clamp(2rem,3.2vw,3rem);font-weight:700;color:var(--ink);line-height:1.1;margin-bottom:.75rem;letter-spacing:-.01em;}
.em-welcome-h em{font-style:italic;color:var(--t);}
.em-welcome-stroke{width:52px;height:4px;background:linear-gradient(to right,var(--t),var(--o));border-radius:2px;margin-bottom:1.5rem;}
.em-welcome-p{font-family:var(--sans);font-size:.88rem;color:var(--ink-3);line-height:1.88;margin-bottom:1rem;max-width:500px;}
.em-welcome-quote{font-family:var(--serif);font-size:1rem;font-style:italic;color:var(--ink-3);line-height:1.65;border-left:3px solid var(--t);padding-left:1rem;margin:1.5rem 0 2rem;}
.em-welcome-quote cite{font-family:var(--sans);font-size:.68rem;font-style:normal;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);display:block;margin-top:.4rem;}
.em-welcome-ctas{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;}

/* SCHEDULE */
.ap-sched{display:grid;grid-template-columns:280px 1fr;border:1px solid var(--rule);border-radius:var(--r4);overflow:hidden;}
.ap-sched-side{background:var(--dk);padding:2.5rem 1.75rem;display:flex;flex-direction:column;gap:.25rem;}
.ap-sched-side-h{font-family:var(--serif);font-size:1.35rem;font-weight:700;color:#fff;margin-bottom:1.1rem;line-height:1.2;}
.ap-tab{padding:.65rem 1rem;border-radius:var(--r2);font-family:var(--sans);font-size:.78rem;font-weight:600;color:rgba(255,255,255,.5);cursor:pointer;transition:background .18s,color .18s;border:none;background:transparent;text-align:left;}
.ap-tab:hover{background:rgba(255,255,255,.08);color:rgba(255,255,255,.8);}
.ap-tab.active{background:var(--t);color:#fff;}
.ap-sched-body{background:var(--s0);}
.ap-sched-panel{display:none;}
.ap-sched-panel.active{display:block;}
.ap-sched-row{display:grid;grid-template-columns:1fr auto;align-items:start;gap:1rem;padding:1.3rem 1.75rem;border-bottom:1px solid var(--rule);transition:background .15s;}
.ap-sched-row:last-child{border-bottom:none;}
.ap-sched-row:hover{background:var(--s1);}
.ap-sched-day{font-family:var(--sans);font-size:.54rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);display:block;margin-bottom:.3rem;}
.ap-sched-name{font-family:var(--serif);font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:.15rem;}
.ap-sched-note{font-family:var(--sans);font-size:.74rem;color:var(--ink-3);}
.ap-sched-time{font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--t);white-space:nowrap;background:var(--tl);padding:.25rem .6rem;border-radius:var(--r1);}
.ap-sched-footer{display:flex;align-items:center;gap:1.5rem;padding:1rem 1.75rem;background:var(--s2);border-top:1px solid var(--rule);flex-wrap:wrap;}
.ap-sched-footer-lbl{font-family:var(--sans);font-size:.54rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-4);}
.ap-sched-phones{display:flex;gap:1rem;flex-wrap:wrap;}
.ap-sched-phones a{font-family:var(--sans);font-size:.82rem;font-weight:600;color:var(--ink-2);border-bottom:1px solid var(--rule-2);transition:color .15s,border-color .15s;}
.ap-sched-phones a:hover{color:var(--t);border-color:var(--tl);}

/* EVENTS */
.ap-evt-wrap{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border-radius:var(--r4);overflow:hidden;}
.ap-evt{background:var(--s0);padding:1.75rem 2rem;display:grid;grid-template-columns:60px 1fr;gap:1.25rem;align-items:start;transition:background .18s;cursor:pointer;}
.ap-evt:hover{background:var(--s1);}
.ap-evt-date{text-align:center;padding-top:.1rem;}
.ap-evt-day{font-family:var(--serif);font-size:2.2rem;font-weight:700;color:var(--t);line-height:1;display:block;}
.ap-evt-mon{font-family:var(--sans);font-size:.52rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-4);}
.ap-evt-tag{font-family:var(--sans);font-size:.54rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t);display:block;margin-bottom:.3rem;}
.ap-evt-title{font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--ink);margin-bottom:.2rem;line-height:1.25;}
.ap-evt-loc{font-family:var(--sans);font-size:.73rem;color:var(--ink-3);}

/* NOTICES */
.ap-notices{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--rule);border-radius:var(--r4);overflow:hidden;}
.ap-notice{background:var(--s0);padding:1.75rem 1.85rem;transition:background .18s;}
.ap-notice:hover{background:var(--s1);}
.ap-ntag{font-family:var(--sans);font-size:.54rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:.2rem .6rem;border-radius:var(--r1);display:inline-block;margin-bottom:.6rem;}
.ap-ntag-new{background:var(--tl);color:var(--t);}
.ap-ntag-open{background:var(--ol);color:var(--o2);}
.ap-ntag-notice{background:var(--s2);color:var(--ink-4);border:1px solid var(--rule-2);}
.ap-notice-h{font-family:var(--serif);font-size:1rem;font-weight:700;color:var(--ink);margin-bottom:.4rem;line-height:1.3;}
.ap-notice-p{font-family:var(--sans);font-size:.76rem;color:var(--ink-3);line-height:1.72;}

/* BLOG */
.ap-blog-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:1px;background:var(--rule);border-radius:var(--r4);overflow:hidden;}
.ap-post{background:var(--s0);display:flex;flex-direction:column;transition:background .18s;}
.ap-post:hover{background:var(--s1);}
.ap-post-thumb{overflow:hidden;position:relative;}
.ap-post.ap-feat .ap-post-thumb{aspect-ratio:16/9;}
.ap-post:not(.ap-feat) .ap-post-thumb{aspect-ratio:4/3;}
.ap-post-fill{position:absolute;inset:0;transition:transform .55s var(--ease);}
.ap-post:hover .ap-post-fill{transform:scale(1.05);}
.ap-tf1{background:linear-gradient(135deg,#D4B898,#B89060);}
.ap-tf2{background:linear-gradient(135deg,#B8C8A0,#90AA78);}
.ap-tf3{background:linear-gradient(135deg,#C8A888,#A88060);}
[data-theme="dark"] .ap-tf1{background:linear-gradient(135deg,#281804,#181000);}
[data-theme="dark"] .ap-tf2{background:linear-gradient(135deg,#101808,#081004);}
[data-theme="dark"] .ap-tf3{background:linear-gradient(135deg,#201408,#100C04);}
.ap-post-body{padding:1.4rem 1.5rem 1.6rem;flex:1;display:flex;flex-direction:column;}
.ap-post-date{font-family:var(--sans);font-size:.6rem;color:var(--ink-4);display:block;margin-bottom:.6rem;}
.ap-post-cat{font-family:var(--sans);font-size:.56rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t);display:block;margin-bottom:.35rem;}
.ap-post-h{font-family:var(--serif);font-size:.96rem;font-weight:700;color:var(--ink);line-height:1.35;margin-bottom:.5rem;flex:1;}
.ap-post.ap-feat .ap-post-h{font-size:1.3rem;}
.ap-post-exc{font-family:var(--sans);font-size:.76rem;color:var(--ink-3);line-height:1.75;margin-bottom:.85rem;}
.ap-post-read{font-family:var(--sans);font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--t);display:inline-flex;align-items:center;gap:.3rem;transition:gap .18s,color .18s;}
.ap-post-read::after{content:"→";}
.ap-post-read:hover{gap:.5rem;color:var(--t2);}

/* CONTACT */
.ap-contact{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--rule);border-radius:var(--r4);overflow:hidden;}
.ap-contact-left{padding:2.75rem;border-right:1px solid var(--rule);}
.ap-contact-right{padding:2.75rem;background:var(--s2);}
.ap-contact-h{font-family:var(--serif);font-size:1.7rem;font-weight:700;color:var(--ink);margin-bottom:.7rem;}
.ap-contact-p{font-family:var(--sans);font-size:.85rem;color:var(--ink-3);line-height:1.8;margin-bottom:1.75rem;}
.ap-cinfo{display:grid;grid-template-columns:80px 1fr;padding:.8rem 0;border-bottom:1px solid var(--rule);}
.ap-cinfo:last-child{border-bottom:none;}
.ap-cinfo-lbl{font-family:var(--sans);font-size:.56rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-4);padding-top:.1rem;}
.ap-cinfo-val{font-family:var(--sans);font-size:.84rem;color:var(--ink-2);}
.ap-cinfo-val a{border-bottom:1px solid var(--rule-2);transition:border-color .15s,color .15s;}
.ap-cinfo-val a:hover{color:var(--t);border-color:var(--tl);}
.ap-map{aspect-ratio:4/3;border-radius:var(--r3);background:var(--s3);border:1px solid var(--rule);overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;}
.ap-map-txt{font-family:var(--sans);font-size:.74rem;color:var(--ink-4);text-align:center;max-width:200px;line-height:1.65;}

/* NEWSLETTER */
.ap-nl{background:var(--dk);border-top:1px solid rgba(255,255,255,.05);padding:4rem 0;}
.ap-nl-inner{max-width:1200px;margin:0 auto;padding:0 2rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;}
.ap-nl-h{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:#fff;margin-bottom:.4rem;}
.ap-nl-p{font-family:var(--sans);font-size:.84rem;color:rgba(255,255,255,.45);line-height:1.75;}
.ap-nl-form{display:flex;border:1px solid rgba(255,255,255,.12);border-radius:var(--r2);overflow:hidden;transition:border-color .2s;}
.ap-nl-form:focus-within{border-color:var(--t);}
.ap-nl-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--sans);font-size:.85rem;color:#fff;padding:.82rem 1.2rem;}
.ap-nl-input::placeholder{color:rgba(255,255,255,.25);}
.ap-nl-btn{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.82rem 1.35rem;background:var(--t);color:#fff;transition:background .18s;flex-shrink:0;}
.ap-nl-btn:hover{background:var(--t2);}

/* FOOTER */
.em-footer{background:var(--dk);padding:4.5rem 0 0;}
[data-theme="dark"] .em-footer{background:var(--dk2);}
.em-footer-grid{max-width:1200px;margin:0 auto;padding:0 2rem 3.5rem;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;border-bottom:1px solid rgba(255,255,255,.07);}
.em-ft-brand{display:flex;align-items:center;gap:.75rem;margin-bottom:1.1rem;}
.em-ft-badge{width:42px;height:42px;border-radius:50%;overflow:visible;flex-shrink:0;}
.em-ft-badge img{width:42px;height:42px;object-fit:contain;border-radius:50%;opacity:.85;}
.em-ft-badge::after{display:none;}
.em-ft-badge-txt{display:none;}
.em-ft-name{font-family:var(--serif);font-size:.9rem;font-weight:700;color:#fff;display:block;margin-bottom:.15rem;}
.em-ft-sub{font-family:var(--sans);font-size:.5rem;letter-spacing:.16em;text-transform:uppercase;color:var(--o);display:block;}
.em-ft-addr{font-family:var(--sans);font-size:.78rem;color:rgba(255,255,255,.35);line-height:1.75;margin-bottom:1.5rem;}
.em-ft-socials{display:flex;gap:.35rem;flex-wrap:wrap;}
.em-ft-soc{font-family:var(--sans);font-size:.55rem;font-weight:600;color:rgba(255,255,255,.4);padding:.3rem .7rem;border:1px solid rgba(255,255,255,.1);border-radius:var(--r2);transition:color .18s,border-color .18s,transform .18s;}
.em-ft-soc:hover{color:#fff;border-color:rgba(255,255,255,.35);transform:translateY(-2px);}
.em-ft-col-h{font-family:var(--sans);font-size:.52rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:.9rem;display:block;}
.em-ft-links{list-style:none;display:flex;flex-direction:column;gap:.38rem;}
.em-ft-links a{font-family:var(--sans);font-size:.78rem;color:rgba(255,255,255,.42);transition:color .18s,padding-left .18s;}
.em-ft-links a:hover{color:rgba(255,255,255,.85);padding-left:.3rem;}
.em-ft-bottom{max-width:1200px;margin:0 auto;padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;border-top:1px solid rgba(255,255,255,.05);}
.em-ft-copy{font-family:var(--sans);font-size:.68rem;color:rgba(255,255,255,.25);}
.em-ft-legal{display:flex;gap:1.25rem;}
.em-ft-legal a{font-family:var(--sans);font-size:.68rem;color:rgba(255,255,255,.25);transition:color .18s;}
.em-ft-legal a:hover{color:rgba(255,255,255,.65);}
.em-hq-strip{background:var(--t2);text-align:center;padding:.65rem 1rem;font-family:var(--sans);font-size:.68rem;color:rgba(255,255,255,.5);}
.em-hq-strip a{color:var(--o);transition:color .18s;}
.em-hq-strip a:hover{color:#fff;}

/* INNER HERO */
.em-inner-hero{background:var(--dk);padding:calc(64px + 4rem) 0 3rem;position:relative;overflow:hidden;}
.em-inner-hero::after{content:"";position:absolute;top:0;right:0;width:3px;height:100%;background:var(--t);}
.em-inner-hero-h{font-family:var(--serif);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;color:#fff;line-height:1.05;letter-spacing:-.01em;margin-bottom:.5rem;}
.em-inner-hero-line{width:52px;height:4px;border-radius:2px;margin-top:.85rem;background:linear-gradient(to right,var(--t),var(--o));}
.ap-eyebrow.inner{color:rgba(255,255,255,.38);}

/* ENTRY */
.em-entry{font-family:var(--sans);font-size:.9rem;line-height:1.9;color:var(--ink-2);}
.em-entry h2{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--ink);margin:2.25rem 0 .85rem;letter-spacing:-.01em;}
.em-entry h3{font-family:var(--serif);font-size:1.15rem;font-weight:700;color:var(--ink);margin:1.5rem 0 .6rem;}
.em-entry p{margin-bottom:1.05rem;}
.em-entry strong{color:var(--ink);font-weight:700;}
.em-entry ul,.em-entry ol{margin:.75rem 0 1rem 1.5rem;display:flex;flex-direction:column;gap:.45rem;}
.em-entry blockquote{border-left:3px solid var(--t);padding-left:1.1rem;font-family:var(--serif);font-size:1.05rem;font-style:italic;color:var(--ink-3);margin:1.5rem 0;line-height:1.72;}
.em-entry a{color:var(--t);border-bottom:1px solid var(--tl);transition:border-color .15s;}
.em-entry a:hover{border-color:var(--t);}
.em-infobox{background:var(--s2);border:1px solid var(--rule-2);border-left:4px solid var(--t);border-radius:var(--r2);padding:1.2rem 1.4rem;margin:1.25rem 0;font-size:.86rem;line-height:1.75;}

/* GIVE */
.em-bank-card{display:grid;grid-template-columns:1.1fr 1fr;border:1px solid var(--rule);border-radius:var(--r4);overflow:hidden;}
.em-bank-left{background:var(--dk);padding:3rem 2.75rem;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden;}
.em-bank-left::before{content:"";position:absolute;top:0;right:0;width:3px;height:100%;background:var(--t);}
.em-bank-chip{width:50px;height:38px;border-radius:var(--r2);background:linear-gradient(135deg,var(--o),var(--o2));margin-bottom:2.5rem;}
.em-bank-num-lbl{font-family:var(--sans);font-size:.52rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.28);display:block;margin-bottom:.3rem;}
.em-bank-num{font-family:var(--mono);font-size:clamp(1.5rem,2.5vw,2rem);font-weight:700;color:#fff;letter-spacing:.18em;margin-bottom:2rem;display:block;}
.em-bank-row{margin-bottom:.9rem;}
.em-bank-row-lbl{font-family:var(--sans);font-size:.5rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.28);display:block;margin-bottom:.18rem;}
.em-bank-name-big{font-family:var(--serif);font-size:1.1rem;font-weight:700;color:#fff;}
.em-bank-tag{font-family:var(--sans);font-size:.78rem;font-weight:600;color:var(--o);}
.em-bank-right{background:var(--s0);padding:3rem 2.75rem;}
.em-bank-right-h{font-family:var(--serif);font-size:1.5rem;font-weight:700;color:var(--ink);margin-bottom:1.5rem;}
.em-bank-step{display:grid;grid-template-columns:32px 1fr;gap:.9rem;padding:1rem 0;border-bottom:1px solid var(--rule);align-items:start;}
.em-bank-step:last-of-type{border-bottom:none;}
.em-step-num{width:32px;height:32px;border-radius:50%;background:var(--tl);color:var(--t);font-family:var(--sans);font-size:.72rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.em-step-h{font-family:var(--sans);font-size:.8rem;font-weight:700;color:var(--ink);margin-bottom:.2rem;}
.em-step-p{font-family:var(--sans);font-size:.76rem;color:var(--ink-3);line-height:1.65;}

/* PASTORS */
.em-pastors-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;}
.em-pastor-card{background:var(--s0);border:1px solid var(--rule);border-radius:var(--r4);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s;}
.em-pastor-card:hover{transform:translateY(-6px);box-shadow:0 20px 50px rgba(14,12,9,.1);}
.em-pastor-photo{aspect-ratio:3/4;overflow:hidden;position:relative;background:var(--s3);}
.em-pastor-photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.em-pastor-card:hover .em-pastor-photo img{transform:scale(1.06);}
.em-pastor-ph{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-bottom:1.5rem;}
.em-ph-1{background:linear-gradient(160deg,#D4A87A,#B8865C);}
.em-ph-2{background:linear-gradient(160deg,#8FADA0,#6B8F82);}
.em-ph-3{background:linear-gradient(160deg,#C4A06A,#A88040);}
.em-ph-4{background:linear-gradient(160deg,#B89080,#9A7060);}
.em-ph-initials{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.25);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.4rem;font-weight:700;color:#fff;}
[data-theme="dark"] .em-ph-1{background:linear-gradient(160deg,#3A2818,#221408);}
[data-theme="dark"] .em-ph-2{background:linear-gradient(160deg,#182822,#0C1810);}
[data-theme="dark"] .em-ph-3{background:linear-gradient(160deg,#2A1E08,#1C1404);}
[data-theme="dark"] .em-ph-4{background:linear-gradient(160deg,#281810,#180E08);}
.em-pastor-info{padding:1.2rem 1.3rem 1.4rem;border-top:3px solid var(--t);}
.em-pastor-title{font-family:var(--sans);font-size:.56rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--t);display:block;margin-bottom:.3rem;}
.em-pastor-name{font-family:var(--serif);font-size:1.05rem;font-weight:700;color:var(--ink);line-height:1.25;margin-bottom:.35rem;}
.em-pastor-role{font-family:var(--sans);font-size:.73rem;color:var(--ink-3);line-height:1.55;}

/* RESPONSIVE */
@media(max-width:1060px){
  .em-pastors-grid{grid-template-columns:repeat(2,1fr);}
  .ap-sched{grid-template-columns:220px 1fr;}
  .ap-evt-wrap{grid-template-columns:1fr;}
  .em-footer-grid{grid-template-columns:1fr 1fr;gap:2rem;}
  .ap-blog-grid{grid-template-columns:1fr 1fr;}
  .ap-blog-grid .ap-post:nth-child(3){display:none;}
}
@media(max-width:860px){
  .em-nav{display:none;}
  .em-btn-ghost{display:none;}
  .em-ham{display:flex;}
  .em-hdr-actions{margin-left:auto;}
  .ap-sched{grid-template-columns:1fr;}
  .ap-sched-side{flex-direction:row;flex-wrap:wrap;padding:1.25rem;gap:.35rem;}
  .ap-sched-side-h{display:none;}
  .ap-contact{grid-template-columns:1fr;}
  .ap-contact-left{border-right:none;border-bottom:1px solid var(--rule);}
  .ap-notices{grid-template-columns:1fr;}
  .em-welcome{grid-template-columns:1fr;min-height:auto;}
  .em-welcome-photo{min-height:75vw;max-height:520px;position:relative;}
  .em-welcome-photo::after{background:linear-gradient(180deg,transparent 55%,var(--s2) 100%);}
  .em-welcome-body{padding:2.5rem 2rem 3rem;}
  .em-welcome-badge{bottom:1.5rem;left:1.5rem;}
  .em-hero-body{grid-template-columns:1fr;}
  .em-hero-stats{display:none;}
  .ap-nl-inner{grid-template-columns:1fr;gap:2rem;}
}
@media(max-width:640px){
  .em-header-inner{padding-left:1rem;padding-right:1rem;}
  .em-hero-body{padding:4rem 1.1rem 4rem;}
  .ap-sec{padding:3.5rem 0;}
  .ap-wrap{padding:0 1.1rem;}
  .em-footer-grid{grid-template-columns:1fr;}
  .ap-blog-grid{grid-template-columns:1fr;}
  .ap-blog-grid .ap-post:nth-child(3){display:flex;}
  .em-bank-card{grid-template-columns:1fr;}
  .em-welcome-photo{min-height:85vw;max-height:none;}
  .em-welcome-body{padding:2rem 1.25rem 2.5rem;}
  .em-welcome-badge{left:1.1rem;bottom:1.25rem;max-width:200px;}
  .ap-cd-inner{flex-direction:column;gap:1.25rem;}
  .ap-cd-units{margin-left:0;}
  .em-pastors-grid{grid-template-columns:1fr;gap:1rem;}
  .ap-contact-left{padding:1.75rem 1.25rem;}
  .ap-contact-right{padding:1.75rem 1.25rem;}
  .em-inner-hero-h{font-size:clamp(1.9rem,8vw,2.8rem);}
  .ap-evt-wrap{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .em-hdr-actions .em-btn-give{display:none;}
  .em-logo-name{font-size:.8rem;}
  .em-logo-sub{font-size:.44rem;}
  .em-logo-badge{width:36px;height:36px;}
  .em-logo-badge img{width:36px;height:36px;}
  .em-theme-btn{width:30px;height:30px;}
  .em-ham{width:30px;height:30px;}
  .em-header-inner{padding-left:.85rem;padding-right:.85rem;}
  .em-welcome-photo{min-height:95vw;}
  .em-welcome-body{padding:1.75rem 1.1rem 2rem;}
}
@media(max-width:390px){
  .em-logo-sub{display:none;}
  .em-logo-badge{width:32px;height:32px;}
  .em-logo-badge img{width:32px;height:32px;}
}

body:not(.em-front) #main{padding-top:64px;}
.admin-bar body:not(.em-front) #main{padding-top:calc(64px + 32px);}
@media screen and (max-width:782px){.admin-bar #main{padding-top:calc(64px + 46px);}}

/* ================================================================
   QUOTE PANELS — ep- classes (full-bleed textured panels)
   ================================================================ */
.em-panel{position:relative;overflow:hidden;min-height:65vh;display:flex;align-items:center;}
.em-panel-bg{position:absolute;inset:0;}
.em-panel.ep-clay  .em-panel-bg{background:#1A1008;}
.em-panel.ep-light .em-panel-bg{background:var(--s3);}
.em-panel.ep-terra .em-panel-bg{background:var(--t2);}
.em-panel.ep-ochre .em-panel-bg{background:var(--o2);}
.em-panel-noise{position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80'%3E%3Ccircle cx='40' cy='40' r='1' fill='%23fff' opacity='.6'/%3E%3C/svg%3E");}
.em-panel-radial{position:absolute;inset:0;background:radial-gradient(ellipse 55% 65% at 80% 30%,rgba(255,255,255,.04) 0%,transparent 60%);}
.em-panel-content{position:relative;z-index:10;max-width:1200px;margin:0 auto;padding:5.5rem 2rem;display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;width:100%;}
.em-panel.ep-flip .em-panel-content{direction:rtl;}
.em-panel.ep-flip .em-panel-content > *{direction:ltr;}
.em-panel-stroke{width:52px;height:4px;border-radius:2px;margin-bottom:1.3rem;}
.ep-clay .em-panel-stroke,.ep-terra .em-panel-stroke{background:linear-gradient(to right,var(--o),var(--o2));}
.ep-light .em-panel-stroke{background:linear-gradient(to right,var(--t),var(--o));}
.ep-ochre .em-panel-stroke{background:rgba(255,255,255,.5);}
.em-panel-verse{font-family:var(--serif);font-size:clamp(1.2rem,2vw,1.6rem);font-style:italic;font-weight:500;line-height:1.58;margin-bottom:.75rem;}
.ep-clay .em-panel-verse,.ep-terra .em-panel-verse,.ep-ochre .em-panel-verse{color:rgba(255,255,255,.8);}
.ep-light .em-panel-verse{color:var(--ink);}
.em-panel-ref{font-family:var(--sans);font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;}
.ep-clay .em-panel-ref,.ep-terra .em-panel-ref,.ep-ochre .em-panel-ref{color:rgba(255,255,255,.3);}
.ep-light .em-panel-ref{color:var(--ink-4);}
.em-panel-eyebrow{font-family:var(--sans);font-size:.56rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;display:block;margin-bottom:.75rem;}
.ep-clay .em-panel-eyebrow,.ep-terra .em-panel-eyebrow{color:var(--o);}
.ep-light .em-panel-eyebrow{color:var(--t);}
.ep-ochre .em-panel-eyebrow{color:rgba(255,255,255,.55);}
.em-panel-h{font-family:var(--serif);font-size:clamp(1.6rem,2.6vw,2.3rem);font-weight:700;line-height:1.12;margin-bottom:.9rem;letter-spacing:-.01em;}
.ep-clay .em-panel-h,.ep-terra .em-panel-h,.ep-ochre .em-panel-h{color:#fff;}
.ep-light .em-panel-h{color:var(--ink);}
.em-panel-p{font-family:var(--sans);font-size:.86rem;line-height:1.9;margin-bottom:1.6rem;}
.ep-clay .em-panel-p,.ep-terra .em-panel-p,.ep-ochre .em-panel-p{color:rgba(255,255,255,.52);}
.ep-light .em-panel-p{color:var(--ink-3);}
.em-btn-panel{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.75rem 1.8rem;border-radius:var(--r2);display:inline-block;transition:transform .2s var(--ease),box-shadow .2s,background .18s;}
.em-btn-panel:hover{transform:translateY(-2px);}
.ep-clay .em-btn-panel,.ep-terra .em-btn-panel{background:var(--o);color:var(--ink);box-shadow:0 6px 20px rgba(196,154,60,.3);}
.ep-clay .em-btn-panel:hover,.ep-terra .em-btn-panel:hover{background:var(--o2);box-shadow:0 10px 28px rgba(196,154,60,.45);}
.ep-light .em-btn-panel{background:var(--t);color:#fff;box-shadow:0 6px 20px rgba(184,92,56,.25);}
.ep-light .em-btn-panel:hover{background:var(--t2);box-shadow:0 10px 28px rgba(184,92,56,.4);}
.ep-ochre .em-btn-panel{background:#fff;color:var(--ink);}
@media(max-width:860px){.em-panel-content{grid-template-columns:1fr;gap:2.5rem;}.em-panel.ep-flip .em-panel-content{direction:ltr;}}
@media(max-width:640px){.em-panel-content{padding:3.5rem 1.1rem;}}

/* Misc missing classes */
.ap-sec-hdr{display:flex;justify-content:space-between;align-items:flex-end;padding-bottom:1.5rem;margin-bottom:2rem;border-bottom:2px solid var(--tl);}
.ap-feat{} /* marker class for featured blog post */
/* Event arrow hidden on mobile (ap-evt-arr is handled via ap-link arrow CSS) */
.ap-evt-arr{display:none;}
/* ap-sec-alt background */
.ap-sec.ap-sec-alt{background:var(--s2);}

/* ================================================================
   EVENTS SECTION — premium calendar card grid
   ================================================================ */
.ms-evt-sec {
  padding: 5.5rem 0; background: var(--s2); border-bottom: 1px solid var(--rule);
}
.ms-evt-hdr {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 2px solid var(--tl);
}
.ms-evt-grid {
  display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px;
  background: var(--rule); border-radius: var(--r4); overflow: hidden;
  box-shadow: 0 8px 40px rgba(14,12,9,.06);
}
.ms-evt-card {
  position: relative; background: var(--s0);
  display: grid; grid-template-columns: 80px 1fr auto;
  align-items: center; gap: 1.5rem; padding: 2rem 2rem 2rem 1.75rem;
  text-decoration: none; overflow: hidden;
  transition: background .18s, transform .2s var(--ease);
  cursor: pointer;
}
.ms-evt-card:hover { background: var(--s1); }
.ms-evt-card:hover .ms-evt-arrow { opacity: 1; transform: translateX(0); }
[data-theme="dark"] .ms-evt-card { background: var(--s1); }
[data-theme="dark"] .ms-evt-card:hover { background: var(--s2); }

/* Colour accent bar on left edge */
.ms-evt-accent {
  position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
  border-radius: 0 2px 2px 0;
}

/* Calendar date block */
.ms-evt-cal {
  display: flex; flex-direction: column; align-items: center;
  text-align: center; flex-shrink: 0;
  padding: .75rem 1rem; background: var(--s2); border-radius: var(--r3);
  border: 1px solid var(--rule); min-width: 72px;
}
[data-theme="dark"] .ms-evt-cal { background: var(--s3); border-color: var(--rule-2); }
.ms-evt-day {
  font-family: var(--serif); font-size: 2rem; font-weight: 700; line-height: 1;
  display: block; margin-bottom: .1rem;
}
.ms-evt-mon {
  font-family: var(--sans); font-size: .56rem; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--ink-3); display: block;
}
.ms-evt-yr {
  font-family: var(--sans); font-size: .52rem; color: var(--ink-4); display: block;
}

/* Content */
.ms-evt-body { flex: 1; min-width: 0; }
.ms-evt-tag {
  font-family: var(--sans); font-size: .52rem; font-weight: 700;
  letter-spacing: .2em; color: var(--t); display: block; margin-bottom: .35rem;
}
.ms-evt-title {
  font-family: var(--serif); font-size: 1.1rem; font-weight: 700;
  color: var(--ink); line-height: 1.25; margin-bottom: .4rem;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.ms-evt-meta {
  display: flex; align-items: center; gap: .5rem; flex-wrap: wrap;
  font-family: var(--sans); font-size: .72rem; color: var(--ink-3);
}
.ms-evt-dot {
  width: 3px; height: 3px; border-radius: 50%; background: var(--ink-4);
  flex-shrink: 0; display: inline-block;
}

/* Arrow */
.ms-evt-arrow {
  color: var(--ink-4); opacity: 0; transform: translateX(-6px);
  transition: opacity .2s, transform .2s var(--ease); flex-shrink: 0;
}
.ms-evt-card:hover .ms-evt-arrow { opacity: 1; transform: none; }

/* Responsive */
@media (max-width: 860px) { .ms-evt-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .ms-evt-card { grid-template-columns: 64px 1fr; padding: 1.4rem 1.25rem; gap: 1rem; }
  .ms-evt-arrow { display: none; }
  .ms-evt-cal { min-width: 60px; padding: .6rem .75rem; }
  .ms-evt-day { font-size: 1.6rem; }
  .ms-evt-title { font-size: 1rem; white-space: normal; }
  .ms-evt-hdr { flex-direction: column; align-items: flex-start; gap: .75rem; }
}

/* ================================================================
   SERVICES & SCHEDULE v3 — pill tabs, full-width rows
   ================================================================ */
.ms-prog-sec {
  padding: 5.5rem 0; background: var(--s1); border-bottom: 1px solid var(--rule);
}
.ms-prog-hdr {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 2px solid var(--tl);
}

/* ── Pill tab bar ── */
.ms-prog-tabs {
  display: flex; gap: .5rem; margin-bottom: 1.5rem;
  background: var(--s2); border: 1px solid var(--rule);
  border-radius: var(--r5); padding: .35rem;
  width: fit-content;
}
.ms-ptab {
  display: inline-flex; align-items: center; gap: .5rem;
  padding: .55rem 1.35rem; border-radius: var(--r5);
  font-family: var(--sans); font-size: .76rem; font-weight: 600;
  color: var(--ink-3); background: transparent; border: none; cursor: pointer;
  transition: background .18s, color .18s, box-shadow .18s; white-space: nowrap;
}
.ms-ptab svg { flex-shrink: 0; stroke: currentColor; opacity: .6; }
.ms-ptab em {
  font-style: normal; font-size: .58rem; font-weight: 700;
  background: var(--rule-2); color: var(--ink-4);
  padding: .1rem .42rem; border-radius: 20px; margin-left: .15rem;
  transition: background .18s, color .18s;
}
.ms-ptab:hover { color: var(--ink); background: var(--s0); }
.ms-ptab.active {
  background: var(--dk); color: #fff;
  box-shadow: 0 2px 12px rgba(14,12,9,.18);
}
.ms-ptab.active svg { opacity: 1; stroke: rgba(255,255,255,.7); }
.ms-ptab.active em { background: rgba(255,255,255,.15); color: rgba(255,255,255,.7); }
[data-theme="dark"] .ms-prog-tabs { background: var(--s2); }
[data-theme="dark"] .ms-ptab.active { background: var(--t); }

/* ── Panel container ── */
.ms-prog-panels {
  border: 1px solid var(--rule); border-radius: var(--r4); overflow: hidden;
  box-shadow: 0 6px 32px rgba(14,12,9,.05);
}
.ms-ppanel { display: none; }
.ms-ppanel.active { display: block; }

/* ── Individual row ── */
.ms-prow {
  display: grid; grid-template-columns: 52px 1fr auto;
  align-items: center; gap: 1.5rem;
  padding: 1.4rem 2rem; border-bottom: 1px solid var(--rule);
  background: var(--s0); transition: background .15s;
}
.ms-prow:last-child { border-bottom: none; }
.ms-prow:hover { background: var(--s1); }
[data-theme="dark"] .ms-prow { background: var(--s1); }
[data-theme="dark"] .ms-prow:hover { background: var(--s2); }

.ms-prow-idx {
  font-family: var(--mono); font-size: .65rem; font-weight: 700; color: var(--ink-4);
  width: 36px; height: 36px; border-radius: 50%;
  background: var(--s2); border: 1px solid var(--rule);
  display: flex; align-items: center; justify-content: center;
}
[data-theme="dark"] .ms-prow-idx { background: var(--s3); }

.ms-prow-day {
  font-family: var(--sans); font-size: .52rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase; color: var(--t);
  display: block; margin-bottom: .28rem;
}
.ms-prow-name {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 700;
  color: var(--ink); margin-bottom: .15rem; line-height: 1.25;
}
.ms-prow-note { font-family: var(--sans); font-size: .73rem; color: var(--ink-3); }

.ms-prow-right { display: flex; align-items: center; }
.ms-prow-time {
  font-family: var(--mono); font-size: .8rem; font-weight: 700; color: var(--t);
  background: var(--tl); border: 1px solid rgba(184,92,56,.15);
  padding: .35rem .85rem; border-radius: var(--r2); white-space: nowrap;
}
[data-theme="dark"] .ms-prow-time { background: rgba(184,92,56,.12); border-color: rgba(184,92,56,.25); }

/* ── Footer ── */
.ms-prog-footer {
  display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;
  gap: 1rem; padding: 1rem 2rem;
  background: var(--s2); border-top: 1px solid var(--rule);
}
[data-theme="dark"] .ms-prog-footer { background: var(--s2); }
.ms-prog-footer-addr {
  display: flex; align-items: flex-start; gap: .45rem;
  font-family: var(--sans); font-size: .72rem; color: var(--ink-4); line-height: 1.5;
}
.ms-prog-footer-addr svg { flex-shrink: 0; margin-top: 1px; stroke: var(--ink-4); }
.ms-prog-footer-phones { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.ms-prog-footer-lbl {
  font-family: var(--sans); font-size: .52rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase; color: var(--ink-4);
}
.ms-prog-phone {
  font-family: var(--sans); font-size: .8rem; font-weight: 600; color: var(--ink-2);
  border-bottom: 1px solid var(--rule-2); transition: color .15s, border-color .15s;
}
.ms-prog-phone:hover { color: var(--t); border-color: var(--tl); }

/* ── Responsive ── */
@media (max-width: 860px) {
  .ms-prog-hdr { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .ms-prog-footer { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 640px) {
  .ms-prog-tabs { width: 100%; border-radius: var(--r3); }
  .ms-ptab { flex: 1; justify-content: center; padding: .5rem .75rem; font-size: .7rem; }
  .ms-prow { grid-template-columns: auto 1fr; padding: 1.1rem 1.25rem; gap: 1rem; }
  .ms-prow-right { display: none; }
  .ms-prow-name::after { content: attr(data-time); font-size: .65rem; color: var(--t); font-family: var(--mono); margin-left: .6rem; font-weight: 700; font-style: normal; }
  .ms-prog-footer { padding: .85rem 1.25rem; }
}

/* Contact section adaptive styles (moved from inline) */
    .ms-contact-sec {
      background: var(--s2);
      padding: 6rem 0;
      border-bottom: 1px solid var(--rule);
    }
    [data-theme="dark"] .ms-contact-sec {
      background: var(--dk);
      border-bottom-color: rgba(255,255,255,.06);
    }
    /* Header row */
    .ms-contact-htitle { color: var(--ink); }
    [data-theme="dark"] .ms-contact-htitle { color: #fff; }
    .ms-contact-addr { color: var(--ink-3); }
    [data-theme="dark"] .ms-contact-addr { color: rgba(255,255,255,.4); }
    .ms-contact-divider { border-bottom: 1px solid var(--rule-2); }
    [data-theme="dark"] .ms-contact-divider { border-bottom-color: rgba(255,255,255,.08); }
    /* Cards */
    .ms-ccard {
      background: var(--s0);
      border: 1px solid var(--rule);
      border-radius: var(--r3);
    }
    [data-theme="dark"] .ms-ccard {
      background: rgba(255,255,255,.04);
      border-color: rgba(255,255,255,.08);
    }
    .ms-ccard-lbl { color: var(--ink-4); }
    [data-theme="dark"] .ms-ccard-lbl { color: rgba(255,255,255,.3); }
    /* Phone tiles */
    .ms-phone-tile {
      display: flex; align-items: center; gap: .7rem;
      padding: .75rem 1rem;
      background: var(--s1); border: 1px solid var(--rule); border-radius: var(--r2);
      font-family: var(--mono); font-size: .82rem; font-weight: 600;
      color: var(--ink); text-decoration: none;
      transition: background .18s, border-color .18s, transform .18s;
    }
    .ms-phone-tile:hover { background: var(--tl); border-color: var(--t); color: var(--t); transform: translateY(-2px); }
    [data-theme="dark"] .ms-phone-tile {
      background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.07); color: #fff;
    }
    [data-theme="dark"] .ms-phone-tile:hover { background: rgba(184,92,56,.15); border-color: rgba(184,92,56,.3); color: #fff; }
    /* Email */
    .ms-email-val { color: var(--ink); }
    [data-theme="dark"] .ms-email-val { color: #fff; }
    /* Quick links */
    .ms-qlink {
      background: var(--s0); border: 1px solid var(--rule); border-radius: var(--r3);
      padding: 1.5rem;
    }
    [data-theme="dark"] .ms-qlink {
      background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.08);
    }
    .ms-qlink-val { color: var(--ink-2); }
    [data-theme="dark"] .ms-qlink-val { color: #fff; }
    /* Location card */
    .ms-loc-card {
      background: var(--tl); border: 1px solid rgba(184,92,56,.2); border-radius: var(--r3);
      padding: 1.5rem 2rem;
    }
    [data-theme="dark"] .ms-loc-card {
      background: rgba(184,92,56,.08);
    }
    .ms-loc-addr { color: var(--t2); }
    [data-theme="dark"] .ms-loc-addr { color: rgba(255,255,255,.6); }
    .ms-loc-hq { color: var(--t2); opacity: .65; }
    [data-theme="dark"] .ms-loc-hq { color: rgba(255,255,255,.35); }
    /* Right panel schedule rows */
    .ms-sched-panel { border: 1px solid var(--rule); border-radius: var(--r4); overflow: hidden; }
    [data-theme="dark"] .ms-sched-panel { border-color: rgba(255,255,255,.08); }
    .ms-sched-row { border-bottom: 1px solid var(--rule); }
    [data-theme="dark"] .ms-sched-row { border-bottom-color: rgba(255,255,255,.06); }
    .ms-sched-name { color: var(--ink); }
    [data-theme="dark"] .ms-sched-name { color: #fff; }
    .ms-sched-day { color: var(--ink-4); }
    [data-theme="dark"] .ms-sched-day { color: rgba(255,255,255,.3); }
    .ms-sched-footer { background: var(--s2); border-top: 1px solid var(--rule); }
    [data-theme="dark"] .ms-sched-footer { background: rgba(255,255,255,.03); border-top-color: rgba(255,255,255,.06); }
    .ms-sched-footer-txt { color: var(--ink-4); }
    [data-theme="dark"] .ms-sched-footer-txt { color: rgba(255,255,255,.3); }

/* ================================================================
   ANNOUNCEMENTS / NOTICES — premium card grid
   ================================================================ */
.ms-ann-sec {
  padding: 5.5rem 0; background: var(--s0); border-bottom: 1px solid var(--rule);
}
[data-theme="dark"] .ms-ann-sec { background: var(--s0); }

.ms-ann-hdr {
  display: flex; justify-content: space-between; align-items: flex-end;
  margin-bottom: 2.5rem; padding-bottom: 1.5rem; border-bottom: 2px solid var(--tl);
}

/* ── 2×2 card grid ── */
.ms-ann-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem;
}

/* ── Individual card ── */
.ms-ann-card {
  background: var(--s1); border: 1px solid var(--rule);
  border-radius: var(--r4); padding: 2rem 2rem 1.75rem;
  display: flex; flex-direction: column; gap: .75rem;
  transition: box-shadow .25s var(--ease), transform .25s var(--ease), border-color .2s;
  position: relative; overflow: hidden;
}
.ms-ann-card::before {
  content: ""; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(to right, var(--t), var(--o));
  transform: scaleX(0); transform-origin: left;
  transition: transform .3s var(--ease);
}
.ms-ann-card:hover { box-shadow: 0 12px 40px rgba(14,12,9,.08); transform: translateY(-3px); border-color: var(--rule-2); }
.ms-ann-card:hover::before { transform: scaleX(1); }
[data-theme="dark"] .ms-ann-card { background: var(--s2); border-color: var(--rule); }
[data-theme="dark"] .ms-ann-card:hover { border-color: var(--rule-2); box-shadow: 0 12px 40px rgba(0,0,0,.3); }

.ms-ann-card-top {
  display: flex; justify-content: space-between; align-items: center; margin-bottom: .25rem;
}
.ms-ann-badge {
  font-family: var(--sans); font-size: .52rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  padding: .22rem .72rem; border-radius: var(--r5);
  display: inline-block; flex-shrink: 0;
}
.ms-ann-icon {
  width: 36px; height: 36px; border-radius: var(--r2);
  background: var(--s2); display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: background .2s;
}
[data-theme="dark"] .ms-ann-icon { background: var(--s3); }
.ms-ann-card:hover .ms-ann-icon { background: var(--tl); }

.ms-ann-title {
  font-family: var(--serif); font-size: 1.05rem; font-weight: 700;
  color: var(--ink); line-height: 1.3;
}
.ms-ann-body {
  font-family: var(--sans); font-size: .78rem; color: var(--ink-3); line-height: 1.78; flex: 1;
}
.ms-ann-cta {
  display: inline-flex; align-items: center; gap: .4rem; margin-top: .35rem;
  font-family: var(--sans); font-size: .66rem; font-weight: 700;
  letter-spacing: .1em; text-transform: uppercase; color: var(--t);
  border-bottom: 1px solid var(--tl); padding-bottom: 1px;
  transition: gap .18s, color .18s, border-color .18s;
}
.ms-ann-cta:hover { gap: .6rem; color: var(--t2); border-color: var(--t); }

/* First card — featured / larger */
.ms-ann-card:first-child {
  background: var(--dk); border-color: transparent;
}
.ms-ann-card:first-child::before { background: linear-gradient(to right, var(--t), var(--o)); }
.ms-ann-card:first-child .ms-ann-title { color: #fff; }
.ms-ann-card:first-child .ms-ann-body  { color: rgba(255,255,255,.5); }
.ms-ann-card:first-child .ms-ann-icon  { background: rgba(255,255,255,.08); }
.ms-ann-card:first-child:hover .ms-ann-icon { background: rgba(184,92,56,.3); }
.ms-ann-card:first-child .ms-ann-cta { color: var(--o); border-color: rgba(196,154,60,.3); }
.ms-ann-card:first-child .ms-ann-cta:hover { color: #fff; border-color: var(--o); }
[data-theme="dark"] .ms-ann-card:first-child { background: var(--dk2); }

/* Responsive */
@media (max-width: 860px) { .ms-ann-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
  .ms-ann-hdr { flex-direction: column; align-items: flex-start; gap: .75rem; }
  .ms-ann-card { padding: 1.5rem 1.25rem; }
}

/* ================================================================
   GALLERY — card-based, meaningful layout
   ================================================================ */
.ms-gal-sec {
  padding: 5.5rem 0; background: var(--dk);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.ms-gal-hdr {
  display: flex; justify-content: space-between; align-items: flex-start;
  margin-bottom: 2.5rem; gap: 2rem;
}
.ms-gal-lead {
  font-family: var(--sans); font-size: .84rem; color: rgba(255,255,255,.42);
  line-height: 1.8; margin-top: .55rem; max-width: 520px;
}

/* ── Card grid — 4 column, meaningful layout ── */
.ms-gal-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}

/* ── Individual card ── */
.ms-gal-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: var(--r3);
  overflow: hidden;
  cursor: pointer;
  transition: transform .25s var(--ease), border-color .2s, box-shadow .25s;
}
.ms-gal-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255,255,255,.18);
  box-shadow: 0 20px 50px rgba(0,0,0,.4);
}

/* Photo area */
.ms-gal-img-wrap {
  position: relative; aspect-ratio: 4/3;
  overflow: hidden; background: var(--dk2);
}
.ms-gal-img-wrap img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .55s var(--ease), filter .35s;
  filter: brightness(.9) saturate(1.05);
}
.ms-gal-card:hover .ms-gal-img-wrap img {
  transform: scale(1.06); filter: brightness(1) saturate(1.12);
}
.ms-gal-placeholder { width: 100%; height: 100%; background: linear-gradient(135deg, var(--dk2), var(--dk3)); }

/* Zoom icon on hover */
.ms-gal-img-hover {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%,-50%) scale(.7);
  width: 48px; height: 48px; border-radius: 50%;
  background: rgba(14,12,9,.65); border: 1.5px solid rgba(255,255,255,.3);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; transition: opacity .25s, transform .25s var(--ease);
}
.ms-gal-card:hover .ms-gal-img-hover { opacity: 1; transform: translate(-50%,-50%) scale(1); }

/* Play button for videos */
.ms-gal-play-btn {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%);
  width: 52px; height: 52px; border-radius: 50%;
  background: rgba(184,92,56,.85); display: flex; align-items: center; justify-content: center;
  transition: background .2s, transform .2s; box-shadow: 0 4px 20px rgba(0,0,0,.5);
}
.ms-gal-card:hover .ms-gal-play-btn { background: var(--t); transform: translate(-50%,-50%) scale(1.08); }

/* Card body — the meaningful part */
.ms-gal-card-body {
  padding: 1rem 1.1rem 1.1rem;
  border-top: 1px solid rgba(255,255,255,.06);
  display: flex; flex-direction: column; gap: .45rem;
}

.ms-gal-card-top {
  display: flex; justify-content: space-between; align-items: center; gap: .5rem;
}
.ms-gal-cat-badge {
  font-family: var(--sans); font-size: .5rem; font-weight: 700;
  letter-spacing: .16em; text-transform: uppercase;
  padding: .18rem .6rem; border-radius: var(--r5); flex-shrink: 0;
}
.ms-gal-card-date {
  font-family: var(--sans); font-size: .6rem; color: rgba(255,255,255,.3); white-space: nowrap;
}

.ms-gal-card-title {
  font-family: var(--serif); font-size: .95rem; font-weight: 700;
  color: #fff; line-height: 1.3;
}

.ms-gal-card-event, .ms-gal-card-people {
  display: flex; align-items: flex-start; gap: .4rem;
  font-family: var(--sans); font-size: .68rem; color: rgba(255,255,255,.42); line-height: 1.5;
}
.ms-gal-card-event { color: rgba(255,255,255,.55); }
.ms-gal-card-event svg, .ms-gal-card-people svg { flex-shrink: 0; margin-top: 2px; stroke: rgba(255,255,255,.35); }

/* Footer */
.ms-gal-footer {
  display: flex; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-top: 2rem;
}

/* Responsive */
@media (max-width: 1060px) { .ms-gal-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 860px)  { .ms-gal-grid { grid-template-columns: repeat(2,1fr); } .ms-gal-hdr { flex-direction: column; gap: 1rem; } }
@media (max-width: 480px)  { .ms-gal-grid { grid-template-columns: 1fr; } }



/* ================================================================
   SINGLE POST — article layout
   ================================================================ */
.ms-single-article {
  max-width: 800px; margin: 0 auto; padding: 3rem 2rem 5rem;
}

/* Featured image — landscape crop, shows faces not feet */
.ms-single-thumb-wrap {
  border-radius: var(--r4); overflow: hidden;
  margin-bottom: 2rem; aspect-ratio: 16/9;
  background: var(--s3);
}
.ms-single-thumb {
  width: 100%; height: 100%;
  object-fit: cover;
  object-position: center top; /* shows faces, not hands */
  display: block;
}

/* Meta bar */
.ms-single-meta {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1rem 0; margin-bottom: 2rem;
  border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule);
  flex-wrap: wrap; gap: .75rem;
}
.ms-single-meta-left {
  display: flex; align-items: center; gap: 1rem; flex-wrap: wrap;
}
.ms-single-cat {
  font-family: var(--sans); font-size: .56rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  background: var(--tl); color: var(--t);
  padding: .22rem .7rem; border-radius: var(--r5);
}
.ms-single-date, .ms-single-read {
  font-family: var(--sans); font-size: .72rem; color: var(--ink-4);
}
.ms-single-date::before { content: "·"; margin-right: 1rem; color: var(--rule-2); }
.ms-single-read::before { content: "·"; margin-right: 1rem; color: var(--rule-2); }
.ms-single-back {
  display: inline-flex; align-items: center; gap: .4rem;
  font-family: var(--sans); font-size: .68rem; font-weight: 600;
  color: var(--ink-4); transition: color .18s;
}
.ms-single-back:hover { color: var(--t); }

/* Body */
.ms-single-body { margin-bottom: 3rem; }

/* ── Opening drop cap on first letter ── */
.ms-single-body .em-entry > p:first-of-type::first-letter {
  font-family: var(--serif); font-size: 4.2rem; font-weight: 700;
  color: var(--t); float: left; line-height: .82;
  margin: .08em .12em -.05em 0; padding: 0;
}

/* Subtitle line — italic serif standfirst */
.ms-single-body .em-entry > p:first-child {
  font-family: var(--serif); font-size: 1.08rem; font-style: italic;
  color: var(--ink-2); line-height: 1.82; margin-bottom: 2rem;
  padding-bottom: 1.5rem; border-bottom: 2px solid var(--tl);
  position: relative;
}
.ms-single-body .em-entry > p:first-child::after {
  content: "";
  position: absolute; bottom: -2px; left: 0;
  width: 60px; height: 2px; background: var(--t);
}

/* Opening paragraph — slightly larger than body */
.ms-single-body .em-entry > p:nth-child(2) {
  font-size: .95rem; color: var(--ink-2); line-height: 1.95;
}

/* Post navigation */
.ms-single-footer {
  display: grid; grid-template-columns: 1fr 1fr; gap: 1rem;
  padding-top: 2rem; border-top: 1px solid var(--rule);
}
.ms-single-nav {
  display: flex; flex-direction: column; gap: .3rem;
  padding: 1.25rem 1.5rem; background: var(--s2);
  border: 1px solid var(--rule); border-radius: var(--r3);
  text-decoration: none; transition: border-color .18s, background .18s;
}
.ms-single-nav:hover { border-color: var(--t); background: var(--tl); }
.ms-single-nav-next { text-align: right; }
.ms-single-nav-lbl {
  font-family: var(--sans); font-size: .54rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase; color: var(--ink-4);
}
.ms-single-nav-title {
  font-family: var(--serif); font-size: .9rem; font-weight: 700; color: var(--ink);
  line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2;
  -webkit-box-orient: vertical; overflow: hidden;
}

/* Responsive */
@media (max-width: 640px) {
  .ms-single-article { padding: 2rem 1.1rem 4rem; }
  .ms-single-thumb-wrap { aspect-ratio: 4/3; }
  .ms-single-footer { grid-template-columns: 1fr; }
}

/* ================================================================
   WELCOME — two separate portrait cards (GO large + Pastor smaller)
   ================================================================ */
.em-welcome {
  display: grid;
  grid-template-columns: 400px 1fr;
  gap: 5rem;
  align-items: center;
  padding: 5.5rem 0;
  max-width: 1200px;
  margin: 0 auto;
}
.em-welcome-photo {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

/* ── Shared card ── */
.em-wph-card {
  border-radius: var(--r4);
  overflow: hidden;
  background: var(--s2);
  border: 1px solid var(--rule);
  box-shadow: 0 8px 32px rgba(14,12,9,.08);
  transition: transform .3s var(--ease), box-shadow .3s;
}
.em-wph-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 48px rgba(14,12,9,.14);
}
.em-wph-img-wrap {
  overflow: hidden;
}
.em-wph-img-wrap img {
  width: 100%; display: block;
  object-fit: cover; object-position: center top;
  transition: transform .55s var(--ease);
}
.em-wph-card:hover .em-wph-img-wrap img { transform: scale(1.04); }

/* ── GO — large card ── */
.em-wph-large .em-wph-img-wrap { aspect-ratio: 4/5; }

/* ── Parish Pastor — smaller card ── */
.em-wph-small {
  display: grid;
  grid-template-columns: 160px 1fr;
  align-items: stretch;
  border-radius: var(--r3);
}
.em-wph-small .em-wph-img-wrap {
  width: 160px;
  aspect-ratio: 3/4;
  flex-shrink: 0;
  min-height: 200px;
}
.em-wph-small .em-wph-img-wrap img {
  width: 100%; height: 100%;
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* ── Info labels ── */
.em-wph-info {
  padding: .85rem 1.1rem;
  background: var(--s0);
}
.em-wph-large .em-wph-info {
  border-top: 3px solid var(--t);
}
.em-wph-small .em-wph-info {
  border-left: 3px solid var(--t);
}
.em-wph-role {
  font-family: var(--sans); font-size: .52rem; font-weight: 700;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--t); display: block; margin-bottom: .25rem;
}
.em-wph-name {
  font-family: var(--serif); font-size: .95rem; font-weight: 700;
  color: var(--ink); display: block; line-height: 1.25;
}
.em-wph-small .em-wph-name { font-size: .82rem; }

/* Responsive */
@media (max-width: 960px) {
  .em-welcome { grid-template-columns: 1fr; gap: 3rem; padding: 4rem 1.5rem; }
  .em-welcome-photo { max-width: 420px; margin: 0 auto; }
}

/* Mobile — pastor card goes full vertical like GO card */
@media (max-width: 640px) {
  .em-welcome-photo { max-width: 100%; }

  /* Stack pastor card vertically — no more cramped horizontal */
  .em-wph-small {
    display: flex;
    flex-direction: column;
    grid-template-columns: unset;
  }
  .em-wph-small .em-wph-img-wrap {
    width: 100%; height: 200px;
    aspect-ratio: unset;
  }
  .em-wph-small .em-wph-img-wrap img {
    width: 100%; height: 200px;
    object-fit: cover; object-position: center top;
  }
  .em-wph-small .em-wph-info {
    border-left: none;
    border-top: 3px solid var(--t);
    padding: .85rem 1.1rem;
  }
  .em-wph-name { font-size: .9rem !important; }
}


