/* Bridges Grove AME Zion Theme Styles */
:root{
  --bg-maroon:#7a0f1c;
  --bg-green:#1f5632;
  --bg-gold:#d6a13a;
  --bg-teal:#153b3f;
  --bg-mint:#dceadf;
  --bg-cream:#f7f1e7;
  --bg-cream-2:#fffaf2;
  --bg-sky:#dfeef0;
  --bg-ink:#161616;
  --bg-soft-ink:#343a36;
  --bg-muted:#66716b;
  --bg-line:rgba(22,22,22,.12);
  --bg-line-strong:rgba(22,22,22,.18);
  --bg-white:#ffffff;
  --bg-shadow:0 16px 40px rgba(29,37,32,.12);
  --bg-shadow-soft:0 10px 26px rgba(29,37,32,.09);
  --bg-radius:8px;
  --bg-hero-overlay:.45;
  --bg-max:1180px;
  --bg-font:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --bg-serif:Georgia, "Times New Roman", Times, serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--bg-ink);
  background:
    linear-gradient(180deg, #fffaf2 0%, #f7f1e7 44%, #ffffff 100%);
  font-family:var(--bg-font);
  font-size:16px;
  line-height:1.6;
  text-rendering:optimizeLegibility;
}

body.bg-menu-open{overflow:hidden}
a{color:inherit}
img{max-width:100%; height:auto}
svg{display:block}
::selection{background:rgba(214,161,58,.35)}

.bg-container,
.bg-page-inner,
.bg-section-inner,
.bg-header-inner,
.bg-footer-inner,
.bg-footer-bottom{
  width:min(100% - 40px, var(--bg-max));
  margin-inline:auto;
}

.bg-skip-link{
  position:absolute;
  left:18px;
  top:-80px;
  z-index:1000;
  padding:10px 14px;
  background:var(--bg-maroon);
  color:#fff;
  border-radius:var(--bg-radius);
  text-decoration:none;
  font-weight:800;
}
.bg-skip-link:focus{top:18px}

/* Header */
.bg-header{
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(255,250,242,.82);
  border-bottom:1px solid rgba(31,86,50,.14);
  box-shadow:0 14px 34px rgba(22,22,22,.07);
  backdrop-filter:saturate(150%) blur(20px);
}
.bg-header::before{
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:linear-gradient(90deg, var(--bg-green), var(--bg-gold), var(--bg-maroon));
  opacity:.9;
}
.admin-bar .bg-header{top:32px}
.bg-header-inner{
  min-height:86px;
  display:flex;
  align-items:center;
  gap:22px;
}
.bg-brand{
  flex:0 0 auto;
  min-width:250px;
}
.bg-brand-link{
  display:flex;
  align-items:center;
  gap:12px;
  text-decoration:none;
}
.custom-logo-link{
  display:flex;
  align-items:center;
  text-decoration:none;
}
.custom-logo{
  display:block;
  width:auto;
  max-width:292px;
  max-height:68px;
}
.bg-adaptive-logo-link{
  display:flex;
  align-items:center;
  text-decoration:none;
}
.bg-adaptive-logo-frame{
  position:relative;
  display:block;
  width:430px;
  height:96px;
  overflow:visible;
}
.bg-adaptive-logo{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
  transition:opacity .26s ease, filter .26s ease;
}
.bg-adaptive-logo-light{
  opacity:0;
}
.bg-adaptive-logo-dark{
  opacity:1;
}
.bg-brand-mark{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--bg-green);
  border:5px solid rgba(122,15,28,.16);
  border-radius:50%;
}
.bg-brand-mark svg{
  width:26px;
  height:26px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-brand-text{
  display:grid;
  gap:1px;
}
.bg-brand-top{
  color:var(--bg-maroon);
  font-size:22px;
  font-weight:950;
  line-height:1;
  letter-spacing:0;
  text-transform:uppercase;
}
.bg-brand-sub{
  color:var(--bg-green);
  font-size:12px;
  font-weight:800;
  letter-spacing:0;
  text-transform:uppercase;
}
.bg-nav-wrap{
  flex:1 1 auto;
  display:flex;
  justify-content:center;
}
.bg-nav{
  list-style:none;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin:0;
  padding:0;
}
.bg-nav a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 13px;
  color:#202420;
  border-radius:999px;
  text-decoration:none;
  font-weight:750;
  white-space:nowrap;
}
.bg-nav a:hover,
.bg-nav .current-menu-item > a,
.bg-nav .current_page_item > a{
  background:rgba(31,86,50,.1);
  color:var(--bg-green);
}
.bg-header-cta{
  display:flex;
  align-items:center;
  gap:10px;
}
.bg-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:44px;
  padding:10px 18px;
  border:1px solid transparent;
  border-radius:999px;
  text-decoration:none;
  font-weight:850;
  line-height:1.1;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease, color .18s ease, border-color .18s ease;
}
.bg-btn svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-btn:hover{
  transform:translateY(-1px);
}
.bg-btn-outline{
  background:#fff;
  border-color:rgba(31,86,50,.32);
  color:var(--bg-green);
}
.bg-btn-outline:hover{
  border-color:var(--bg-green);
  box-shadow:var(--bg-shadow-soft);
}
.bg-btn-solid{
  background:var(--bg-maroon);
  color:#fff;
  box-shadow:0 13px 24px rgba(122,15,28,.22);
}
.bg-btn-solid:hover{
  background:#66101a;
  box-shadow:0 16px 30px rgba(122,15,28,.28);
}
.bg-btn-ghost{
  color:#fff;
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.36);
  backdrop-filter:blur(10px);
}
.bg-btn-ghost:hover{background:rgba(255,255,255,.2)}
.bg-btn-lg{
  min-height:52px;
  padding-inline:22px;
}
.bg-mobile-toggle{
  display:none;
  width:46px;
  height:46px;
  place-items:center;
  border:1px solid rgba(31,86,50,.24);
  border-radius:var(--bg-radius);
  background:#fff;
  color:var(--bg-green);
}
.bg-mobile-toggle svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:2.2;
  stroke-linecap:round;
}
.bg-mobile-panel{
  border-top:1px solid rgba(31,86,50,.14);
  padding:14px 20px 22px;
  background:var(--bg-cream-2);
}
.bg-mobile-panel .bg-nav{
  display:grid;
  justify-content:stretch;
  gap:6px;
}
.bg-mobile-panel .bg-nav a{
  width:100%;
  border-radius:var(--bg-radius);
  background:rgba(255,255,255,.72);
}
.bg-mobile-cta{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

/* Hero */
.bg-hero{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background-color:#223a2d;
  background-size:cover;
  background-position:center;
  isolation:isolate;
}
.bg-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(7,18,16,.9) 0%, rgba(13,42,38,.78) 39%, rgba(12,38,46,.34) 72%, rgba(10,24,28,.18) 100%),
    linear-gradient(0deg, rgba(7,18,16,.58), rgba(7,18,16,.02));
  z-index:-1;
}
.bg-hero::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:135px;
  background:url('../img/realistic-treeline.png') center bottom / 1180px auto repeat-x;
  opacity:.34;
  z-index:-1;
}
.bg-hero-overlay{display:none}
.bg-hero-inner{
  width:min(100% - 40px, var(--bg-max));
  margin-inline:auto;
  padding:110px 0 128px;
  color:#fff;
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(320px, .58fr);
  gap:42px;
  align-items:end;
}
.bg-hero-copy{
  max-width:760px;
}
.bg-hero-kicker,
.bg-kicker{
  display:inline-flex;
  align-items:center;
  gap:0;
  margin-bottom:14px;
  color:var(--bg-gold);
  font-size:13px;
  font-weight:900;
  letter-spacing:0;
  text-transform:uppercase;
}
.bg-hero-kicker::before,
.bg-kicker::before{
  content:none;
  display:none;
}
.bg-hero h1{
  margin:0;
  font-family:var(--bg-serif);
  font-size:70px;
  line-height:1.04;
  font-weight:700;
  letter-spacing:0;
  text-wrap:balance;
}
.bg-hero-subtitle{
  width:min(100%, 690px);
  margin:22px 0 0;
  color:rgba(255,255,255,.88);
  font-size:19px;
  line-height:1.7;
}
.bg-hero-panel{
  position:relative;
  overflow:hidden;
  padding:24px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:var(--bg-radius);
  background:
    linear-gradient(180deg, rgba(255,255,255,.16), rgba(255,255,255,.08));
  box-shadow:0 24px 60px rgba(0,0,0,.28);
  backdrop-filter:blur(18px) saturate(130%);
}
.bg-hero-panel::before{
  content:'';
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg, var(--bg-gold), rgba(255,255,255,.68), var(--bg-green));
}
.bg-hero-panel-top{
  display:flex;
  align-items:center;
  gap:12px;
  padding-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.bg-hero-panel-top span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:#173324;
  background:var(--bg-gold);
  border-radius:50%;
}
.bg-hero-panel svg{
  width:21px;
  height:21px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-hero-panel-top p{
  margin:0;
  color:rgba(255,255,255,.9);
  font-weight:850;
  line-height:1.35;
}
.bg-hero-service{
  padding:22px 0;
}
.bg-hero-service-label{
  display:block;
  margin-bottom:6px;
  color:var(--bg-gold);
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.bg-hero-service strong{
  display:block;
  font-family:var(--bg-serif);
  font-size:34px;
  line-height:1.05;
}
.bg-hero-service p{
  margin:8px 0 0;
  color:rgba(255,255,255,.74);
}
.bg-hero-detail-list{
  list-style:none;
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
}
.bg-hero-detail-list li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.5;
}
.bg-hero-detail-list span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--bg-gold);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
}
.bg-hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:28px;
}
.bg-hero-note{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin-top:22px;
  color:#fff;
}
.bg-hero-note span{
  padding:7px 10px;
  color:#1d271f;
  background:var(--bg-gold);
  border-radius:999px;
  font-size:13px;
  font-weight:900;
}
.bg-hero-note strong{
  display:inline-flex;
  align-items:center;
  min-height:48px;
  padding:0 0 0 18px;
  border-left:3px solid var(--bg-gold);
  color:#fff;
  font-family:var(--bg-serif);
  font-size:28px;
  line-height:1.1;
  text-shadow:0 8px 24px rgba(0,0,0,.28);
}

/* Feature cards */
.bg-feature{
  position:relative;
  z-index:4;
  margin-top:-72px;
  padding:0 0 50px;
}
.bg-feature-inner{
  width:min(100% - 40px, var(--bg-max));
  margin-inline:auto;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.bg-card{
  position:relative;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:126px;
  padding:22px;
  color:#fff;
  border-radius:var(--bg-radius);
  text-decoration:none;
  overflow:hidden;
  box-shadow:var(--bg-shadow);
  transition:transform .18s ease, box-shadow .18s ease;
}
.bg-card:hover{
  transform:translateY(-3px);
  box-shadow:0 22px 48px rgba(29,37,32,.18);
}
.bg-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0) 52%);
  pointer-events:none;
}
.bg-card-icon,
.bg-card-arrow{
  position:relative;
  flex:0 0 auto;
}
.bg-card-icon{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.24);
  border-radius:var(--bg-radius);
}
.bg-card-icon svg,
.bg-card-arrow svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-card-body{
  position:relative;
  flex:1 1 auto;
  min-width:0;
}
.bg-card-title{
  margin:0 0 4px;
  font-size:20px;
  font-weight:950;
  line-height:1.15;
}
.bg-card-text{
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.45;
}
.bg-card-arrow{
  opacity:.92;
  transition:transform .18s ease;
}
.bg-card:hover .bg-card-arrow{transform:translateX(4px)}
.bg-card-green{background:linear-gradient(135deg, #24673d, #183f2a)}
.bg-card-maroon{background:linear-gradient(135deg, #8b1222, #5f0d18)}
.bg-card-gold{background:linear-gradient(135deg, #d59a27, #a96913); color:#fffdf5}

/* Modern homepage feature bands */
.bg-home-modern{
  position:relative;
  padding:84px 0;
  background:
    linear-gradient(135deg, rgba(21,59,63,.98), rgba(18,61,36,.97)),
    var(--bg-teal);
  color:#fff;
  overflow:hidden;
}
.bg-home-modern::before{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:170px;
  background:url('../img/realistic-treeline.png') center bottom / 1120px auto repeat-x;
  opacity:.18;
  pointer-events:none;
}
.bg-home-modern-inner{
  position:relative;
  width:min(100% - 40px, var(--bg-max));
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(0, 1.08fr);
  gap:34px;
  align-items:center;
}
.bg-home-lead h2,
.bg-pastor-strip h2{
  margin:0;
  font-family:var(--bg-serif);
  font-size:46px;
  line-height:1.1;
  color:#fff;
  letter-spacing:0;
  text-wrap:balance;
}
.bg-home-lead p,
.bg-pastor-strip p{
  margin:18px 0 0;
  color:rgba(255,255,255,.78);
  font-size:18px;
}
.bg-modern-stat-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
}
.bg-modern-stat-grid article{
  min-height:210px;
  padding:22px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--bg-radius);
  background:rgba(255,255,255,.1);
  box-shadow:0 20px 44px rgba(0,0,0,.18);
  backdrop-filter:blur(14px);
}
.bg-modern-stat-grid span{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  color:var(--bg-gold);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--bg-radius);
}
.bg-modern-stat-grid svg{
  width:22px;
  height:22px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-modern-stat-grid strong{
  display:block;
  margin-top:30px;
  color:#fff;
  font-size:19px;
  line-height:1.25;
}
.bg-modern-stat-grid p{
  margin:8px 0 0;
  color:rgba(255,255,255,.72);
  line-height:1.45;
}
.bg-pastor-strip{
  padding:76px 0;
  background:
    linear-gradient(90deg, #fff 0%, var(--bg-cream-2) 100%);
}
.bg-pastor-strip-inner{
  width:min(100% - 40px, var(--bg-max));
  margin-inline:auto;
  display:grid;
  grid-template-columns:360px minmax(0, 1fr);
  gap:42px;
  align-items:center;
}
.bg-pastor-strip figure{
  position:relative;
  overflow:hidden;
  margin:0;
  min-height:420px;
  border-radius:var(--bg-radius);
  background:
    linear-gradient(180deg, rgba(31,86,50,.06), rgba(122,15,28,.07)),
    #fff;
  border:1px solid rgba(31,86,50,.13);
  box-shadow:var(--bg-shadow);
}
.bg-pastor-strip figure::after{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:80px;
  background:linear-gradient(180deg, rgba(255,255,255,0), #fff);
}
.bg-pastor-strip img{
  width:100%;
  height:420px;
  display:block;
  object-fit:cover;
  object-position:center top;
}
.bg-pastor-strip h2{
  color:var(--bg-ink);
}
.bg-pastor-strip p{
  max-width:720px;
  color:var(--bg-soft-ink);
}
.bg-home-gallery{
  padding:82px 0;
  background:#fff;
}
.bg-home-gallery-inner{
  width:min(100% - 40px, var(--bg-max));
  margin-inline:auto;
}
.bg-home-gallery-header{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:28px;
  align-items:end;
  margin-bottom:28px;
}
.bg-home-gallery-header h2{
  margin:0;
  color:var(--bg-ink);
  font-family:var(--bg-serif);
  font-size:46px;
  line-height:1.08;
  letter-spacing:0;
}
.bg-home-gallery-header p{
  margin:0;
  color:var(--bg-muted);
  font-size:17px;
}
.bg-home-gallery-actions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-end;
}
.bg-gallery-control{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(31,86,50,.18);
  color:var(--bg-green);
  background:#fff;
  box-shadow:0 16px 32px rgba(7,18,16,.1);
  cursor:pointer;
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.bg-gallery-control:hover,
.bg-gallery-control:focus-visible{
  color:#fff;
  background:var(--bg-green);
  border-color:var(--bg-green);
  transform:translateY(-2px);
}
.bg-gallery-control svg{
  width:21px;
  height:21px;
  stroke:currentColor;
  stroke-width:2;
  fill:none;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-gallery-prev svg{
  transform:rotate(180deg);
}
.bg-home-gallery-stage{
  position:relative;
  overflow:hidden;
}
.bg-home-gallery-content .wp-block-gallery,
.bg-gallery-fallback-grid{
  display:flex !important;
  align-items:stretch;
  gap:18px !important;
  overflow-x:auto;
  padding:6px 4px 24px;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}
.bg-home-gallery-content .wp-block-gallery::-webkit-scrollbar,
.bg-gallery-fallback-grid::-webkit-scrollbar{
  display:none;
}
.bg-home-gallery-content .wp-block-image,
.bg-gallery-fallback-grid figure{
  position:relative;
  flex:0 0 min(82vw, 430px);
  overflow:hidden;
  min-height:360px;
  margin:0 !important;
  scroll-snap-align:center;
  border-radius:26px;
  border:1px solid rgba(31,86,50,.13);
  box-shadow:0 28px 70px rgba(7,18,16,.14);
  background:var(--bg-cream);
}
.bg-home-gallery-content .wp-block-image:first-child,
.bg-gallery-fallback-grid figure:first-child{
  flex-basis:min(86vw, 540px);
  min-height:430px;
}
.bg-home-gallery-content .wp-block-image:nth-child(3n),
.bg-gallery-fallback-grid figure:nth-child(3n){
  flex-basis:min(80vw, 380px);
}
.bg-home-gallery-content img,
.bg-gallery-fallback-grid img{
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:cover;
  box-shadow:none !important;
  border-radius:0 !important;
}
.bg-gallery-fallback-grid figure:nth-child(2) img{
  object-position:center bottom;
  background:linear-gradient(180deg, var(--bg-teal), var(--bg-green));
}
.bg-gallery-fallback-grid figcaption{
  position:absolute;
  left:14px;
  right:14px;
  bottom:14px;
  padding:9px 12px;
  color:#fff;
  background:rgba(7,18,16,.58);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  backdrop-filter:blur(10px);
  font-weight:850;
}

/* Front page sections */
.bg-site{min-height:44vh}
.bg-section{
  position:relative;
  padding:78px 0;
  background:#fff;
  border-top:1px solid rgba(31,86,50,.1);
}
.bg-section:nth-of-type(odd){
  background:linear-gradient(180deg, var(--bg-cream-2), #fff);
}
.bg-section-header{
  max-width:820px;
  margin:0 0 28px;
}
.bg-section-header h2,
.bg-fallback-panel h2{
  margin:0;
  color:var(--bg-ink);
  font-family:var(--bg-serif);
  font-size:42px;
  line-height:1.12;
  font-weight:700;
  letter-spacing:0;
  text-wrap:balance;
}
.bg-section-content{
  color:var(--bg-soft-ink);
  font-size:17px;
  line-height:1.75;
}
.bg-section-content > *:first-child{margin-top:0}
.bg-section-content > *:last-child{margin-bottom:0}
.bg-section-content h2,
.bg-section-content h3,
.bg-page-content h2,
.bg-page-content h3,
.bg-content h2,
.bg-content h3{
  color:var(--bg-ink);
  line-height:1.2;
  letter-spacing:0;
}
.bg-section-content a,
.bg-page-content a,
.bg-content a{
  color:var(--bg-green);
  font-weight:800;
  text-decoration-thickness:2px;
  text-underline-offset:3px;
}
.bg-fallback-panel{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(280px, .85fr);
  gap:34px;
  align-items:start;
  padding:36px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,250,242,.88)),
    linear-gradient(0deg, rgba(21,59,63,.07), rgba(21,59,63,.07));
  border:1px solid rgba(31,86,50,.14);
  border-radius:var(--bg-radius);
  box-shadow:0 24px 70px rgba(29,37,32,.1);
  overflow:hidden;
  position:relative;
}
.bg-fallback-panel::before{
  content:'';
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg, var(--bg-green), var(--bg-gold), var(--bg-maroon));
}
.bg-fallback-panel p{
  margin:18px 0 0;
  color:var(--bg-soft-ink);
  font-size:17px;
}
.bg-check-list{
  list-style:none;
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
}
.bg-check-list li{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:58px;
  padding:14px 16px;
  background:#fff;
  border:1px solid rgba(31,86,50,.12);
  border-left:4px solid var(--bg-gold);
  border-radius:var(--bg-radius);
  color:var(--bg-ink);
  font-weight:850;
  box-shadow:0 8px 18px rgba(29,37,32,.06);
}
.bg-check-list span{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  color:var(--bg-green);
  background:rgba(31,86,50,.09);
  border-radius:50%;
}
.bg-check-list svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-section-edit{margin-top:18px}
.bg-link{
  color:var(--bg-green);
  font-weight:850;
  text-decoration:none;
}
.bg-link:hover{text-decoration:underline}
.bg-muted{color:var(--bg-muted)}

/* Inner pages and posts */
.bg-page{
  padding:64px 0 84px;
  background:linear-gradient(180deg, #fff, var(--bg-cream-2));
}
.bg-page-header{
  margin:0 0 22px;
}
.bg-page-title{
  margin:0;
  color:var(--bg-ink);
  font-family:var(--bg-serif);
  font-size:46px;
  line-height:1.12;
  letter-spacing:0;
}
.bg-post-meta{
  margin-top:8px;
  color:var(--bg-muted);
  font-weight:700;
}
.bg-page-content,
.bg-content{
  color:var(--bg-soft-ink);
  font-size:17px;
}
.bg-page-content{
  padding:34px;
  background:#fff;
  border:1px solid rgba(31,86,50,.13);
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow-soft);
}
.bg-page-content p,
.bg-content p{line-height:1.75}
.bg-page-hero{
  position:relative;
  min-height:460px;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  background-color:#263d31;
  background-size:cover;
  background-position:center;
  isolation:isolate;
}
.bg-page-hero::before{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(214,161,58,.22), transparent 28%),
    linear-gradient(315deg, rgba(122,15,28,.2), transparent 35%);
  mix-blend-mode:screen;
  opacity:.7;
  pointer-events:none;
}
.bg-page-hero__overlay{
  position:absolute;
  inset:0;
  background:
    linear-gradient(105deg, rgba(7,18,16,.94), rgba(12,41,43,.76) 48%, rgba(11,31,36,.34)),
    linear-gradient(0deg, rgba(7,18,16,.64), rgba(7,18,16,.04));
}
.bg-page-hero::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:155px;
  background:url('../img/realistic-treeline.png') center bottom / 1180px auto repeat-x;
  opacity:.34;
  z-index:-1;
}
.bg-page-hero__inner{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(340px, .52fr);
  gap:42px;
  align-items:center;
  padding:92px 0 70px;
  color:#fff;
}
.bg-page-hero__copy{
  max-width:860px;
  position:relative;
  z-index:2;
}
.bg-page-hero__badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:16px;
  padding:9px 13px;
  color:#173324;
  background:linear-gradient(135deg, var(--bg-gold), #f2c562);
  border-radius:999px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
  box-shadow:0 12px 28px rgba(214,161,58,.24);
}
.bg-page-hero__title{
  margin:0;
  max-width:820px;
  font-family:var(--bg-serif);
  font-size:68px;
  line-height:1.02;
  font-weight:700;
  letter-spacing:0;
  text-shadow:0 18px 42px rgba(0,0,0,.28);
  text-wrap:balance;
}
.bg-page-hero__subtitle{
  margin:18px 0 0;
  max-width:720px;
  color:rgba(255,255,255,.88);
  font-size:19px;
  line-height:1.65;
}
.bg-page-hero__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.bg-page-hero__meta span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:38px;
  padding:8px 12px;
  color:rgba(255,255,255,.88);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  backdrop-filter:blur(12px);
  font-size:13px;
  font-weight:800;
}
.bg-page-hero__meta svg{
  width:16px;
  height:16px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-page-hero__graphic{
  position:relative;
  min-height:270px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:var(--bg-radius);
  background:
    linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.06)),
    linear-gradient(315deg, rgba(214,161,58,.14), rgba(31,86,50,.08));
  box-shadow:0 28px 70px rgba(0,0,0,.28);
  backdrop-filter:blur(20px) saturate(135%);
  overflow:hidden;
  transform:translateY(10px);
}
.bg-page-hero__graphic::before{
  content:'';
  position:absolute;
  inset:20px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:var(--bg-radius);
}
.bg-page-hero__graphic::after{
  content:'';
  position:absolute;
  inset:-80px -40px auto auto;
  width:210px;
  height:210px;
  border:1px solid rgba(214,161,58,.28);
  border-radius:50%;
}
.bg-page-hero__orb{
  position:absolute;
  right:34px;
  bottom:34px;
  width:66px;
  height:66px;
  background:linear-gradient(135deg, var(--bg-gold), #f4d17a);
  border-radius:50%;
  box-shadow:0 20px 48px rgba(214,161,58,.26);
}
.bg-page-hero__window{
  position:absolute;
  left:34px;
  top:34px;
  width:112px;
  height:172px;
  border:2px solid rgba(214,161,58,.82);
  border-radius:58px 58px 10px 10px;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
}
.bg-page-hero__cross{
  position:absolute;
  right:70px;
  top:48px;
  width:86px;
  height:132px;
}
.bg-page-hero__cross::before,
.bg-page-hero__cross::after{
  content:'';
  position:absolute;
  background:rgba(255,255,255,.76);
  border-radius:999px;
}
.bg-page-hero__cross::before{
  left:38px;
  top:0;
  width:10px;
  height:132px;
}
.bg-page-hero__cross::after{
  left:0;
  top:46px;
  width:86px;
  height:10px;
}
.bg-page-hero__leaf{
  position:absolute;
  left:72px;
  bottom:34px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.84);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
}
.bg-page-hero__leaf svg{
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-page-hero__line{
  position:absolute;
  left:34px;
  right:34px;
  bottom:28px;
  height:2px;
  background:linear-gradient(90deg, var(--bg-gold), rgba(255,255,255,.16));
}

/* Enhanced inner pages */
.bg-enhanced-page{
  padding:84px 0 96px;
  background:
    linear-gradient(180deg, #fff 0%, var(--bg-cream-2) 52%, #fff 100%);
}
.bg-enhanced-shell{
  display:grid;
  grid-template-columns:minmax(0, 1.08fr) minmax(300px, .72fr);
  gap:28px;
  align-items:stretch;
}
.bg-enhanced-main,
.bg-enhanced-aside,
.bg-enhanced-portrait,
.bg-original-content{
  border:1px solid rgba(31,86,50,.13);
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow-soft);
}
.bg-enhanced-main{
  min-height:100%;
  padding:40px;
  background:
    linear-gradient(135deg, #fff, rgba(255,250,242,.82));
  position:relative;
  overflow:hidden;
}
.bg-enhanced-main::after{
  content:'';
  position:absolute;
  right:-70px;
  bottom:-120px;
  width:240px;
  height:240px;
  border:1px solid rgba(31,86,50,.12);
  border-radius:50%;
  pointer-events:none;
}
.bg-enhanced-main h2{
  margin:0;
  color:var(--bg-ink);
  font-family:var(--bg-serif);
  font-size:46px;
  line-height:1.1;
  letter-spacing:0;
  text-wrap:balance;
}
.bg-enhanced-main p{
  color:var(--bg-soft-ink);
  font-size:17px;
  line-height:1.75;
}
.bg-enhanced-intro{
  margin-top:18px;
  color:#26342b !important;
  font-size:20px !important;
  line-height:1.6 !important;
}
.bg-enhanced-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:24px;
}
.bg-enhanced-aside{
  padding:28px;
  background:
    linear-gradient(180deg, rgba(21,59,63,.98), rgba(18,61,36,.97)),
    var(--bg-green);
  color:#fff;
}
.bg-enhanced-aside h3{
  margin:0 0 18px;
  color:var(--bg-gold);
  font-size:14px;
  line-height:1.2;
  letter-spacing:0;
  text-transform:uppercase;
}
.bg-enhanced-aside ul{
  list-style:none;
  display:grid;
  gap:12px;
  margin:0;
  padding:0;
}
.bg-enhanced-aside li{
  display:flex;
  gap:10px;
  align-items:flex-start;
  color:rgba(255,255,255,.88);
  font-weight:750;
}
.bg-enhanced-aside li span{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:var(--bg-gold);
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  border-radius:50%;
}
.bg-enhanced-aside svg{
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-enhanced-aside-wide{
  margin-top:22px;
  background:#fff;
  color:var(--bg-ink);
}
.bg-enhanced-aside-wide h3{color:var(--bg-green)}
.bg-enhanced-aside-wide li{color:var(--bg-soft-ink)}
.bg-enhanced-aside-wide li span{
  color:var(--bg-green);
  background:rgba(31,86,50,.08);
  border-color:rgba(31,86,50,.14);
}
.bg-enhanced-portrait{
  overflow:hidden;
  margin:0;
  background:#fff;
}
.bg-enhanced-portrait img{
  width:100%;
  height:460px;
  display:block;
  object-fit:cover;
  object-position:center top;
}
.bg-enhanced-portrait figcaption{
  padding:14px 16px;
  color:#fff;
  background:var(--bg-maroon);
  font-weight:850;
  text-align:center;
}
.bg-enhanced-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
  margin-top:24px;
}
.bg-enhanced-card{
  padding:26px;
  background:
    linear-gradient(180deg, #fff, rgba(255,250,242,.78));
  border:1px solid rgba(31,86,50,.13);
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow-soft);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.bg-enhanced-card:hover{
  transform:translateY(-3px);
  border-color:rgba(31,86,50,.24);
  box-shadow:0 22px 46px rgba(29,37,32,.13);
}
.bg-enhanced-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  color:var(--bg-green);
  background:rgba(31,86,50,.08);
  border:1px solid rgba(31,86,50,.14);
  border-radius:var(--bg-radius);
}
.bg-enhanced-icon svg{
  width:23px;
  height:23px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-enhanced-card h3{
  margin:16px 0 8px;
  color:var(--bg-ink);
  font-size:20px;
  line-height:1.25;
}
.bg-enhanced-card p{
  margin:0;
  color:var(--bg-muted);
  line-height:1.6;
}
.bg-timeline-section{
  margin-top:28px;
  padding:34px;
  background:
    linear-gradient(135deg, rgba(21,59,63,.98), rgba(18,61,36,.97)),
    var(--bg-teal);
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow);
  color:#fff;
  overflow:hidden;
  position:relative;
}
.bg-timeline-section::before{
  content:'';
  position:absolute;
  inset:auto 0 0;
  height:160px;
  background:url('../img/realistic-treeline.png') center bottom / 1100px auto repeat-x;
  opacity:.12;
  pointer-events:none;
}
.bg-timeline-header{
  position:relative;
  max-width:740px;
  margin-bottom:30px;
}
.bg-timeline-header h2{
  margin:0;
  color:#fff;
  font-family:var(--bg-serif);
  font-size:38px;
  line-height:1.12;
  letter-spacing:0;
}
.bg-timeline{
  position:relative;
  display:grid;
  gap:18px;
}
.bg-timeline::before{
  content:'';
  position:absolute;
  left:18px;
  top:12px;
  bottom:12px;
  width:2px;
  background:linear-gradient(180deg, var(--bg-gold), rgba(255,255,255,.16));
}
.bg-timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:38px minmax(0, 1fr);
  gap:18px;
}
.bg-timeline-marker{
  position:relative;
  z-index:1;
  display:grid;
  place-items:start center;
  padding-top:17px;
}
.bg-timeline-marker span{
  width:16px;
  height:16px;
  display:block;
  background:var(--bg-gold);
  border:4px solid rgba(255,255,255,.2);
  border-radius:50%;
  box-shadow:0 0 0 6px rgba(214,161,58,.12);
}
.bg-timeline-card{
  padding:22px;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.16);
  border-radius:var(--bg-radius);
  backdrop-filter:blur(12px);
}
.bg-timeline-date{
  display:inline-flex;
  margin:0 0 9px;
  padding:6px 10px;
  color:#193321;
  background:var(--bg-gold);
  border-radius:999px;
  font-size:12px;
  font-weight:950;
  text-transform:uppercase;
}
.bg-timeline-card h3{
  margin:0 0 8px;
  color:#fff;
  font-size:22px;
  line-height:1.25;
}
.bg-timeline-card p{
  margin:0;
  color:rgba(255,255,255,.78);
}
.bg-original-content{
  margin-top:24px;
  overflow:hidden;
  background:#fff;
}
.bg-original-content summary{
  cursor:pointer;
  padding:18px 22px;
  color:var(--bg-green);
  font-weight:900;
}
.bg-original-content-inner{
  padding:0 22px 22px;
  border-top:1px solid rgba(31,86,50,.1);
}
.bg-original-content-inner style{
  display:none !important;
}

/* Blog index */
.bg-post-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.bg-post-card{
  min-height:100%;
  padding:0;
  color:var(--bg-ink);
  background:#fff;
  border:1px solid rgba(31,86,50,.13);
  box-shadow:var(--bg-shadow-soft);
}
.bg-post-card::before{display:none}
.bg-post-card-link{
  display:block;
  min-height:100%;
  padding:22px;
  text-decoration:none;
}
.bg-post-card-title{
  margin:0 0 8px;
  font-size:20px;
  line-height:1.25;
}
.bg-post-card-meta{
  color:var(--bg-green);
  font-size:13px;
  font-weight:900;
}
.bg-post-card-excerpt{
  margin-top:12px;
  color:var(--bg-muted);
}
.bg-pagination{margin-top:26px}

/* Gutenberg helpers and existing patterns */
.bg-cards{margin-top:18px}
.bg-cards .bg-card{
  min-height:auto;
  padding:24px;
}
.bg-cards h3{margin:0 0 10px}
.bg-cards p{margin:0 0 14px; color:rgba(255,255,255,.9)}
.bg-cards .wp-block-button__link{
  border-radius:999px !important;
  padding:10px 15px !important;
  color:#fff !important;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.42) !important;
  font-weight:850 !important;
}
.bg-section--pad{padding:74px 0}
.bg-slab{
  padding:28px;
  background:#fff;
  border:1px solid rgba(31,86,50,.13);
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow-soft);
}
.bg-pill{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  color:var(--bg-green);
  background:rgba(31,86,50,.08);
  border:1px solid rgba(31,86,50,.16);
  border-radius:999px;
  font-size:13px;
  font-weight:850;
}
.bg-split{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:28px;
}
.bg-cardgrid{
  display:grid;
  grid-template-columns:repeat(12, 1fr);
  gap:16px;
}
.bg-cardgrid > .wp-block-group{grid-column:span 4}
.bg-mini-card{
  padding:20px;
  background:#fff;
  border:1px solid rgba(31,86,50,.13);
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow-soft);
}
.bg-date-badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  color:var(--bg-maroon);
  background:rgba(122,15,28,.08);
  border:1px solid rgba(122,15,28,.16);
  border-radius:var(--bg-radius);
  font-weight:850;
}
.bg-avatar{
  width:84px;
  height:84px;
  border-radius:50%;
  border:6px solid #fff;
  box-shadow:0 18px 40px rgba(0,0,0,.12);
  object-fit:cover;
}
.bg-btn-row{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:16px;
}
.bg-note{
  color:var(--bg-muted);
  font-size:14px;
}
.wp-block-button__link{
  border-radius:999px;
  font-weight:850;
}
.wp-block-image img,
.bg-image-card img{
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow-soft);
}

/* Footer */
.bg-footer{
  position:relative;
  overflow:hidden;
  padding:128px 0 0;
  color:#fff;
  background:
    linear-gradient(180deg, rgba(31,86,50,.1), rgba(31,86,50,0) 46%),
    linear-gradient(135deg, #112c1d, #1f5632 55%, #143421);
}
.bg-footer-trees{
  position:absolute;
  top:-1px;
  left:0;
  right:0;
  height:220px;
  background:url('../img/realistic-treeline.png') center bottom / 1120px auto repeat-x;
  opacity:.92;
  transform:translateY(-78px);
  pointer-events:none;
}
.bg-footer-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0, 1.25fr) minmax(220px, .7fr) minmax(220px, .7fr);
  gap:44px;
  padding-bottom:46px;
}
.bg-footer-badge{
  display:flex;
  align-items:center;
  gap:14px;
}
.bg-footer-icon{
  width:74px;
  height:74px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  overflow:hidden;
  background:#fff;
  border:5px solid rgba(214,161,58,.72);
  border-radius:50%;
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}
.bg-footer-icon img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.bg-footer-icon-fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
}
.bg-footer-icon-fallback svg{
  width:100%;
  height:100%;
  display:block;
}
.bg-footer-title{
  font-size:20px;
  font-weight:950;
  line-height:1.2;
}
.bg-footer-sub{
  margin-top:2px;
  color:rgba(255,255,255,.74);
  font-weight:700;
}
.bg-footer-blessing{
  max-width:520px;
  margin:22px 0 0;
  color:rgba(255,255,255,.82);
  font-size:17px;
}
.bg-footer-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:22px;
}
.bg-footer-action{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:42px;
  padding:9px 14px;
  color:#fff;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  text-decoration:none;
  font-weight:850;
}
.bg-footer-action:hover{
  background:rgba(255,255,255,.16);
}
.bg-footer-action svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-footer-social-wrap{
  margin-top:22px;
}
.bg-footer-social-wrap > span{
  display:block;
  margin-bottom:10px;
  color:var(--bg-gold);
  font-size:13px;
  font-weight:950;
  text-transform:uppercase;
}
.bg-footer-social{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.bg-footer-social a{
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:9px 13px;
  color:#fff;
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.2);
  border-radius:999px;
  text-decoration:none;
  font-weight:850;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}
.bg-footer-social a:hover,
.bg-footer-social a:focus-visible{
  transform:translateY(-2px);
  background:rgba(255,255,255,.17);
  border-color:rgba(214,161,58,.5);
}
.bg-footer-social svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.bg-footer-column h2{
  margin:0 0 12px;
  color:var(--bg-gold);
  font-size:15px;
  line-height:1.2;
  letter-spacing:0;
  text-transform:uppercase;
}
.bg-footer-column p{
  margin:0;
  color:rgba(255,255,255,.78);
}
.bg-footer-connectional{
  margin-top:24px;
}
.bg-footer-connectional h2{
  margin-top:0;
}
.bg-footer-links{
  list-style:none;
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
}
.bg-footer-links a{
  color:rgba(255,255,255,.86);
  text-decoration:none;
  font-weight:750;
}
.bg-footer-links a:hover{
  color:#fff;
  text-decoration:underline;
  text-underline-offset:3px;
}
.bg-footer-bottom{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:18px 0;
  color:rgba(255,255,255,.7);
  border-top:1px solid rgba(255,255,255,.16);
  font-size:14px;
}
.katchup-credit{
  display:inline-block;
  line-height:0;
}
.katchup-credit img{
  display:block;
  width:160px;
  max-width:100%;
  height:auto;
  transition:
    transform .35s cubic-bezier(.2,.8,.2,1),
    filter .35s ease;
}
.katchup-credit:hover img{
  transform:translateY(-3px) scale(1.025);
  filter:drop-shadow(0 6px 9px rgba(0,0,0,.16));
}
@media (prefers-reduced-motion:reduce){
  .katchup-credit img{transition:none}
  .katchup-credit:hover img{transform:none}
}

/* Responsive */
@media (max-width: 1120px){
  .bg-brand{min-width:220px}
  .bg-nav a{padding-inline:9px}
  .bg-header-cta .bg-btn-solid{display:none}
}
@media (max-width: 980px){
  .admin-bar .bg-header{top:46px}
  .bg-header-inner{min-height:78px}
  .bg-nav-wrap{display:none}
  .bg-mobile-toggle{display:grid}
  .bg-header-cta > .bg-btn{display:none}
  .bg-hero-inner,
  .bg-home-modern-inner,
  .bg-pastor-strip-inner,
  .bg-home-gallery-header,
  .bg-page-hero__inner,
  .bg-feature-inner,
  .bg-post-grid,
  .bg-enhanced-shell,
  .bg-footer-inner{
    grid-template-columns:1fr;
  }
  .bg-hero-panel{max-width:620px}
  .bg-modern-stat-grid{grid-template-columns:1fr}
  .bg-home-gallery-content .wp-block-gallery,
  .bg-gallery-fallback-grid{grid-template-columns:1fr 1fr}
  .bg-home-gallery-content .wp-block-image:first-child,
  .bg-gallery-fallback-grid figure:first-child{grid-row:auto; grid-column:span 2; min-height:360px}
  .bg-page-hero__graphic{
    display:block;
    min-height:180px;
    max-width:520px;
    transform:none;
  }
  .bg-page-hero__window{width:76px; height:112px; border-radius:42px 42px 8px 8px}
  .bg-page-hero__cross{right:46px; top:36px; transform:scale(.72); transform-origin:top right}
  .bg-page-hero__leaf{display:none}
  .bg-feature{margin-top:-48px}
  .bg-fallback-panel,
  .bg-split{
    grid-template-columns:1fr;
  }
  .bg-cardgrid > .wp-block-group{grid-column:span 6}
  .bg-enhanced-grid{grid-template-columns:1fr}
  .bg-enhanced-portrait img{height:500px}
}
@media (max-width: 782px){
  .admin-bar .bg-header{top:46px}
}
@media (max-width: 700px){
  .bg-container,
  .bg-page-inner,
  .bg-section-inner,
  .bg-header-inner,
  .bg-footer-inner,
  .bg-footer-bottom,
  .bg-feature-inner,
  .bg-home-modern-inner,
  .bg-pastor-strip-inner,
  .bg-home-gallery-inner,
  .bg-hero-inner{
    width:min(100% - 28px, var(--bg-max));
  }
  .custom-logo{max-width:220px; max-height:58px}
  .bg-brand{min-width:0}
  .bg-brand-top{font-size:18px}
  .bg-brand-sub{font-size:11px}
  .bg-hero{
    min-height:720px;
    background-position:center right 36%;
  }
  .bg-hero-inner{padding:78px 0 104px}
  .bg-hero h1{font-size:43px}
  .bg-hero-subtitle{font-size:17px}
  .bg-hero-actions .bg-btn{
    width:100%;
  }
  .bg-card{
    min-height:116px;
    padding:18px;
  }
  .bg-home-modern,
  .bg-pastor-strip,
  .bg-home-gallery{padding:58px 0}
  .bg-home-lead h2,
  .bg-pastor-strip h2,
  .bg-home-gallery-header h2{font-size:34px}
  .bg-modern-stat-grid article{min-height:0}
  .bg-pastor-strip figure{min-height:360px}
  .bg-pastor-strip img{height:360px}
  .bg-page-hero{min-height:520px}
  .bg-page-hero__inner{padding:64px 0 46px}
  .bg-section{padding:58px 0}
  .bg-section-header h2,
  .bg-fallback-panel h2,
  .bg-page-title,
  .bg-page-hero__title{
    font-size:34px;
  }
  .bg-page-hero__subtitle{font-size:16px}
  .bg-page-hero__meta span{
    width:100%;
    border-radius:var(--bg-radius);
  }
  .bg-fallback-panel,
  .bg-page-content,
  .bg-enhanced-main,
  .bg-enhanced-aside,
  .bg-enhanced-card,
  .bg-slab{
    padding:22px;
  }
  .bg-enhanced-main h2{font-size:34px}
  .bg-timeline-section{padding:22px}
  .bg-timeline-header h2{font-size:31px}
  .bg-enhanced-intro{font-size:18px !important}
  .bg-enhanced-actions .bg-btn{width:100%}
  .bg-enhanced-portrait img{height:420px}
  .bg-cardgrid > .wp-block-group{grid-column:span 12}
  .bg-footer{padding-top:112px}
  .bg-footer-bottom{
    flex-direction:column;
    align-items:flex-start;
  }
  .katchup-credit{
    align-self:flex-start;
  }
}
@media (max-width: 420px){
  .bg-brand-text{display:none}
  .custom-logo{max-width:190px}
  .bg-hero h1{font-size:37px}
  .bg-card-title{font-size:18px}
  .bg-card-icon{width:42px; height:42px}
  .bg-home-gallery-content .wp-block-gallery,
  .bg-gallery-fallback-grid{grid-template-columns:1fr}
  .bg-home-gallery-content .wp-block-image:first-child,
  .bg-gallery-fallback-grid figure:first-child{grid-column:auto; min-height:260px}
}

.bg-home-gallery-content .wp-block-gallery,
.bg-gallery-fallback-grid{
  grid-template-columns:none !important;
}
.bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image,
.bg-home-gallery-content .wp-block-gallery .wp-block-image,
.bg-gallery-fallback-grid figure{
  width:auto !important;
  max-width:none !important;
  flex-grow:0 !important;
  flex-shrink:0 !important;
}
.bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image img{
  flex:1 0 auto !important;
}
.bg-home-gallery-stage::before,
.bg-home-gallery-stage::after{
  content:"";
  position:absolute;
  top:0;
  bottom:16px;
  z-index:2;
  width:min(12vw, 90px);
  pointer-events:none;
}
.bg-home-gallery-stage::before{
  left:0;
  background:linear-gradient(90deg, #fff, rgba(255,255,255,0));
}
.bg-home-gallery-stage::after{
  right:0;
  background:linear-gradient(270deg, #fff, rgba(255,255,255,0));
}
@media (max-width: 980px){
  .bg-home-gallery-header{
    grid-template-columns:minmax(0, 1fr) auto;
  }
  .bg-home-gallery-content .wp-block-image,
  .bg-gallery-fallback-grid figure{
    flex-basis:min(82vw, 390px);
    min-height:330px;
  }
  .bg-home-gallery-content .wp-block-image:first-child,
  .bg-gallery-fallback-grid figure:first-child{
    flex-basis:min(86vw, 480px);
    min-height:360px;
  }
}
@media (max-width: 560px){
  .bg-home-gallery-header{
    align-items:center;
    gap:16px;
  }
  .bg-gallery-control{
    width:42px;
    height:42px;
  }
  .bg-home-gallery-content .wp-block-image,
  .bg-gallery-fallback-grid figure,
  .bg-home-gallery-content .wp-block-image:first-child,
  .bg-gallery-fallback-grid figure:first-child{
    flex-basis:84vw;
    min-height:285px;
  }
  .bg-home-gallery-stage::before,
  .bg-home-gallery-stage::after{
    width:30px;
  }
}

/* Premium gallery feature */
.bg-home-gallery{
  background:
    linear-gradient(180deg, #fff 0%, rgba(246,241,232,.72) 48%, #fff 100%);
  overflow:hidden;
}
.bg-home-gallery-inner,
.bg-home-gallery-stage,
.bg-home-gallery-content{
  min-width:0;
  max-width:100%;
}
.bg-home-gallery *,
.bg-home-gallery *::before,
.bg-home-gallery *::after{
  box-sizing:border-box;
}
.bg-home-gallery-stage{
  display:grid;
  gap:18px;
  width:100%;
  overflow:hidden;
}
.bg-gallery-focus{
  position:relative;
  z-index:1;
  margin:0;
  width:100%;
  max-width:100%;
  min-height:clamp(360px, 54vw, 620px);
  overflow:hidden;
  border-radius:30px;
  border:1px solid rgba(31,86,50,.14);
  background:#121f19;
  box-shadow:0 34px 90px rgba(7,18,16,.18);
}
.bg-gallery-focus img{
  width:100%;
  height:100%;
  min-height:clamp(360px, 54vw, 620px);
  display:block;
  object-fit:cover;
  opacity:.98;
  transform:scale(1.01);
  transition:opacity .35s ease, transform 4.8s ease;
}
.bg-gallery-focus.is-changing img{
  opacity:1;
  transform:scale(1.06);
}
.bg-gallery-focus figcaption{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  max-width:calc(100% - 36px);
  padding:10px 14px;
  color:#fff;
  background:rgba(7,18,16,.66);
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  backdrop-filter:blur(14px);
  font-weight:850;
}
.bg-home-gallery-content .wp-block-gallery,
.bg-gallery-fallback-grid{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:12px !important;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 4px 12px;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
}
.bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide,
.bg-home-gallery-content .wp-block-gallery .bg-gallery-slide,
.bg-gallery-fallback-grid .bg-gallery-slide{
  flex:0 0 clamp(116px, 16vw, 190px) !important;
  width:auto !important;
  max-width:none !important;
  min-height:0 !important;
  aspect-ratio:4 / 3;
  border-radius:18px;
  cursor:pointer;
  opacity:.68;
  transform:translateY(0);
  transition:opacity .22s ease, transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide.is-active,
.bg-home-gallery-content .wp-block-gallery .bg-gallery-slide.is-active,
.bg-gallery-fallback-grid .bg-gallery-slide.is-active,
.bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide:hover,
.bg-home-gallery-content .wp-block-gallery .bg-gallery-slide:hover,
.bg-gallery-fallback-grid .bg-gallery-slide:hover{
  opacity:1;
  transform:translateY(-4px);
  border-color:rgba(214,161,58,.72);
  box-shadow:0 20px 44px rgba(7,18,16,.18);
}
.bg-home-gallery-content .bg-gallery-slide img,
.bg-gallery-fallback-grid .bg-gallery-slide img{
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:cover;
}
.bg-gallery-empty{
  display:none !important;
}
.bg-home-gallery-stage{
  overflow:hidden;
  gap:22px;
}
.bg-home-gallery-stage::before,
.bg-home-gallery-stage::after{
  display:none;
}
.bg-gallery-focus{
  aspect-ratio:16 / 8.3;
  min-height:420px;
  max-height:620px;
}
.bg-gallery-focus::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(7,18,16,0) 58%, rgba(7,18,16,.46)),
    linear-gradient(90deg, rgba(7,18,16,.22), rgba(7,18,16,0) 34%);
  pointer-events:none;
}
.bg-gallery-focus img{
  min-height:420px;
}
.bg-gallery-focus figcaption{
  z-index:1;
}
.bg-home-gallery-content .wp-block-gallery,
.bg-gallery-fallback-grid{
  gap:20px !important;
  padding:8px 2px 20px;
}
.bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide,
.bg-home-gallery-content .wp-block-gallery .bg-gallery-slide,
.bg-gallery-fallback-grid .bg-gallery-slide{
  flex-basis:clamp(132px, 17vw, 210px) !important;
  border-radius:20px;
}

/* Coverflow gallery */
.bg-home-gallery{
  position:relative;
  padding:96px 0;
  color:var(--bg-ink);
  background:
    radial-gradient(circle at 50% 12%, rgba(214,161,58,.16), rgba(214,161,58,0) 36%),
    linear-gradient(180deg, #fff 0%, var(--bg-cream-2) 52%, #fff 100%);
}
.bg-home-gallery::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:190px;
  background:url('../img/realistic-treeline.png') center bottom / 1180px auto repeat-x;
  opacity:.2;
  pointer-events:none;
}
.bg-home-gallery-inner{
  position:relative;
  z-index:1;
}
.bg-home-gallery-header h2{
  color:var(--bg-ink);
}
.bg-home-gallery .bg-kicker{
  color:var(--bg-green);
}
.bg-home-gallery .bg-gallery-control{
  color:var(--bg-green);
  background:#fff;
  border-color:rgba(31,86,50,.16);
  box-shadow:0 18px 38px rgba(7,18,16,.12);
}
.bg-home-gallery .bg-gallery-control:hover,
.bg-home-gallery .bg-gallery-control:focus-visible{
  color:#fff;
  background:var(--bg-green);
  border-color:var(--bg-green);
}
.bg-home-gallery-stage{
  padding:8px 0 0;
  min-height:clamp(450px, 58vw, 650px);
}
.bg-gallery-coverflow{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:clamp(450px, 58vw, 650px);
  overflow:hidden !important;
  padding:0 !important;
  margin:0 !important;
  perspective:1200px;
  border:1px solid rgba(31,86,50,.13);
  border-radius:34px;
  background:
    radial-gradient(circle at 50% 45%, rgba(214,161,58,.22), rgba(214,161,58,0) 34%),
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(246,241,232,.82));
  box-shadow:0 34px 90px rgba(7,18,16,.13);
}
.bg-gallery-coverflow::before,
.bg-gallery-coverflow::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  z-index:20;
  width:min(16vw, 180px);
  pointer-events:none;
}
.bg-gallery-coverflow::before{
  left:0;
  background:linear-gradient(90deg, rgba(255,255,255,.98), rgba(255,255,255,0));
}
.bg-gallery-coverflow::after{
  right:0;
  background:linear-gradient(270deg, rgba(255,255,255,.98), rgba(255,255,255,0));
}
.bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide,
.bg-home-gallery-content .wp-block-gallery .bg-gallery-slide,
.bg-gallery-fallback-grid .bg-gallery-slide{
  position:absolute !important;
  left:50%;
  top:50%;
  width:clamp(270px, 34vw, 470px) !important;
  height:clamp(340px, 46vw, 560px) !important;
  min-height:0 !important;
  max-width:none !important;
  margin:0 !important;
  overflow:hidden;
  border-radius:24px;
  border:1px solid rgba(31,86,50,.14);
  background:#fff;
  opacity:var(--bg-gallery-opacity, 1);
  z-index:var(--bg-gallery-z, 1);
  transform:
    translate(-50%, -50%)
    translateX(var(--bg-gallery-x, 0%))
    scale(var(--bg-gallery-scale, 1))
    rotateY(var(--bg-gallery-rotate, 0deg));
  transform-style:preserve-3d;
  box-shadow:0 26px 70px rgba(7,18,16,.22);
  cursor:pointer;
  transition:transform .55s cubic-bezier(.2,.8,.2,1), opacity .35s ease, filter .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide.is-active,
.bg-home-gallery-content .wp-block-gallery .bg-gallery-slide.is-active,
.bg-gallery-fallback-grid .bg-gallery-slide.is-active{
  border-color:rgba(214,161,58,.82);
  box-shadow:0 36px 100px rgba(7,18,16,.24), 0 0 0 1px rgba(214,161,58,.28);
  filter:saturate(1.04) contrast(1.02);
}
.bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide.is-hidden,
.bg-home-gallery-content .wp-block-gallery .bg-gallery-slide.is-hidden,
.bg-gallery-fallback-grid .bg-gallery-slide.is-hidden{
  opacity:0 !important;
  pointer-events:none;
}
.bg-home-gallery-content .bg-gallery-slide img,
.bg-gallery-fallback-grid .bg-gallery-slide img{
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:cover;
  transition:transform .55s ease, filter .35s ease;
}
.bg-home-gallery-content .bg-gallery-slide:hover img,
.bg-home-gallery-content .bg-gallery-slide.is-active img,
.bg-gallery-fallback-grid .bg-gallery-slide:hover img,
.bg-gallery-fallback-grid .bg-gallery-slide.is-active img{
  transform:scale(1.045);
}
.bg-home-gallery-content .bg-gallery-slide figcaption,
.bg-gallery-fallback-grid .bg-gallery-slide figcaption{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
  z-index:2;
  padding:10px 13px;
  color:#fff;
  background:linear-gradient(135deg, rgba(31,86,50,.9), rgba(18,61,36,.86));
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  backdrop-filter:blur(12px);
  font-weight:850;
  opacity:0;
  transform:translateY(10px);
  transition:opacity .24s ease, transform .24s ease;
}
.bg-home-gallery-content .bg-gallery-slide.is-active figcaption,
.bg-home-gallery-content .bg-gallery-slide:hover figcaption,
.bg-gallery-fallback-grid .bg-gallery-slide.is-active figcaption,
.bg-gallery-fallback-grid .bg-gallery-slide:hover figcaption{
  opacity:1;
  transform:translateY(0);
}
.bg-gallery-viewer[hidden]{
  display:none;
}
.bg-gallery-viewer{
  position:fixed;
  inset:0;
  z-index:9999;
  display:grid;
  place-items:center;
  padding:28px;
  background:rgba(255,250,242,.92);
  backdrop-filter:blur(12px);
}
.bg-gallery-viewer figure{
  position:relative;
  margin:0;
  max-width:min(1080px, 92vw);
}
.bg-gallery-viewer img{
  max-width:100%;
  max-height:82vh;
  display:block;
  object-fit:contain;
  border-radius:24px;
  border:1px solid rgba(31,86,50,.14);
  box-shadow:0 36px 110px rgba(7,18,16,.26);
}
.bg-gallery-viewer figcaption{
  margin-top:12px;
  color:var(--bg-ink);
  text-align:center;
  font-weight:850;
}
.bg-gallery-viewer-close{
  position:fixed;
  top:22px;
  right:22px;
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  color:#fff;
  background:var(--bg-green);
  border:1px solid rgba(31,86,50,.22);
  border-radius:50%;
  font-size:30px;
  line-height:1;
  cursor:pointer;
}
body.bg-gallery-viewer-open{
  overflow:hidden;
}

/* Pastor biography */
.bg-pastor-bio-panel{
  margin-top:28px;
  padding:34px;
  background:
    linear-gradient(135deg, #fff, rgba(255,250,242,.88));
  border:1px solid rgba(31,86,50,.13);
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow-soft);
}
.bg-pastor-bio-heading{
  max-width:760px;
  margin-bottom:18px;
}
.bg-pastor-bio-heading h2{
  margin:0;
  color:var(--bg-ink);
  font-family:var(--bg-serif);
  font-size:38px;
  line-height:1.14;
}
.bg-pastor-bio-content{
  display:grid;
  gap:16px;
  color:var(--bg-soft-ink);
  font-size:17px;
  line-height:1.78;
}
.bg-pastor-bio-content > *{
  margin-block:0;
}
.bg-pastor-bio-content h2,
.bg-pastor-bio-content h3{
  color:var(--bg-ink);
  line-height:1.2;
}
.bg-pastor-bio-empty{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  align-items:center;
  justify-content:space-between;
  padding:22px;
  background:rgba(31,86,50,.06);
  border:1px dashed rgba(31,86,50,.22);
  border-radius:20px;
}
.bg-pastor-bio-empty p{
  margin:0;
  color:var(--bg-soft-ink);
  font-weight:760;
}

/* Contact form */
.bg-contact-form-panel{
  margin-top:28px;
  display:grid;
  grid-template-columns:minmax(0, .78fr) minmax(360px, 1fr);
  gap:28px;
  align-items:start;
  padding:34px;
  background:
    linear-gradient(135deg, rgba(21,59,63,.98), rgba(18,61,36,.97));
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow);
  color:#fff;
}
.bg-contact-form-copy h2{
  margin:0;
  color:#fff;
  font-family:var(--bg-serif);
  font-size:40px;
  line-height:1.14;
}
.bg-contact-form-copy p{
  color:rgba(255,255,255,.8);
  font-size:17px;
  line-height:1.7;
}
.bg-contact-form{
  display:grid;
  gap:16px;
  padding:24px;
  background:#fff;
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  box-shadow:0 28px 70px rgba(7,18,16,.24);
}
.bg-form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.bg-contact-form label{
  display:grid;
  gap:8px;
  color:var(--bg-ink);
  font-size:14px;
  font-weight:900;
}
.bg-contact-form input,
.bg-contact-form textarea{
  width:100%;
  border:1px solid rgba(31,86,50,.18);
  border-radius:14px;
  padding:13px 14px;
  color:var(--bg-ink);
  background:rgba(246,241,232,.42);
  font:inherit;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.bg-contact-form textarea{
  resize:vertical;
  min-height:150px;
}
.bg-contact-form input:focus,
.bg-contact-form textarea:focus{
  border-color:rgba(31,86,50,.58);
  background:#fff;
  box-shadow:0 0 0 4px rgba(31,86,50,.1);
}
.bg-contact-hidden{
  position:absolute;
  left:-9999px;
}
.bg-form-alert{
  padding:12px 14px;
  border-radius:14px;
  font-weight:850;
}
.bg-form-alert-success{
  color:#173324;
  background:rgba(31,86,50,.12);
  border:1px solid rgba(31,86,50,.22);
}
.bg-form-alert-error{
  color:#7a0f1c;
  background:rgba(122,15,28,.09);
  border:1px solid rgba(122,15,28,.18);
}

/* Cleaner tree-led inner page headers */
.bg-page-hero{
  min-height:540px;
  align-items:center;
  background-position:center;
}
.bg-page-hero::before{
  z-index:0;
  background:
    linear-gradient(120deg, rgba(214,161,58,.2), transparent 24%),
    linear-gradient(270deg, rgba(255,255,255,.1), transparent 42%);
  mix-blend-mode:normal;
  opacity:.9;
}
.bg-page-hero__overlay{
  z-index:0;
  background:
    linear-gradient(105deg, rgba(7,18,16,.94), rgba(14,48,42,.78) 48%, rgba(7,18,16,.28)),
    linear-gradient(0deg, rgba(7,18,16,.72), rgba(7,18,16,.05));
}
.bg-page-hero::after{
  z-index:0;
  height:230px;
  background-size:1320px auto;
  opacity:.48;
  animation:bgTreeDrift 22s ease-in-out infinite alternate;
}
.bg-page-hero__inner{
  grid-template-columns:minmax(0, 1fr) minmax(240px, .38fr);
  padding:112px 0 92px;
}
.bg-page-hero__badge{
  color:#fff;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:none;
  backdrop-filter:blur(12px);
}
.bg-page-hero__title{
  max-width:900px;
  font-size:76px;
}
.bg-page-hero__graphic{
  min-height:330px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  backdrop-filter:none;
  overflow:visible;
}
.bg-page-hero__graphic::before{
  inset:auto 0 0;
  height:250px;
  border:0;
  border-radius:0;
  background:url('../img/realistic-treeline.png') center bottom / contain no-repeat;
  opacity:.78;
  filter:drop-shadow(0 30px 34px rgba(0,0,0,.22));
  animation:bgTreeFloat 8s ease-in-out infinite alternate;
}
.bg-page-hero__graphic::after,
.bg-page-hero__orb,
.bg-page-hero__window,
.bg-page-hero__cross,
.bg-page-hero__leaf,
.bg-page-hero__line{
  display:none;
}
@keyframes bgTreeDrift{
  from{background-position:center bottom}
  to{background-position:calc(50% + 36px) bottom}
}
@keyframes bgTreeFloat{
  from{transform:translateY(8px)}
  to{transform:translateY(-6px)}
}

/* Animated history timeline */
.bg-timeline-section{
  background:
    linear-gradient(135deg, rgba(12,43,39,.99), rgba(23,75,45,.97)),
    var(--bg-teal);
}
.bg-timeline::before{
  transform-origin:top;
  animation:bgTimelineGrow 1.3s ease both;
}
.bg-timeline-item,
.bg-managed-event-card{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .55s ease, transform .55s ease;
}
.bg-timeline-item.is-visible,
.bg-managed-event-card.is-visible{
  opacity:1;
  transform:translateY(0);
}
.bg-timeline-card{
  transition:transform .22s ease, background .22s ease, border-color .22s ease;
}
.bg-timeline-card:hover{
  transform:translateX(6px);
  background:rgba(255,255,255,.14);
  border-color:rgba(214,161,58,.35);
}
@keyframes bgTimelineGrow{
  from{transform:scaleY(0)}
  to{transform:scaleY(1)}
}

/* Managed events */
.bg-managed-events{
  margin-top:28px;
  padding:34px;
  background:#fff;
  border:1px solid rgba(31,86,50,.13);
  border-radius:var(--bg-radius);
  box-shadow:var(--bg-shadow-soft);
}
.bg-managed-events-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}
.bg-managed-events-header > div{
  max-width:760px;
}
.bg-managed-events-header h2{
  margin:0;
  color:var(--bg-ink);
  font-family:var(--bg-serif);
  font-size:38px;
  line-height:1.12;
}
.bg-managed-events-calendar-link{
  flex:0 0 auto;
  white-space:nowrap;
}
.bg-managed-event-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:18px;
}
.bg-managed-event-card{
  overflow:hidden;
  background:linear-gradient(180deg, #fff, rgba(255,250,242,.78));
  border:1px solid rgba(31,86,50,.13);
  border-radius:22px;
  box-shadow:var(--bg-shadow-soft);
}
.bg-managed-event-card figure{
  margin:0;
  height:190px;
  overflow:hidden;
  background:var(--bg-cream);
}
.bg-managed-event-card img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .5s ease;
}
.bg-managed-event-card:hover img{
  transform:scale(1.05);
}
.bg-managed-event-body{
  padding:22px;
}
.bg-managed-event-body h3{
  margin:12px 0 8px;
  color:var(--bg-ink);
  font-size:22px;
  line-height:1.2;
}
.bg-managed-event-body p{
  color:var(--bg-muted);
}
.bg-managed-event-location{
  display:flex;
  gap:8px;
  align-items:center;
  margin:0 0 8px;
  font-weight:800;
}
.bg-managed-event-location svg{
  width:17px;
  height:17px;
  fill:none;
  stroke:var(--bg-green);
  stroke-width:2;
}
.bg-managed-events-empty{
  padding:28px;
  background:rgba(31,86,50,.06);
  border:1px dashed rgba(31,86,50,.24);
  border-radius:20px;
}
.bg-managed-events-empty h3{
  margin:0 0 8px;
}

/* The Events Calendar plugin: make widgets and calendar views feel native */
.widget.bg-card,
.wp-block-widget,
.tribe-events-widget{
  border-radius:22px;
}
.widget.bg-card .widget-title,
.widget-title,
.tribe-events-widget .widget-title,
.tribe-events-widget h2,
.tribe-events-widget-events-list__header-title{
  margin:0 0 18px;
  color:var(--bg-ink);
  font-family:var(--bg-serif);
  font-size:clamp(24px, 3vw, 34px);
  line-height:1.08;
  letter-spacing:0;
}
.tribe-common,
.tribe-common .tribe-common-h1,
.tribe-common .tribe-common-h2,
.tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4,
.tribe-common .tribe-common-h5,
.tribe-common .tribe-common-h6,
.tribe-common .tribe-common-b1,
.tribe-common .tribe-common-b2,
.tribe-common .tribe-common-b3,
.tribe-common .tribe-common-c-btn,
.tribe-events-widget{
  font-family:var(--bg-sans);
}
.tribe-common .tribe-common-h1,
.tribe-common .tribe-common-h2,
.tribe-common .tribe-common-h3,
.tribe-common .tribe-common-h4,
.tribe-common .tribe-common-h5,
.tribe-common .tribe-common-h6{
  color:var(--bg-ink);
  font-weight:900;
}
.tribe-events-widget,
.tribe-events-widget-events-list,
.tribe-events,
.tribe-common--breakpoint-medium.tribe-events{
  color:var(--bg-ink);
}
.tribe-events-widget-events-list{
  padding:0;
}
.tribe-events-widget-events-list__event-row{
  display:grid !important;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:start;
  margin:0 0 14px !important;
  padding:16px !important;
  background:linear-gradient(180deg, #fff, rgba(255,250,242,.84));
  border:1px solid rgba(31,86,50,.13);
  border-radius:18px;
  box-shadow:0 12px 32px rgba(20,43,29,.08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.tribe-events-widget-events-list__event-row:hover{
  border-color:rgba(31,86,50,.24);
  box-shadow:0 18px 42px rgba(20,43,29,.12);
  transform:translateY(-2px);
}
.tribe-events-widget-events-list__event-date-tag{
  width:58px !important;
  min-width:58px;
  padding:8px 6px;
  background:var(--bg-green);
  border-radius:16px;
  box-shadow:0 12px 24px rgba(31,86,50,.18);
  text-align:center;
}
.tribe-events-widget-events-list__event-date-tag-month,
.tribe-events-widget-events-list__event-date-tag-daynum{
  display:block;
  color:#fff !important;
  font-family:var(--bg-sans) !important;
  line-height:1 !important;
}
.tribe-events-widget-events-list__event-date-tag-month{
  margin-bottom:5px;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tribe-events-widget-events-list__event-date-tag-daynum{
  font-size:26px !important;
  font-weight:950 !important;
}
.tribe-events-widget-events-list__event-title{
  margin:0 0 7px !important;
  color:var(--bg-ink) !important;
  font-size:18px !important;
  line-height:1.18 !important;
}
.tribe-events-widget-events-list__event-title a,
.tribe-events-widget-events-list__event-title-link,
.tribe-events-calendar-list__event-title-link,
.tribe-events-calendar-month__calendar-event-title-link{
  color:var(--bg-ink) !important;
  text-decoration:none !important;
  border:0 !important;
}
.tribe-events-widget-events-list__event-title a:hover,
.tribe-events-widget-events-list__event-title-link:hover,
.tribe-events-calendar-list__event-title-link:hover,
.tribe-events-calendar-month__calendar-event-title-link:hover{
  color:var(--bg-green) !important;
}
.tribe-events-widget-events-list__event-datetime-wrapper,
.tribe-events-widget-events-list__event-datetime,
.tribe-events-calendar-list__event-datetime,
.tribe-events-calendar-list__event-venue,
.tribe-events-calendar-list__event-description{
  color:var(--bg-muted) !important;
  font-size:14px !important;
  line-height:1.55 !important;
}
.tribe-events-widget-events-list__view-more{
  margin-top:18px !important;
}
.tribe-events-widget-events-list__view-more-link,
.tribe-events-c-subscribe-dropdown__button,
.tribe-common .tribe-common-c-btn,
.tribe-common a.tribe-common-c-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:12px 20px !important;
  color:#fff !important;
  background:var(--bg-green) !important;
  border:1px solid var(--bg-green) !important;
  border-radius:999px !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:0 14px 30px rgba(31,86,50,.18);
  transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}
.tribe-events-widget-events-list__view-more-link:hover,
.tribe-events-c-subscribe-dropdown__button:hover,
.tribe-common .tribe-common-c-btn:hover,
.tribe-common a.tribe-common-c-btn:hover{
  color:#fff !important;
  background:#174728 !important;
  box-shadow:0 18px 38px rgba(31,86,50,.24);
  transform:translateY(-1px);
}
.tribe-events .tribe-events-l-container{
  max-width:1180px;
  padding-top:36px !important;
  padding-bottom:72px !important;
}
body.post-type-archive-tribe_events .bg-site > .tribe-events .tribe-events-l-container,
body.tribe-events-page-template .bg-site > .tribe-events .tribe-events-l-container,
body.events-archive .bg-site > .tribe-events .tribe-events-l-container,
body.single-tribe_events .bg-site > .tribe-events .tribe-events-l-container{
  padding-top:48px !important;
}
.admin-bar.post-type-archive-tribe_events .bg-site > .tribe-events .tribe-events-l-container,
.admin-bar.tribe-events-page-template .bg-site > .tribe-events .tribe-events-l-container,
.admin-bar.events-archive .bg-site > .tribe-events .tribe-events-l-container,
.admin-bar.single-tribe_events .bg-site > .tribe-events .tribe-events-l-container{
  padding-top:48px !important;
}
.tribe-events .tribe-events-header,
.tribe-events .tribe-events-c-top-bar,
.tribe-events .tribe-events-calendar-list__event,
.tribe-events .tribe-events-calendar-day__event{
  border-radius:24px;
}
.tribe-events .tribe-events-header{
  margin-bottom:24px !important;
  padding:22px !important;
  background:rgba(255,255,255,.86);
  border:1px solid rgba(31,86,50,.12);
  box-shadow:var(--bg-shadow-soft);
}
.tribe-events .tribe-events-c-events-bar,
.tribe-events .tribe-events-c-top-bar__datepicker-button,
.tribe-events .tribe-events-c-view-selector__content{
  border-radius:999px !important;
}
.tribe-events .tribe-events-c-events-bar{
  border:1px solid rgba(31,86,50,.14) !important;
  box-shadow:0 12px 30px rgba(20,43,29,.08);
}
.tribe-events .tribe-events-calendar-list__event{
  margin:0 0 24px !important;
  padding:22px !important;
  background:linear-gradient(180deg, #fff, rgba(255,250,242,.82));
  border:1px solid rgba(31,86,50,.13);
  box-shadow:var(--bg-shadow-soft);
}
.tribe-events .tribe-events-calendar-list__event-date-tag{
  min-width:82px;
  padding:12px 8px;
  background:var(--bg-green);
  border-radius:18px;
  text-align:center;
}
.tribe-events .tribe-events-calendar-list__event-date-tag-weekday,
.tribe-events .tribe-events-calendar-list__event-date-tag-daynum{
  color:#fff !important;
  font-family:var(--bg-sans) !important;
}
.tribe-events .tribe-events-calendar-list__event-title{
  font-family:var(--bg-serif);
  font-size:clamp(26px, 3vw, 38px) !important;
  line-height:1.08 !important;
}
.tribe-events .tribe-events-calendar-month__day{
  border-color:rgba(31,86,50,.12) !important;
}
.tribe-events .tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date,
.tribe-events .tribe-events-calendar-month__day-cell--selected,
.tribe-events .tribe-events-calendar-month__mobile-events-icon--event{
  color:var(--bg-green) !important;
}
.tribe-events .tribe-events-calendar-month__calendar-event{
  padding:8px !important;
  background:rgba(31,86,50,.06);
  border-left:3px solid var(--bg-gold);
  border-radius:10px;
}
.tribe-events .tribe-events-c-messages__message{
  padding:22px !important;
  background:rgba(31,86,50,.07) !important;
  border:1px dashed rgba(31,86,50,.26) !important;
  border-radius:18px !important;
  color:var(--bg-ink) !important;
}

@media (max-width: 980px){
  .bg-page-hero__inner{
    grid-template-columns:1fr;
  }
  .bg-page-hero__title{
    font-size:48px;
  }
  .bg-page-hero__graphic{
    display:none;
  }
  .bg-managed-event-grid{
    grid-template-columns:1fr;
  }
  .bg-managed-events-header{
    align-items:flex-start;
    flex-direction:column;
  }
  .tribe-events .tribe-events-calendar-list__event{
    padding:18px !important;
  }
  body.post-type-archive-tribe_events .bg-site > .tribe-events .tribe-events-l-container,
  body.tribe-events-page-template .bg-site > .tribe-events .tribe-events-l-container,
  body.events-archive .bg-site > .tribe-events .tribe-events-l-container,
  body.single-tribe_events .bg-site > .tribe-events .tribe-events-l-container{
    padding-top:30px !important;
  }
  .admin-bar.post-type-archive-tribe_events .bg-site > .tribe-events .tribe-events-l-container,
  .admin-bar.tribe-events-page-template .bg-site > .tribe-events .tribe-events-l-container,
  .admin-bar.events-archive .bg-site > .tribe-events .tribe-events-l-container,
  .admin-bar.single-tribe_events .bg-site > .tribe-events .tribe-events-l-container{
    padding-top:30px !important;
  }
  .bg-contact-form-panel{
    grid-template-columns:1fr;
  }
}
@media (max-width: 560px){
  .bg-page-hero__title{
    font-size:38px;
  }
  .bg-gallery-focus,
  .bg-gallery-focus img{
    min-height:330px;
    border-radius:22px;
  }
  .bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide,
  .bg-home-gallery-content .wp-block-gallery .bg-gallery-slide,
  .bg-gallery-fallback-grid .bg-gallery-slide{
    flex-basis:118px !important;
  }
  .bg-managed-events,
  .bg-timeline-section,
  .bg-contact-form-panel,
  .bg-pastor-bio-panel{
    padding:22px;
  }
  .bg-form-grid{
    grid-template-columns:1fr;
  }
  .bg-contact-form{
    padding:18px;
  }
}
@media (max-width: 760px){
  .bg-home-gallery{
    padding:70px 0;
  }
  .bg-home-gallery-stage,
  .bg-gallery-coverflow{
    min-height:430px;
    height:430px;
  }
  .bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide,
  .bg-home-gallery-content .wp-block-gallery .bg-gallery-slide,
  .bg-gallery-fallback-grid .bg-gallery-slide{
    width:min(74vw, 330px) !important;
    height:360px !important;
    flex-basis:auto !important;
    border-radius:22px;
  }
  .bg-gallery-coverflow::before,
  .bg-gallery-coverflow::after{
    width:70px;
  }
}
@media (max-width: 420px){
  .bg-home-gallery-stage,
  .bg-gallery-coverflow{
    min-height:390px;
    height:390px;
  }
  .bg-home-gallery-content .wp-block-gallery.has-nested-images figure.wp-block-image.bg-gallery-slide,
  .bg-home-gallery-content .wp-block-gallery .bg-gallery-slide,
  .bg-gallery-fallback-grid .bg-gallery-slide{
    width:78vw !important;
    height:320px !important;
  }
}

/* Plugin-friendly homepage gallery */
.bg-home-gallery{
  padding:84px 0;
  color:var(--bg-ink);
  background:
    linear-gradient(180deg, #fff 0%, var(--bg-cream-2) 52%, #fff 100%);
}
.bg-home-gallery::before{
  display:none !important;
}
.bg-home-gallery-header h2{
  color:var(--bg-ink);
}
.bg-home-gallery .bg-kicker{
  color:var(--bg-green);
}
.bg-home-gallery-stage{
  min-height:0;
  height:auto;
  padding:0;
  overflow:visible;
}
.bg-home-gallery-content{
  padding:28px;
  background:#fff;
  border:1px solid rgba(31,86,50,.12);
  border-radius:28px;
  box-shadow:var(--bg-shadow-soft);
  max-width:100%;
  overflow:hidden;
}
.bg-home-gallery-content > *{
  max-width:100%;
}
.bg-home-gallery-content img,
.bg-home-gallery-content iframe,
.bg-home-gallery-content video,
.bg-home-gallery-content canvas{
  max-width:100%;
}
.bg-home-gallery-content .wp-block-shortcode,
.bg-home-gallery-content .wp-block-group,
.bg-home-gallery-content [class*="gallery"],
.bg-home-gallery-content [class*="Gallery"],
.bg-home-gallery-content [id*="gallery"],
.bg-home-gallery-content [id*="Gallery"]{
  max-width:100%;
}
.bg-home-gallery-content [style*="width"]{
  max-width:100% !important;
}
.bg-gallery-fallback-grid:not(.bg-gallery-coverflow){
  display:grid !important;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap:18px !important;
  width:100%;
  max-width:100%;
  overflow:visible;
  padding:0;
}
.bg-gallery-fallback-grid:not(.bg-gallery-coverflow) figure{
  position:relative;
  width:auto !important;
  max-width:100% !important;
  min-height:260px !important;
  margin:0 !important;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(31,86,50,.13);
  box-shadow:0 20px 48px rgba(7,18,16,.12);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.bg-gallery-fallback-grid:not(.bg-gallery-coverflow) figure:hover{
  transform:translateY(-4px);
  border-color:rgba(214,161,58,.58);
  box-shadow:0 26px 62px rgba(7,18,16,.16);
}
.bg-gallery-fallback-grid:not(.bg-gallery-coverflow) img{
  width:100% !important;
  height:100% !important;
  min-height:260px;
  display:block;
  object-fit:cover;
  transition:transform .4s ease;
}
.bg-gallery-fallback-grid:not(.bg-gallery-coverflow) figure:hover img{
  transform:scale(1.045);
}
.bg-home-gallery-content .wp-block-gallery:not(.bg-gallery-coverflow){
  display:revert !important;
  grid-template-columns:revert !important;
  gap:revert !important;
  width:auto;
  max-width:100%;
  overflow:visible;
  padding:0;
  scroll-snap-type:none;
}
.bg-home-gallery-content .wp-block-gallery:not(.bg-gallery-coverflow) .wp-block-image{
  position:revert;
  width:revert !important;
  max-width:100% !important;
  min-height:0 !important;
  margin:revert !important;
  overflow:revert;
  border:0;
  border-radius:0;
  box-shadow:none;
  transform:none;
}
.bg-home-gallery-content .wp-block-gallery:not(.bg-gallery-coverflow) img{
  width:revert !important;
  height:revert !important;
  min-height:0;
  max-width:100%;
  object-fit:revert;
  transform:none;
}

/* Final plugin containment for the homepage gallery */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}
.bg-home-gallery,
.bg-home-gallery-inner,
.bg-home-gallery-stage,
.bg-home-gallery-content,
.bg-home-gallery-viewport,
.bg-home-gallery-plugin-frame{
  width:100%;
  max-width:100%;
  min-width:0;
}
.bg-home-gallery-inner{
  width:min(100% - 40px, var(--bg-max));
  overflow:hidden;
}
.bg-home-gallery-stage,
.bg-home-gallery-content,
.bg-home-gallery-viewport{
  overflow:hidden !important;
}
.bg-home-gallery-content{
  isolation:isolate;
  contain:layout paint;
}
.bg-home-gallery-viewport{
  position:relative;
  display:block;
}
.bg-home-gallery-plugin-frame{
  position:relative;
  display:block;
  transform-origin:top left;
}
.bg-home-gallery-plugin-frame.is-scaled{
  max-width:none;
}
.bg-home-gallery-content *,
.bg-home-gallery-content *::before,
.bg-home-gallery-content *::after{
  box-sizing:border-box;
  max-width:100%;
}
.bg-home-gallery-content .wp-block-shortcode,
.bg-home-gallery-content .wp-block-shortcode > *,
.bg-home-gallery-content .ml-gallery,
.bg-home-gallery-content [class*="ml-gallery"],
.bg-home-gallery-content [id*="ml-gallery"],
.bg-home-gallery-content [class*="metaslider"],
.bg-home-gallery-content [id*="metaslider"],
.bg-home-gallery-content .swiper,
.bg-home-gallery-content .slick-slider,
.bg-home-gallery-content .owl-carousel{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
}
.bg-home-gallery-content [style*="width"],
.bg-home-gallery-content [style*="min-width"]{
  max-width:100% !important;
}
.bg-home-gallery-content .swiper,
.bg-home-gallery-content .slick-slider,
.bg-home-gallery-content .owl-carousel,
.bg-home-gallery-content [class*="slider"],
.bg-home-gallery-content [class*="carousel"]{
  overflow:hidden;
}
.bg-home-gallery-content img{
  height:auto;
}
@media (max-width: 680px){
  .bg-home-gallery-inner{
    width:min(100% - 24px, var(--bg-max));
  }
  .bg-home-gallery-content{
    padding:16px;
    border-radius:22px;
  }
}

/* Modern frosted navigation refresh */
.bg-header{
  padding:14px 0;
  background:linear-gradient(180deg, rgba(255,255,255,.68), rgba(255,250,242,.36));
  border-bottom:0;
  box-shadow:none;
  backdrop-filter:saturate(170%) blur(18px);
}
.bg-header::before{
  display:none;
}
.bg-header-inner{
  min-height:74px;
  padding:10px 12px 10px 18px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(31,86,50,.16);
  border-radius:999px;
  box-shadow:0 20px 60px rgba(7,18,16,.12);
  backdrop-filter:saturate(180%) blur(24px);
}
.custom-logo{
  max-width:258px;
  max-height:58px;
}
.bg-nav-wrap{
  min-width:0;
}
.bg-nav{
  padding:5px;
  background:rgba(247,241,231,.64);
  border:1px solid rgba(31,86,50,.1);
  border-radius:999px;
}
.bg-nav a{
  min-height:36px;
  padding:8px 12px;
  color:rgba(22,22,22,.84);
  border:1px solid transparent;
  font-size:15px;
  font-weight:820;
}
.bg-nav a:hover,
.bg-nav .current-menu-item > a,
.bg-nav .current_page_item > a{
  color:var(--bg-green);
  background:#fff;
  border-color:rgba(31,86,50,.14);
  box-shadow:0 10px 24px rgba(7,18,16,.08);
}
.bg-header-cta .bg-btn{
  min-height:42px;
  padding-inline:15px;
}
.bg-header-cta .bg-btn-outline{
  background:rgba(255,255,255,.68);
}
.bg-mobile-toggle{
  border-radius:50%;
  background:#fff;
  box-shadow:0 10px 24px rgba(7,18,16,.1);
}
.bg-mobile-panel{
  width:min(100% - 40px, var(--bg-max));
  margin:10px auto 0;
  border:1px solid rgba(31,86,50,.14);
  border-radius:26px;
  background:rgba(255,255,255,.9);
  box-shadow:0 22px 60px rgba(7,18,16,.14);
  backdrop-filter:blur(20px);
}

/* Contained homepage gallery preview */
.bg-home-gallery-preview{
  display:grid;
  grid-template-columns:1.12fr .68fr .68fr;
  grid-auto-rows:190px;
  gap:16px;
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.bg-home-gallery-photo{
  position:relative;
  display:block;
  min-width:0;
  overflow:hidden;
  border-radius:24px;
  background:var(--bg-cream);
  border:1px solid rgba(31,86,50,.12);
  box-shadow:0 18px 44px rgba(7,18,16,.11);
  text-decoration:none;
  isolation:isolate;
}
.bg-home-gallery-photo.is-featured{
  grid-row:span 2;
}
.bg-home-gallery-photo:nth-child(6n + 5){
  grid-column:span 2;
}
.bg-home-gallery-photo img{
  width:100% !important;
  height:100% !important;
  display:block;
  object-fit:cover;
  transition:transform .45s ease, filter .45s ease;
}
.bg-home-gallery-photo::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,18,16,0) 45%, rgba(7,18,16,.64) 100%);
  opacity:0;
  transition:opacity .24s ease;
  z-index:1;
}
.bg-home-gallery-photo span{
  position:absolute;
  left:16px;
  bottom:16px;
  z-index:2;
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:8px 13px;
  color:#fff;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  border-radius:999px;
  font-size:13px;
  font-weight:900;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .24s ease, transform .24s ease;
  backdrop-filter:blur(12px);
}
.bg-home-gallery-photo:hover img,
.bg-home-gallery-photo:focus-visible img{
  transform:scale(1.055);
  filter:saturate(1.06) contrast(1.03);
}
.bg-home-gallery-photo:hover::after,
.bg-home-gallery-photo:focus-visible::after,
.bg-home-gallery-photo:hover span,
.bg-home-gallery-photo:focus-visible span{
  opacity:1;
  transform:translateY(0);
}
@media (max-width: 1120px){
  .bg-header-inner{
    border-radius:32px;
  }
  .bg-nav{
    background:transparent;
    border:0;
  }
  .bg-nav a{
    padding-inline:9px;
  }
}
@media (max-width: 980px){
  .bg-header{
    padding:10px 0;
  }
  .bg-header-inner{
    min-height:70px;
    border-radius:28px;
  }
  .bg-home-gallery-preview{
    grid-template-columns:1fr 1fr;
    grid-auto-rows:180px;
  }
  .bg-home-gallery-photo.is-featured{
    grid-column:span 2;
    grid-row:span 1;
  }
}
@media (max-width: 640px){
  .bg-header-inner{
    width:min(100% - 24px, var(--bg-max));
    padding:9px 10px 9px 14px;
    border-radius:24px;
  }
  .bg-mobile-panel{
    width:min(100% - 24px, var(--bg-max));
  }
  .bg-home-gallery-header{
    align-items:start;
  }
  .bg-home-gallery-header .bg-btn{
    width:100%;
  }
  .bg-home-gallery-preview{
    grid-template-columns:1fr;
    grid-auto-rows:230px;
    gap:12px;
  }
.bg-home-gallery-photo,
.bg-home-gallery-photo.is-featured,
.bg-home-gallery-photo:nth-child(6n + 5){
    grid-column:auto;
    grid-row:auto;
  }
}

/* Living collage gallery motion */
.bg-home-gallery-preview[data-bg-living-gallery]{
  position:relative;
  display:block;
  height:560px;
  max-width:100%;
  overflow:hidden;
  border-radius:28px;
  background:
    radial-gradient(circle at 22% 14%, rgba(214,161,58,.18), transparent 30%),
    linear-gradient(135deg, rgba(31,86,50,.08), rgba(255,255,255,.72));
  border:1px solid rgba(31,86,50,.12);
  box-shadow:var(--bg-shadow-soft);
  isolation:isolate;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo{
  position:absolute;
  display:block;
  width:30%;
  height:42%;
  border-radius:24px;
  opacity:0;
  transform:translate3d(0, 12px, 0) scale(.94);
  transition:opacity .8s ease, transform .8s ease, left .8s ease, top .8s ease, width .8s ease, height .8s ease;
  will-change:transform, opacity;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo.is-visible{
  opacity:1;
  transform:translate3d(0, 0, 0) scale(1);
  animation:bgGalleryFloat 9s ease-in-out infinite alternate;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo.is-featured{
  grid-row:auto;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="1"]{
  left:2%;
  top:8%;
  width:40%;
  height:72%;
  z-index:5;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="2"]{
  left:45%;
  top:4%;
  width:25%;
  height:42%;
  z-index:4;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="3"]{
  left:72%;
  top:12%;
  width:25%;
  height:52%;
  z-index:3;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="4"]{
  left:43%;
  top:50%;
  width:31%;
  height:42%;
  z-index:2;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="5"]{
  left:76%;
  top:66%;
  width:20%;
  height:28%;
  z-index:6;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo:nth-child(2n).is-visible{
  animation-duration:10.5s;
}
.bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo:nth-child(3n).is-visible{
  animation-duration:12s;
}
@keyframes bgGalleryFloat{
  from{transform:translate3d(-4px, 6px, 0) scale(.99)}
  to{transform:translate3d(6px, -7px, 0) scale(1.025)}
}
@media (max-width: 820px){
  .bg-home-gallery-preview[data-bg-living-gallery]{
    height:620px;
  }
  .bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="1"]{
    left:2%;
    top:3%;
    width:58%;
    height:42%;
  }
  .bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="2"]{
    left:62%;
    top:6%;
    width:36%;
    height:30%;
  }
  .bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="3"]{
    left:4%;
    top:48%;
    width:42%;
    height:34%;
  }
  .bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="4"]{
    left:49%;
    top:40%;
    width:49%;
    height:36%;
  }
  .bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo[data-bg-gallery-slot="5"]{
    left:25%;
    top:78%;
    width:50%;
    height:19%;
  }
}
@media (max-width: 520px){
  .bg-home-gallery-preview[data-bg-living-gallery]{
    height:560px;
    border-radius:22px;
  }
  .bg-home-gallery-preview[data-bg-living-gallery] .bg-home-gallery-photo{
    border-radius:18px;
  }
}

/* 2026 transparent glass header refinement */
.bg-header{
  padding:18px 0;
  background:linear-gradient(180deg, rgba(255,255,255,.42) 0%, rgba(255,255,255,0) 100%) !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:saturate(135%) blur(8px);
}
.bg-header-inner{
  min-height:64px;
  padding:0;
  gap:16px;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
}
.custom-logo-link,
.bg-brand-link{
  min-height:58px;
  padding:6px 0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
}
.custom-logo{
  max-width:246px;
  max-height:50px;
}
.bg-nav-wrap{
  justify-content:center;
}
.bg-nav{
  gap:10px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
}
.bg-nav a{
  min-height:38px;
  padding:8px 4px;
  color:rgba(20,28,24,.82);
  border:1px solid transparent;
  border-radius:0;
  font-size:15px;
  font-weight:850;
  position:relative;
  transition:color .2s ease, transform .2s ease;
}
.bg-nav a::after{
  content:'';
  position:absolute;
  left:4px;
  right:4px;
  bottom:5px;
  height:2px;
  background:linear-gradient(90deg, var(--bg-green), var(--bg-gold));
  border-radius:999px;
  opacity:0;
  transform:scaleX(.45);
  transform-origin:center;
  transition:opacity .2s ease, transform .2s ease;
}
.bg-nav a:hover,
.bg-nav .current-menu-item > a,
.bg-nav .current_page_item > a{
  color:var(--bg-green);
  background:transparent;
  border-color:transparent;
  box-shadow:none;
  transform:translateY(-1px);
}
.bg-nav a:hover::after,
.bg-nav .current-menu-item > a::after,
.bg-nav .current_page_item > a::after{
  opacity:1;
  transform:scaleX(1);
}
.bg-header-cta{
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  backdrop-filter:none;
}
.bg-header-cta .bg-btn{
  min-height:40px;
  padding:9px 15px;
  border-radius:999px;
  box-shadow:none;
}
.bg-header-cta .bg-btn-outline{
  color:var(--bg-green);
  background:transparent;
  border-color:rgba(31,86,50,.26);
}
.bg-header-cta .bg-btn-outline:hover{
  background:rgba(255,255,255,.76);
  backdrop-filter:blur(14px);
}
.bg-header-cta .bg-btn-solid{
  color:#fff;
  background:linear-gradient(135deg, var(--bg-green), #113f36);
  border-color:rgba(255,255,255,.18);
  box-shadow:0 12px 28px rgba(31,86,50,.22);
}
.bg-mobile-toggle{
  width:42px;
  height:42px;
  border-radius:50%;
  background:rgba(255,255,255,.86);
  border-color:rgba(31,86,50,.12);
  box-shadow:0 12px 28px rgba(7,18,16,.1);
  backdrop-filter:blur(18px);
}
.bg-mobile-panel{
  margin-top:12px;
  padding:14px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.7);
  border-radius:28px;
  box-shadow:0 28px 70px rgba(7,18,16,.16);
  backdrop-filter:saturate(180%) blur(26px);
}
.bg-mobile-panel .bg-nav{
  padding:0;
  background:transparent;
  border:0;
  box-shadow:none;
  backdrop-filter:none;
}
.bg-mobile-panel .bg-nav a{
  min-height:44px;
  border-radius:18px;
  background:rgba(255,255,255,.58);
}
@media (max-width: 1120px){
  .bg-header{
    padding:14px 0;
  }
  .custom-logo-link,
  .bg-brand-link{
    padding-inline:0;
  }
  .custom-logo{
    max-width:220px;
  }
  .bg-header-cta{
    background:transparent;
    border:0;
    box-shadow:none;
    backdrop-filter:none;
  }
}
@media (max-width: 980px){
  .bg-header-inner{
    min-height:58px;
  }
  .custom-logo-link,
  .bg-brand-link{
    min-height:54px;
  }
}
@media (max-width: 640px){
  .bg-header{
    padding:10px 0;
  }
  .bg-header-inner{
    width:min(100% - 24px, var(--bg-max));
  }
  .custom-logo{
    max-width:184px;
    max-height:44px;
  }
  .custom-logo-link,
  .bg-brand-link{
    min-height:50px;
    padding:6px 0;
  }
}

/* Header/hero cleanup: no idle white wash, larger logo, tighter hero */
.bg-header{
  padding:14px 0 8px;
  background:rgba(255,255,255,.001) !important;
  backdrop-filter:saturate(150%) blur(14px) !important;
  -webkit-backdrop-filter:saturate(150%) blur(14px) !important;
  isolation:isolate;
}
.bg-header::before{
  display:none !important;
}
.bg-header::after{
  content:'' !important;
  display:block !important;
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:34px;
  pointer-events:none;
  background:rgba(255,255,255,.001);
  backdrop-filter:blur(18px) saturate(125%);
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.72), rgba(0,0,0,0));
  mask-image:linear-gradient(180deg, rgba(0,0,0,.72), rgba(0,0,0,0));
  z-index:0;
}
.bg-header-inner{
  position:relative;
  z-index:2;
  min-height:72px;
}
.custom-logo{
  max-width:318px;
  max-height:68px;
}
.custom-logo-link,
.bg-brand-link{
  min-height:68px;
}
.bg-nav a{
  color:rgba(14,31,22,.94);
  text-shadow:0 1px 12px rgba(255,255,255,.52);
}
.bg-header-cta .bg-btn-outline{
  color:var(--bg-green);
  background:transparent !important;
  border-color:rgba(31,86,50,.38);
}
.bg-hero{
  min-height:690px;
  background-position:center top;
}
.bg-hero::after{
  display:none !important;
}
.bg-hero-inner{
  padding:76px 0 118px;
}
@media (max-width: 1120px){
  .custom-logo{
    max-width:276px;
    max-height:62px;
  }
}
@media (max-width: 700px){
  .bg-header{
    padding:10px 0 6px;
  }
  .bg-header-inner{
    min-height:62px;
  }
  .custom-logo{
    max-width:232px;
    max-height:56px;
  }
  .custom-logo-link,
  .bg-brand-link{
    min-height:56px;
  }
  .bg-hero{
    min-height:680px;
    background-position:center top;
  }
  .bg-hero-inner{
    padding:58px 0 98px;
  }
  .bg-hero-note strong{
    min-height:42px;
    font-size:24px;
  }
}
@media (max-width: 420px){
  .custom-logo{
    max-width:214px;
    max-height:52px;
  }
}

/* Final nav glass pass: hero image sits behind the transparent header */
.bg-header{
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  z-index:100;
  padding:14px 0 10px;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  backdrop-filter:blur(13px) saturate(145%) !important;
  -webkit-backdrop-filter:blur(13px) saturate(145%) !important;
}
.admin-bar .bg-header{
  top:32px;
}
.bg-header::before{
  display:none !important;
}
.bg-header::after{
  content:'' !important;
  display:block !important;
  position:absolute;
  left:0;
  right:0;
  top:100%;
  height:42px;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,.001), rgba(255,255,255,0)) !important;
  backdrop-filter:blur(22px) saturate(125%);
  -webkit-backdrop-filter:blur(22px) saturate(125%);
  -webkit-mask-image:linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,0,0,0));
  mask-image:linear-gradient(180deg, rgba(0,0,0,.82), rgba(0,0,0,0));
}
.bg-header-inner,
.bg-nav,
.bg-header-cta,
.custom-logo-link,
.bg-brand-link{
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.bg-site{
  padding-top:0;
}
.bg-hero{
  margin-top:0;
  padding-top:0;
  background-position:center top;
}
.bg-hero-inner{
  padding-top:148px;
}
.bg-page-hero__inner{
  padding-top:150px;
}
.bg-header,
.bg-header .bg-nav a,
.bg-header .bg-btn,
.bg-header .bg-mobile-toggle{
  transition:color .22s ease, border-color .22s ease, background-color .22s ease, text-shadow .22s ease, box-shadow .22s ease;
}
.bg-header.is-over-dark .bg-nav a{
  color:rgba(255,255,255,.94);
  text-shadow:0 2px 18px rgba(0,0,0,.42);
}
.bg-header.is-over-dark .bg-adaptive-logo-light{
  opacity:1;
}
.bg-header.is-over-dark .bg-adaptive-logo-dark{
  opacity:0;
}
.bg-header.is-over-dark .bg-nav a::after{
  background:linear-gradient(90deg, #fff, var(--bg-gold));
}
.bg-header.is-over-dark .bg-header-cta .bg-btn-outline{
  color:#fff;
  border-color:rgba(255,255,255,.48);
  text-shadow:0 2px 14px rgba(0,0,0,.34);
}
.bg-header.is-over-dark .bg-header-cta .bg-btn-outline:hover{
  background:rgba(255,255,255,.14) !important;
  border-color:rgba(255,255,255,.72);
}
.bg-header.is-over-dark .bg-header-cta .bg-btn-solid{
  background:linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,255,255,.78));
  color:var(--bg-green);
  border-color:rgba(255,255,255,.48);
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.bg-header.is-over-dark .bg-mobile-toggle{
  color:#fff;
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.28);
}
.bg-header.is-over-light .bg-nav a{
  color:rgba(14,31,22,.94);
  text-shadow:0 1px 12px rgba(255,255,255,.52);
}
.bg-header.is-over-light .bg-adaptive-logo-light{
  opacity:0;
}
.bg-header.is-over-light .bg-adaptive-logo-dark{
  opacity:1;
}
.bg-header.is-over-light .bg-header-cta .bg-btn-outline{
  color:var(--bg-green);
  border-color:rgba(31,86,50,.38);
  text-shadow:none;
}
.bg-header.is-over-light .bg-header-cta .bg-btn-solid{
  color:#fff;
  background:linear-gradient(135deg, var(--bg-green), #113f36);
}
@media (max-width: 782px){
  .admin-bar .bg-header{
    top:46px;
  }
}
@media (max-width: 700px){
  .bg-header{
    padding:10px 0 8px;
  }
  .bg-adaptive-logo-frame{
    width:288px;
    height:70px;
  }
  .bg-hero-inner{
    padding-top:128px;
  }
  .bg-page-hero__inner{
    padding-top:128px;
  }
}
@media (max-width: 420px){
  .bg-adaptive-logo-frame{
    width:252px;
    height:64px;
  }
}

/* Header polish: balanced adaptive logo and no CTA wrapping */
.bg-header-inner{
  width:min(100% - 64px, 1720px);
  display:flex;
  gap:22px;
  align-items:center;
}
.bg-brand{
  min-width:400px;
}
.bg-adaptive-logo-frame{
  width:400px;
  height:124px;
  overflow:visible;
}
.bg-adaptive-logo{
  transform:none;
  object-fit:contain;
  object-position:left center;
  transition:opacity .34s ease;
}
.bg-nav-wrap{
  min-width:0;
  justify-content:flex-end;
  overflow:visible;
}
.bg-nav{
  gap:16px;
}
.bg-nav a{
  padding-inline:0;
}
.bg-header-cta{
  flex:0 0 auto;
  gap:12px;
}
.bg-header-cta .bg-btn{
  white-space:nowrap;
  flex:0 0 auto;
  min-width:max-content;
  padding-inline:20px;
  font-size:16px;
  line-height:1;
}
@media (max-width: 1280px){
  .bg-header-inner{
    width:min(100% - 44px, 1480px);
    gap:14px;
  }
  .bg-brand{
    min-width:320px;
  }
  .bg-adaptive-logo-frame{
    width:320px;
    height:98px;
  }
  .bg-nav{
    gap:11px;
  }
  .bg-header-cta{
    gap:8px;
  }
  .bg-header-cta .bg-btn{
    padding-inline:14px;
    font-size:15px;
  }
}
@media (max-width: 980px){
  .bg-brand{
    min-width:0;
  }
  .bg-adaptive-logo-frame{
    width:280px;
    height:82px;
  }
}
@media (max-width: 700px){
  .bg-header-inner{
    width:min(100% - 24px, var(--bg-max));
  }
  .bg-adaptive-logo-frame{
    width:232px;
    height:68px;
  }
}
@media (max-width: 420px){
  .bg-adaptive-logo-frame{
    width:208px;
    height:62px;
  }
}

/* Mobile navigation drawer */
.bg-mobile-backdrop{
  display:none;
}
@media (max-width:980px){
  body.bg-menu-open{
    overflow:hidden;
    overscroll-behavior:none;
  }
  body.bg-menu-open .bg-header{
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  .bg-header{
    pointer-events:none;
  }
  .bg-header-inner,
  .bg-mobile-backdrop,
  .bg-mobile-panel{
    pointer-events:auto;
  }
  .bg-mobile-toggle{
    position:relative;
    z-index:104;
    display:grid;
    width:48px;
    height:48px;
    padding:0;
    place-items:center;
    border:1px solid rgba(255,255,255,.38);
    border-radius:50%;
    background:rgba(8,43,38,.34);
    color:#fff;
    box-shadow:0 12px 30px rgba(5,24,20,.2), inset 0 1px 0 rgba(255,255,255,.28);
    backdrop-filter:blur(16px) saturate(150%);
    -webkit-backdrop-filter:blur(16px) saturate(150%);
    cursor:pointer;
  }
  .bg-header.is-over-light .bg-mobile-toggle{
    color:var(--bg-green);
    background:rgba(255,255,255,.72);
    border-color:rgba(31,86,50,.22);
    box-shadow:0 12px 30px rgba(20,49,40,.12), inset 0 1px 0 rgba(255,255,255,.8);
  }
  .bg-mobile-toggle-lines,
  .bg-mobile-toggle-lines span{
    display:block;
  }
  .bg-mobile-toggle-lines{
    position:relative;
    width:20px;
    height:14px;
  }
  .bg-mobile-toggle-lines::before,
  .bg-mobile-toggle-lines::after,
  .bg-mobile-toggle-lines span{
    content:'';
    position:absolute;
    left:0;
    width:20px;
    height:2px;
    border-radius:2px;
    background:currentColor;
    transition:transform .28s ease, opacity .2s ease, top .28s ease;
  }
  .bg-mobile-toggle-lines::before{top:0}
  .bg-mobile-toggle-lines span:first-child{top:6px}
  .bg-mobile-toggle-lines span:last-child{display:none}
  .bg-mobile-toggle-lines::after{top:12px}
  .bg-mobile-toggle[aria-expanded="true"] .bg-mobile-toggle-lines::before{
    top:6px;
    transform:rotate(45deg);
  }
  .bg-mobile-toggle[aria-expanded="true"] .bg-mobile-toggle-lines span:first-child{
    opacity:0;
    transform:scaleX(.35);
  }
  .bg-mobile-toggle[aria-expanded="true"] .bg-mobile-toggle-lines::after{
    top:6px;
    transform:rotate(-45deg);
  }
  .bg-mobile-backdrop{
    position:fixed;
    inset:0;
    z-index:101;
    display:block;
    padding:0;
    border:0;
    background:rgba(5,17,15,.48);
    opacity:0;
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    transition:opacity .35s ease;
  }
  .admin-bar .bg-mobile-backdrop,
  .admin-bar .bg-mobile-panel{
    top:32px;
  }
  @media (max-width:782px){
    .admin-bar .bg-mobile-backdrop,
    .admin-bar .bg-mobile-panel{
      top:46px;
    }
  }
  .admin-bar .bg-mobile-backdrop{
    bottom:0;
  }
  .bg-mobile-backdrop.is-open{
    opacity:1;
  }
  .bg-mobile-panel{
    position:fixed;
    top:0;
    right:0;
    bottom:0;
    z-index:103;
    display:flex;
    width:min(88vw, 390px);
    height:100dvh;
    max-height:none;
    flex-direction:column;
    gap:0;
    padding:28px 24px max(24px, env(safe-area-inset-bottom));
    overflow-x:hidden;
    overflow-y:auto;
    border:0;
    border-left:1px solid rgba(255,255,255,.18);
    border-radius:0;
    color:#fff;
    background:
      linear-gradient(145deg, rgba(255,255,255,.09), transparent 34%),
      linear-gradient(180deg, #0b3c35, #06231f);
    box-shadow:-28px 0 80px rgba(2,17,14,.34), inset 1px 0 0 rgba(255,255,255,.08);
    backdrop-filter:blur(26px) saturate(135%);
    -webkit-backdrop-filter:blur(26px) saturate(135%);
    transform:translateX(104%);
    visibility:hidden;
    transition:transform .38s cubic-bezier(.2,.78,.2,1), visibility 0s linear .38s;
  }
  .admin-bar .bg-mobile-panel{
    height:calc(100dvh - 32px);
  }
  @media (max-width:782px){
    .admin-bar .bg-mobile-panel{
      height:calc(100dvh - 46px);
    }
  }
  .bg-mobile-panel[hidden],
  .bg-mobile-backdrop[hidden]{
    display:none !important;
  }
  .bg-mobile-panel.is-open{
    transform:translateX(0);
    visibility:visible;
    transition:transform .38s cubic-bezier(.2,.78,.2,1), visibility 0s;
  }
  .bg-mobile-panel::before{
    content:'';
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:3px;
    background:linear-gradient(90deg, var(--bg-gold), rgba(255,255,255,.78), var(--bg-maroon));
  }
  .bg-mobile-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding-bottom:22px;
    border-bottom:1px solid rgba(255,255,255,.14);
  }
  .bg-mobile-panel-head > div{
    display:grid;
    gap:5px;
  }
  .bg-mobile-panel-kicker{
    color:var(--bg-gold);
    font-size:10px;
    font-weight:900;
    line-height:1;
    letter-spacing:.16em;
    text-transform:uppercase;
  }
  .bg-mobile-panel-head strong{
    color:#fff;
    font-family:var(--bg-serif);
    font-size:24px;
    font-weight:700;
    line-height:1.1;
    letter-spacing:0;
  }
  .bg-mobile-close{
    position:relative;
    display:grid;
    width:42px;
    height:42px;
    flex:0 0 42px;
    padding:0;
    place-items:center;
    border:1px solid rgba(255,255,255,.2);
    border-radius:50%;
    color:#fff;
    background:rgba(255,255,255,.07);
    cursor:pointer;
  }
  .bg-mobile-close:focus-visible,
  .bg-mobile-toggle:focus-visible{
    outline:2px solid var(--bg-gold);
    outline-offset:3px;
  }
  .bg-mobile-close span::before,
  .bg-mobile-close span::after{
    content:'';
    position:absolute;
    top:20px;
    left:12px;
    width:18px;
    height:2px;
    border-radius:2px;
    background:currentColor;
  }
  .bg-mobile-close span::before{transform:rotate(45deg)}
  .bg-mobile-close span::after{transform:rotate(-45deg)}
  .bg-mobile-nav{
    margin:20px 0 18px;
  }
  .bg-mobile-panel .bg-nav{
    display:grid !important;
    align-items:stretch;
    justify-content:stretch;
    gap:2px;
    width:100%;
    margin:0;
    padding:0;
    background:transparent !important;
  }
  .bg-mobile-panel .bg-nav li{
    width:100%;
    opacity:0;
    transform:translateX(18px);
    transition:opacity .3s ease, transform .36s cubic-bezier(.2,.8,.2,1);
  }
  .bg-mobile-panel.is-open .bg-nav li{
    opacity:1;
    transform:translateX(0);
  }
  .bg-mobile-panel.is-open .bg-nav li:nth-child(1){transition-delay:.06s}
  .bg-mobile-panel.is-open .bg-nav li:nth-child(2){transition-delay:.09s}
  .bg-mobile-panel.is-open .bg-nav li:nth-child(3){transition-delay:.12s}
  .bg-mobile-panel.is-open .bg-nav li:nth-child(4){transition-delay:.15s}
  .bg-mobile-panel.is-open .bg-nav li:nth-child(5){transition-delay:.18s}
  .bg-mobile-panel.is-open .bg-nav li:nth-child(6){transition-delay:.21s}
  .bg-mobile-panel.is-open .bg-nav li:nth-child(7){transition-delay:.24s}
  .bg-mobile-panel .bg-nav a{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) 18px;
    align-items:center;
    gap:11px;
    width:100%;
    min-height:52px;
    padding:8px 10px !important;
    color:rgba(255,255,255,.88) !important;
    border:0;
    border-bottom:1px solid rgba(255,255,255,.09);
    border-radius:0;
    background:transparent !important;
    box-shadow:none !important;
    font-size:16px;
    font-weight:760;
    line-height:1.2;
    letter-spacing:0;
    text-shadow:none !important;
    white-space:normal;
  }
  .bg-mobile-panel .bg-nav a::after{
    content:'›' !important;
    position:static;
    width:auto;
    height:auto;
    color:rgba(255,255,255,.38);
    background:none !important;
    font-size:25px;
    font-weight:300;
    line-height:1;
    opacity:1;
    transform:none;
  }
  .bg-mobile-panel .bg-nav a:hover,
  .bg-mobile-panel .bg-nav .current-menu-item > a,
  .bg-mobile-panel .bg-nav .current_page_item > a{
    color:#fff !important;
    padding-left:10px !important;
    background:rgba(255,255,255,.06) !important;
  }
  .bg-mobile-panel .bg-nav .current-menu-item > a::after,
  .bg-mobile-panel .bg-nav .current_page_item > a::after{
    color:var(--bg-gold);
  }
  .bg-mobile-service{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:auto;
    padding:15px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:8px;
    background:rgba(255,255,255,.06);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
  }
  .bg-mobile-service > span{
    display:grid;
    width:38px;
    height:38px;
    flex:0 0 38px;
    place-items:center;
    color:var(--bg-gold);
    border-radius:50%;
    background:rgba(214,161,58,.12);
  }
  .bg-mobile-service svg{
    width:19px;
    height:19px;
    fill:none;
    stroke:currentColor;
    stroke-width:2;
  }
  .bg-mobile-service div{
    display:grid;
    gap:2px;
  }
  .bg-mobile-service small{
    color:rgba(255,255,255,.62);
    font-size:10px;
    font-weight:850;
    letter-spacing:.1em;
    line-height:1.2;
    text-transform:uppercase;
  }
  .bg-mobile-service strong{
    color:#fff;
    font-size:18px;
    line-height:1.1;
  }
  .bg-mobile-cta{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:12px;
  }
  .bg-mobile-cta .bg-btn{
    width:100%;
    min-width:0;
    min-height:48px;
    padding:10px 12px;
    border-radius:7px;
    font-size:13px;
    white-space:nowrap;
  }
  .bg-mobile-cta .bg-btn-outline{
    color:#fff;
    border-color:rgba(255,255,255,.28);
    background:rgba(255,255,255,.07);
    box-shadow:none;
  }
  .bg-mobile-cta .bg-btn-solid{
    color:#143b2c;
    background:#fff;
    box-shadow:0 12px 26px rgba(2,19,15,.2);
  }
  .bg-mobile-address{
    margin:13px 0 0;
    color:rgba(255,255,255,.52);
    font-size:10px;
    font-weight:650;
    line-height:1.45;
    text-align:center;
    letter-spacing:.02em;
  }
}
@media (max-width:420px){
  .bg-mobile-panel{
    width:calc(100vw - 18px);
    padding:24px 20px max(20px, env(safe-area-inset-bottom));
    border-radius:8px 0 0 8px;
  }
  .bg-mobile-panel-head strong{
    font-size:22px;
  }
  .bg-mobile-panel .bg-nav a{
    min-height:49px;
  }
}

@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,
  *::before,
  *::after{
    transition:none !important;
    animation:none !important;
  }
}
