/* Light visual refresh — preserves the original BBBC layout and identity. */
:root {
  --bbbc-burgundy: #68131f;
  --bbbc-burgundy-dark: #370a11;
  --bbbc-gold: #b6914f;
  --bbbc-cream: #f2e5bf;
  --bbbc-paper: #fffaf1;
  --bbbc-ink: #2d2723;
  --bbbc-line: #c9b98f;
}

body {
  color: var(--bbbc-ink);
  background-color: #e8e2d9;
  font-family: "Segoe UI", Arial, Helvetica, sans-serif;
  font-size: 17px;
  line-height: 1.7;
}

.resize,
.footer {
  box-shadow: 0 0 34px rgba(38, 23, 17, .16);
}

.header {
  display: flex;
  flex-direction: column;
  background-color: transparent;
}

.header .slider { order: 1; }
.header .bar { order: 2; }

.header > .clr img {
  display: block;
}

.bar {
  height: 43px;
  background: linear-gradient(#f6f1e8, #e3d9ca);
  border-bottom: 5px solid var(--bbbc-burgundy);
}

.menu ul li a {
  box-sizing: border-box;
  height: 43px;
  padding-top: 12px;
  color: #312b27;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: .035em;
}

.menu {
  float: none;
  width: 100%;
}

.menu ul {
  display: flex;
  justify-content: center;
  width: 100%;
}

.menu ul li {
  flex: 0 1 auto;
  float: none;
  background: none;
  border-right: 1px solid rgba(92, 69, 52, .25);
}

.menu ul li:first-child {
  border-left: 1px solid rgba(92, 69, 52, .25);
}

.menu ul li a {
  padding-left: 5px;
  padding-right: 5px;
  text-align: center;
  white-space: nowrap;
  text-shadow: 0 1px rgba(255,255,255,.72);
  transition: color .15s ease, background .15s ease, box-shadow .15s ease;
}

.menu ul li a:hover,
.menu ul li a.active {
  color: #fff;
  background: linear-gradient(#7b1a28, var(--bbbc-burgundy));
  box-shadow: inset 0 1px rgba(255,255,255,.14);
  text-shadow: 0 1px rgba(0,0,0,.35);
}

.slider {
  position: relative;
  aspect-ratio: 48 / 13;
  overflow: hidden;
  background-color: #271719;
}

.slider img {
  filter: saturate(1.04) contrast(1.035);
}

#coin-slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

#coin-slider > .banner-slide {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  opacity: 0;
  transition: opacity .7s ease;
}

#coin-slider > .banner-slide.is-active {
  z-index: 2;
  opacity: 1;
}

#coin-slider > .banner-slide img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.banner-dots {
  position: absolute;
  right: 14px;
  bottom: 10px;
  z-index: 3;
  display: flex;
  gap: 7px;
}

.banner-dots button {
  width: 11px;
  height: 11px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 50%;
  background: rgba(55,10,17,.72);
  box-shadow: 0 1px 4px rgba(0,0,0,.32);
  cursor: pointer;
}

.banner-dots button.is-active {
  background: var(--bbbc-gold);
}

.content_wrapper,
.footer {
  background-color: var(--bbbc-cream);
}

.sidebar {
  box-sizing: border-box;
  background: linear-gradient(180deg, #471018 0%, var(--bbbc-burgundy-dark) 100%);
  border-top: 1px solid rgba(255,255,255,.12);
}

.sidebar ul.sb_menu { margin-bottom: 28px; }
.sidebar ul.sb_menu:last-child { margin-bottom: 0; }
.sidebar h3:not(:first-child) { margin-top: 28px; }

.sidebar h3 {
  padding-bottom: 9px;
  border-bottom: 1px solid rgba(255,255,255,.22);
  font-size: 21px;
  letter-spacing: .02em;
}

ul.sb_menu li,
ul.sb_secondary_menu li {
  font-size: 15px;
  line-height: 1.5;
  padding-top: 9px;
  padding-bottom: 9px;
  border-bottom-color: rgba(255,255,255,.17);
}

ul.sb_menu li a,
ul.sb_secondary_menu li a {
  transition: color .15s ease, padding-left .15s ease;
}

ul.sb_menu li a:hover,
ul.sb_secondary_menu li a:hover {
  color: #f0d495;
  padding-left: 3px;
}

.content,
.subpage {
  box-sizing: border-box;
  background: rgba(255, 250, 241, .88);
}

h2,
h3 {
  color: #43191d;
  letter-spacing: .018em;
}

p {
  color: var(--bbbc-ink);
  font-size: 17px;
  line-height: 1.7;
}

.post_cont,
.subpage,
.section-block,
.content table,
.subpage table {
  font-size: 17px;
  line-height: 1.65;
}

/* Override the small legacy helper classes declared inside several old pages. */
.content .style8,
.content .style12,
.content .style15,
.subpage .style8,
.subpage .style12,
.subpage .style15 {
  font-size: 17px !important;
  line-height: 1.65;
}

.content .style5,
.content .style14,
.content .style16,
.content .style17,
.subpage .style5,
.subpage .style14,
.subpage .style16,
.subpage .style17 { font-size: 15px !important; }

.post_cont p,
.subpage p {
  max-width: 64ch;
  font-size: 17px;
  line-height: 1.7;
}

.post h2,
.subpage h2 { line-height: 1.2; margin-bottom: 10px; }

.post h2,
.subpage h2 { font-size: 30px; }

.home-jubilee-feature {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
  align-items: center;
  gap: 28px;
  padding: 26px 32px;
  background: linear-gradient(135deg, var(--bbbc-paper), #eadab0);
  border-top: 6px solid var(--bbbc-burgundy);
  border-bottom: 1px solid #c5aa6b;
}

.home-jubilee-feature > img {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  padding: 6px;
  background: #fff;
  border: 1px solid var(--bbbc-gold);
  box-shadow: 0 7px 18px rgba(54, 34, 25, .18);
}

.home-jubilee-feature h2 { margin: 5px 0 2px; font-size: 28px; }
.home-jubilee-feature p { margin: 7px 0; }
.jubilee-date { color: var(--bbbc-burgundy); font-size: 13px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.jubilee-theme { color: var(--bbbc-burgundy); font-size: 23px !important; font-weight: 800; letter-spacing: .08em; }

.infobar {
  color: #5c4a43;
  border-bottom: 2px solid var(--bbbc-gold);
  margin: 8px 0 24px;
  padding: 0;
}

.post {
  margin-bottom: 0;
  padding-bottom: 20px;
}

.post > img,
.post > a > img,
.subpage > img,
.content table img,
.subpage table img {
  box-sizing: border-box;
  padding: 5px;
  background: #fff;
  border: 1px solid var(--bbbc-line);
  box-shadow: 0 6px 16px rgba(54, 34, 25, .16);
  filter: saturate(1.02) contrast(1.035);
}

.content td[bgcolor="#77141F"],
.subpage td[bgcolor="#77141F"] {
  background: linear-gradient(#7b1a28, var(--bbbc-burgundy)) !important;
  color: #fff;
  letter-spacing: .015em;
}

.content table img,
.subpage table img {
  display: block;
  float: none !important;
  width: auto;
  max-width: 100% !important;
  height: auto;
  margin: 0 auto 18px !important;
}

.content a:not(.btn),
.subpage a:not(.btn) {
  color: var(--bbbc-burgundy);
  text-decoration-color: rgba(104, 19, 31, .38);
}

.content a:not(.btn):hover,
.subpage a:not(.btn):hover {
  color: #851b29;
}

.post > img,
.post > a > img {
  border-radius: 2px;
}

.section-block {
  margin: 22px 0;
  padding: 18px 20px;
  background: rgba(255, 255, 255, .5);
  border-left: 4px solid var(--bbbc-burgundy);
  border-radius: 0 4px 4px 0;
}

.section-block h3 { margin: 0 0 8px; font-size: 19px; }

.feature-kicker {
  margin: 0 0 5px;
  color: var(--bbbc-burgundy);
  font-size: 13px !important;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.35 !important;
  text-transform: uppercase;
}

.news-feature,
.jubilee-news {
  box-sizing: border-box;
  margin: 28px 0;
  background: #fffdf8;
  border: 1px solid #d7c8a5;
  border-top: 5px solid var(--bbbc-burgundy);
  border-radius: 4px;
  box-shadow: 0 6px 18px rgba(54, 34, 25, .11);
  overflow: hidden;
}

.news-feature > img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 360px;
  padding: 0;
  border: 0;
  border-radius: 0;
  object-fit: cover;
  object-position: center 53%;
  box-shadow: none;
}

.news-feature-copy {
  padding: 24px 28px 27px;
}

.news-feature h3,
.resources-heading h2,
.jubilee-news h2 {
  margin: 0 0 10px;
  color: #43191d;
}

.button-link-secondary {
  color: var(--bbbc-burgundy) !important;
  background: #f3e7c5;
  border: 1px solid #c7ae73;
}

.button-link-secondary:hover {
  color: #fff !important;
  background: #851b29;
}

.jubilee-news {
  padding: 28px;
  background: linear-gradient(145deg, #fffdf8, #f5e9ca);
}

.jubilee-news-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 330px);
  align-items: center;
  gap: 28px;
  margin-bottom: 22px;
}

.jubilee-news-heading img {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 180px;
  padding: 4px;
  background: #fff;
  border: 1px solid var(--bbbc-gold);
  border-radius: 3px;
  object-fit: cover;
  box-shadow: 0 5px 14px rgba(54, 34, 25, .14);
}

.jubilee-theme-line {
  margin: 3px 0 0;
  color: var(--bbbc-burgundy);
  font-size: 22px !important;
  font-weight: 800;
}

.event-schedule {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 24px 0;
}

.event-day {
  padding: 16px 18px;
  background: rgba(255, 255, 255, .68);
  border: 1px solid #d7c8a5;
  border-left: 4px solid var(--bbbc-burgundy);
  border-radius: 3px;
}

.event-day:last-child {
  grid-column: 1 / -1;
}

.event-day h3 {
  margin: 0 0 6px;
  color: var(--bbbc-burgundy);
  font-size: 18px;
}

.event-day p {
  margin: 0;
  font-size: 15px;
  line-height: 1.55;
}

.jubilee-visit-details {
  background: rgba(255,255,255,.55);
}

.event-actions {
  max-width: none !important;
  margin-bottom: 0;
}

.jubilee-primary-action {
  margin: 13px 0 0;
}

.stream-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 24px 0 8px;
}

.stream-buttons .button-link {
  min-width: 170px;
  margin-top: 0;
  text-align: center;
}

.building-history {
  clear: both;
  margin: 34px 0 28px;
  padding-top: 28px;
  border-top: 2px solid var(--bbbc-gold);
}

.history-content {
  float: none;
  width: 100%;
}

.building-history > h2 {
  margin: 0 0 12px;
}

.history-timeline {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}

.history-step {
  display: grid;
  grid-template-columns: minmax(220px, .95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: 22px;
  padding: 16px;
  background: #fffdf8;
  border: 1px solid #d7c8a5;
  border-left: 4px solid var(--bbbc-burgundy);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(54, 34, 25, .09);
}

.history-step img {
  display: block;
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 16 / 10;
  height: auto;
  padding: 4px;
  background: #fff;
  border: 1px solid var(--bbbc-line);
  border-radius: 3px;
  object-fit: cover;
}

.history-step h3 {
  margin: 0 0 7px;
  color: var(--bbbc-burgundy);
  font-size: 20px;
}

.history-step p {
  margin: 0;
  font-size: 16px;
  line-height: 1.62;
}

.history-step-reverse img { order: 2; }
.history-step-reverse div { order: 1; }

.history-content {
  float: none !important;
  width: 100% !important;
}

.history-intro {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  align-items: start;
  gap: 28px;
  margin-bottom: 24px;
}

.history-intro > img {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
}

.history-intro p:first-child { margin-top: 0; }

.beliefs-overview { margin-bottom: 24px; }

.beliefs-overview::after {
  content: "";
  display: block;
  clear: both;
}

.beliefs-overview > img {
  float: left !important;
  width: 230px !important;
  max-width: 34% !important;
  height: auto !important;
  margin: 0 28px 18px 0 !important;
}

.beliefs-overview p:first-child { margin-top: 0; }

.legacy-building-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 22px 0;
}

.legacy-building-gallery img {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  height: 240px !important;
  margin: 0 !important;
  object-fit: cover;
}

.salvation-plan {
  clear: both;
  width: 100%;
  margin-top: 30px;
  padding-top: 24px;
  border-top: 2px solid var(--bbbc-gold);
}

.salvation-illustration {
  display: block;
  float: none !important;
  width: min(400px, 100%) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 8px auto 24px !important;
}

.resources-heading {
  margin-top: 38px;
  padding-top: 26px;
  border-top: 2px solid var(--bbbc-gold);
}

.schedule-grid,
.resource-grid,
.photo-grid,
.ministry-photo-grid {
  display: grid;
  gap: 18px;
  margin: 20px 0;
}

.schedule-grid,
.resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.photo-grid,
.ministry-photo-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.schedule-card,
.resource-card {
  box-sizing: border-box;
  padding: 18px;
  background: #fffdf8;
  border: 1px solid #d7c8a5;
  border-top: 4px solid var(--bbbc-burgundy);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(54, 34, 25, .09);
}

.schedule-card h3,
.resource-card h3 { margin: 0 0 8px; font-size: 18px; }
.resource-card img {
  float: none !important;
  width: 100%;
  max-width: none !important;
  height: 170px;
  margin: 0 0 12px !important;
  object-fit: cover;
}
.resource-card.book-card img { object-fit: contain; background: #eee5d5; }

.pastor-resource-grid { margin-bottom: 18px; }

.resource-secondary-grid {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 18px;
  margin: 0 0 22px;
}

.compact-resource-card { padding: 15px; }

.compact-resource-layout {
  display: grid;
  grid-template-columns: 105px minmax(0, 1fr);
  align-items: start;
  gap: 15px;
}

.compact-resource-layout > img {
  float: none !important;
  width: 105px !important;
  max-width: none !important;
  height: 150px !important;
  margin: 0 !important;
  object-fit: contain;
  background: #eee5d5;
}

.compact-resource-layout p { font-size: 15px; }

.cd-collection-card > h3 { margin-bottom: 12px; }

.cd-collection-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.cd-collection-item + .cd-collection-item {
  padding-left: 15px;
  border-left: 1px solid #d7c8a5;
}

.cd-collection-item img {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  height: 92px !important;
  margin: 0 0 8px !important;
  object-fit: contain;
  background: #eee5d5;
}

.cd-collection-item h4 {
  margin: 0 0 5px;
  color: var(--bbbc-burgundy);
  font-size: 15px;
  line-height: 1.25;
}

.cd-collection-item a { font-weight: 700; }

.resource-card-wide { grid-column: 1 / -1; }

.resource-card-wide img {
  height: 225px;
  object-fit: contain;
  background: #eee5d5;
}

.pastor-books-feature {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  align-items: center;
  gap: 28px;
  margin: 32px 0 26px;
  padding: 25px;
  background: linear-gradient(135deg, #fffdf8, #efe2c5);
  border: 1px solid #d7c8a5;
  border-top: 4px solid var(--bbbc-burgundy);
  box-shadow: 0 5px 15px rgba(54, 34, 25, .11);
}

.pastor-books-feature h3 {
  margin: 3px 0 9px;
  color: var(--bbbc-burgundy);
  font-size: 21px;
}

.pastor-book-covers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: end;
  gap: 12px;
}

.pastor-book-covers img {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  height: 175px !important;
  margin: 0 !important;
  object-fit: contain;
  filter: drop-shadow(0 4px 5px rgba(45, 25, 17, .2));
}

.drena-memorial {
  clear: both;
  display: grid;
  grid-template-columns: minmax(220px, 270px) minmax(0, 1fr);
  align-items: center;
  gap: 30px;
  margin-top: 34px;
  padding: 28px;
  background: linear-gradient(135deg, #fffdf8, #efe2c5);
  border: 1px solid #d7c8a5;
  border-top: 4px solid var(--bbbc-burgundy);
  box-shadow: 0 5px 15px rgba(54, 34, 25, .11);
}

.drena-memorial > img {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  height: 340px !important;
  margin: 0 !important;
  object-fit: cover;
  object-position: center top;
  border: 5px solid #fffdf8;
  box-shadow: 0 4px 12px rgba(54, 34, 25, .18);
}

.drena-memorial h2 {
  margin: 3px 0 13px;
  color: var(--bbbc-burgundy);
  font-size: 25px;
}

.drena-memorial p { line-height: 1.65; }

.drena-memorial p:last-child { margin-bottom: 0; }

.button-link {
  display: inline-block;
  margin-top: 8px;
  padding: 10px 15px;
  color: #fff !important;
  background: linear-gradient(#7b1a28, var(--bbbc-burgundy));
  border-radius: 2px;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
}

.button-link:hover { background: #851b29; text-decoration: none; }

.homepage-section-link { margin: 14px 0 0; }

.homepage-section-link a {
  display: inline-block;
  color: var(--bbbc-burgundy);
  font-size: 16px;
  font-weight: 700;
  text-decoration: none;
  border-bottom: 2px solid var(--bbbc-gold);
}

.homepage-section-link a:hover {
  color: #8a1d2d;
  border-bottom-color: #8a1d2d;
}

.photo-grid img {
  box-sizing: border-box;
  float: none !important;
  width: 100%;
  max-width: none !important;
  height: auto;
  margin: 0 !important;
  padding: 4px;
  background: #fff;
  border: 1px solid var(--bbbc-line);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(54, 34, 25, .14);
}

.post-wide-photo {
  box-sizing: border-box;
  display: block;
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto;
  margin: 0 0 22px !important;
}

.ministry-photo-card {
  margin: 0;
  background: #fffdf8;
  border: 1px solid #d7c8a5;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 12px rgba(54, 34, 25, .12);
}

.ministry-photo-card img {
  box-sizing: border-box;
  display: block;
  float: none !important;
  width: 100%;
  max-width: none !important;
  aspect-ratio: 16 / 10;
  height: auto;
  margin: 0 !important;
  padding: 0;
  object-fit: cover;
}

.ministry-photo-card figcaption {
  padding: 10px 12px;
  color: #fff;
  background: var(--bbbc-burgundy);
  font-size: 15px;
  font-weight: 700;
}

.ministry-content {
  float: none;
  width: 100%;
}

.ministry-hero {
  max-height: 390px;
  object-fit: cover;
  object-position: center 46%;
}

.page-intro { font-size: 18px; }

.btn {
  box-sizing: border-box;
  width: auto;
  min-width: 95px;
  height: 35px;
  padding: 11px 17px 0;
  background: linear-gradient(#7b1a28, var(--bbbc-burgundy));
  border-radius: 2px;
  box-shadow: 0 3px 8px rgba(57, 8, 15, .2);
  font-size: 13px;
  letter-spacing: .04em;
}

.btn:hover {
  background: #851b29;
}

.cols {
  border-top-color: var(--bbbc-line);
}

.cols h3 {
  color: var(--bbbc-burgundy);
  font-size: 21px;
}

.cols p,
.cols em,
.col_right,
.col_center,
.col_left { font-size: 16px; }

.col_center ul li a,
.col_right p.contact_info { font-size: 15px; }

.footer_bottom p { font-size: 13px; }

.col_left img {
  width: 70px;
  height: 70px;
  object-fit: cover;
  transition: transform .15s ease, box-shadow .15s ease;
}

.col_left img:hover {
  position: relative;
  z-index: 2;
  transform: translateY(-2px);
  box-shadow: 0 5px 12px rgba(45, 25, 18, .22);
}

.footer_bottom table {
  background: var(--bbbc-burgundy-dark) !important;
}

/* Use more of a desktop screen without turning the original design into an
   edge-to-edge layout. The 960px artwork scales modestly to a 1200px frame. */
@media screen and (min-width: 981px) {
  .resize,
  .footer {
    width: calc(100% - 32px);
    max-width: 1200px;
  }

  .menu ul li a {
    padding-left: 12px;
    padding-right: 12px;
  }

  .header > .clr img {
    width: 100%;
    height: auto;
  }

  .content_wrapper {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    align-items: start;
    gap: 26px;
    padding: 26px;
    background: linear-gradient(135deg, #efe0b5, var(--bbbc-cream));
  }

  .content_wrapper > .clr,
  .cols > .clr { display: none; }

  .sidebar {
    float: none;
    width: auto;
    padding: 28px 24px;
    border: 1px solid rgba(55, 10, 17, .42);
    border-radius: 4px;
    box-shadow: 0 7px 18px rgba(54, 34, 25, .16);
  }

  .content,
  .subpage {
    float: none;
    width: auto;
    min-width: 0;
    padding: 30px 38px 34px;
    border: 1px solid #d2c099;
    border-radius: 4px;
    box-shadow: 0 7px 20px rgba(54, 34, 25, .11);
  }

  .home-jubilee-feature {
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    gap: 38px;
    padding: 32px 40px;
  }

  .cols {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 48px;
  }

  .col_left,
  .col_center,
  .col_right {
    float: none;
    width: auto;
    margin: 0;
  }

  .col_center,
  .col_right {
    padding-left: 34px;
    border-left: 1px solid rgba(92, 69, 52, .21);
  }

  .post_cont { width: 65%; }

  .post-wide-photo + .post_cont {
    float: none;
    width: 100%;
  }

}

@media screen and (min-width: 981px) and (max-width: 1100px) {
  .menu ul li a {
    padding-left: 4px;
    padding-right: 4px;
    font-size: 15px;
    letter-spacing: 0;
  }
}

@media screen and (max-width: 980px) {
  .resize,
  .footer { box-shadow: none; }

  .bar,
  .menu ul li a { height: auto; }

  .menu ul li a { padding: 11px 8px 10px; font-size: 15px; }
}

@media screen and (max-width: 700px) {
  .menu ul { grid-template-columns: 1fr; }

  .menu ul li,
  .menu ul li:first-child {
    border-left: 0;
    border-right: 0;
    border-bottom: 1px solid rgba(92, 69, 52, .25);
  }

  .content,
  .subpage { padding-top: 30px; }

  .sidebar { border-top: 5px solid var(--bbbc-burgundy); }

  h2 { font-size: 27px; line-height: 1.15; }

  .post > img,
  .post > a > img {
    width: min(230px, 100%);
  }

  .btn {
    display: inline-block;
    margin-top: 8px;
  }

  .schedule-grid,
  .resource-grid,
  .ministry-photo-grid { grid-template-columns: 1fr; }

  .resource-card-wide { grid-column: auto; }

  .resource-secondary-grid,
  .compact-resource-layout,
  .cd-collection-grid { grid-template-columns: 1fr; }

  .compact-resource-layout > img {
    width: 140px !important;
    margin: 0 auto !important;
  }

  .cd-collection-item + .cd-collection-item {
    padding: 15px 0 0;
    border-top: 1px solid #d7c8a5;
    border-left: 0;
  }

  .pastor-books-feature { grid-template-columns: 1fr; }

  .drena-memorial {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .drena-memorial > img {
    width: min(300px, 100%) !important;
    height: auto !important;
    margin: 0 auto !important;
  }

  .pastor-book-covers {
    width: min(300px, 100%);
    margin: 0 auto;
  }

  .photo-grid { grid-template-columns: 1fr; }

  .home-jubilee-feature {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .home-jubilee-feature > img { width: 100%; height: auto; max-height: none; }

  .news-feature-copy,
  .jubilee-news { padding: 21px; }

  .jubilee-news-heading,
  .event-schedule { grid-template-columns: 1fr; }

  .jubilee-news-heading { gap: 16px; }

  .jubilee-news-heading img { height: auto; }

  .event-day:last-child { grid-column: auto; }

  .event-actions .button-link {
    display: block;
    margin: 8px 0 0;
    text-align: center;
  }

  .stream-buttons { display: grid; }

  .history-step { grid-template-columns: 1fr; }

  .history-intro,
  .legacy-building-gallery { grid-template-columns: 1fr; }

  .history-intro > img {
    width: min(260px, 100%) !important;
    margin: 0 auto !important;
  }

  .beliefs-overview > img {
    float: none !important;
    display: block;
    width: min(260px, 100%) !important;
    max-width: 100% !important;
    margin: 0 auto 20px !important;
  }

  .legacy-building-gallery img { height: auto !important; }

  .history-step-reverse img,
  .history-step-reverse div { order: initial; }
}

/* The church identity is now built into each rotating header image. */
.header-art {
  display: none;
}

.header-art img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
}

/* Contact-page photography: a stable grid instead of competing floats. */
.contact-intro {
  display: grid;
  grid-template-columns: minmax(240px, .9fr) minmax(260px, 1.1fr);
  align-items: center;
  gap: 28px;
  margin-bottom: 22px;
}

.contact-pastor-photo {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  height: 245px !important;
  margin: 0 !important;
  object-fit: cover;
}

.contact-details p:first-child { margin-top: 0; }

.contact-details p:last-child { margin-bottom: 0; }

.live-service-thumbnail {
  display: block;
  float: none !important;
  width: min(390px, 100%) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 22px auto 6px !important;
  border: 5px solid #fffdf8;
  box-shadow: 0 5px 15px rgba(54, 34, 25, .18);
}

.contact-photo-grid {
  clear: both;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

.contact-photo-grid img {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  height: 210px !important;
  margin: 0 !important;
  object-fit: cover;
}

@media screen and (max-width: 700px) {
  .contact-intro { grid-template-columns: 1fr; }

  .contact-pastor-photo {
    width: 100% !important;
    height: auto !important;
  }

  .contact-photo-grid { grid-template-columns: 1fr; }

  .contact-photo-grid img { height: auto !important; }
}
