:root{
  --twbc-blue:#224181;
  --twbc-blue-2:#155392;
  --twbc-blue-3:#2f69a9;
  --twbc-ink:#0a0d12;
  --twbc-charcoal:#10151d;
  --twbc-slate:#667386;
  --twbc-line:#dfe5ec;
  --twbc-ui:Arial,Helvetica,sans-serif;
}
body.twbc-site-shell-active{--twbc-shell-width:1040px}
.twbc-shell-frame{width:min(var(--twbc-shell-width),calc(100vw - 48px));margin-left:auto;margin-right:auto;box-sizing:border-box}

/* Never suppress Newspaper until the TWBC replacement actually exists. */
body.twbc-site-shell-active .tdc-header-wrap,
body.twbc-site-shell-active .td-header-wrap,
body.twbc-site-shell-active .td-header-mobile-wrap,
body.twbc-site-shell-active .td-header-template-wrap,
body.twbc-site-shell-active .tdc-header-template-wrap,
body.twbc-site-shell-active .tdm-header,
body.twbc-site-shell-active .td-header-menu-wrap-full,
body.twbc-site-shell-active .td-header-top-menu-full,
body.twbc-site-shell-active #td-mobile-nav,
body.twbc-site-shell-active .td-menu-background{display:none!important}
body.twbc-site-shell-active .td-footer-wrapper,
body.twbc-site-shell-active .td-footer-template-wrap,
body.twbc-site-shell-active .tdc-footer-wrap,
body.twbc-site-shell-active .tdc-footer-template-wrap,
body.twbc-site-shell-active footer:not(.twbc-shell-footer){display:none!important}

/* HEADER */
.twbc-shell-header{position:relative;z-index:9996;background:#fff;color:var(--twbc-ink);font-family:var(--twbc-ui);box-shadow:0 1px 0 rgba(0,0,0,.04)}
.twbc-shell-utility{background:linear-gradient(90deg,#172a52 0%,var(--twbc-blue) 52%,#183b70 100%);color:#fff;border-bottom:1px solid rgba(255,255,255,.08)}
.twbc-shell-utility-inner{min-height:31px;display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9.6px;letter-spacing:.035em}
.twbc-shell-service-line,.twbc-shell-utility-right{display:flex;align-items:center;gap:12px;white-space:nowrap}.twbc-shell-service-line strong{font-size:9.2px;letter-spacing:.14em;text-transform:uppercase}.twbc-shell-pulse{width:6px;height:6px;border-radius:50%;background:#79b5ef;box-shadow:0 0 0 4px rgba(121,181,239,.12)}.twbc-shell-utility a{color:rgba(255,255,255,.92)!important;text-decoration:none!important}.twbc-shell-utility a:hover{color:#fff!important}.twbc-shell-utility-right i{width:1px;height:12px;background:rgba(255,255,255,.25)}
.twbc-shell-brand-row{background:#fff;border-bottom:1px solid #edf0f4}.twbc-shell-brand-inner{min-height:108px;display:grid;grid-template-columns:minmax(330px,390px) 1fr auto;align-items:center;gap:38px}.twbc-shell-brand{display:block;width:100%;max-width:365px}.twbc-shell-brand img{display:block;width:100%;height:auto}.twbc-shell-brand-copy{min-width:0;padding-left:28px;border-left:1px solid #e2e7ee}.twbc-shell-brand-copy span{display:block;margin-bottom:7px;color:var(--twbc-blue);font-size:9.5px;font-weight:900;letter-spacing:.17em}.twbc-shell-brand-copy strong{display:block;color:#263140;font-family:Georgia,"Times New Roman",serif;font-size:14.5px;font-weight:400;line-height:1.35}.twbc-shell-visit{min-width:165px;min-height:44px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;gap:18px;background:linear-gradient(135deg,var(--twbc-blue),#19366c);color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:900;letter-spacing:.06em;box-shadow:0 8px 22px rgba(34,65,129,.18);transition:.18s ease}.twbc-shell-visit:hover{transform:translateY(-1px);background:linear-gradient(135deg,var(--twbc-blue-2),var(--twbc-blue))}.twbc-shell-visit b{font-size:17px;font-weight:400}
.twbc-shell-nav-wrap{position:sticky;top:0;z-index:9997;background:linear-gradient(180deg,#121821 0%,#0a0e14 100%);box-shadow:0 10px 28px rgba(5,11,20,.22);border-bottom:1px solid rgba(255,255,255,.05)}body.admin-bar .twbc-shell-nav-wrap{top:32px}.twbc-shell-nav-inner{min-height:55px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center}.twbc-shell-navigation{grid-column:2;min-width:0}.twbc-shell-menu{list-style:none!important;margin:0!important;padding:0!important;display:flex;align-items:stretch;justify-content:center}.twbc-shell-menu>li{position:relative;margin:0!important;padding:0!important}.twbc-shell-menu>li>a{position:relative;display:flex;align-items:center;min-height:55px;padding:0 15px;color:#f7f8fb!important;text-decoration:none!important;font-size:11px;font-weight:800;letter-spacing:.025em;white-space:nowrap;transition:.16s ease}.twbc-shell-menu>li>a:hover{color:#fff!important;background:rgba(47,105,169,.14)}.twbc-shell-menu>li.current-menu-item>a:after,.twbc-shell-menu>li.current-menu-ancestor>a:after{content:"";position:absolute;left:15px;right:15px;bottom:0;height:3px;background:linear-gradient(90deg,#3e79b6,#79b5ef)}.twbc-shell-menu .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:40;min-width:230px;margin:0!important;padding:7px 0!important;list-style:none;background:#111721;border-top:3px solid var(--twbc-blue-3);box-shadow:0 18px 42px rgba(0,0,0,.30)}.twbc-shell-menu li:hover>.sub-menu{display:block}.twbc-shell-menu .sub-menu a{display:block;padding:11px 17px;color:#e9edf3!important;text-decoration:none!important;font-size:11.5px;font-weight:700}.twbc-shell-menu .sub-menu a:hover{background:rgba(47,105,169,.18);color:#fff!important}.twbc-shell-search-toggle,.twbc-shell-menu-toggle{border:0;background:none;color:#fff;cursor:pointer;padding:0}.twbc-shell-search-toggle{grid-column:3;width:44px;height:55px;display:grid;place-items:center}.twbc-shell-search-toggle svg{width:19px;height:19px}.twbc-shell-menu-toggle{display:none;width:44px;height:44px}.twbc-shell-menu-toggle span{display:block;width:22px;height:2px;margin:5px auto;border-radius:2px;background:#fff}.twbc-shell-search-panel{background:#111720;border-top:1px solid rgba(255,255,255,.07);box-shadow:0 16px 30px rgba(0,0,0,.20)}.twbc-shell-search-panel[hidden]{display:none}.twbc-shell-search-panel form{display:grid;grid-template-columns:1fr auto;gap:10px;padding:15px 0}.twbc-shell-search-panel input{min-height:46px;padding:0 16px;border:1px solid #5c6775;background:#fff;color:#111827;font-size:14px}.twbc-shell-search-panel button{min-height:46px;padding:0 25px;border:1px solid var(--twbc-blue-3);background:var(--twbc-blue-2);color:#fff;font-weight:800;cursor:pointer}

/* FOOTER CTA */
.twbc-shell-footer{position:relative;z-index:40;margin:0!important;font-family:var(--twbc-ui);color:#fff;background:#090c11}
.twbc-shell-footer-cta{position:relative;overflow:hidden;background:linear-gradient(115deg,#172d5a 0%,var(--twbc-blue) 48%,#155392 100%);border-top:4px solid #10151d}.twbc-shell-footer-cta:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 75% -15%,rgba(255,255,255,.16),transparent 42%),linear-gradient(120deg,transparent 0 65%,rgba(255,255,255,.045) 65% 66%,transparent 66%)}.twbc-shell-footer-cta-inner{position:relative;z-index:1;min-height:190px;display:grid;grid-template-columns:86px 1fr 220px;align-items:center;gap:26px}.twbc-shell-footer-icon{display:block;width:76px;height:76px;border-radius:10px;box-shadow:0 14px 30px rgba(6,19,47,.22)}.twbc-shell-footer-cta-copy span{display:block;margin-bottom:7px;font-size:9.5px;font-weight:900;letter-spacing:.18em}.twbc-shell-footer-cta-copy h2{margin:0 0 9px!important;color:#fff!important;font-family:Georgia,"Times New Roman",serif!important;font-size:32px!important;line-height:1.08!important;letter-spacing:-.015em!important}.twbc-shell-footer-cta-copy p{max-width:610px;margin:0!important;color:rgba(255,255,255,.88)!important;font-size:13.5px!important;line-height:1.55!important}.twbc-shell-footer-cta-actions{display:flex;flex-direction:column;gap:9px}.twbc-shell-footer-cta-actions a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:0 15px;border:1px solid rgba(255,255,255,.58);color:#fff!important;text-decoration:none!important;font-size:11.5px;font-weight:800}.twbc-shell-footer-cta-actions a.is-primary{background:#fff;color:#14264c!important;border-color:#fff;box-shadow:0 10px 24px rgba(6,17,42,.18)}.twbc-shell-footer-cta-actions a:hover{background:rgba(255,255,255,.08)}.twbc-shell-footer-cta-actions a.is-primary:hover{background:#f5f7fa}
.twbc-shell-footer-main{position:relative;overflow:hidden;background:linear-gradient(115deg,#090c11 0%,#111720 55%,#0a0d12 100%);border-top:1px solid rgba(255,255,255,.07)}.twbc-shell-footer-mark{position:absolute;right:-90px;bottom:-240px;width:500px;opacity:.026;pointer-events:none}.twbc-shell-footer-mark img{display:block;width:100%;height:auto}.twbc-shell-footer-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.35fr .85fr .9fr .85fr;gap:48px;padding:55px 0 50px}.twbc-shell-footer-logo{display:block;width:300px;max-width:100%;height:auto;margin:0 0 20px}.twbc-shell-footer-brand p{max-width:390px;margin:0 0 18px!important;color:#aeb8c6!important;font-family:Georgia,"Times New Roman",serif!important;font-size:14px!important;line-height:1.65!important}.twbc-shell-footer-address{color:#f3f6fa!important;text-decoration:none!important;font-size:11.5px;font-weight:700}.twbc-shell-footer-label{display:block;margin-bottom:16px;color:#79a7d2;font-size:9.5px;font-weight:900;letter-spacing:.18em}.twbc-shell-times{display:flex;flex-direction:column;gap:6px;color:#bcc6d2;font-size:11.5px;line-height:1.45}.twbc-shell-times strong{margin:7px 0 1px;color:#fff}.twbc-shell-times strong:first-child{margin-top:0}.twbc-shell-times b{color:#fff;font-weight:700}.twbc-shell-footer-menu,.twbc-shell-footer-quick{list-style:none!important;margin:0!important;padding:0!important}.twbc-shell-footer-menu{columns:2;column-gap:24px}.twbc-shell-footer-menu li,.twbc-shell-footer-quick li{margin:0!important;break-inside:avoid}.twbc-shell-footer-menu a,.twbc-shell-footer-quick a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 0;color:#c5ced9!important;text-decoration:none!important;font-size:11.5px;font-weight:700;transition:.16s ease}.twbc-shell-footer-menu a:hover,.twbc-shell-footer-quick a:hover{color:#fff!important;transform:translateX(2px)}.twbc-shell-footer-menu .sub-menu{display:none!important}.twbc-shell-footer-quick b{color:#79a7d2;font-size:13px}.twbc-shell-footer-bottom{border-top:1px solid rgba(255,255,255,.075);background:#07090c;color:#778290;font-size:10px}.twbc-shell-footer-bottom .twbc-shell-frame{min-height:47px;display:flex;align-items:center;justify-content:space-between;gap:18px}

@media(max-width:1120px){.twbc-shell-menu>li>a{padding:0 10px;font-size:10.4px}.twbc-shell-brand-inner{grid-template-columns:320px 1fr auto}.twbc-shell-footer-grid{gap:34px}.twbc-shell-footer-cta-inner{grid-template-columns:76px 1fr 205px}}
@media(max-width:900px){body.admin-bar .twbc-shell-nav-wrap{top:46px}.twbc-shell-frame{width:calc(100vw - 32px)}.twbc-shell-utility-inner{justify-content:center}.twbc-shell-utility-right{display:none}.twbc-shell-service-line span:nth-of-type(n+3){display:none}.twbc-shell-brand-inner{min-height:84px;grid-template-columns:minmax(230px,320px) 1fr auto;gap:20px}.twbc-shell-brand-copy{display:none}.twbc-shell-visit{min-width:145px}.twbc-shell-nav-inner{min-height:53px}.twbc-shell-menu-toggle{display:block;grid-column:1}.twbc-shell-navigation{display:none;position:absolute;left:0;right:0;top:100%;background:#10151e;box-shadow:0 18px 38px rgba(0,0,0,.30)}.twbc-shell-navigation.is-open{display:block}.twbc-shell-menu{display:block!important}.twbc-shell-menu>li>a{min-height:48px;padding:0 22px;border-top:1px solid rgba(255,255,255,.065);font-size:12px}.twbc-shell-menu>li.current-menu-item>a:after,.twbc-shell-menu>li.current-menu-ancestor>a:after{left:0;right:auto;top:0;bottom:0;width:3px;height:auto}.twbc-shell-search-toggle{height:53px}.twbc-shell-footer-cta-inner{grid-template-columns:72px 1fr;gap:18px;padding:32px 0}.twbc-shell-footer-cta-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.twbc-shell-footer-grid{grid-template-columns:1.15fr .85fr;gap:40px 48px;padding:45px 0}.twbc-shell-footer-mark{width:390px;right:-90px;bottom:-175px}}
@media(max-width:600px){.twbc-shell-frame{width:calc(100vw - 24px)}.twbc-shell-utility{display:none}.twbc-shell-brand-inner{min-height:74px;grid-template-columns:1fr auto;gap:15px}.twbc-shell-brand{max-width:245px}.twbc-shell-visit{min-width:auto;min-height:39px;padding:0 11px;font-size:9px;gap:8px}.twbc-shell-visit span{display:none}.twbc-shell-footer-cta-inner{grid-template-columns:58px 1fr;gap:14px}.twbc-shell-footer-icon{width:58px;height:58px}.twbc-shell-footer-cta-copy h2{font-size:27px!important}.twbc-shell-footer-cta-copy p{font-size:13px!important}.twbc-shell-footer-cta-actions{grid-template-columns:1fr}.twbc-shell-footer-grid{grid-template-columns:1fr;gap:30px;padding:40px 0}.twbc-shell-footer-logo{width:270px}.twbc-shell-footer-menu{columns:2}.twbc-shell-footer-bottom .twbc-shell-frame{min-height:0;align-items:flex-start;flex-direction:column;padding:12px 0;gap:4px}.twbc-shell-footer-mark{width:300px;right:-105px;bottom:-125px}}

/* =========================================================
   TWBC Site Shell 2.4.0 — Master Website Header + Mega Menu
   Implements the permanent TWBC sitemap navigation architecture.
   ========================================================= */
body.twbc-site-shell-active{--twbc-shell-width:1180px}

.twbc-shell-header-v240{box-shadow:none}
.twbc-shell-header-v240 .twbc-shell-utility{background:linear-gradient(90deg,#16366f 0%,#224181 50%,#175a99 100%)}
.twbc-shell-header-v240 .twbc-shell-utility-inner{min-height:38px;font-size:11px;letter-spacing:.025em}
.twbc-shell-header-v240 .twbc-shell-service-line{gap:15px}
.twbc-shell-header-v240 .twbc-shell-service-line strong{font-size:10.5px;letter-spacing:.14em}
.twbc-shell-header-v240 .twbc-shell-pulse{width:7px;height:7px;background:#8bc6fb;box-shadow:0 0 0 4px rgba(139,198,251,.13)}
.twbc-shell-header-v240 .twbc-shell-utility-right{gap:13px}

.twbc-shell-header-v240 .twbc-shell-brand-row{border-bottom:1px solid #e6ebf1}
.twbc-shell-header-v240 .twbc-shell-brand-inner{min-height:112px;grid-template-columns:minmax(340px,410px) minmax(250px,1fr) auto;gap:34px}
.twbc-shell-header-v240 .twbc-shell-brand{max-width:390px}
.twbc-shell-header-v240 .twbc-shell-brand-copy{padding-left:30px;border-left:1px solid #dce2e9}
.twbc-shell-header-v240 .twbc-shell-brand-copy strong{font-size:16px;line-height:1.48;color:#253243}
.twbc-shell-header-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}
.twbc-shell-action{min-height:46px;display:inline-flex;align-items:center;justify-content:center;gap:16px;padding:0 17px;border:1px solid #cad3df;color:#182334!important;background:#fff;text-decoration:none!important;font:900 10.5px/1 var(--twbc-ui);letter-spacing:.055em;transition:transform .16s ease,box-shadow .16s ease,background .16s ease,color .16s ease,border-color .16s ease}
.twbc-shell-action:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(18,37,72,.12)}
.twbc-shell-action-visit{min-width:178px;color:#fff!important;border-color:#224181;background:linear-gradient(135deg,#224181 0%,#155392 100%);box-shadow:0 8px 20px rgba(34,65,129,.17)}
.twbc-shell-action-visit:hover{background:linear-gradient(135deg,#1a376f 0%,#155392 100%)}
.twbc-shell-action-visit b{font-size:16px;font-weight:400}
.twbc-shell-action-members{min-width:96px;background:#f8fafc}
.twbc-shell-action-members:hover{border-color:#224181;color:#224181!important}
.twbc-shell-action-give{min-width:72px;color:#fff!important;border-color:#111820;background:#111820}
.twbc-shell-action-give:hover{background:#224181;border-color:#224181}

.twbc-shell-header-v240 .twbc-shell-nav-wrap{background:linear-gradient(180deg,#121923 0%,#0a0f16 100%);box-shadow:0 12px 30px rgba(5,12,22,.24);border-bottom:1px solid rgba(255,255,255,.06)}
.twbc-shell-header-v240 .twbc-shell-nav-inner{min-height:64px;grid-template-columns:1fr 52px}
.twbc-shell-desktop-navigation{grid-column:1;min-width:0;height:64px}
.twbc-shell-master-menu{height:64px;display:flex;align-items:stretch;justify-content:flex-start;gap:2px;list-style:none!important;margin:0!important;padding:0!important}
.twbc-shell-master-item{position:static!important;display:flex;align-items:stretch;margin:0!important;padding:0!important}
.twbc-shell-master-link{position:relative;display:flex;align-items:center;min-height:64px;padding:0 8px 0 13px;color:#f6f8fb!important;text-decoration:none!important;font:800 12.6px/1 var(--twbc-ui);letter-spacing:.025em;white-space:nowrap;transition:color .15s ease,background .15s ease}
.twbc-shell-master-link:hover,.twbc-shell-master-item.is-open>.twbc-shell-master-link{color:#fff!important;background:rgba(54,113,177,.13)}
.twbc-shell-mega-toggle{width:23px;min-height:64px;margin:0;padding:0 7px 0 0;border:0;background:transparent;color:#91a7c0;cursor:pointer;font-size:13px;transition:color .15s ease,background .15s ease}
.twbc-shell-master-item:hover>.twbc-shell-mega-toggle,.twbc-shell-master-item.is-open>.twbc-shell-mega-toggle{color:#7dbbf3;background:rgba(54,113,177,.13)}
.twbc-shell-master-item.current>.twbc-shell-master-link:after{content:"";position:absolute;left:13px;right:4px;bottom:0;height:3px;background:linear-gradient(90deg,#4f96da,#83c3fb)}
.twbc-shell-header-v240 .twbc-shell-search-toggle{grid-column:2;width:52px;height:64px}
.twbc-shell-header-v240 .twbc-shell-search-toggle svg{width:20px;height:20px}

/* full-width, custom mega menus */
.twbc-shell-mega{display:none;position:absolute;z-index:70;left:0;right:0;top:100%;background:#fff;color:#162233;border-top:3px solid #2e69a9;box-shadow:0 22px 45px rgba(2,12,27,.24)}
.twbc-shell-master-item:hover>.twbc-shell-mega,.twbc-shell-master-item:focus-within>.twbc-shell-mega,.twbc-shell-master-item.is-open>.twbc-shell-mega{display:block}
.twbc-shell-mega-inner{display:grid;grid-template-columns:260px minmax(0,1fr);gap:44px;padding-top:34px;padding-bottom:38px}
.twbc-shell-mega-intro{position:relative;padding:3px 30px 8px 0;border-right:1px solid #dce3eb}
.twbc-shell-mega-intro:before{content:"";position:absolute;left:-24px;top:-12px;width:74px;height:74px;border-radius:50%;background:radial-gradient(circle,rgba(34,65,129,.10),rgba(34,65,129,0) 68%);pointer-events:none}
.twbc-shell-mega-intro>span{display:block;margin:0 0 9px;color:#2767a7;font:900 10px/1.25 var(--twbc-ui);letter-spacing:.17em}
.twbc-shell-mega-intro h3{margin:0 0 11px!important;color:#111820!important;font:700 28px/1.04 Georgia,"Times New Roman",serif!important;letter-spacing:-.02em!important}
.twbc-shell-mega-intro p{margin:0 0 18px!important;color:#5d6a79!important;font:400 13px/1.55 var(--twbc-ui)!important}
.twbc-shell-mega-overview{display:inline-flex;align-items:center;gap:12px;color:#224181!important;text-decoration:none!important;font:900 11px/1.2 var(--twbc-ui);letter-spacing:.025em}
.twbc-shell-mega-overview:hover{color:#155392!important}
.twbc-shell-mega-overview b{font-size:16px;font-weight:400}
.twbc-shell-mega-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 36px;align-items:start}
.twbc-shell-master-item[data-menu="ministries"] .twbc-shell-mega-columns{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.twbc-shell-mega-heading{display:block;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid #e1e7ee;color:#738195;font:900 9.5px/1.2 var(--twbc-ui);letter-spacing:.16em}
.twbc-shell-mega-column ul{list-style:none!important;margin:0!important;padding:0!important}
.twbc-shell-mega-column li{margin:0!important;padding:0!important}
.twbc-shell-mega-column a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:34px;padding:3px 0;color:#162233!important;text-decoration:none!important;font:700 12.2px/1.3 var(--twbc-ui);transition:color .14s ease,padding-left .14s ease}
.twbc-shell-mega-column a span{opacity:0;color:#2d6fae;font-size:14px;transform:translateX(-3px);transition:.14s ease}
.twbc-shell-mega-column a:hover{padding-left:4px;color:#224181!important}
.twbc-shell-mega-column a:hover span{opacity:1;transform:none}

.twbc-shell-header-v240 .twbc-shell-search-panel{background:#0e151f;border-top:1px solid rgba(255,255,255,.075);box-shadow:0 20px 38px rgba(0,0,0,.24)}
.twbc-shell-header-v240 .twbc-shell-search-panel form{padding:18px 0}
.twbc-shell-header-v240 .twbc-shell-search-panel input{min-height:48px;border-color:#596679}
.twbc-shell-header-v240 .twbc-shell-search-panel button{min-height:48px;background:#224181;border-color:#407fbf}

/* mobile master navigation is a deliberate accordion, not a squeezed desktop menu */
.twbc-shell-mobile-navigation{display:none;background:#0d131c;border-top:1px solid rgba(255,255,255,.08);box-shadow:0 18px 38px rgba(0,0,0,.34);max-height:calc(100vh - 110px);overflow:auto}
.twbc-shell-mobile-navigation[hidden]{display:none!important}
.twbc-shell-mobile-primary>a,.twbc-shell-mobile-row>a{display:flex;align-items:center;min-height:51px;color:#fff!important;text-decoration:none!important;font:900 12px/1 var(--twbc-ui);letter-spacing:.045em}
.twbc-shell-mobile-primary>a{border-bottom:1px solid rgba(255,255,255,.075)}
.twbc-shell-mobile-group{border-bottom:1px solid rgba(255,255,255,.075)}
.twbc-shell-mobile-row{display:grid;grid-template-columns:1fr 48px;align-items:center}
.twbc-shell-mobile-sub-toggle{height:48px;border:0;border-left:1px solid rgba(255,255,255,.07);background:transparent;color:#8cbbe7;font-size:20px;cursor:pointer}
.twbc-shell-mobile-group.is-open .twbc-shell-mobile-sub-toggle{color:#fff}
.twbc-shell-mobile-sub{padding:10px 0 18px 15px;border-top:1px solid rgba(255,255,255,.05);background:#111a26}
.twbc-shell-mobile-sub[hidden]{display:none!important}
.twbc-shell-mobile-heading{display:block;margin:12px 0 5px;color:#76a9d7;font:900 9px/1.3 var(--twbc-ui);letter-spacing:.15em}
.twbc-shell-mobile-sub a{display:block;padding:7px 8px;color:#d9e0e8!important;text-decoration:none!important;font:700 11.5px/1.3 var(--twbc-ui)}
.twbc-shell-mobile-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:7px;padding:16px 0 20px}
.twbc-shell-mobile-actions a{min-height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #586679;color:#fff!important;text-decoration:none!important;font:900 9.5px/1 var(--twbc-ui);letter-spacing:.04em}
.twbc-shell-mobile-actions a.is-primary{grid-column:1/-1;background:#224181;border-color:#3979b7;font-size:10.5px}

/* Footer explore now mirrors the permanent top-level architecture. */
.twbc-shell-footer-master{columns:2;column-gap:24px}

@media(max-width:1200px){
  body.twbc-site-shell-active{--twbc-shell-width:1100px}
  .twbc-shell-header-v240 .twbc-shell-brand-inner{grid-template-columns:minmax(300px,365px) minmax(210px,1fr) auto;gap:24px}
  .twbc-shell-header-v240 .twbc-shell-brand-copy{padding-left:22px}
  .twbc-shell-header-v240 .twbc-shell-brand-copy strong{font-size:14.5px}
  .twbc-shell-action{padding:0 13px}
  .twbc-shell-action-visit{min-width:154px}
  .twbc-shell-action-members{min-width:84px}
  .twbc-shell-master-link{padding-left:9px;padding-right:5px;font-size:11.6px}
  .twbc-shell-mega-toggle{width:18px;padding-right:4px}
}

@media(max-width:980px){
  body.twbc-site-shell-active{--twbc-shell-width:100%}
  .twbc-shell-frame{width:calc(100vw - 34px)}
  .twbc-shell-header-v240 .twbc-shell-utility-inner{min-height:36px;justify-content:center;font-size:10.5px}
  .twbc-shell-header-v240 .twbc-shell-utility-right{display:none}
  .twbc-shell-header-v240 .twbc-shell-service-line span:nth-of-type(n+4){display:none}
  .twbc-shell-header-v240 .twbc-shell-brand-inner{min-height:86px;grid-template-columns:minmax(230px,330px) 1fr auto;gap:18px}
  .twbc-shell-header-v240 .twbc-shell-brand-copy{display:none}
  .twbc-shell-header-actions{gap:6px}
  .twbc-shell-action-members,.twbc-shell-action-give{display:none}
  .twbc-shell-action-visit{min-width:150px;min-height:42px}
  .twbc-shell-header-v240 .twbc-shell-nav-inner{min-height:58px;grid-template-columns:48px 1fr 48px}
  .twbc-shell-desktop-navigation{display:none!important}
  .twbc-shell-header-v240 .twbc-shell-menu-toggle{display:block;grid-column:1;height:58px}
  .twbc-shell-header-v240 .twbc-shell-menu-toggle:after{content:"MENU";position:absolute;margin-left:12px;margin-top:-1px;color:#fff;font:900 10px/1 var(--twbc-ui);letter-spacing:.08em}
  .twbc-shell-header-v240 .twbc-shell-search-toggle{grid-column:3;height:58px;width:48px}
  .twbc-shell-mobile-navigation{display:block}
}

@media(max-width:600px){
  .twbc-shell-frame{width:calc(100vw - 24px)}
  .twbc-shell-header-v240 .twbc-shell-utility{display:none}
  .twbc-shell-header-v240 .twbc-shell-brand-inner{min-height:75px;grid-template-columns:1fr auto;gap:12px}
  .twbc-shell-header-v240 .twbc-shell-brand{max-width:250px}
  .twbc-shell-action-visit{min-width:43px;width:43px;height:43px;padding:0}
  .twbc-shell-action-visit span{display:none}
  .twbc-shell-action-visit b{font-size:18px}
  .twbc-shell-mobile-actions{grid-template-columns:1fr 1fr}
  .twbc-shell-mobile-actions a.is-primary{grid-column:1/-1}
}


/* =========================================================
   TWBC Site Shell 2.5.0 — Signature Polish
   Final proportion, mega-menu, and footer refinement pass.
   ========================================================= */

/* Utility strip: readable but deliberately subordinate. */
.twbc-shell-header-v250 .twbc-shell-utility-inner{
  min-height:34px;
  font-size:10.5px;
  letter-spacing:.02em;
}
.twbc-shell-header-v250 .twbc-shell-service-line{gap:14px}
.twbc-shell-header-v250 .twbc-shell-service-line strong{font-size:10px}
.twbc-shell-header-v250 .twbc-shell-utility-right{gap:12px}

/* Brand row: three balanced zones instead of an oversized logo. */
.twbc-shell-header-v250 .twbc-shell-brand-row{
  background:linear-gradient(180deg,#fff 0%,#fcfdff 100%);
  border-bottom:1px solid #e3e8ef;
}
.twbc-shell-header-v250 .twbc-shell-brand-inner{
  min-height:96px;
  grid-template-columns:305px minmax(260px,1fr) auto;
  gap:30px;
}
.twbc-shell-header-v250 .twbc-shell-brand{
  max-width:305px;
  justify-self:start;
}
.twbc-shell-header-v250 .twbc-shell-brand-copy{
  max-width:330px;
  padding-left:28px;
  border-left:1px solid #dce3eb;
}
.twbc-shell-header-v250 .twbc-shell-brand-copy strong{
  color:#202c3b;
  font-size:15.5px;
  line-height:1.42;
}
.twbc-shell-header-v250 .twbc-shell-header-actions{
  gap:7px;
  align-self:center;
}
.twbc-shell-header-v250 .twbc-shell-action{
  min-height:44px;
  height:44px;
  padding:0 16px;
  font-size:10px;
  letter-spacing:.055em;
  border-radius:1px;
}
.twbc-shell-header-v250 .twbc-shell-action-visit{
  min-width:165px;
  box-shadow:0 9px 22px rgba(34,65,129,.18);
}
.twbc-shell-header-v250 .twbc-shell-action-members{min-width:92px}
.twbc-shell-header-v250 .twbc-shell-action-give{min-width:74px}

/* Navigation remains the visual anchor, with slightly cleaner proportions. */
.twbc-shell-header-v250 .twbc-shell-nav-wrap{
  box-shadow:0 11px 28px rgba(5,12,22,.23);
}
.twbc-shell-header-v250 .twbc-shell-nav-inner,
.twbc-shell-header-v250 .twbc-shell-desktop-navigation,
.twbc-shell-header-v250 .twbc-shell-master-menu{height:62px;min-height:62px}
.twbc-shell-header-v250 .twbc-shell-master-link,
.twbc-shell-header-v250 .twbc-shell-mega-toggle{min-height:62px}
.twbc-shell-header-v250 .twbc-shell-master-link{
  padding-left:13px;
  padding-right:8px;
  font-size:12.3px;
}
.twbc-shell-header-v250 .twbc-shell-search-toggle{height:62px}

/* Signature mega-menu: blue editorial intro card + clean information grid. */
.twbc-shell-header-v250 .twbc-shell-mega{
  border-top:0;
  background:linear-gradient(180deg,#ffffff 0%,#f7f9fc 100%);
  box-shadow:0 24px 54px rgba(4,14,30,.27);
}
.twbc-shell-header-v250 .twbc-shell-mega:before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:4px;
  background:linear-gradient(90deg,#224181 0%,#3f82c3 48%,#155392 100%);
}
.twbc-shell-header-v250 .twbc-shell-mega-inner{
  grid-template-columns:285px minmax(0,1fr);
  gap:38px;
  padding-top:30px;
  padding-bottom:34px;
}
.twbc-shell-header-v250 .twbc-shell-mega-intro{
  padding:25px 24px 24px;
  border:0;
  background:linear-gradient(145deg,#172e59 0%,#224181 58%,#1a5e9e 100%);
  box-shadow:0 14px 28px rgba(27,57,108,.18);
  overflow:hidden;
}
.twbc-shell-header-v250 .twbc-shell-mega-intro:before{
  left:auto;
  right:-36px;
  top:-34px;
  width:155px;
  height:155px;
  background:radial-gradient(circle,rgba(255,255,255,.15),rgba(255,255,255,0) 68%);
}
.twbc-shell-header-v250 .twbc-shell-mega-intro:after{
  content:"TWBC";
  position:absolute;
  right:-7px;
  bottom:-17px;
  color:rgba(255,255,255,.055);
  font:900 70px/1 var(--twbc-ui);
  letter-spacing:-.06em;
  pointer-events:none;
}
.twbc-shell-header-v250 .twbc-shell-mega-intro>span{color:#a9d4fb}
.twbc-shell-header-v250 .twbc-shell-mega-intro h3{
  color:#fff!important;
  font-size:29px!important;
}
.twbc-shell-header-v250 .twbc-shell-mega-intro p{
  color:rgba(255,255,255,.80)!important;
}
.twbc-shell-header-v250 .twbc-shell-mega-overview{color:#fff!important}
.twbc-shell-header-v250 .twbc-shell-mega-overview:hover{color:#d9edff!important}
.twbc-shell-header-v250 .twbc-shell-mega-columns{
  padding-top:4px;
  gap:24px 34px;
}
.twbc-shell-header-v250 .twbc-shell-mega-column{
  position:relative;
  padding:0 0 0 14px;
  border-left:2px solid #edf1f6;
}
.twbc-shell-header-v250 .twbc-shell-mega-heading{
  margin-bottom:9px;
  padding-bottom:8px;
  border-bottom:1px solid #dfe6ee;
  color:#4f6176;
}
.twbc-shell-header-v250 .twbc-shell-mega-column a{
  min-height:33px;
  font-size:12.1px;
}

/* Footer: a little leaner, brighter, and more intentional. */
.twbc-shell-footer-cta-inner{min-height:176px}
.twbc-shell-footer-icon{width:70px;height:70px}
.twbc-shell-footer-cta-copy h2{font-size:30px!important}
.twbc-shell-footer-grid{
  grid-template-columns:1.25fr .82fr .95fr .86fr;
  gap:44px;
  padding:48px 0 44px;
}
.twbc-shell-footer-logo{
  width:250px;
  margin-bottom:17px;
}
.twbc-shell-footer-brand p{
  max-width:350px;
  font-size:13.5px!important;
  line-height:1.6!important;
}
.twbc-shell-footer-label{
  color:#8fc4f3;
  font-size:10px;
}
.twbc-shell-footer-menu a,.twbc-shell-footer-quick a,.twbc-shell-times{
  font-size:11.7px;
}
.twbc-shell-footer-mark{
  right:-45px;
  bottom:-135px;
  width:390px;
  opacity:.045;
}
.twbc-shell-footer-bottom{font-size:10.2px}

@media(max-width:1200px){
  .twbc-shell-header-v250 .twbc-shell-brand-inner{
    grid-template-columns:285px minmax(210px,1fr) auto;
    gap:22px;
  }
  .twbc-shell-header-v250 .twbc-shell-brand{max-width:285px}
  .twbc-shell-header-v250 .twbc-shell-brand-copy{padding-left:22px}
  .twbc-shell-header-v250 .twbc-shell-brand-copy strong{font-size:14px}
  .twbc-shell-header-v250 .twbc-shell-action{padding:0 12px}
  .twbc-shell-header-v250 .twbc-shell-action-visit{min-width:148px}
  .twbc-shell-header-v250 .twbc-shell-action-members{min-width:82px}
  .twbc-shell-header-v250 .twbc-shell-action-give{min-width:68px}
}

@media(max-width:980px){
  .twbc-shell-header-v250 .twbc-shell-brand-inner{
    min-height:82px;
    grid-template-columns:minmax(225px,310px) 1fr auto;
  }
  .twbc-shell-header-v250 .twbc-shell-brand{max-width:300px}
  .twbc-shell-header-v250 .twbc-shell-action-visit{height:42px;min-height:42px}
  .twbc-shell-header-v250 .twbc-shell-nav-inner{min-height:58px;height:auto}
}

@media(max-width:600px){
  .twbc-shell-header-v250 .twbc-shell-brand-inner{min-height:72px}
  .twbc-shell-header-v250 .twbc-shell-brand{max-width:225px}
  .twbc-shell-footer-logo{width:235px}
  .twbc-shell-footer-mark{width:280px;right:-95px;bottom:-105px;opacity:.04}
}

/* =========================================================
   2.5.1 — Brand row breathing room
   Preserve the approved logo scale; give the entire white branding row
   more vertical space so logo, mission and actions sit comfortably.
   ========================================================= */
.twbc-shell-header-v250 .twbc-shell-brand-inner{
  min-height:114px;
  padding-top:16px;
  padding-bottom:16px;
  box-sizing:border-box;
}

@media(max-width:1200px){
  .twbc-shell-header-v250 .twbc-shell-brand-inner{
    min-height:108px;
    padding-top:14px;
    padding-bottom:14px;
  }
}

@media(max-width:980px){
  .twbc-shell-header-v250 .twbc-shell-brand-inner{
    min-height:94px;
    padding-top:10px;
    padding-bottom:10px;
  }
}

@media(max-width:600px){
  .twbc-shell-header-v250 .twbc-shell-brand-inner{
    min-height:82px;
    padding-top:8px;
    padding-bottom:8px;
  }
}


/* =========================================================
   2.5.2 — Event-to-footer transition
   The Christmas closing masthead is already the visual end of the event.
   Remove the Event System's legacy bottom canvas padding so the TWBC footer
   invitation band begins immediately after the closing masthead.
   ========================================================= */
body.twbc-site-shell-active .twbc-events-shell.twbc-event-page.twbc-theme-christmas-sunday{
  padding-bottom:0 !important;
}
body.twbc-site-shell-active .twbc-events-shell.twbc-event-page.twbc-theme-christmas-sunday + .twbc-shell-footer,
body.twbc-site-shell-active .twbc-shell-footer{
  margin-top:0 !important;
}


/* 2.5.4 — Kentucky footer signature using the approved state-outline image */
.twbc-shell-footer-location{display:inline-flex;align-items:center;justify-content:flex-end;gap:13px;white-space:nowrap}
.twbc-shell-kentucky-figure{position:relative;display:block;width:112px;aspect-ratio:900/381;flex:0 0 auto;opacity:1;filter:drop-shadow(0 0 8px rgba(70,117,186,.24))}
.twbc-shell-kentucky-image{display:block;width:100%;height:100%;object-fit:contain}
.twbc-shell-louisville-marker{position:absolute;left:50%;top:34%;width:7px;height:7px;border-radius:50%;background:#e3b94f;border:1px solid #f2d47d;box-shadow:0 0 0 3px rgba(227,185,79,.18),0 0 10px rgba(227,185,79,.38);transform:translate(-50%,-50%)}
.twbc-shell-footer-location:hover .twbc-shell-kentucky-figure{filter:drop-shadow(0 0 10px rgba(92,141,214,.34))}
@media(max-width:600px){.twbc-shell-footer-location{gap:9px}.twbc-shell-kentucky-figure{width:88px}.twbc-shell-louisville-marker{width:6px;height:6px}}


/* 2.5.6 — Move Kentucky signature under the address and simplify the bottom bar */
.twbc-shell-footer-brand{display:flex;flex-direction:column;align-items:flex-start}
.twbc-shell-footer-address{display:inline-block;margin-bottom:12px}
.twbc-shell-footer-state-signature{position:relative;display:block;width:118px;max-width:100%;aspect-ratio:900/381;filter:drop-shadow(0 0 8px rgba(70,117,186,.22))}
.twbc-shell-footer-state-signature .twbc-shell-kentucky-image{display:block;width:100%;height:100%;object-fit:contain}
.twbc-shell-footer-state-signature .twbc-shell-louisville-marker{position:absolute;left:50%;top:34%;width:7px;height:7px;border-radius:50%;background:#e3b94f;border:1px solid #f2d47d;box-shadow:0 0 0 3px rgba(227,185,79,.18),0 0 10px rgba(227,185,79,.38);transform:translate(-50%,-50%)}
.twbc-shell-footer-bottom{font-size:11.1px}
.twbc-shell-footer-location{display:inline-flex;align-items:center;justify-content:flex-end;gap:0;white-space:nowrap;color:#9eaab9;font-weight:700;letter-spacing:.01em}
.twbc-shell-footer-location span{font-size:11.4px}
@media(max-width:600px){
  .twbc-shell-footer-state-signature{width:100px}
  .twbc-shell-footer-location span{font-size:11px}
}


/* 2.5.7 — Final footer polish */
.twbc-shell-footer-address{margin-bottom:18px!important}
.twbc-shell-footer-state-signature{width:134px!important}
.twbc-shell-footer-bottom{font-size:11.4px!important}
.twbc-shell-footer-bottom .twbc-shell-frame>span:first-child{font-size:11.4px!important}
.twbc-shell-footer-location span{font-size:11.4px!important}
@media(max-width:600px){
  .twbc-shell-footer-address{margin-bottom:16px!important}
  .twbc-shell-footer-state-signature{width:112px!important}
  .twbc-shell-footer-bottom .twbc-shell-frame>span:first-child,.twbc-shell-footer-location span{font-size:11px!important}
}


/* =========================================================
   2.5.8 — Site-wide typography/accessibility lock
   Final readability polish to accompany Event System Release 403.
   ========================================================= */
.twbc-shell-header-v250 .twbc-shell-utility-inner{
  min-height:35px;
  font-size:11px;
  line-height:1.25;
}
.twbc-shell-header-v250 .twbc-shell-service-line strong{font-size:10.25px}
.twbc-shell-footer-label{font-size:10.25px!important;color:#92c8f6!important}
.twbc-shell-footer-menu a,.twbc-shell-footer-quick a{
  font-size:12.1px!important;
  line-height:1.45!important;
  color:#d0d8e3!important;
}
.twbc-shell-times{
  font-size:12px!important;
  line-height:1.5!important;
  color:#c5ced9!important;
}
.twbc-shell-footer-address{font-size:12px!important}
.twbc-shell-footer-cta-copy p{font-size:13.8px!important;line-height:1.58!important}
.twbc-shell-footer-cta-actions a{font-size:11.8px!important}
.twbc-shell-footer-bottom,
.twbc-shell-footer-bottom .twbc-shell-frame>span:first-child,
.twbc-shell-footer-location span{
  font-size:11.6px!important;
  line-height:1.35!important;
}
@media(max-width:600px){
  .twbc-shell-footer-menu a,.twbc-shell-footer-quick a,.twbc-shell-times{font-size:11.8px!important}
  .twbc-shell-footer-bottom .twbc-shell-frame>span:first-child,.twbc-shell-footer-location span{font-size:11.2px!important}
}

/* =========================================================
   2.5.9 — Header optical alignment lock
   The structural shell was already shared, but the visible edges were not:
   nav labels begin 13px inside the shell while the search glyph finishes
   roughly 16px inside the right edge. Match the utility + brand rows to
   those same optical rails without changing the approved header design.
   ========================================================= */
@media(min-width:981px){
  .twbc-shell-header-v250 .twbc-shell-utility-inner,
  .twbc-shell-header-v250 .twbc-shell-brand-inner{
    padding-left:13px !important;
    padding-right:16px !important;
    box-sizing:border-box !important;
  }
}


/* ==========================================================
   2.6.0 — Evergreen deterministic shell mount
   Ministries and future Evergreen pages use the same approved header,
   menus, responsive navigation, and footer as TWBC Events.
   ========================================================== */
body.twbc-site-shell-active.twbc-evergreen-page .twbc-evergreen-shell{padding-bottom:0!important;}
body.twbc-site-shell-active.twbc-evergreen-page .twbc-evergreen-shell + .twbc-shell-footer,
body.twbc-site-shell-active.twbc-evergreen-page .twbc-shell-footer{margin-top:0!important;}


/* =========================================================
   2.6.3 — Narrow-screen footer responsive lock
   The later desktop footer refinement rules were overriding the earlier
   mobile grid. Reassert a true single-column footer at phone widths.
   ========================================================= */
.twbc-shell-footer,
.twbc-shell-footer *{
  box-sizing:border-box;
}
@media(max-width:600px){
  body.twbc-site-shell-active{
    overflow-x:hidden;
  }
  .twbc-shell-footer{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .twbc-shell-footer .twbc-shell-frame,
  .twbc-shell-footer-cta-inner,
  .twbc-shell-footer-grid,
  .twbc-shell-footer-bottom .twbc-shell-frame{
    width:calc(100vw - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
  .twbc-shell-footer-cta-inner{
    grid-template-columns:58px minmax(0,1fr) !important;
    gap:14px !important;
    padding:30px 0 !important;
  }
  .twbc-shell-footer-cta-copy{
    min-width:0 !important;
  }
  .twbc-shell-footer-cta-copy h2,
  .twbc-shell-footer-cta-copy p{
    max-width:100% !important;
    overflow-wrap:anywhere !important;
  }
  .twbc-shell-footer-cta-actions{
    grid-column:1/-1 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    min-width:0 !important;
    width:100% !important;
  }
  .twbc-shell-footer-cta-actions a{
    width:100% !important;
    min-width:0 !important;
  }

  .twbc-shell-footer-main{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }
  .twbc-shell-footer-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:30px !important;
    padding:38px 0 34px !important;
  }
  .twbc-shell-footer-grid > *,
  .twbc-shell-footer-brand,
  .twbc-shell-footer-section{
    min-width:0 !important;
    width:100% !important;
    max-width:100% !important;
  }
  .twbc-shell-footer-logo{
    width:min(235px,100%) !important;
    max-width:100% !important;
  }
  .twbc-shell-footer-brand p,
  .twbc-shell-footer-address,
  .twbc-shell-times,
  .twbc-shell-times span,
  .twbc-shell-footer-menu a,
  .twbc-shell-footer-quick a{
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
  .twbc-shell-footer-menu,
  .twbc-shell-footer-master{
    columns:2 !important;
    column-gap:28px !important;
    width:100% !important;
  }
  .twbc-shell-footer-quick{
    width:100% !important;
  }
  .twbc-shell-footer-location{
    justify-content:flex-start !important;
    white-space:normal !important;
    max-width:100% !important;
  }
  .twbc-shell-footer-bottom .twbc-shell-frame{
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:4px !important;
    padding:12px 0 !important;
  }
  .twbc-shell-footer-mark{
    right:-110px !important;
    width:280px !important;
    max-width:70vw !important;
  }
}
@media(max-width:420px){
  .twbc-shell-footer .twbc-shell-frame,
  .twbc-shell-footer-cta-inner,
  .twbc-shell-footer-grid,
  .twbc-shell-footer-bottom .twbc-shell-frame{
    width:calc(100vw - 24px) !important;
  }
  .twbc-shell-footer-menu,
  .twbc-shell-footer-master{
    columns:1 !important;
  }
}

/* /events/ transition: remove residual theme/content spacing before footer. */
@media(max-width:600px){
  body.twbc-site-shell-active .twbc-events-shell.twbc-events-archive{
    padding-bottom:0 !important;
    margin-bottom:0 !important;
  }
  body.twbc-site-shell-active .twbc-events-shell.twbc-events-archive ~ .twbc-shell-footer,
  body.twbc-site-shell-active .twbc-events-shell.twbc-events-archive + .twbc-shell-footer{
    margin-top:0 !important;
  }
}


/* =========================================================
   2.6.4 — Universal mobile footer + Events seam lock
   Footer responsiveness belongs to the shared Site Shell, not individual
   page plugins. Also extend only the Events landing footer CTA upward to
   paint over the theme/content seam without moving its visible content.
   ========================================================= */

/* The shared footer must remain full-width and contained on every page where
   the Site Shell is active. */
.twbc-shell-footer,
.twbc-shell-footer *{
  box-sizing:border-box;
}
.twbc-shell-footer{
  max-width:100vw !important;
}

@media(max-width:900px){
  body.twbc-site-shell-active{
    overflow-x:hidden !important;
  }
  .twbc-shell-footer{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
  }
  .twbc-shell-footer .twbc-shell-frame,
  .twbc-shell-footer-cta-inner,
  .twbc-shell-footer-grid,
  .twbc-shell-footer-bottom .twbc-shell-frame{
    width:min(100%, 760px) !important;
    max-width:100% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }
  .twbc-shell-footer-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:30px 34px !important;
  }
  .twbc-shell-footer-grid > *,
  .twbc-shell-footer-section,
  .twbc-shell-footer-brand{
    min-width:0 !important;
    max-width:100% !important;
  }
  .twbc-shell-footer-logo{
    max-width:100% !important;
    height:auto !important;
  }
  .twbc-shell-footer-menu,
  .twbc-shell-footer-quick,
  .twbc-shell-times{
    max-width:100% !important;
  }
  .twbc-shell-footer-menu a,
  .twbc-shell-footer-quick a,
  .twbc-shell-times,
  .twbc-shell-times span,
  .twbc-shell-footer-brand p,
  .twbc-shell-footer-address{
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
  }
}

@media(max-width:640px){
  .twbc-shell-footer .twbc-shell-frame,
  .twbc-shell-footer-cta-inner,
  .twbc-shell-footer-grid,
  .twbc-shell-footer-bottom .twbc-shell-frame{
    width:100% !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .twbc-shell-footer-cta-inner{
    grid-template-columns:56px minmax(0,1fr) !important;
    gap:12px !important;
    min-height:0 !important;
    padding-top:28px !important;
    padding-bottom:28px !important;
  }
  .twbc-shell-footer-icon{
    width:56px !important;
    height:56px !important;
  }
  .twbc-shell-footer-cta-copy{
    min-width:0 !important;
  }
  .twbc-shell-footer-cta-copy h2{
    font-size:clamp(28px,8vw,34px) !important;
    line-height:1.06 !important;
  }
  .twbc-shell-footer-cta-copy p{
    max-width:100% !important;
    font-size:13px !important;
    line-height:1.55 !important;
  }
  .twbc-shell-footer-cta-actions{
    grid-column:1/-1 !important;
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }
  .twbc-shell-footer-cta-actions a{
    width:100% !important;
    min-width:0 !important;
  }

  .twbc-shell-footer-grid{
    grid-template-columns:minmax(0,1fr) !important;
    gap:28px !important;
    padding-top:34px !important;
    padding-bottom:30px !important;
  }
  .twbc-shell-footer-menu,
  .twbc-shell-footer-master{
    columns:1 !important;
    column-gap:0 !important;
    width:100% !important;
  }
  .twbc-shell-footer-bottom .twbc-shell-frame{
    min-height:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:4px !important;
    padding-top:12px !important;
    padding-bottom:12px !important;
  }
  .twbc-shell-footer-location{
    justify-content:flex-start !important;
    white-space:normal !important;
  }
  .twbc-shell-footer-mark{
    right:-115px !important;
    width:270px !important;
    max-width:68vw !important;
  }
}

/* /events/ can inherit a small white bottom spacer from the page/theme shell.
   Pull only the blue footer CTA background upward by the same amount, then
   add equal internal padding so the CTA text/buttons stay in their approved
   position. This removes the white seam without overlapping Events content. */
@media(max-width:640px){
  body.twbc-events-page.twbc-site-shell-active .twbc-shell-footer-cta{
    margin-top:-40px !important;
    padding-top:40px !important;
  }
}
