/* =========================================================
   VINE MEDIA NETWORK — BRAND SYSTEM
   Primary identity: #071b48 + liturgical gold
========================================================= */
:root{
  --vm-navy:#071b48;
  --vm-navy-deep:#04102d;
  --vm-navy-soft:#0e2a64;
  --vm-gold:#d7b45a;
  --vm-gold-soft:#f2d88f;
  --vm-cream:#fbfaf6;
  --vm-paper:#ffffff;
  --vm-ink:#18233a;
  --vm-muted:#667085;
  --vm-line:rgba(7,27,72,.13);
  --primary:#071b48 !important;
  --secondary:#d7b45a !important;
  --accent:#d7b45a !important;
}
html{scroll-behavior:smooth;scroll-padding-top:150px}
body{
  min-height:100vh;
  display:flex;
  flex-direction:column;
  font-size:16px !important;
  line-height:1.65;
  color:var(--vm-ink);
  background:
    radial-gradient(circle at 8% 8%,rgba(215,180,90,.10),transparent 24rem),
    #f7f8fb;
}
body > main{flex:1 0 auto;width:100%}
body.dark-mode,body.dark-theme{
  --vm-paper:#0c1835;
  --vm-cream:#081431;
  --vm-ink:#f6f8ff;
  --vm-muted:#b7c0d6;
  --vm-line:rgba(255,255,255,.11);
  background:#050e25;
}
/* Keep typography legible throughout legacy pages. */
p,li,input,textarea,select,button{font-size:max(14px,1em)}
small,.vm-small{font-size:12px}

/* Sticky identity + navigation without covering page content. */
.header.church-header,.header{
  position:sticky !important;
  top:0;
  z-index:2200 !important;
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid rgba(7,27,72,.10) !important;
  box-shadow:0 8px 24px rgba(7,27,72,.08) !important;
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
}
.menu-bar.church-nav,.menu-bar{
  position:sticky !important;
  top:82px;
  z-index:2190 !important;
  background:var(--vm-navy) !important;
  border-bottom:1px solid rgba(215,180,90,.35);
  box-shadow:0 8px 22px rgba(7,27,72,.18);
}
.header-inner{min-height:82px !important;padding-top:8px !important;padding-bottom:8px !important}
.church-brand-wrap{display:flex!important;align-items:center!important;gap:13px!important;min-width:0}
.logo a,.vm-brand-lockup{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.logo img,[data-vm-site-logo]{
  width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important;
  object-fit:contain!important;filter:drop-shadow(0 4px 9px rgba(7,27,72,.15));
}
.vm-brand-copy{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.vm-brand-title{
  font-family:"Cinzel",Georgia,serif;
  font-size:27px;
  font-weight:700;
  letter-spacing:.055em;
  color:var(--vm-gold);
  text-shadow:0 1px 0 #fff,0 2px 8px rgba(7,27,72,.10);
  white-space:nowrap;
}
.vm-brand-subtitle{
  margin-top:5px;font-family:"Manrope",Arial,sans-serif;font-size:10px!important;font-weight:800;
  letter-spacing:.16em;text-transform:uppercase;color:var(--vm-navy);white-space:nowrap;
}
.church-brand-tagline{display:none!important}
.icon-btn,.login-btn{border-color:rgba(7,27,72,.13)!important;color:var(--vm-navy)!important}
.icon-btn:hover,.login-btn:hover{border-color:var(--vm-gold)!important;background:rgba(215,180,90,.10)!important}
.menu-link{font-size:14px!important;font-weight:700!important}
.dropdown-menu{border-top:3px solid var(--vm-gold)!important;box-shadow:0 18px 40px rgba(7,27,72,.16)!important}
.dropdown-menu a{font-size:14px!important;padding:12px 16px!important}
.dropdown-menu a:hover{color:var(--vm-navy)!important;background:rgba(215,180,90,.12)!important}
.donate-btn{background:var(--vm-gold)!important;color:var(--vm-navy)!important;border:1px solid var(--vm-gold)!important}

/* Visible branded watermark on the home page and content surfaces. */
.hero-section,.church-today,.sacred-culture-section,.latest-section,.vm-branded-surface{position:relative;isolation:isolate}
.hero-section::before,.church-today::before,.vm-branded-surface::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.91),rgba(255,255,255,.91)),url('images/vine-media-watermark-700.webp');
  background-repeat:no-repeat;background-position:92% 38%;background-size:min(620px,48vw);
  opacity:1;
}
body.dark-mode .hero-section::before,body.dark-mode .church-today::before,body.dark-mode .vm-branded-surface::before{
  background-image:linear-gradient(rgba(5,14,37,.91),rgba(5,14,37,.91)),url('images/vine-media-watermark-700.webp');
}

/* Shared editorial pages created for formerly empty # destinations. */
.vm-page-hero{
  position:relative;overflow:hidden;padding:72px 0 62px;color:#fff;
  background:
   linear-gradient(100deg,rgba(7,27,72,.98) 0%,rgba(7,27,72,.90) 55%,rgba(7,27,72,.70) 100%),
   url('images/vine-media-watermark-700.webp') 91% 45%/470px no-repeat;
  border-bottom:3px solid var(--vm-gold);
}
.vm-page-hero .vm-page-inner,.vm-page-content .vm-page-inner{width:min(1180px,calc(100% - 34px));margin:0 auto}
.vm-page-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--vm-gold-soft);font-family:"Manrope",Arial,sans-serif;font-size:12px!important;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.vm-page-hero h1{margin:12px 0 14px;font-family:"Cinzel",Georgia,serif;font-size:clamp(34px,5vw,60px);line-height:1.05;color:#fff}
.vm-page-hero p{max-width:780px;margin:0;color:rgba(255,255,255,.83);font-family:"Spectral",Georgia,serif;font-size:18px!important;line-height:1.75}
.vm-page-content{padding:44px 0 68px;background:#f7f8fb}
body.dark-mode .vm-page-content{background:#050e25}
.vm-content-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(270px,.55fr);gap:24px;align-items:start}
.vm-content-card{background:var(--vm-paper);border:1px solid var(--vm-line);border-radius:18px;padding:28px;box-shadow:0 14px 35px rgba(7,27,72,.07)}
.vm-content-card + .vm-content-card{margin-top:18px}
.vm-content-card h2,.vm-content-card h3{font-family:"Cinzel",Georgia,serif;color:var(--vm-navy);line-height:1.2}
body.dark-mode .vm-content-card h2,body.dark-mode .vm-content-card h3{color:var(--vm-gold-soft)}
.vm-content-card h2{font-size:27px;margin:0 0 12px}.vm-content-card h3{font-size:20px;margin:22px 0 8px}
.vm-content-card p,.vm-content-card li{font-family:"Spectral",Georgia,serif;font-size:17px!important;line-height:1.8;color:var(--vm-ink)}
.vm-content-card ul{padding-left:21px}
.vm-info-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.vm-info-list li{padding:12px 14px;border:1px solid var(--vm-line);border-radius:10px;background:rgba(7,27,72,.025)}
.vm-quick-links{display:grid;gap:10px}
.vm-quick-links a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border:1px solid var(--vm-line);border-radius:11px;color:var(--vm-navy);font-weight:800;text-decoration:none;background:var(--vm-paper)}
.vm-quick-links a:hover{border-color:var(--vm-gold);transform:translateY(-1px)}
.vm-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;background:rgba(215,180,90,.14);color:var(--vm-navy);font:800 11px/1 "Manrope",Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.vm-date-list{display:grid;gap:12px}.vm-date-item{display:grid;grid-template-columns:80px 1fr;gap:14px;padding:15px;border:1px solid var(--vm-line);border-radius:12px;background:var(--vm-paper)}
.vm-date-item strong{color:var(--vm-navy);font-family:"Cinzel",Georgia,serif}.vm-date-item time{color:var(--vm-gold);font-weight:800}

/* Footer stays at the bottom of short pages without covering page content. */
.site-footer.vm-footer,.vm-footer{
  margin-top:auto!important;
  position:relative!important;
  bottom:auto!important;
  z-index:30!important;
  background:
    linear-gradient(90deg,rgba(7,27,72,.98),rgba(7,27,72,.94)),
    url('images/vine-media-watermark-700.webp') 94% 48%/390px no-repeat!important;
  border-top:3px solid var(--vm-gold)!important;
}
.vm-footer::after{content:"";position:absolute;inset:0;pointer-events:none;background:url('images/vine-media-watermark-700.webp') 94% 48%/390px no-repeat;opacity:.06}
.vm-footer-inner{position:relative;z-index:1}
.vm-footer-logo img{width:82px!important;height:82px!important;max-height:none!important;object-fit:contain!important}
.vm-footer-brand-lockup{display:flex;align-items:center;gap:14px;text-decoration:none;margin-bottom:14px}
.vm-footer-brand-name{font-family:"Cinzel",Georgia,serif;font-size:25px;font-weight:700;letter-spacing:.05em;color:var(--vm-gold-soft)}
.vm-footer-brand-sub{display:block;margin-top:4px;font:800 9px/1.3 "Manrope",Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.62)}
.vm-footer-links a,.vm-footer-contact a,.vm-footer-legal a{font-size:13px!important}
.vm-footer-brand-text{font-size:14px!important;line-height:1.7!important}
.vm-footer-column h3{font-size:14px!important}

/* Google Translate is functional but its default toolbar is hidden. */
#google_translate_element{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important}
.goog-te-banner-frame.skiptranslate,.goog-te-banner-frame{display:none!important}body{top:0!important}.goog-logo-link,.goog-te-gadget span{display:none!important}

@media(max-width:992px){
  .menu-bar.church-nav,.menu-bar{top:74px}
  .header-inner{min-height:74px!important;flex-direction:row!important;justify-content:space-between!important;gap:10px!important;padding:7px 12px!important}
  .logo img,[data-vm-site-logo]{width:52px!important;height:52px!important;max-width:52px!important;max-height:52px!important}
  .vm-brand-title{font-size:20px}.vm-brand-subtitle{font-size:8px!important;letter-spacing:.11em}
  .header-actions{margin-left:auto!important;gap:6px!important;flex-wrap:nowrap!important}
  .translate-btn span,.login-btn span{display:none!important}
  .icon-btn,.login-btn{min-width:40px!important;width:40px!important;height:40px!important;padding:0!important;justify-content:center!important}
  .vm-content-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  body{font-size:16px!important}
  .header-actions .translate-wrap{display:none!important}
  .header-actions .login-btn{display:flex!important}
  .vm-brand-title{font-size:18px}.vm-brand-subtitle{font-size:7px!important}
  .menu-bar-inner{min-height:54px!important;padding:0 10px!important}
  .menu-bar.church-nav,.menu-bar{top:66px}
  .header-inner{min-height:66px!important}
  .logo img,[data-vm-site-logo]{width:46px!important;height:46px!important;max-width:46px!important;max-height:46px!important}
  .hero-section::before,.church-today::before,.vm-branded-surface::before{background-size:78vw;background-position:120% 12%}
  .vm-page-hero{padding:50px 0 44px;background-size:auto,300px}.vm-page-hero p{font-size:16px!important}.vm-page-content{padding:28px 0 48px}
  .vm-content-card{padding:20px 18px}.vm-content-card p,.vm-content-card li{font-size:16px!important}
  .vm-footer-logo img{width:68px!important;height:68px!important}.vm-footer-brand-name{font-size:21px}
  .vm-date-item{grid-template-columns:1fr;gap:4px}
}

/* Sitewide readability pass: legacy pages used 6–12px editorial text. */
main p, main li, main blockquote { font-size:16px !important; line-height:1.7 !important; }
main label { font-size:14px !important; }
main input, main select, main textarea { font-size:15px !important; }
main button, main a { text-underline-offset:3px; }
@media (max-width:620px){
  main p, main li, main blockquote { font-size:15.5px !important; }
}

/* 2026-09-21 visibility refinement: keep the emblem clearly visible as the site's branded board/background. */
body{
  background-image:
    radial-gradient(circle at 8% 8%,rgba(215,180,90,.10),transparent 24rem),
    url('images/vine-media-watermark-700.webp');
  background-repeat:no-repeat,no-repeat;
  background-position:0 0,calc(100% + 150px) 155px;
  background-size:auto,540px;
  background-attachment:scroll,fixed;
}
.hero-section::before,.church-today::before,.vm-branded-surface::before{
  z-index:0!important;
  background-image:url('images/vine-media-watermark-700.webp')!important;
  background-repeat:no-repeat!important;
  background-position:93% 42%!important;
  background-size:min(590px,46vw)!important;
  opacity:.13!important;
}
.hero-section > *,.church-today > *,.vm-branded-surface > *{position:relative;z-index:1}
body.dark-mode .hero-section::before,body.dark-mode .church-today::before,body.dark-mode .vm-branded-surface::before{
  background-image:url('images/vine-media-watermark-700.webp')!important;
  opacity:.10!important;
}
.vm-footer::after{opacity:.13!important}
@media(max-width:620px){
  body{background-position:0 0,calc(100% + 175px) 120px;background-size:auto,390px}
  .hero-section::before,.church-today::before,.vm-branded-surface::before{background-size:76vw!important;background-position:132% 12%!important;opacity:.10!important}
}

/* =========================================================
   VINE MEDIA — FAST PRELOADER
========================================================= */
.vm-preloader{position:fixed;inset:0;z-index:99999;display:grid;place-content:center;justify-items:center;gap:14px;background:#071b48;opacity:1;visibility:visible;transition:opacity .32s ease,visibility .32s ease}.vm-preloader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}.vm-preloader-mark{position:relative;z-index:2;width:96px;height:96px;border-radius:50%;display:grid;place-items:center;filter:drop-shadow(0 10px 28px rgba(0,0,0,.28));animation:vmPreloaderPulse 1.05s ease-in-out infinite alternate}.vm-preloader-mark img{width:96px;height:96px;object-fit:contain;display:block}.vm-preloader-orbit{position:absolute;width:124px;height:124px;border-radius:50%;border:2px solid rgba(215,180,90,.18);border-top-color:#d7b45a;border-right-color:rgba(215,180,90,.58);animation:vmPreloaderSpin .9s linear infinite}.vm-preloader-copy{text-align:center;color:#fff}.vm-preloader-copy strong{display:block;color:#e5c56f;font:700 22px/1.05 Cinzel,Georgia,serif;letter-spacing:.5px}.vm-preloader-copy span{display:block;margin-top:6px;color:rgba(255,255,255,.72);font:700 8px/1 Manrope,Arial,sans-serif;letter-spacing:1.5px;text-transform:uppercase}@keyframes vmPreloaderSpin{to{transform:rotate(360deg)}}@keyframes vmPreloaderPulse{from{transform:scale(.95)}to{transform:scale(1.04)}}@media(prefers-reduced-motion:reduce){.vm-preloader-mark,.vm-preloader-orbit{animation:none}}
html.vm-search-open{overflow:hidden}

/* Homepage trending footer action */
.trending-see-more{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px;padding:11px 13px;border-top:1px solid rgba(7,27,72,.12);color:#071b48;text-decoration:none;font:800 11px/1.2 Manrope,Arial,sans-serif;letter-spacing:.25px}.trending-see-more i{color:#d7b45a;transition:transform .2s ease}.trending-see-more:hover i{transform:translateX(3px)}

/* 2026-09-22 Vine Media wordmark visibility + aligned preloader */
.header.church-header .logo,
.header.church-header .logo a,
.header.church-header .logo picture { min-width:0; }
.header.church-header .logo picture { display:block; line-height:0; }
.header.church-header .logo img {
  width: clamp(250px, 27vw, 390px) !important;
  height: auto !important;
  max-height: 74px !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 2px 1px rgba(0,0,0,.22)) drop-shadow(0 6px 12px rgba(7,27,72,.12));
}
.vm-brand-lockup { gap:0 !important; overflow:visible; }
.vm-brand-copy { display:none !important; }

.vm-footer-logo { width: min(100%, 430px) !important; }
.vm-footer-brand-lockup { display:block !important; margin-bottom:18px !important; line-height:0; }
.vm-footer-logo img {
  width: min(100%, 430px) !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,.32));
}
.vm-footer-brand-name,.vm-footer-brand-sub { display:none !important; }

.vm-preloader {
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:22px;
  padding:28px;
  background:#071b48;
}
.vm-preloader-mark {
  width:min(680px, 82vw) !important;
  height:auto !important;
  border-radius:0 !important;
  display:block !important;
  filter:drop-shadow(0 14px 34px rgba(0,0,0,.38));
  animation:vmWordmarkPulse 1.25s ease-in-out infinite alternate !important;
}
.vm-preloader-mark img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
}
.vm-preloader-orbit,.vm-preloader-copy { display:none !important; }
.vm-preloader-line {
  width:min(420px, 62vw);
  height:3px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.12);
}
.vm-preloader-line span {
  display:block;
  width:42%;
  height:100%;
  border-radius:inherit;
  background:#d7b45a;
  animation:vmPreloaderSweep 1s ease-in-out infinite;
}
@keyframes vmWordmarkPulse { from{transform:scale(.975);opacity:.88} to{transform:scale(1.01);opacity:1} }
@keyframes vmPreloaderSweep { 0%{transform:translateX(-120%)} 100%{transform:translateX(340%)} }
@media (max-width: 900px) {
  .header.church-header .logo img { width:clamp(220px, 44vw, 320px) !important; max-height:64px !important; }
}
@media (max-width: 640px) {
  .header.church-header .header-inner { min-height:72px !important; gap:10px !important; }
  .header.church-header .logo img { width:220px !important; max-height:58px !important; }
  .vm-footer-logo,.vm-footer-logo img { width:min(100%, 330px) !important; }
  .vm-preloader-mark { width:min(560px, 92vw) !important; }
}
@media (max-width: 420px) {
  .header.church-header .logo img { width:190px !important; max-height:52px !important; }
}
@media (prefers-reduced-motion:reduce) {
  .vm-preloader-mark,.vm-preloader-line span { animation:none !important; }
}


/* 2026-09-22 v2 — exact uploaded Vine Media wordmark + faster loader */
.header.church-header .logo img {
  width: clamp(320px, 30vw, 500px) !important;
  height: auto !important;
  max-height: 88px !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 3px 2px rgba(0,0,0,.18)) drop-shadow(0 8px 18px rgba(7,27,72,.18));
}
.vm-footer-logo { width: min(100%, 520px) !important; }
.vm-footer-logo img {
  width: min(100%, 520px) !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: drop-shadow(0 8px 22px rgba(0,0,0,.24));
}
.vm-preloader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex !important;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 18px;
  padding: 24px;
  background: radial-gradient(circle at top, rgba(215,180,90,.10), transparent 32%), linear-gradient(180deg, #0a255f 0%, #071b48 60%, #06173b 100%);
}
.vm-preloader-mark {
  width: min(760px, 88vw) !important;
  height: auto !important;
  border-radius: 0 !important;
  display: block !important;
  filter: drop-shadow(0 16px 34px rgba(0,0,0,.30));
  animation: vmWordmarkFloat .7s ease-in-out infinite alternate !important;
}
.vm-preloader-mark img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}
.vm-preloader-line {
  width: min(300px, 58vw);
  height: 4px;
  border-radius: 999px;
  overflow: hidden;
  background: rgba(255,255,255,.12);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.2);
}
.vm-preloader-line span {
  display: block;
  width: 42%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f9e8ad 0%, #d7b45a 45%, #f6dd8a 100%);
  animation: vmPreloaderSweepFast .7s linear infinite !important;
}
@keyframes vmWordmarkFloat { from{transform:translateY(-2px) scale(.992);opacity:.92} to{transform:translateY(2px) scale(1);opacity:1} }
@keyframes vmPreloaderSweepFast { 0%{transform:translateX(-130%)} 100%{transform:translateX(340%)} }
@media (max-width: 900px) {
  .header.church-header .logo img { width: clamp(260px, 44vw, 360px) !important; max-height: 72px !important; }
}
@media (max-width: 640px) {
  .header.church-header .header-inner { min-height: 76px !important; gap: 10px !important; }
  .header.church-header .logo img { width: 250px !important; max-height: 62px !important; }
  .vm-footer-logo, .vm-footer-logo img { width: min(100%, 360px) !important; }
  .vm-preloader-mark { width: min(620px, 94vw) !important; }
}
@media (max-width: 420px) {
  .header.church-header .logo img { width: 215px !important; max-height: 54px !important; }
}


/* =========================================================
   VINE MEDIA PRO BRAND SYSTEM — 2026-09-22
   Catholic editorial typography + exact uploaded logo
========================================================= */
:root{
  --vm-navy:#071b48;
  --vm-navy-deep:#041333;
  --vm-gold:#d7b45a;
  --vm-gold-soft:#efd98d;
  --vm-ivory:#fbf8ef;
  --vm-body-font:"Spectral",Georgia,"Times New Roman",serif;
  --vm-display-font:"Cinzel",Georgia,"Times New Roman",serif;
}
body{font-family:var(--vm-body-font);font-size:17px;line-height:1.68;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,h4,h5,h6,.section-title,.vm-page-hero h1{font-family:var(--vm-display-font)!important;letter-spacing:-.018em}
button,input,select,textarea,.main-nav,.nav-links,.header-actions,.vm-footer-links,.vm-footer-motto{font-family:var(--vm-display-font),Georgia,serif}
.header.church-header .vm-brand-lockup{display:block!important;line-height:0!important;overflow:visible!important}
.header.church-header .logo img{
  width:clamp(340px,31vw,510px)!important;
  max-width:100%!important;
  max-height:92px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  filter:drop-shadow(0 3px 2px rgba(0,0,0,.15)) drop-shadow(0 10px 22px rgba(7,27,72,.13))!important;
}
.vm-footer-brand-lockup picture,.vm-footer-brand-lockup img{display:block!important}
.vm-footer-logo,.vm-footer-logo img{width:min(100%,520px)!important;height:auto!important;max-height:none!important;object-fit:contain!important;object-position:left center!important}
.vm-footer-logo img{filter:drop-shadow(0 8px 18px rgba(0,0,0,.25))!important}

/* Preloader is intentionally brief and shown once per browser session. */
html.vm-preloader-skip .vm-preloader{display:none!important}
.vm-preloader{
  position:fixed;inset:0;z-index:99999;display:flex!important;flex-direction:column;align-items:center;justify-content:center;
  gap:16px;padding:24px;background:radial-gradient(circle at 50% 30%,rgba(215,180,90,.13),transparent 31%),linear-gradient(155deg,#0b2863 0%,#071b48 55%,#041333 100%);
  opacity:1;visibility:visible;transition:opacity .22s ease,visibility .22s ease;
}
.vm-preloader.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.vm-preloader-mark{width:min(620px,86vw)!important;height:auto!important;display:block!important;filter:drop-shadow(0 14px 30px rgba(0,0,0,.30));animation:vmLoaderLift .62s ease-in-out infinite alternate!important}
.vm-preloader-mark img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}
.vm-preloader-line{width:min(280px,55vw);height:3px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.12)}
.vm-preloader-line span{display:block;width:42%;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f7e6aa,#d7b45a,#fff0b8);animation:vmLoaderSweep .58s linear infinite!important}
.vm-preloader-label{font:700 10px/1 var(--vm-display-font);letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.72)}
@keyframes vmLoaderLift{from{transform:translateY(-2px);opacity:.94}to{transform:translateY(2px);opacity:1}}
@keyframes vmLoaderSweep{from{transform:translateX(-130%)}to{transform:translateX(340%)}}
@media(max-width:900px){.header.church-header .logo img{width:clamp(270px,45vw,380px)!important;max-height:74px!important}}
@media(max-width:640px){.header.church-header .logo img{width:250px!important;max-height:64px!important}.vm-footer-logo,.vm-footer-logo img{width:min(100%,370px)!important}.vm-preloader-mark{width:min(540px,94vw)!important}}
@media(max-width:420px){.header.church-header .logo img{width:218px!important;max-height:56px!important}}
@media(prefers-reduced-motion:reduce){.vm-preloader-mark,.vm-preloader-line span{animation:none!important}}


/* =========================================================
   HEADER LOGO VISIBILITY FIX — 2026-09-22 logo2
   Prevents flex shrink and makes the admin-selected wordmark
   as visually prominent as the footer logo.
========================================================= */
.header.church-header{min-height:108px!important}
.header.church-header .header-inner{min-height:108px!important;align-items:center!important;gap:24px!important}
.header.church-header .church-brand-wrap{
  flex:0 0 clamp(430px,42vw,590px)!important;
  width:clamp(430px,42vw,590px)!important;
  min-width:430px!important;
  max-width:590px!important;
  overflow:visible!important;
}
.header.church-header .logo,
.header.church-header .vm-brand-lockup,
.header.church-header .logo picture{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  line-height:0!important;
  overflow:visible!important;
}
.header.church-header .logo img,
.header.church-header [data-vm-site-logo]{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  height:86px!important;
  max-height:86px!important;
  object-fit:contain!important;
  object-position:left center!important;
  flex:none!important;
}
.header.church-header .header-actions{margin-left:auto!important;flex:0 0 auto!important}
.menu-bar.church-nav,.menu-bar{top:108px!important}
@media(max-width:1100px){
  .header.church-header{min-height:94px!important}
  .header.church-header .header-inner{min-height:94px!important}
  .header.church-header .church-brand-wrap{flex-basis:370px!important;width:370px!important;min-width:370px!important}
  .header.church-header .logo img,.header.church-header [data-vm-site-logo]{height:74px!important;max-height:74px!important}
  .menu-bar.church-nav,.menu-bar{top:94px!important}
}
@media(max-width:760px){
  .header.church-header{min-height:82px!important}
  .header.church-header .header-inner{min-height:82px!important;padding:8px 12px!important}
  .header.church-header .church-brand-wrap{flex:1 1 auto!important;width:auto!important;min-width:0!important;max-width:310px!important}
  .header.church-header .logo img,.header.church-header [data-vm-site-logo]{width:100%!important;height:62px!important;max-height:62px!important}
  .menu-bar.church-nav,.menu-bar{top:82px!important}
}
@media(max-width:480px){
  .header.church-header .church-brand-wrap{max-width:240px!important}
  .header.church-header .logo img,.header.church-header [data-vm-site-logo]{height:54px!important;max-height:54px!important}
}


/* =========================================================
   MOBILE LOGO + STICKY HEADER/NAV FIX — 2026-09-22 mobile3
   One admin logo everywhere. Header and navigation stay together.
========================================================= */
:root{
  --vm-public-header-h:132px;
  --vm-public-nav-h:59px;
}

/* Keep the identity header and primary navigation as one sticky stack. */
.header.church-header{
  position:sticky!important;
  top:0!important;
  z-index:1202!important;
  min-height:var(--vm-public-header-h)!important;
}
.header.church-header .header-inner{
  min-height:var(--vm-public-header-h)!important;
}
.menu-bar.church-nav{
  position:sticky!important;
  top:var(--vm-public-header-h)!important;
  z-index:1201!important;
  min-height:var(--vm-public-nav-h)!important;
}

/* Render the uploaded wordmark at its natural aspect ratio.
   Do not force it into a shallow fixed-height box (that made it look tiny). */
.header.church-header .church-brand-wrap{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
}
.header.church-header .logo,
.header.church-header .vm-brand-lockup{
  width:auto!important;
  max-width:none!important;
  overflow:visible!important;
}
.header.church-header .logo picture{display:contents!important}
.header.church-header .logo img,
.header.church-header [data-vm-site-logo]{
  display:block!important;
  width:380px!important;
  max-width:min(46vw,380px)!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:left center!important;
  flex:none!important;
  filter:drop-shadow(0 4px 3px rgba(0,0,0,.16)) drop-shadow(0 10px 20px rgba(7,27,72,.13))!important;
}
.header.church-header .header-actions{
  margin-left:auto!important;
  flex:0 0 auto!important;
}

/* Remove old top offsets from generic menu rules. */
.menu-bar:not(.church-nav){top:auto!important}

@media(max-width:1100px){
  :root{--vm-public-header-h:118px}
  .header.church-header .logo img,
  .header.church-header [data-vm-site-logo]{
    width:330px!important;
    max-width:42vw!important;
  }
}

@media(max-width:900px){
  :root{--vm-public-header-h:100px;--vm-public-nav-h:54px}
  .header.church-header{
    border-top-width:2px!important;
  }
  .header.church-header .header-inner{
    justify-content:center!important;
    padding:5px 12px!important;
  }
  .header.church-header .church-brand-wrap{
    width:100%!important;
    max-width:none!important;
    justify-content:center!important;
  }
  .header.church-header .logo,
  .header.church-header .vm-brand-lockup{
    width:auto!important;
    max-width:100%!important;
    margin-inline:auto!important;
  }
  .header.church-header .logo img,
  .header.church-header [data-vm-site-logo]{
    width:min(280px,76vw)!important;
    max-width:min(280px,76vw)!important;
    height:auto!important;
    max-height:none!important;
    margin-inline:auto!important;
    object-position:center!important;
  }
  .menu-bar.church-nav .menu-bar-inner{
    min-height:52px!important;
    align-items:center!important;
  }
  .church-nav .menu-links{
    max-height:calc(100vh - var(--vm-public-header-h) - var(--vm-public-nav-h))!important;
  }
  .church-nav .menu-toggle{
    display:inline-flex!important;
  }
}

@media(max-width:430px){
  :root{--vm-public-header-h:94px}
  .header.church-header .logo img,
  .header.church-header [data-vm-site-logo]{
    width:min(260px,78vw)!important;
    max-width:min(260px,78vw)!important;
  }
}

@media(max-width:350px){
  :root{--vm-public-header-h:88px}
  .header.church-header .logo img,
  .header.church-header [data-vm-site-logo]{
    width:min(230px,76vw)!important;
    max-width:min(230px,76vw)!important;
  }
}


/* =========================================================
   COMPACT HEADER / NAV / FOOTER BRANDING — 2026-09-22 compact4
   Keeps the admin-selected logo clearly visible without making
   the identity header, navigation or footer oversized.
========================================================= */
:root{
  --vm-public-header-h:88px;
  --vm-public-nav-h:52px;
}
.header.church-header{
  min-height:var(--vm-public-header-h)!important;
}
.header.church-header .header-inner{
  min-height:var(--vm-public-header-h)!important;
  padding-top:7px!important;
  padding-bottom:7px!important;
  gap:18px!important;
}
.header.church-header .church-brand-wrap{
  flex:0 1 auto!important;
  width:auto!important;
  max-width:320px!important;
}
.header.church-header .logo,
.header.church-header .vm-brand-lockup{
  width:auto!important;
  max-width:100%!important;
}
.header.church-header .logo img,
.header.church-header [data-vm-site-logo]{
  width:300px!important;
  max-width:300px!important;
  height:auto!important;
  max-height:70px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.menu-bar.church-nav{
  top:var(--vm-public-header-h)!important;
  min-height:var(--vm-public-nav-h)!important;
}
.menu-bar.church-nav .menu-bar-inner{
  min-height:var(--vm-public-nav-h)!important;
  padding-top:5px!important;
  padding-bottom:5px!important;
}
.church-nav .menu-links > li > a,
.church-nav .menu-links > a{
  padding-top:13px!important;
  padding-bottom:13px!important;
}
.vm-footer-logo{
  width:min(100%,330px)!important;
  max-width:330px!important;
}
.vm-footer-logo img{
  width:min(100%,330px)!important;
  max-width:330px!important;
  height:auto!important;
  max-height:95px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.vm-footer-brand-lockup{margin-bottom:14px!important}

@media(max-width:1100px){
  :root{--vm-public-header-h:82px;--vm-public-nav-h:50px}
  .header.church-header .church-brand-wrap{max-width:285px!important}
  .header.church-header .logo img,
  .header.church-header [data-vm-site-logo]{width:270px!important;max-width:270px!important;max-height:64px!important}
}
@media(max-width:900px){
  :root{--vm-public-header-h:78px;--vm-public-nav-h:50px}
  .header.church-header .header-inner{padding:6px 12px!important;justify-content:space-between!important}
  .header.church-header .church-brand-wrap{width:auto!important;max-width:235px!important;justify-content:flex-start!important}
  .header.church-header .logo,
  .header.church-header .vm-brand-lockup{margin-inline:0!important}
  .header.church-header .logo img,
  .header.church-header [data-vm-site-logo]{
    width:225px!important;
    max-width:min(225px,58vw)!important;
    max-height:58px!important;
    margin-inline:0!important;
    object-position:left center!important;
  }
  .menu-bar.church-nav .menu-bar-inner{min-height:48px!important}
  .vm-footer-logo,.vm-footer-logo img{width:min(100%,300px)!important;max-width:300px!important}
}
@media(max-width:520px){
  :root{--vm-public-header-h:72px;--vm-public-nav-h:48px}
  .header.church-header .header-inner{padding:5px 10px!important}
  .header.church-header .church-brand-wrap{max-width:205px!important}
  .header.church-header .logo img,
  .header.church-header [data-vm-site-logo]{
    width:195px!important;
    max-width:min(195px,57vw)!important;
    max-height:52px!important;
  }
  .vm-footer-logo,.vm-footer-logo img{width:min(100%,270px)!important;max-width:270px!important}
}
@media(max-width:380px){
  :root{--vm-public-header-h:68px;--vm-public-nav-h:46px}
  .header.church-header .church-brand-wrap{max-width:180px!important}
  .header.church-header .logo img,
  .header.church-header [data-vm-site-logo]{width:172px!important;max-width:54vw!important;max-height:48px!important}
  .vm-footer-logo,.vm-footer-logo img{width:min(100%,245px)!important;max-width:245px!important}
}
