:root {
  --ink: #1f2933;
  --muted: #6b7280;
  --paper: #fffaf2;
  --surface: #ffffff;
  --soft: #f6f8fb;
  --cream: #fffaf2;
  --brand: #1f3a5f;
  --brand-dark: #14263f;
  --accent: #c89b3c;
  --accent-dark: #a97c24;
  --accent-soft: #fff0cf;
  --line: rgba(31, 58, 95, 0.12);
  --shadow: 0 14px 35px rgba(31, 58, 95, 0.08);
  --radius: 1.25rem;
}

.skip-link {
  position: fixed;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2000;
  padding: 0.7rem 1rem;
  border-radius: 999px;
  color: #fff;
  background: #1f3a5f;
  box-shadow: 0 14px 34px rgba(5, 15, 29, 0.24);
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform 180ms ease;
}

.skip-link:focus {
  color: #fff;
  transform: translateY(0);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
  background: #102238;
}

[id] {
  scroll-margin-top: 88px;
}

body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: "Plus Jakarta Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.6;
}

@keyframes fadeSlideUp {
  from {
    opacity: 0;
    transform: translateY(22px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes softReveal {
  from {
    opacity: 0;
    transform: scale(1.025);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

img,
iframe {
  max-width: 100%;
}

a {
  color: inherit;
}

.site-shell {
  overflow-x: clip;
  overflow-y: visible;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1030;
  border-bottom: 1px solid rgba(31, 58, 95, 0.08);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(16px);
  box-shadow: 0 10px 30px rgba(31, 58, 95, 0.08);
}

.utility-slider {
  --utility-safe-top: env(safe-area-inset-top, 0px);
  --utility-height: 42px;
  position: relative;
  min-height: calc(var(--utility-height) + var(--utility-safe-top));
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 16% 50%, rgba(200, 155, 60, 0.2), transparent 0 11rem),
    linear-gradient(135deg, #102238 0%, #1f3a5f 58%, #17324f 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.utility-slide {
  position: absolute;
  inset: var(--utility-safe-top) 0 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  min-height: var(--utility-height);
  padding: 0 3.4rem;
  color: #fff;
  font-size: 0.84rem;
  font-weight: 800;
  letter-spacing: 0.01em;
  line-height: 1.25;
  text-decoration: none;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transform: translateX(-2.2rem);
  transition: opacity 420ms ease, transform 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.utility-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.utility-slide:hover,
.utility-slide:focus {
  color: #fff;
}

.utility-slide:focus-visible {
  outline: 2px solid rgba(240, 201, 110, 0.9);
  outline-offset: -4px;
}

.utility-slide > span:first-child {
  overflow: hidden;
  text-overflow: ellipsis;
}

.utility-cta {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 0.35rem;
  color: #f0c96e;
  font-weight: 950;
}

.utility-cta::before {
  content: "->";
  color: currentColor;
}

.utility-arrow {
  position: absolute;
  top: calc(var(--utility-safe-top) + (var(--utility-height) / 2));
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 20px rgba(5, 15, 29, 0.16);
  transform: translateY(-50%);
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.utility-arrow:hover,
.utility-arrow:focus {
  color: #102238;
  border-color: var(--accent);
  background: var(--accent);
  transform: translateY(-50%) scale(1.04);
}

.utility-arrow:focus-visible {
  outline: 2px solid rgba(240, 201, 110, 0.9);
  outline-offset: 2px;
}

.utility-arrow.prev {
  left: 1.15rem;
}

.utility-arrow.next {
  right: 1.15rem;
}

.utility-arrow span {
  font-size: 1.05rem;
  line-height: 1;
  transform: translateY(-0.02em);
}

@media (max-width: 575.98px) {
  .utility-slider {
    --utility-height: 40px;
  }

  .utility-slide {
    justify-content: center;
    gap: 0.45rem;
    min-height: var(--utility-height);
    padding: 0 2.65rem;
    font-size: 0.7rem;
  }

  .utility-cta {
    margin-left: 0;
  }

  .utility-arrow {
    width: 26px;
    height: 26px;
  }

  .utility-arrow.prev {
    left: 0.75rem;
  }

  .utility-arrow.next {
    right: 0.75rem;
  }
}

.navbar {
  padding: 0.55rem 0;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  font-weight: 800;
  letter-spacing: 0;
}

.brand-logo {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 50%;
  background: var(--cream);
  padding: 0.18rem;
}

.navbar-dark .navbar-brand,
.navbar-dark .navbar-nav .nav-link {
  color: var(--brand);
}

.navbar-dark .navbar-nav .nav-link {
  position: relative;
  font-weight: 650;
  padding: 0.7rem 0.85rem;
  min-height: 44px;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus,
.navbar-dark .navbar-nav .nav-link.active {
  color: var(--accent-dark);
}

.navbar-dark .navbar-nav .nav-link:not(.dropdown-toggle)::after {
  content: "";
  position: absolute;
  right: 0.85rem;
  bottom: 0.35rem;
  left: 0.85rem;
  height: 2px;
  border-radius: 999px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 160ms ease;
}

.navbar-dark .navbar-nav .nav-link:not(.dropdown-toggle):hover::after,
.navbar-dark .navbar-nav .nav-link:not(.dropdown-toggle):focus::after,
.navbar-dark .navbar-nav .nav-link:not(.dropdown-toggle).active::after {
  transform: scaleX(1);
}

.navbar-dark .navbar-nav .dropdown-toggle::after {
  display: inline-block;
  position: static;
  width: 0;
  height: 0;
  margin-left: 0.42rem;
  vertical-align: 0.12em;
  border-top: 0.34em solid currentColor;
  border-right: 0.34em solid transparent;
  border-bottom: 0;
  border-left: 0.34em solid transparent;
  background: transparent;
  transform: none;
}

.navbar-dark .navbar-toggler {
  border-color: rgba(31, 58, 95, 0.18);
}

.navbar-dark .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2831, 58, 95, 0.88%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.dropdown-menu {
  border: 0;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 0.55rem;
}

.dropdown-item {
  border-radius: 6px;
  font-weight: 750;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.dropdown-item:hover,
.dropdown-item:focus,
.dropdown-item.active,
.dropdown-item:active {
  color: #fff;
  background: linear-gradient(135deg, var(--brand), #2b5487);
  transform: translateX(2px);
}

.hero {
  position: relative;
  min-height: 78vh;
  display: flex;
  align-items: end;
  color: #fff;
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.82) 0%, rgba(31, 58, 95, 0.54) 48%, rgba(31, 58, 95, 0.14) 100%),
    image-set(
      url("../Images/hero-home-sm.webp") 1x,
      url("../Images/hero-home-md.webp") 2x,
      url("../Images/hero-home.webp") 3x
    );
  background-size: cover;
  background-position: center;
  animation: softReveal 800ms ease both;
}

.home-hero-carousel {
  display: block;
  min-height: 70vh;
  background:
    linear-gradient(90deg, rgba(31, 58, 95, 0.82) 0%, rgba(31, 58, 95, 0.55) 45%, rgba(31, 58, 95, 0.16) 100%),
    image-set(
      url("../Images/hero-home-sm.webp") 1x,
      url("../Images/hero-home-md.webp") 2x,
      url("../Images/hero-home.webp") 3x
    );
  background-size: cover;
  background-position: center;
}

.home-hero-slide {
  min-height: 70vh;
  background-size: cover;
  background-position: center;
}

.home-hero-worship {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.82) 0%, rgba(31, 58, 95, 0.55) 45%, rgba(31, 58, 95, 0.16) 100%),
    image-set(
      url("../Images/hero-home-sm.webp") 1x,
      url("../Images/hero-home-md.webp") 2x,
      url("../Images/hero-home.webp") 3x
    );
}

.home-hero-event {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.8) 0%, rgba(31, 58, 95, 0.54) 45%, rgba(31, 58, 95, 0.16) 100%),
    image-set(
      url("../Images/hero-events-sm.webp") 1x,
      url("../Images/hero-events-md.webp") 2x,
      url("../Images/hero-events.webp") 3x
    );
}

.home-hero-alert {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.84) 0%, rgba(31, 58, 95, 0.58) 44%, rgba(31, 58, 95, 0.2) 100%),
    image-set(
      url("../Images/hero-home-sm.webp") 1x,
      url("../Images/hero-home-md.webp") 2x,
      url("../Images/hero-home.webp") 3x
    );
}

.home-hero-carousel .carousel-control-prev,
.home-hero-carousel .carousel-control-next {
  width: 7%;
}

.home-hero-carousel .carousel-indicators {
  margin-bottom: 1.4rem;
}

.carousel-indicators [data-bs-target] {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background-clip: content-box;
  padding: 14px;
}

.hero-content {
  width: min(1120px, calc(100% - 2rem));
  margin: 0 auto;
  padding: 5.8rem 0 4.25rem;
}

.eyebrow {
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hero h1,
.hero h2,
.page-hero h1,
.section-heading h2 {
  letter-spacing: 0;
}

.compact-hero-copy h1 {
  max-width: 760px;
  font-size: clamp(2.35rem, 6vw, 4.8rem);
}

.compact-hero-copy p {
  max-width: 560px;
}

.hero h1,
.hero h2 {
  max-width: 820px;
  margin: 0.9rem 0 1.1rem;
  font-size: clamp(2.7rem, 8vw, 6.6rem);
  line-height: 0.95;
  font-weight: 900;
}

.hero p {
  max-width: 650px;
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(1.05rem, 2.5vw, 1.35rem);
}

.hero-location {
  display: block;
  margin-bottom: 0.25rem;
  color: #fff;
  font-weight: 900;
}

.hero-content > *,
.page-hero-content > * {
  opacity: 0;
  animation: fadeSlideUp 720ms ease forwards;
}

.hero-content > *:nth-child(1),
.page-hero-content > *:nth-child(1) {
  animation-delay: 90ms;
}

.hero-content > *:nth-child(2),
.page-hero-content > *:nth-child(2) {
  animation-delay: 190ms;
}

.hero-content > *:nth-child(3),
.page-hero-content > *:nth-child(3) {
  animation-delay: 310ms;
}

.hero-content > *:nth-child(4),
.page-hero-content > *:nth-child(4) {
  animation-delay: 430ms;
}

.hero-actions,
.section-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.75rem;
}

.btn-church {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0.72rem 1.2rem;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 750;
  text-decoration: none;
  transition: transform 160ms ease, background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.btn-church:hover,
.btn-church:focus {
  transform: translateY(-1px);
}

.btn-primary-church {
  background: var(--accent);
  color: var(--ink);
  border-color: var(--accent);
}

.btn-primary-church:hover,
.btn-primary-church:focus {
  color: #fff !important;
  background: var(--accent-dark) !important;
  border-color: var(--accent-dark) !important;
  box-shadow: 0 12px 24px rgba(169, 124, 36, 0.2);
}

.btn-ghost-church {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.54);
  background: rgba(255, 255, 255, 0.14);
}

.btn-ghost-church:hover,
.btn-ghost-church:focus {
  color: #fff;
  border-color: #fff;
  background: rgba(255, 255, 255, 0.16);
}

.btn-outline-church {
  color: var(--brand);
  border-color: rgba(31, 58, 95, 0.22);
  background: transparent;
}

.btn-outline-church:hover,
.btn-outline-church:focus,
.btn-church.btn-outline-church:hover,
.btn-church.btn-outline-church:focus {
  color: #fff !important;
  border-color: var(--accent-dark) !important;
  background: var(--accent-dark) !important;
  box-shadow: 0 12px 24px rgba(169, 124, 36, 0.2);
}

.btn-coming-soon,
.btn-coming-soon:hover,
.btn-coming-soon:focus {
  color: rgba(31, 41, 51, 0.76) !important;
  border-color: rgba(31, 58, 95, 0.14) !important;
  background: rgba(246, 248, 251, 0.92) !important;
  box-shadow: none !important;
  cursor: not-allowed;
  transform: none;
}

.hero .btn-primary-church,
.page-hero .btn-primary-church,
.sermon-hero .btn-primary-church,
.section-dark .btn-primary-church {
  color: var(--ink);
  border-color: var(--accent);
  background: var(--accent);
}

.hero .btn-primary-church:hover,
.hero .btn-primary-church:focus,
.page-hero .btn-primary-church:hover,
.page-hero .btn-primary-church:focus,
.sermon-hero .btn-primary-church:hover,
.sermon-hero .btn-primary-church:focus,
.section-dark .btn-primary-church:hover,
.section-dark .btn-primary-church:focus {
  color: #fff !important;
  border-color: var(--accent-dark) !important;
  background: var(--accent-dark) !important;
}

.section {
  padding: clamp(2.65rem, 4.5vw, 3.75rem) 0;
}

.section-soft {
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.98), rgba(246, 248, 251, 0.9)),
    var(--soft);
}

.section-light {
  background: var(--cream);
}

.section-muted {
  background: var(--soft);
}

.section-white {
  background: var(--surface);
}

.section-dark {
  color: #fff;
  background:
    linear-gradient(135deg, #143b3c, #1f6f68);
}

main > .section:nth-of-type(2n) {
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.98), rgba(255, 240, 207, 0.48)),
    var(--cream);
}

main > .section:nth-of-type(3n) {
  background:
    linear-gradient(135deg, rgba(246, 248, 251, 0.98), rgba(233, 240, 249, 0.9)),
    var(--soft);
}

main > .section:nth-of-type(4n) {
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.1), rgba(255, 250, 242, 0.94)),
    var(--cream);
}

main > .section.section-dark {
  background:
    linear-gradient(135deg, #143b3c, #1f6f68);
}

.section-heading {
  max-width: 720px;
  margin-bottom: 1.55rem;
}

.section-heading.center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.section-heading h2 {
  margin: 0.35rem 0 0.55rem;
  color: var(--brand);
  font-size: clamp(1.85rem, 4vw, 3rem);
  line-height: 1.08;
  font-weight: 850;
  letter-spacing: -0.03em;
}

.section-heading p {
  margin: 0;
  color: var(--muted);
  font-size: 1.05rem;
}

.temporary-note {
  display: inline-flex;
  max-width: 720px;
  align-items: center;
  border: 1px solid rgba(200, 155, 60, 0.26);
  border-radius: 999px;
  background: rgba(255, 240, 207, 0.62);
  padding: 0.65rem 1rem;
  color: #6f5522 !important;
  font-size: 0.96rem !important;
  font-weight: 750;
}

.section-dark .section-heading p,
.section-dark .muted {
  color: rgba(255, 255, 255, 0.72);
}

.section-dark .section-heading h2,
.section-dark h2 {
  color: #fff;
}

.info-strip {
  margin-top: -1.8rem;
  position: relative;
  z-index: 2;
}

.info-strip-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  overflow: hidden;
  border-radius: 1.35rem;
  background: var(--line);
  box-shadow: var(--shadow);
}

.info-tile {
  background: var(--surface);
  padding: 1.25rem;
}

.info-tile span,
.event-date span,
.sermon-meta,
.ministry-card span {
  display: block;
  color: var(--accent-dark);
  font-size: 0.83rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.info-tile strong {
  display: block;
  margin-top: 0.25rem;
  font-size: 1.1rem;
}

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

.card-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.feature-card,
.event-card,
.announcement-card,
.ministry-card,
.sermon-card,
.giving-card,
.update-card,
.safety-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
}

.feature-card:hover,
.feature-card:focus-within,
.event-card:hover,
.event-card:focus-within,
.announcement-card:hover,
.announcement-card:focus-within,
.ministry-card:hover,
.ministry-card:focus-within,
.sermon-card:hover,
.sermon-card:focus-within,
.giving-card:hover,
.giving-card:focus-within,
.update-card:hover,
.update-card:focus-within,
.safety-card:hover,
.safety-card:focus-within {
  transform: translateY(-3px);
  color: #fff;
  border-color: rgba(31, 111, 104, 0.32);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.98), rgba(45, 138, 120, 0.92)),
    #1f6f68;
  box-shadow: 0 18px 44px rgba(31, 111, 104, 0.18);
}

.feature-card,
.announcement-card,
.ministry-card,
.giving-card,
.update-card,
.safety-card {
  padding: 1.35rem;
}

.feature-card h3,
.announcement-card h3,
.ministry-card h3,
.event-card h3,
.sermon-card h3,
.giving-card h3,
.update-card h3,
.safety-card h3 {
  margin: 0 0 0.45rem;
  font-size: 1.18rem;
  font-weight: 850;
}

.feature-card p,
.announcement-card p,
.ministry-card p,
.event-card p,
.sermon-card p,
.giving-card p,
.update-card p,
.safety-card p {
  margin: 0;
  color: var(--muted);
  transition: color 180ms ease;
}

.feature-card:hover p,
.feature-card:focus-within p,
.event-card:hover p,
.event-card:focus-within p,
.announcement-card:hover p,
.announcement-card:focus-within p,
.ministry-card:hover p,
.ministry-card:focus-within p,
.sermon-card:hover p,
.sermon-card:focus-within p,
.giving-card:hover p,
.giving-card:focus-within p,
.update-card:hover p,
.update-card:focus-within p,
.safety-card:hover p,
.safety-card:focus-within p,
.feature-card:hover span,
.feature-card:focus-within span,
.announcement-card:hover span,
.announcement-card:focus-within span,
.ministry-card:hover span,
.ministry-card:focus-within span,
.sermon-card:hover span,
.sermon-card:focus-within span,
.giving-card:hover span,
.giving-card:focus-within span,
.update-card:hover time,
.update-card:focus-within time {
  color: var(--accent);
}

.feature-card:hover h3,
.feature-card:focus-within h3,
.event-card:hover h3,
.event-card:focus-within h3,
.announcement-card:hover h3,
.announcement-card:focus-within h3,
.ministry-card:hover h3,
.ministry-card:focus-within h3,
.sermon-card:hover h3,
.sermon-card:focus-within h3,
.giving-card:hover h3,
.giving-card:focus-within h3,
.update-card:hover h3,
.update-card:focus-within h3,
.safety-card:hover h3,
.safety-card:focus-within h3 {
  color: #fff;
}

.giving-card {
  display: flex;
  min-height: 100%;
  flex-direction: column;
  gap: 1rem;
}

.giving-card .btn-church {
  margin-top: auto;
}

.giving-icon {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #fff;
  background: var(--brand);
  font-weight: 900;
}

.giving-note {
  border-left: 4px solid var(--accent);
  padding: 1rem 1.2rem;
  border-radius: var(--radius);
  background: var(--accent-soft);
  color: #5c3a08;
}

.image-panel {
  min-height: 100%;
  overflow: hidden;
  border-radius: var(--radius);
  background: #172522;
  box-shadow: var(--shadow);
}

.image-panel img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: contain;
}

.scripture-box {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 5vw, 3rem);
  border-radius: var(--radius);
  background: var(--surface);
  border: 1px solid var(--line);
}

.scripture-box blockquote {
  margin: 0;
  font-size: clamp(1.35rem, 3vw, 2.25rem);
  line-height: 1.24;
  font-weight: 850;
}

.scripture-box cite {
  margin-top: 1rem;
  color: var(--muted);
  font-style: normal;
  font-weight: 750;
}

.announcements {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.announcements.wide {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.announcement-card.featured {
  color: #fff;
  background: var(--brand);
}

.announcement-section {
  background:
    linear-gradient(135deg, rgba(31, 58, 95, 0.05), rgba(200, 155, 60, 0.1)),
    var(--paper);
}

.announcement-board {
  display: grid;
  gap: 1rem;
}

.announcement-feature {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 1.25rem;
  align-items: center;
  overflow: hidden;
  border-radius: var(--radius);
  padding: clamp(1.25rem, 4vw, 2rem);
  color: #fff;
  background:
    linear-gradient(135deg, rgba(31, 58, 95, 0.96), rgba(48, 91, 143, 0.9)),
    var(--brand);
  box-shadow: var(--shadow);
}

.announcement-feature::after {
  content: "";
  position: absolute;
  inset: auto -18% -42% 42%;
  height: 180px;
  border-radius: 999px;
  background: rgba(200, 155, 60, 0.22);
  filter: blur(4px);
}

.announcement-feature > * {
  position: relative;
  z-index: 1;
}

.announcement-label,
.announcement-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  margin-bottom: 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.announcement-label {
  padding: 0.22rem 0.7rem;
  color: var(--ink);
  background: var(--accent);
}

.announcement-feature h3 {
  margin: 0 0 0.5rem;
  font-size: clamp(1.55rem, 4vw, 2.45rem);
  line-height: 1.05;
  font-weight: 900;
}

.announcement-feature p {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.announcement-date {
  aspect-ratio: 1 / 1;
  display: grid;
  align-content: center;
  justify-items: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
}

.announcement-date span {
  color: rgba(255, 255, 255, 0.72);
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.announcement-date strong {
  color: #fff;
  font-size: 2.25rem;
  line-height: 1;
  font-weight: 950;
}

.announcement-list {
  display: grid;
  gap: 0.85rem;
}

.announcement-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  border: 1px solid var(--line);
  border-radius: 1rem;
  padding: 1rem;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 10px 28px rgba(31, 58, 95, 0.06);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.announcement-item:hover,
.announcement-item:focus-within {
  transform: translateY(-2px);
  border-color: rgba(31, 58, 95, 0.22);
  background: var(--surface);
  box-shadow: 0 16px 36px rgba(31, 58, 95, 0.12);
}

.announcement-icon {
  width: 58px;
  height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  color: var(--brand-dark);
  background: var(--accent-soft);
  font-size: 0.9rem;
  font-weight: 950;
}

.announcement-kicker {
  color: var(--brand);
}

.announcement-item h3 {
  margin: 0 0 0.25rem;
  font-size: clamp(1rem, 2.4vw, 1.25rem);
  font-weight: 900;
}

.announcement-item p {
  margin: 0;
  color: var(--muted);
}

.cover-carousel {
  margin-top: 2rem;
  max-width: 760px;
}

.cover-carousel .carousel-inner {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(14px);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.22);
}

.cover-feature {
  min-height: 158px;
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
}

.cover-feature-date,
.cover-feature-thumb {
  min-height: 96px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  background: rgba(213, 154, 58, 0.95);
  color: #172522;
  text-align: center;
  font-weight: 900;
}

.cover-feature-date strong {
  font-size: 2rem;
  line-height: 1;
}

.cover-feature-thumb {
  overflow: hidden;
  background: #123c3a;
}

.cover-feature-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cover-feature h3 {
  margin: 0 0 0.35rem;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 900;
}

.cover-feature p {
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.cover-carousel .carousel-indicators {
  position: static;
  margin: 0.85rem 0 0;
}

.cover-carousel .carousel-control-prev,
.cover-carousel .carousel-control-next {
  width: 44px;
}

.announcement-card.featured p,
.announcement-card.featured span {
  color: rgba(255, 255, 255, 0.78);
}

.announcement-card.giving {
  border-color: rgba(213, 154, 58, 0.38);
  background: linear-gradient(135deg, #fffaf0, #fff);
}

.announcement-card.giving:hover,
.announcement-card.giving:focus-within {
  background: var(--brand);
}

.events-list {
  display: grid;
  gap: 1rem;
}

.event-card {
  display: grid;
  grid-template-columns: 96px 1fr;
  gap: 1rem;
  padding: 1rem;
}

.event-date {
  display: flex;
  min-height: 96px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius);
  background: var(--accent-soft);
  color: #6b3d00;
  text-align: center;
  transition: background 180ms ease, color 180ms ease;
}

.event-card:hover .event-date,
.event-card:focus-within .event-date {
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
}

.event-card:hover .event-date span,
.event-card:focus-within .event-date span {
  color: rgba(255, 255, 255, 0.72);
}

.event-date strong {
  font-size: 2rem;
  line-height: 1;
}

.event-body {
  align-self: center;
}

.video-shell {
  overflow: hidden;
  border: 10px solid #fff;
  border-radius: var(--radius);
  background: #123c3a;
  box-shadow: var(--shadow);
}

.ratio iframe {
  border: 0;
}

.sermon-panel {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 2.4rem);
  border-radius: var(--radius);
  background: #174c48;
}

.sermon-panel h2 {
  margin: 0.55rem 0 0.8rem;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.08;
  font-weight: 900;
}

.home-sermon-preview {
  position: relative;
  display: block;
  width: 100%;
  border: 10px solid #fff;
  overflow: hidden;
  border-radius: var(--radius);
  background: #123c3a;
  padding: 0;
  box-shadow: var(--shadow);
}

.home-sermon-preview img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 260ms ease, opacity 260ms ease;
}

.home-sermon-preview:hover img,
.home-sermon-preview:focus img {
  opacity: 0.78;
  transform: scale(1.035);
}

.home-sermon-play {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 68px;
  height: 68px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #172522;
  background: var(--accent);
  transform: translate(-50%, -50%);
  font-weight: 950;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
}

.home-sermon-player {
  overflow: hidden;
  border: 10px solid #fff;
  border-radius: var(--radius);
  background: #123c3a;
  box-shadow: var(--shadow);
}

.sermon-card {
  overflow: hidden;
}

.sermon-card .ratio {
  background: #123c3a;
}

.sermon-card-body {
  padding: 1.15rem;
}

.sermon-card-link {
  color: var(--gold);
  display: inline-flex;
  font-weight: 900;
  margin-top: 0.85rem;
  text-decoration: none;
}

.sermon-card-link:hover,
.sermon-card-link:focus {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

.sermon-tools {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  margin-bottom: 1.5rem;
}

.sermon-search {
  width: 100%;
  min-height: 52px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  padding: 0.9rem 1rem;
  color: var(--ink);
  box-shadow: 0 10px 28px rgba(23, 37, 34, 0.05);
}

.sermon-count {
  color: var(--muted);
  font-size: 0.92rem;
  font-weight: 800;
  white-space: nowrap;
}

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

.sermon-thumb {
  display: block;
  position: relative;
  width: 100%;
  border: 0;
  overflow: hidden;
  background: #123c3a;
  padding: 0;
  text-align: left;
  cursor: pointer;
}

.sermon-thumb img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 260ms ease, opacity 260ms ease;
}

.sermon-card:hover .sermon-thumb img,
.sermon-card:focus-within .sermon-thumb img {
  opacity: 0.72;
  transform: scale(1.04);
}

.sermon-play {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #172522;
  background: var(--accent);
  transform: translate(-50%, -50%);
  font-weight: 900;
}

.sermon-card.is-playing {
  border-color: rgba(213, 154, 58, 0.8);
  box-shadow: 0 18px 42px rgba(213, 154, 58, 0.18);
}

.sermon-date {
  display: block;
  margin-bottom: 0.35rem;
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sermon-empty {
  display: none;
  padding: 2rem;
  border: 1px dashed var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  color: var(--muted);
  text-align: center;
}

.sermon-empty.is-visible {
  display: block;
}

.sermon-list-actions {
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
}

.page-hero {
  color: #fff;
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.72), rgba(31, 58, 95, 0.2)),
    image-set(
      url("../Images/hero-events-sm.webp") 1x,
      url("../Images/hero-events-md.webp") 2x,
      url("../Images/hero-events.webp") 3x
    );
  background-size: cover;
  background-position: center;
  animation: softReveal 800ms ease both;
}

.page-hero.about {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.72), rgba(31, 58, 95, 0.18)),
    image-set(
      url("../Images/hero-about-sm.webp") 1x,
      url("../Images/hero-about-md.webp") 2x,
      url("../Images/hero-about.webp") 3x
    );
}

.page-hero.events {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.72), rgba(31, 58, 95, 0.2)),
    image-set(
      url("../Images/hero-events-sm.webp") 1x,
      url("../Images/hero-events-md.webp") 2x,
      url("../Images/hero-events.webp") 3x
    );
}

.page-hero.give {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.76), rgba(31, 58, 95, 0.22)),
    image-set(
      url("../Images/hero-give-sm.webp") 1x,
      url("../Images/hero-give-md.webp") 2x,
      url("../Images/hero-give.webp") 3x
    );
}

.page-hero.sunday-school {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.72), rgba(31, 58, 95, 0.18)),
    image-set(
      url("../Images/hero-sundayschool-sm.webp") 1x,
      url("../Images/hero-sundayschool-md.webp") 2x,
      url("../Images/hero-sundayschool.webp") 3x
    );
}

.page-hero.youth {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.74), rgba(31, 58, 95, 0.2)),
    image-set(
      url("../Images/hero-youth-sm.webp") 1x,
      url("../Images/hero-youth-md.webp") 2x,
      url("../Images/hero-youth.webp") 3x
    );
}

.page-hero.women {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.72), rgba(31, 58, 95, 0.2)),
    image-set(
      url("../Images/hero-women-sm.webp") 1x,
      url("../Images/hero-women-md.webp") 2x,
      url("../Images/hero-women.webp") 3x
    );
}

.page-hero.outreach {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.72), rgba(31, 58, 95, 0.18)),
    image-set(
      url("../Images/hero-outreach-sm.webp") 1x,
      url("../Images/hero-outreach-md.webp") 2x,
      url("../Images/hero-outreach.webp") 3x
    );
}

.page-hero.sermons {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.76), rgba(31, 58, 95, 0.22)),
    image-set(
      url("../Images/hero-sermons-sm.webp") 1x,
      url("../Images/hero-sermons-md.webp") 2x,
      url("../Images/hero-sermons.webp") 3x
    );
}

.page-hero.prayer {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.74), rgba(31, 58, 95, 0.18)),
    image-set(
      url("../Images/hero-prayer-sm.webp") 1x,
      url("../Images/hero-prayer-md.webp") 2x,
      url("../Images/hero-prayer.webp") 3x
    );
}

.sermon-hero {
  color: #fff;
  background: var(--brand);
}

.sermon-cover-carousel {
  min-height: clamp(540px, 72vh, 760px);
}

.sermon-cover-slide {
  min-height: clamp(540px, 72vh, 760px);
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.86) 0%, rgba(31, 58, 95, 0.62) 42%, rgba(31, 58, 95, 0.22) 100%),
    image-set(
      url("../Images/hero-sermons-sm.webp") 1x,
      url("../Images/hero-sermons-md.webp") 2x,
      url("../Images/hero-sermons.webp") 3x
    );
  background-position: center, center;
  background-size: cover, cover;
}

.sermon-cover-two {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.86) 0%, rgba(31, 58, 95, 0.62) 42%, rgba(31, 58, 95, 0.22) 100%),
    image-set(
      url("../Images/hero-sermons-sm.webp") 1x,
      url("../Images/hero-sermons-md.webp") 2x,
      url("../Images/hero-sermons.webp") 3x
    );
}

.sermon-cover-three {
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.86) 0%, rgba(31, 58, 95, 0.62) 42%, rgba(31, 58, 95, 0.22) 100%),
    image-set(
      url("../Images/hero-sermons-sm.webp") 1x,
      url("../Images/hero-sermons-md.webp") 2x,
      url("../Images/hero-sermons.webp") 3x
    );
}

.sermon-cover-content {
  width: min(1120px, calc(100% - 2rem));
  min-height: clamp(540px, 72vh, 760px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin: 0 auto;
  padding: 5rem 0 4rem;
}

.sermon-cover-content h1,
.sermon-cover-content h2 {
  max-width: 820px;
  margin: 0.8rem 0 1rem;
  font-size: clamp(2.35rem, 6vw, 5.4rem);
  line-height: 1;
  font-weight: 900;
}

.sermon-cover-content p {
  max-width: 620px;
  margin: 0 0 1.5rem;
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(1rem, 2.2vw, 1.25rem);
}

.sermon-cover-content > * {
  opacity: 0;
  animation: fadeSlideUp 720ms ease forwards;
}

.sermon-cover-content > *:nth-child(1) {
  animation-delay: 90ms;
}

.sermon-cover-content > *:nth-child(2) {
  animation-delay: 190ms;
}

.sermon-cover-content > *:nth-child(3) {
  animation-delay: 310ms;
}

.sermon-cover-content > *:nth-child(4) {
  animation-delay: 430ms;
}

.sermon-cover-carousel .carousel-control-prev,
.sermon-cover-carousel .carousel-control-next {
  width: 7%;
}

.sermon-cover-carousel .carousel-indicators {
  margin-bottom: 1.4rem;
}

.page-hero-content {
  width: min(1120px, calc(100% - 2rem));
  margin: 0 auto;
  padding: clamp(3.6rem, 8vw, 5.5rem) 0 clamp(2.25rem, 4.5vw, 3.25rem);
}

.page-hero h1 {
  max-width: 780px;
  margin: 0.8rem 0 1rem;
  font-size: clamp(2.4rem, 7vw, 5.6rem);
  line-height: 0.98;
  font-weight: 900;
}

.page-hero p {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: 1.12rem;
  text-shadow: 0 2px 16px rgba(20, 38, 63, 0.22);
}

.page-hero .hero-location {
  margin-bottom: 0.15rem;
}

.about-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.about-list li {
  position: relative;
  overflow: hidden;
  padding: 1.35rem 1rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  font-weight: 850;
  text-align: center;
  box-shadow: 0 10px 28px rgba(23, 37, 34, 0.06);
  transition: transform 180ms ease, color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.about-list li::before {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 4px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms ease;
}

.about-list li:hover,
.about-list li:focus-within {
  color: #fff;
  background: var(--brand);
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(23, 37, 34, 0.16);
}

.about-list li:hover::before,
.about-list li:focus-within::before {
  transform: scaleX(1);
}

.about-list strong,
.about-list span {
  display: block;
}

.about-list strong {
  font-size: 1.2rem;
}

.about-list span {
  margin-top: 0.2rem;
  color: var(--muted);
  font-size: 0.95rem;
  transition: color 180ms ease;
}

.about-list li:hover span,
.about-list li:focus-within span {
  color: rgba(255, 255, 255, 0.78);
}

.mission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.mission-card {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  padding: clamp(1.5rem, 4vw, 2.35rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(213, 154, 58, 0.16), rgba(255, 255, 255, 0) 46%),
    var(--surface);
  box-shadow: var(--shadow);
  transition: transform 200ms ease, background 200ms ease, color 200ms ease;
}

.mission-card h3 {
  position: relative;
  z-index: 1;
  margin: 0.85rem 0 0;
  font-size: clamp(1.18rem, 2.5vw, 1.55rem);
  line-height: 1.45;
  font-weight: 850;
}

.mission-card .eyebrow {
  position: relative;
  z-index: 1;
  display: inline-flex;
  border-radius: 999px;
  background: rgba(31, 111, 104, 0.1);
  padding: 0.45rem 0.7rem;
}

.mission-card::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -70px;
  width: 170px;
  height: 170px;
  border: 28px solid rgba(213, 154, 58, 0.2);
  border-radius: 50%;
  transition: transform 300ms ease, opacity 200ms ease;
}

.mission-card:hover,
.mission-card:focus-within {
  color: #fff;
  background: var(--brand);
  transform: translateY(-4px);
}

.mission-card:hover::after,
.mission-card:focus-within::after {
  opacity: 0.9;
  transform: scale(1.08);
}

.mission-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--muted);
  transition: color 180ms ease;
}

.mission-card:hover p,
.mission-card:focus-within p {
  color: rgba(255, 255, 255, 0.82);
}

.mission-card .nepali-text {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--line);
  font-size: clamp(1.18rem, 2.5vw, 1.55rem);
  line-height: 1.55;
  font-weight: 850;
}

.mission-card:hover .nepali-text,
.mission-card:focus-within .nepali-text {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.visit-actions {
  justify-content: center;
  margin-top: 1rem;
}

.map-panel,
.contact-panel-section {
  animation: fadeSlideUp 360ms ease both;
}

.map-panel {
  display: grid;
  grid-template-columns: 0.78fr 1.22fr;
  gap: 1rem;
  margin-top: 1.1rem;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.map-panel[hidden],
.contact-panel-section[hidden] {
  display: none;
}

.map-panel-copy {
  padding: clamp(1.25rem, 4vw, 2rem);
}

.map-panel-copy h2 {
  margin: 0.4rem 0 0.45rem;
  font-size: clamp(1.6rem, 4vw, 2.6rem);
  font-weight: 900;
}

.map-panel-copy p {
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.map-panel iframe {
  width: 100%;
  min-height: 360px;
  border: 0;
  filter: saturate(0.95) contrast(1.03);
}

.contact-panel-section {
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.1), rgba(213, 154, 58, 0.08)),
    var(--paper);
}

.jesus-grid,
.value-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1rem;
}

.jesus-card,
.value-card {
  min-height: 100%;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  padding: 1.2rem;
  box-shadow: 0 10px 28px rgba(23, 37, 34, 0.06);
  transition: transform 180ms ease, background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.jesus-card:hover,
.jesus-card:focus-within,
.value-card:hover,
.value-card:focus-within {
  transform: translateY(-3px);
  color: #fff;
  background: var(--brand);
  box-shadow: 0 16px 36px rgba(31, 111, 104, 0.16);
}

.jesus-card strong {
  width: 54px;
  height: 54px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: #172522;
  background: var(--accent);
  font-size: 1.8rem;
  font-weight: 950;
}

.jesus-card span,
.value-icon {
  display: block;
  margin: 0.85rem 0 0.25rem;
  color: var(--brand);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.jesus-card h3,
.jesus-card h4,
.value-card h3 {
  margin: 0 0 0.45rem;
  font-size: 1.1rem;
  font-weight: 900;
}

.jesus-card p,
.value-card p {
  margin: 0;
  color: var(--muted);
}

.jesus-card:hover span,
.jesus-card:focus-within span,
.jesus-card:hover p,
.jesus-card:focus-within p,
.value-card:hover .value-icon,
.value-card:focus-within .value-icon,
.value-card:hover h3,
.value-card:focus-within h3,
.value-card:hover p,
.value-card:focus-within p {
  color: rgba(255, 255, 255, 0.9);
}

.mission-statement-panel {
  margin: 1rem 0;
  border-left: 4px solid var(--accent);
  border-radius: var(--radius);
  background: var(--surface);
  padding: clamp(1.2rem, 3vw, 1.75rem);
  box-shadow: 0 10px 28px rgba(23, 37, 34, 0.06);
}

.mission-statement-panel p {
  margin: 0;
  font-size: clamp(1.05rem, 2.3vw, 1.35rem);
  line-height: 1.65;
  font-weight: 750;
}

.mission-statement-panel .nepali-text {
  margin-top: 0.85rem;
  color: var(--muted);
}

.vision-feature-card,
.mission-parent-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.vision-feature-card {
  position: relative;
  margin-bottom: 1rem;
  padding: clamp(1.35rem, 4vw, 2.4rem);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.12), rgba(213, 154, 58, 0.1)),
    var(--surface);
}

.vision-feature-card h3 {
  max-width: 920px;
  margin: 0.65rem 0 0;
  color: var(--brand-dark);
  font-size: clamp(1.45rem, 4vw, 2.65rem);
  line-height: 1.18;
  font-weight: 950;
}

.vision-feature-card .nepali-text {
  max-width: 920px;
  margin: 1rem 0 0;
  color: var(--brand);
  font-size: clamp(1.22rem, 3vw, 1.85rem);
  line-height: 1.5;
  font-weight: 850;
}

.mission-parent-card {
  padding: clamp(1.1rem, 3vw, 1.6rem);
  background:
    linear-gradient(135deg, rgba(18, 60, 58, 0.98), rgba(31, 111, 104, 0.9)),
    var(--brand-dark);
}

.mission-parent-intro {
  color: #fff;
  padding: clamp(0.5rem, 2vw, 1rem);
}

.mission-parent-intro h3 {
  margin: 0.45rem 0 0.45rem;
  font-size: clamp(1.75rem, 5vw, 3.4rem);
  line-height: 1;
  font-weight: 950;
}

.mission-parent-intro h3 span {
  color: var(--accent);
}

.mission-parent-intro p {
  max-width: 680px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.mission-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.8rem;
  margin-top: 1rem;
}

.mission-flow .jesus-card {
  position: relative;
  border-color: rgba(255, 255, 255, 0.14);
}

.mission-flow .jesus-card:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 28px;
  right: -0.78rem;
  z-index: 2;
  width: 1rem;
  color: var(--accent);
  font-weight: 950;
}

.mission-statement-panel.in-card {
  margin: 1rem 0 0;
  border-left: 0;
  background: rgba(255, 255, 255, 0.94);
}

.mission-statement-panel.in-card > span {
  display: inline-flex;
  margin-bottom: 0.5rem;
  color: var(--brand);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.mission-statement-panel.in-card > span {
  color: var(--brand);
}

.mission-keyword {
  display: inline-block;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(213, 154, 58, 0.22), rgba(31, 111, 104, 0.12));
  color: var(--brand-dark);
  padding: 0.02rem 0.45rem 0.08rem;
  font-weight: 950;
  box-shadow: inset 0 -0.28em 0 rgba(213, 154, 58, 0.22);
}

.value-heading {
  margin-top: clamp(2rem, 5vw, 3.25rem);
}

.premium-values .value-card {
  background:
    linear-gradient(180deg, rgba(31, 111, 104, 0.08), rgba(255, 255, 255, 0) 54%),
    var(--surface);
}

.premium-values .value-card h3 {
  color: var(--brand-dark);
  transition: color 180ms ease;
}

.premium-values .value-card:hover h3,
.premium-values .value-card:focus-within h3 {
  color: #fff;
}

.premium-values .value-card:hover,
.premium-values .value-card:focus-within {
  background:
    linear-gradient(135deg, rgba(18, 60, 58, 0.98), rgba(31, 111, 104, 0.94)),
    var(--brand);
}

.value-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 1rem;
}

.value-icon {
  margin-top: 0;
  color: var(--accent);
}

.belief-accordion {
  max-width: 980px;
  margin: 0 auto;
}

.belief-accordion .accordion-item {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-bottom: 0.75rem;
  background: var(--surface);
  box-shadow: 0 8px 24px rgba(23, 37, 34, 0.05);
}

.belief-accordion .accordion-button {
  min-height: 58px;
  color: var(--ink);
  background: var(--surface);
  font-weight: 900;
}

.belief-accordion .accordion-button:not(.collapsed) {
  color: #fff;
  background: var(--brand);
  box-shadow: none;
}

.belief-accordion .accordion-body {
  color: var(--muted);
  line-height: 1.75;
}

.belief-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.belief-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 150px;
  cursor: pointer;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(145deg, rgba(31, 111, 104, 0.08), rgba(213, 154, 58, 0.08)),
    var(--surface);
  padding: 1.15rem;
  box-shadow: 0 10px 28px rgba(23, 37, 34, 0.06);
  transition: transform 180ms ease, background 180ms ease, color 180ms ease, border-color 180ms ease;
}

.belief-card > span:not(.details-toggle-text) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  color: var(--brand-dark);
  background: var(--accent-soft);
  font-weight: 950;
}

.belief-card h3 {
  margin: 0.9rem 0 0;
  font-size: 1.05rem;
  font-weight: 950;
}

.belief-card .selectable-details {
  margin-bottom: 0.2rem;
}

.belief-card .details-toggle-text {
  margin-top: auto;
  padding-top: 0.7rem;
  align-self: flex-end;
}

.belief-card.is-active,
.belief-card:hover,
.belief-card:focus {
  color: #fff;
  border-color: rgba(31, 111, 104, 0.32);
  background: var(--brand);
  transform: translateY(-3px);
}

.belief-card.is-active > span:not(.details-toggle-text),
.belief-card:hover > span:not(.details-toggle-text),
.belief-card:focus > span:not(.details-toggle-text) {
  background: var(--accent);
}

.leader-grid-live {
  max-width: none;
}

.tab-switcher {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
  margin-bottom: 1.5rem;
}

.tab-button {
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--brand-dark);
  padding: 0.65rem 1rem;
  font-weight: 900;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease, border-color 160ms ease;
}

.tab-button:hover,
.tab-button:focus,
.tab-button.is-active {
  color: #fff;
  border-color: var(--brand);
  background: linear-gradient(135deg, var(--brand), #2d8a78);
  transform: translateY(-1px);
}

.tab-panel {
  animation: fadeSlideUp 260ms ease both;
}

.tab-panel[hidden] {
  display: none;
}

.leader-initials {
  color: #fff;
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.95), rgba(213, 154, 58, 0.85));
  font-size: clamp(1.35rem, 3vw, 2.25rem);
  font-weight: 950;
}

.form-note {
  border-left: 4px solid var(--accent);
  border-radius: var(--radius);
  background: var(--accent-soft);
  color: #5c3a08;
  padding: 0.85rem 1rem;
}

.leader-section {
  display: grid;
  gap: 1rem;
}

.leader-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.75rem;
  margin-bottom: 1.5rem;
}

.leader-department {
  display: grid;
  gap: 1rem;
}

.leader-department-heading {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.leader-department-heading::before {
  content: "";
  width: 42px;
  height: 3px;
  border-radius: 999px;
  background: var(--accent);
}

.leader-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.12), rgba(213, 154, 58, 0.08)),
    var(--surface);
  color: var(--ink);
  padding: 0.9rem 1rem;
  text-align: left;
  box-shadow: 0 10px 28px rgba(23, 37, 34, 0.06);
}

.leader-toggle::after {
  content: "+";
  color: var(--accent);
  font-size: 1.4rem;
  font-weight: 900;
}

.leader-toggle[aria-expanded="true"]::after {
  content: "-";
}

.leader-toggle span {
  margin: 0;
  font-size: clamp(1.2rem, 3vw, 1.55rem);
  font-weight: 950;
}

.leader-collapse {
  padding-top: 0.85rem;
}

.leader-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.85rem;
}

.leader-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(213, 154, 58, 0.12), rgba(255, 255, 255, 0) 48%),
    var(--surface);
  box-shadow: 0 10px 28px rgba(23, 37, 34, 0.06);
  transition: transform 200ms ease, box-shadow 200ms ease, background 200ms ease, color 200ms ease;
}

.leader-card:hover,
.leader-card:focus-within {
  color: #fff;
  background: var(--brand);
  transform: translateY(-4px);
  box-shadow: 0 18px 42px rgba(23, 37, 34, 0.16);
}

.leader-photo {
  aspect-ratio: 1 / 1;
  background:
    linear-gradient(135deg, rgba(15, 62, 70, 0.88), rgba(213, 154, 58, 0.78)),
    url("../Images/samdan_logo-sm.webp");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover, 42%;
}

.leader-card:nth-child(2) .leader-photo {
  background-image:
    linear-gradient(135deg, rgba(15, 62, 70, 0.84), rgba(213, 154, 58, 0.7)),
    url("../Images/samdan-sm.webp");
  background-size: cover;
}

.leader-card:nth-child(3) .leader-photo {
  background-image:
    linear-gradient(135deg, rgba(15, 62, 70, 0.84), rgba(213, 154, 58, 0.7)),
    url("../Images/WhoWeAre-sm.webp");
  background-size: cover;
}

.leader-card:nth-child(4) .leader-photo {
  background-image:
    linear-gradient(135deg, rgba(15, 62, 70, 0.84), rgba(213, 154, 58, 0.7)),
    url("../Images/NewLifeInChrist-sm.webp");
  background-size: cover;
}

.leader-body {
  padding: 0.9rem;
  text-align: center;
}

.leader-body h3 {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  font-weight: 900;
}

.leader-title {
  display: block;
  margin-bottom: 0.75rem;
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.leader-body p {
  margin: 0;
  color: var(--muted);
  transition: color 180ms ease;
}

.leader-card:hover .leader-title,
.leader-card:focus-within .leader-title {
  color: #ffd18e;
}

.leader-card:hover p,
.leader-card:focus-within p {
  color: rgba(255, 255, 255, 0.78);
}

.ministry-card img {
  width: 100%;
  height: 180px;
  margin: -1.35rem -1.35rem 1rem;
  max-width: calc(100% + 2.7rem);
  object-fit: contain;
  background: #172522;
  border-radius: var(--radius) var(--radius) 0 0;
}

.ministry-link-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ministry-link-card {
  display: block;
  color: var(--ink);
  text-decoration: none;
}

.ministry-link-card h3 {
  color: inherit;
}

.ministry-link-grid .ministry-link-card:nth-child(1) {
  color: #1f2933;
  background:
    linear-gradient(145deg, rgba(255, 240, 207, 0.98), rgba(255, 255, 255, 0.94)),
    var(--surface);
}

.ministry-link-grid .ministry-link-card:nth-child(2) {
  color: #19365b;
  background:
    linear-gradient(145deg, rgba(223, 237, 255, 0.98), rgba(246, 248, 251, 0.96)),
    var(--surface);
}

.ministry-link-grid .ministry-link-card:nth-child(3) {
  color: #4a2138;
  background:
    linear-gradient(145deg, rgba(255, 226, 236, 0.98), rgba(255, 246, 236, 0.92)),
    var(--surface);
}

.ministry-link-grid .ministry-link-card:nth-child(4) {
  color: #284018;
  background:
    linear-gradient(145deg, rgba(230, 246, 221, 0.98), rgba(255, 250, 242, 0.92)),
    var(--surface);
}

.ministry-select-list .ministry-card:nth-child(1) {
  background:
    linear-gradient(145deg, rgba(255, 240, 207, 0.98), rgba(255, 255, 255, 0.94)),
    var(--surface);
  color: #1f2933;
}

.ministry-select-list .ministry-card:nth-child(2) {
  background:
    linear-gradient(145deg, rgba(223, 237, 255, 0.98), rgba(246, 248, 251, 0.96)),
    var(--surface);
  color: #19365b;
}

.ministry-select-list .ministry-card:nth-child(3) {
  background:
    linear-gradient(145deg, rgba(255, 226, 236, 0.98), rgba(255, 246, 236, 0.92)),
    var(--surface);
  color: #4a2138;
}

.ministry-select-list .ministry-card h3,
.ministry-select-list .ministry-card p,
.ministry-select-list .ministry-card span {
  color: inherit;
}

.ministry-select-list .ministry-card:nth-child(1) span,
.ministry-select-list .ministry-card:nth-child(2) span,
.ministry-select-list .ministry-card:nth-child(3) span {
  color: var(--accent-dark);
  opacity: 1;
}

.ministry-select-list .ministry-card:hover,
.ministry-select-list .ministry-card:focus-within {
  color: #fff !important;
  border-color: rgba(31, 111, 104, 0.32);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.98), rgba(45, 138, 120, 0.92)),
    #1f6f68;
  background-position: center;
  transform: translateY(-4px);
  box-shadow: 0 18px 44px rgba(31, 111, 104, 0.18);
}

.ministry-select-list .ministry-card:hover h3,
.ministry-select-list .ministry-card:focus-within h3 {
  color: #fff !important;
}

.ministry-select-list .ministry-card:hover p,
.ministry-select-list .ministry-card:focus-within p {
  color: rgba(255, 255, 255, 0.78) !important;
}

.ministry-select-list .ministry-card:hover span,
.ministry-select-list .ministry-card:focus-within span {
  color: var(--accent) !important;
}

.youth-purpose-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.youth-purpose-grid .ministry-card {
  min-height: 100%;
  padding: clamp(1rem, 1.8vw, 1.25rem);
}

.youth-purpose-grid .ministry-card h3 {
  font-size: clamp(1.05rem, 1.4vw, 1.22rem);
}

.youth-purpose-grid .ministry-card p {
  font-size: 0.94rem;
  line-height: 1.55;
}

.youth-highlights-section {
  background:
    radial-gradient(circle at 12% 16%, rgba(200, 155, 60, 0.18), transparent 0 18rem),
    radial-gradient(circle at 86% 10%, rgba(45, 138, 120, 0.16), transparent 0 19rem),
    linear-gradient(135deg, #fffaf2 0%, #f6f8fb 54%, #eef5f2 100%);
}

.purpose-filter {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem;
  margin: 1.7rem 0 2.25rem;
}

.purpose-filter-btn {
  border: 1px solid rgba(31, 58, 95, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--brand);
  padding: 0.62rem 1rem;
  font-size: 0.88rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 12px 28px rgba(31, 58, 95, 0.08);
  transition: transform 180ms ease, color 180ms ease, background 180ms ease, border-color 180ms ease;
}

.purpose-filter-btn:hover,
.purpose-filter-btn:focus,
.purpose-filter-btn.is-active {
  border-color: rgba(200, 155, 60, 0.62);
  background: linear-gradient(135deg, #c89b3c, #e4bd62);
  color: #fff;
  transform: translateY(-2px);
  outline: none;
}

.purpose-filter-select-label,
.purpose-filter-select {
  display: none;
}

.purpose-filter-select {
  width: min(100%, 420px);
  min-height: 52px;
  margin: 1.2rem auto 1.6rem;
  border: 1px solid rgba(31, 58, 95, 0.16);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 250, 242, 0.92)),
    #fff;
  color: var(--brand);
  padding: 0 1rem;
  font-weight: 900;
  box-shadow: 0 12px 30px rgba(31, 58, 95, 0.09);
}

.purpose-filter-select:focus {
  border-color: var(--accent);
  outline: none;
  box-shadow: 0 0 0 4px rgba(200, 155, 60, 0.24), 0 12px 30px rgba(31, 58, 95, 0.09);
}

.youth-content-block {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: clamp(2.8rem, 5vw, 4.3rem) max(1.1rem, calc((100vw - 1180px) / 2));
}

.section-heading.compact {
  max-width: 720px;
  margin-bottom: 1.2rem;
}

.youth-featured-card,
.youth-highlight-card,
.youth-gathering-card,
.youth-upcoming-panel,
.youth-upcoming-card {
  border: 1px solid rgba(31, 58, 95, 0.12);
  border-radius: 1.35rem;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 250, 242, 0.9)),
    #fff;
  box-shadow: 0 18px 44px rgba(31, 58, 95, 0.1);
}

.youth-featured-card {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(280px, 3fr);
  gap: clamp(1rem, 3vw, 1.8rem);
  align-items: center;
  padding: clamp(1rem, 2vw, 1.25rem);
  overflow: hidden;
}

.youth-featured-body {
  padding: clamp(0.45rem, 2vw, 1.1rem);
}

.youth-featured-body h3,
.youth-highlight-body h3,
.youth-gathering-card h3,
.youth-upcoming-card h3 {
  margin: 0.55rem 0 0.65rem;
  color: var(--brand);
  font-size: clamp(1.35rem, 2.5vw, 2.15rem);
  line-height: 1.05;
  font-weight: 950;
  letter-spacing: -0.025em;
}

.youth-highlight-body h3,
.youth-gathering-card h3,
.youth-upcoming-card h3 {
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.youth-featured-body p,
.youth-highlight-body p,
.youth-gathering-card p,
.youth-upcoming-panel p,
.youth-upcoming-card p {
  color: var(--muted);
  line-height: 1.65;
}

.youth-event-carousel,
.youth-photo-placeholder {
  overflow: hidden;
  border-radius: 1.05rem;
  background:
    radial-gradient(circle at 20% 20%, rgba(200, 155, 60, 0.32), transparent 0 8rem),
    linear-gradient(135deg, #1f3a5f, #1f6f68);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14);
}

.youth-event-carousel .carousel-item,
.youth-photo-placeholder {
  aspect-ratio: 16 / 9;
}

.youth-event-carousel .carousel-inner,
.youth-event-carousel .carousel-item {
  width: 100%;
}

.youth-event-carousel img {
  width: 100%;
  height: 100%;
  min-height: 100%;
  object-fit: cover;
}

.missing-image-note,
.youth-photo-placeholder {
  display: grid;
  place-content: center;
  gap: 0.35rem;
  min-height: 100%;
  padding: 1.35rem 4rem;
  color: #fff;
  text-align: center;
}

.missing-image-note {
  display: none;
}

.carousel-item.is-missing-image .missing-image-note {
  display: grid;
}

.missing-image-note span,
.youth-photo-placeholder span {
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.missing-image-note strong,
.youth-photo-placeholder strong {
  font-size: clamp(1.25rem, 2.5vw, 2rem);
  line-height: 1.08;
}

.youth-event-carousel .carousel-control-prev,
.youth-event-carousel .carousel-control-next {
  width: 2.7rem;
  height: 2.7rem;
  top: 50%;
  margin: 0 0.5rem;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 50%;
  background: rgba(20, 38, 63, 0.46);
  transform: translateY(-50%);
  opacity: 1;
  backdrop-filter: blur(8px);
}

.youth-event-carousel .carousel-indicators {
  right: auto;
  bottom: 0.8rem;
  left: 50%;
  display: inline-flex;
  gap: 0.26rem;
  align-items: center;
  justify-content: center;
  width: auto;
  margin: 0;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(20, 38, 63, 0.16);
  padding: 0.22rem 0.34rem;
  box-shadow: 0 6px 16px rgba(5, 16, 28, 0.1);
  transform: translateX(-50%);
  backdrop-filter: blur(12px);
}

.youth-event-carousel .carousel-indicators button {
  width: 0.4rem;
  height: 0.4rem;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.72);
  opacity: 1;
  transition: width 160ms ease, background-color 160ms ease, opacity 160ms ease;
}

.youth-event-carousel .carousel-indicators button.active {
  width: 1.18rem;
  border-radius: 999px;
  background-color: var(--accent);
}

.youth-carousel-caption {
  margin: 0.7rem 0 0;
  color: rgba(31, 41, 51, 0.72);
  font-size: 0.9rem;
}

.youth-highlight-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}

.youth-highlight-card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.youth-highlight-card:hover,
.youth-highlight-card:focus-within {
  border-color: rgba(200, 155, 60, 0.38);
  box-shadow: 0 24px 58px rgba(31, 58, 95, 0.14);
  transform: translateY(-4px);
}

.youth-highlight-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 1rem;
}

.youth-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-bottom: 0.5rem;
}

.status-badge,
.review-note {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  border-radius: 999px;
  background: rgba(31, 58, 95, 0.08);
  color: var(--brand);
  padding: 0.35rem 0.62rem;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.review-note {
  margin-top: 0.3rem;
  background: rgba(200, 155, 60, 0.13);
  color: #8a651e;
  text-transform: none;
  letter-spacing: 0;
}

.youth-card-meta time,
.youth-featured-body time {
  color: var(--accent-dark);
  font-size: 0.86rem;
  font-weight: 850;
}

.purpose-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.42rem;
  margin: 0.7rem 0;
}

.purpose-tag {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  border: 1px solid transparent;
  padding: 0.34rem 0.58rem;
  font-size: 0.73rem;
  font-weight: 900;
  line-height: 1;
}

.json-tab {
  display: inline-block;
  width: 1.6em;
}

.purpose-worship {
  background: rgba(200, 155, 60, 0.18);
  border-color: rgba(200, 155, 60, 0.3);
  color: #7b5919;
}

.purpose-ministry {
  background: rgba(31, 111, 104, 0.13);
  border-color: rgba(31, 111, 104, 0.22);
  color: #17534e;
}

.purpose-evangelism {
  background: rgba(31, 58, 95, 0.12);
  border-color: rgba(31, 58, 95, 0.22);
  color: #1f3a5f;
}

.purpose-fellowship {
  background: rgba(92, 76, 146, 0.13);
  border-color: rgba(92, 76, 146, 0.22);
  color: #473b78;
}

.purpose-discipleship {
  background: rgba(22, 96, 113, 0.13);
  border-color: rgba(22, 96, 113, 0.22);
  color: #16515f;
}

.purpose-tag.is-primary {
  border-color: rgba(240, 201, 110, 0.72);
  background:
    linear-gradient(135deg, #f6d986, var(--accent) 58%, #a97c24);
  color: #132842;
  box-shadow: 0 10px 24px rgba(200, 155, 60, 0.22);
}

.purpose-tag.is-secondary {
  border-color: rgba(31, 58, 95, 0.2);
  background:
    linear-gradient(135deg, rgba(31, 58, 95, 0.1), rgba(255, 250, 242, 0.72));
  color: #1f3a5f;
  box-shadow: 0 8px 18px rgba(31, 58, 95, 0.07);
}

.youth-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: auto;
  padding-top: 1rem;
}

.youth-action {
  padding: 0.58rem 0.9rem;
  font-size: 0.86rem;
}

.youth-card-actions .btn-ghost-church,
.youth-featured-body .btn-ghost-church {
  border-color: rgba(31, 58, 95, 0.2);
  background: rgba(255, 255, 255, 0.78);
  color: var(--brand);
}

.youth-card-actions .btn-ghost-church:hover,
.youth-card-actions .btn-ghost-church:focus,
.youth-featured-body .btn-ghost-church:hover,
.youth-featured-body .btn-ghost-church:focus {
  border-color: var(--accent);
  background: var(--accent);
  color: #fff;
}

.youth-gathering-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
  gap: 1rem;
  width: 100%;
}

.youth-gathering-card,
.youth-upcoming-panel,
.youth-upcoming-card {
  padding: clamp(1rem, 2.4vw, 1.35rem);
}

.youth-schedule {
  color: var(--accent-dark) !important;
  font-weight: 900;
}

.youth-upcoming-panel {
  display: grid;
  gap: 0.85rem;
  border-style: dashed;
  background:
    linear-gradient(135deg, rgba(31, 58, 95, 0.06), rgba(200, 155, 60, 0.08)),
    rgba(255, 255, 255, 0.72);
}

.youth-join-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.2rem;
  align-items: center;
  margin-top: clamp(2.4rem, 5vw, 4rem);
  border: 1px solid rgba(200, 155, 60, 0.2);
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 92% 20%, rgba(200, 155, 60, 0.24), transparent 0 9rem),
    linear-gradient(135deg, #1f3a5f, #1f6f68);
  padding: clamp(1.2rem, 3vw, 1.8rem);
  color: #fff;
  box-shadow: 0 24px 58px rgba(31, 58, 95, 0.18);
}

.youth-join-cta h2 {
  margin: 0.35rem 0 0.6rem;
  color: #fff;
  font-size: clamp(1.35rem, 2.7vw, 2.1rem);
  font-weight: 950;
  letter-spacing: -0.025em;
}

.youth-join-cta p {
  max-width: 760px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.youth-join-cta .eyebrow {
  color: var(--accent);
}

.youth-hero-carousel-section {
  position: relative;
  overflow: hidden;
  background: #1f3a5f;
}

.youth-hero-carousel,
.youth-hero-carousel .carousel-inner,
.youth-hero-slide {
  min-height: clamp(430px, 52vw, 600px);
}

.youth-hero-slide {
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(90deg, rgba(20, 38, 63, 0.92), rgba(31, 58, 95, 0.78) 42%, rgba(31, 58, 95, 0.42) 100%),
    #1f3a5f;
}

.youth-hero-slide::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  background-image: var(--youth-hero-image);
  background-position: var(--youth-hero-position, center);
  background-size: var(--youth-hero-size, cover);
  background-repeat: no-repeat;
  opacity: var(--youth-hero-opacity, 0.36);
  filter: var(--youth-hero-filter, none);
}

.youth-hero-slide::after {
  content: none;
}

.youth-hero-content {
  max-width: 760px;
  padding: clamp(5rem, 9vw, 8rem) 0 clamp(4.2rem, 8vw, 7rem);
  color: #fff;
}

.youth-hero-content h1 {
  position: relative;
  width: min(100%, 760px);
  max-width: 100%;
  margin: 0.5rem 0 0.85rem;
  color: #fff;
  font-size: clamp(2.6rem, 6vw, 5.4rem);
  font-weight: 950;
  letter-spacing: -0.04em;
  line-height: 0.95;
  text-shadow: 0 18px 46px rgba(5, 15, 29, 0.28);
  overflow-wrap: break-word;
}

.youth-hero-content h1::after {
  content: "";
  display: block;
  width: min(68%, 300px);
  height: 0.22rem;
  margin-top: 0.48rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), rgba(255, 250, 242, 0.18));
  box-shadow: 0 10px 26px rgba(200, 155, 60, 0.22);
}

.youth-hero-content p {
  max-width: 660px;
  color: rgba(255, 255, 255, 0.84);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  line-height: 1.55;
}

.youth-hero-content .eyebrow {
  color: var(--accent);
}

.youth-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  margin-top: 1.35rem;
}

.youth-hero-carousel .btn-ghost-church:hover,
.youth-hero-carousel .btn-ghost-church:focus,
.youth-hero-carousel .btn-ghost-church:active {
  color: #fff;
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 18px 34px rgba(200, 155, 60, 0.28);
  font-weight: 900;
}

.youth-hero-carousel .carousel-control-prev,
.youth-hero-carousel .carousel-control-next,
.youth-story-carousel .carousel-control-prev,
.youth-story-carousel .carousel-control-next {
  width: clamp(2.7rem, 5vw, 3.5rem);
  height: clamp(2.7rem, 5vw, 3.5rem);
  top: 50%;
  margin-inline: clamp(0.5rem, 2vw, 1.2rem);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  background: rgba(20, 38, 63, 0.42);
  opacity: 1;
  transform: translateY(-50%);
  backdrop-filter: blur(12px);
}

.youth-hero-carousel .carousel-indicators,
.youth-story-carousel .carousel-indicators {
  gap: 0.34rem;
  margin-bottom: 1.15rem;
}

.youth-hero-carousel .carousel-indicators button,
.youth-story-carousel .carousel-indicators button {
  width: 0.6rem;
  height: 0.6rem;
  border-radius: 999px;
}

.youth-hero-carousel .carousel-indicators button.active,
.youth-story-carousel .carousel-indicators button.active {
  width: 2.25rem;
  background-color: var(--accent);
}

.youth-purpose-section {
  background:
    radial-gradient(circle at 12% 14%, rgba(200, 155, 60, 0.16), transparent 0 17rem),
    linear-gradient(135deg, #fffaf2, #f6f8fb);
}

.youth-leadership-section {
  background:
    radial-gradient(circle at 86% 8%, rgba(240, 201, 110, 0.2), transparent 0 15rem),
    radial-gradient(circle at 12% 72%, rgba(50, 132, 132, 0.14), transparent 0 18rem),
    linear-gradient(135deg, #f6f8fb 0%, #fffaf2 48%, #ffffff 100%);
}

.youth-leadership-section .section-heading {
  max-width: 850px;
}

.youth-leadership-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(0.65rem, 2vw, 1rem);
  border: 1px solid rgba(31, 58, 95, 0.12);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 12% 16%, rgba(200, 155, 60, 0.2), transparent 0 12rem),
    radial-gradient(circle at 90% 20%, rgba(50, 132, 132, 0.16), transparent 0 14rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(255, 250, 242, 0.76));
  padding: clamp(0.72rem, 2.2vw, 1.15rem);
  box-shadow: 0 24px 58px rgba(31, 58, 95, 0.1);
}

.youth-leadership-section .leader-card {
  position: relative;
  isolation: isolate;
  min-width: 0;
  border-color: rgba(31, 58, 95, 0.13);
  border-radius: 1.15rem;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 242, 0.84)),
    #fff;
  box-shadow: 0 14px 34px rgba(31, 58, 95, 0.08);
}

.youth-leadership-section .leader-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(240, 201, 110, 0.28), transparent 0 7rem),
    linear-gradient(135deg, #1f3a5f, #235768 55%, #14263f);
  transition: opacity 200ms ease;
}

.youth-leadership-section .leader-card:hover,
.youth-leadership-section .leader-card:focus-within {
  color: #fff;
  border-color: rgba(240, 201, 110, 0.52);
  background: transparent;
  box-shadow: 0 22px 48px rgba(20, 38, 63, 0.2);
}

.youth-leadership-section .leader-card:hover::before,
.youth-leadership-section .leader-card:focus-within::before {
  opacity: 1;
}

.youth-leadership-section .leader-photo {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: clamp(4.6rem, 10vw, 6.5rem);
  place-items: center;
  background:
    radial-gradient(circle at 72% 22%, rgba(240, 201, 110, 0.32), transparent 0 5rem),
    linear-gradient(135deg, rgba(31, 58, 95, 0.96), rgba(41, 84, 97, 0.9)),
    #1f3a5f;
  background-size: auto;
}

.youth-leadership-section .leader-initials {
  color: transparent;
  font-size: 0;
}

.youth-leadership-section .leader-initials::before {
  content: "";
  width: clamp(1.8rem, 5vw, 2.8rem);
  height: clamp(1.8rem, 5vw, 2.8rem);
  background: rgba(255, 255, 255, 0.9);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2.5'/%3E%3Ccircle cx='8.5' cy='9' r='1.6'/%3E%3Cpath d='M21 16l-4.3-4.3a1.4 1.4 0 0 0-2 0L8 18'/%3E%3Cpath d='M13 18l-2.2-2.2a1.4 1.4 0 0 0-2 0L6.6 18'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2.5'/%3E%3Ccircle cx='8.5' cy='9' r='1.6'/%3E%3Cpath d='M21 16l-4.3-4.3a1.4 1.4 0 0 0-2 0L8 18'/%3E%3Cpath d='M13 18l-2.2-2.2a1.4 1.4 0 0 0-2 0L6.6 18'/%3E%3C/svg%3E") center / contain no-repeat;
}

.youth-leadership-section .leader-body {
  position: relative;
  z-index: 1;
  min-width: 0;
  padding: clamp(0.62rem, 1.8vw, 0.9rem);
  background:
    linear-gradient(180deg, rgba(255, 250, 242, 0.92), rgba(255, 255, 255, 0.98));
  transition: background 200ms ease;
}

.youth-leadership-section .leader-body h3 {
  color: #1f3a5f;
  font-size: clamp(0.82rem, 2.6vw, 1rem);
  line-height: 1.15;
  transition: color 180ms ease;
  overflow-wrap: anywhere;
}

.youth-leadership-section .leader-title {
  margin-bottom: 0;
  color: #a97c24;
  font-size: clamp(0.58rem, 1.8vw, 0.72rem);
  line-height: 1.25;
}

.youth-leadership-section .leader-card:hover .leader-body,
.youth-leadership-section .leader-card:focus-within .leader-body {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
}

.youth-leadership-section .leader-card:hover .leader-body h3,
.youth-leadership-section .leader-card:focus-within .leader-body h3,
.youth-leadership-section .leader-card:hover .leader-title,
.youth-leadership-section .leader-card:focus-within .leader-title {
  color: #fff;
}

.youth-purpose-map {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.75rem;
  max-width: 1120px;
  margin: 0 auto;
  isolation: isolate;
}

.youth-purpose-map::before {
  content: "";
  position: absolute;
  right: 7%;
  bottom: -1.18rem;
  left: 7%;
  height: 2px;
  background:
    linear-gradient(90deg, transparent, rgba(200, 155, 60, 0.82) 18%, rgba(31, 111, 104, 0.58) 50%, rgba(200, 155, 60, 0.82) 82%, transparent);
  box-shadow: 0 10px 24px rgba(200, 155, 60, 0.18);
}

.youth-purpose-map article {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 0.55rem;
  align-content: start;
  border: 1px solid rgba(31, 58, 95, 0.12);
  border-radius: 1.15rem;
  background:
    radial-gradient(circle at 50% 0%, rgba(200, 155, 60, 0.16), transparent 0 5rem),
    rgba(255, 255, 255, 0.82);
  padding: 0.9rem 0.8rem;
  box-shadow: 0 16px 38px rgba(31, 58, 95, 0.08);
  text-align: center;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background 180ms ease;
}

.youth-purpose-map article:hover,
.youth-purpose-map article:focus-within {
  border-color: rgba(200, 155, 60, 0.38);
  background:
    radial-gradient(circle at 50% 0%, rgba(200, 155, 60, 0.24), transparent 0 5.5rem),
    #fff;
  box-shadow: 0 22px 46px rgba(31, 58, 95, 0.13);
  transform: translateY(-4px);
}

.youth-purpose-map article > span {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.55rem;
  height: 2.55rem;
  margin: 0 auto 0.1rem;
  border-radius: 50%;
  background: linear-gradient(135deg, #c89b3c, #e4bd62);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 950;
  box-shadow: 0 12px 24px rgba(200, 155, 60, 0.26);
}

.youth-purpose-map strong {
  display: block;
  color: var(--accent-dark);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.youth-purpose-map strong span {
  display: block;
}

.youth-purpose-map h3 {
  margin: 0.14rem 0 0.24rem;
  color: var(--brand);
  font-size: clamp(1rem, 1.55vw, 1.18rem);
  font-weight: 950;
  line-height: 1.12;
}

.youth-purpose-map p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.45;
}

.youth-purpose-exists {
  position: relative;
  max-width: 980px;
  margin: clamp(2.4rem, 4.2vw, 3rem) auto 0;
  border: 1px solid rgba(31, 58, 95, 0.12);
  border-radius: 1.25rem;
  background:
    radial-gradient(circle at 92% 12%, rgba(200, 155, 60, 0.18), transparent 0 10rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.88), rgba(255, 250, 242, 0.78));
  padding: clamp(1rem, 2.5vw, 1.4rem);
  box-shadow: 0 18px 42px rgba(31, 58, 95, 0.09);
  text-align: center;
}

.youth-purpose-exists::before {
  content: "";
  position: absolute;
  top: calc(-1 * clamp(2.2rem, 4vw, 2.8rem));
  left: 50%;
  width: 2px;
  height: clamp(2.2rem, 4vw, 2.8rem);
  background:
    linear-gradient(180deg, rgba(200, 155, 60, 0), rgba(200, 155, 60, 0.95) 54%, rgba(31, 111, 104, 0.78));
  transform: translateX(-50%);
}

.youth-purpose-exists::after {
  content: "";
  position: absolute;
  top: calc(-1 * clamp(2.5rem, 4.4vw, 3.1rem));
  left: 50%;
  width: 0.82rem;
  height: 0.82rem;
  border: 2px solid rgba(255, 255, 255, 0.9);
  border-radius: 50%;
  background: linear-gradient(135deg, var(--accent), #1f6f68);
  box-shadow: 0 0 0 0.55rem rgba(200, 155, 60, 0.13), 0 12px 28px rgba(31, 58, 95, 0.16);
  transform: translateX(-50%);
}

.youth-purpose-exists .eyebrow {
  color: var(--accent-dark);
}

.youth-purpose-exists p {
  max-width: 900px;
  margin: 0.45rem auto 0;
  color: var(--brand);
  font-size: clamp(0.9rem, 1.22vw, 1.03rem);
  font-weight: 850;
  line-height: 1.55;
}

.youth-ongoing-block,
.youth-upcoming-block {
  border-radius: 0;
}

.youth-ongoing-block {
  background:
    radial-gradient(circle at 12% 12%, rgba(200, 155, 60, 0.2), transparent 0 12rem),
    radial-gradient(circle at 88% 18%, rgba(63, 135, 124, 0.28), transparent 0 14rem),
    linear-gradient(135deg, #172f4e, #1c5f5a);
  color: #fff;
}

.youth-upcoming-block {
  background:
    radial-gradient(circle at 15% 12%, rgba(200, 155, 60, 0.2), transparent 0 11rem),
    linear-gradient(135deg, rgba(31, 58, 95, 0.96), rgba(32, 74, 88, 0.94));
}

.youth-featured-block {
  border-radius: 0;
  padding-top: clamp(1.8rem, 3.2vw, 2.6rem);
  padding-bottom: clamp(1.8rem, 3.2vw, 2.6rem);
  background:
    radial-gradient(circle at 92% 16%, rgba(200, 155, 60, 0.16), transparent 0 12rem),
    linear-gradient(135deg, #fffaf2, #f6f8fb);
}

.youth-ministry-moments-block {
  border-radius: 0;
  padding-top: clamp(1.1rem, 2.2vw, 1.7rem);
  padding-bottom: clamp(1.7rem, 3vw, 2.4rem);
  background:
    radial-gradient(circle at 16% 14%, rgba(200, 155, 60, 0.2), transparent 0 12rem),
    linear-gradient(135deg, #213957, #2c3d66 54%, #173f4c);
}

.youth-upcoming-block .section-heading h2,
.youth-upcoming-block .section-heading .eyebrow,
.youth-ongoing-block .section-heading h2,
.youth-ministry-moments-block .section-heading h2 {
  color: #fff;
}

.youth-upcoming-block .section-heading .eyebrow,
.youth-ongoing-block .section-heading .eyebrow,
.youth-ministry-moments-block .section-heading .eyebrow {
  color: var(--accent);
}

.youth-ongoing-block .youth-gathering-card {
  border-color: rgba(255, 255, 255, 0.2);
  background:
    radial-gradient(circle at 88% 16%, rgba(200, 155, 60, 0.18), transparent 0 8rem),
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(246, 248, 251, 0.9));
}

.youth-upcoming-block .youth-upcoming-panel {
  position: relative;
  grid-template-columns: 1fr;
  gap: clamp(1rem, 2.4vw, 1.4rem);
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  border-style: solid;
  padding-right: clamp(1rem, 2.4vw, 1.35rem);
  padding-left: clamp(2.65rem, 5vw, 3.35rem);
  overflow: visible;
}

.youth-upcoming-block .youth-upcoming-panel::before {
  content: "";
  position: absolute;
  top: clamp(2.1rem, 5.5vw, 3.4rem);
  bottom: clamp(2.1rem, 5.5vw, 3.4rem);
  left: max(0.85rem, calc((100% - 1080px) / 2 - 1.45rem));
  z-index: 0;
  width: 4px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(200, 155, 60, 0.2), rgba(200, 155, 60, 0.98) 12%, rgba(200, 155, 60, 0.88) 88%, rgba(200, 155, 60, 0.2));
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08), 0 0 22px rgba(200, 155, 60, 0.22);
  pointer-events: none;
}

.youth-upcoming-block .youth-upcoming-panel p {
  color: rgba(255, 255, 255, 0.78);
}

.youth-ministry-moments-block .section-heading p {
  color: rgba(255, 255, 255, 0.78);
}

.youth-upcoming-block {
  padding-top: clamp(1.8rem, 3.2vw, 2.6rem);
  padding-bottom: clamp(1.8rem, 3.2vw, 2.6rem);
}

.youth-ministry-moments-block .youth-story-carousel {
  width: min(calc(100vw - clamp(1.5rem, 5vw, 4rem)), 1480px);
  margin-inline: 50%;
  transform: translateX(-50%);
  border-color: rgba(255, 255, 255, 0.18);
  background:
    radial-gradient(circle at 12% 14%, rgba(200, 155, 60, 0.18), transparent 0 14rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 248, 251, 0.92));
  box-shadow: 0 22px 58px rgba(5, 16, 28, 0.24);
}

.youth-ministry-moments-block .youth-story-carousel .carousel-indicators {
  right: auto;
  top: auto;
  bottom: clamp(0.8rem, 1.5vw, 1.1rem);
  left: 40%;
  width: auto;
  margin: 0;
  padding: 0.22rem 0.34rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: rgba(20, 38, 63, 0.16);
  box-shadow: 0 6px 16px rgba(5, 16, 28, 0.1);
  transform: translateX(-50%);
  backdrop-filter: blur(12px);
}

.youth-ministry-moments-block .youth-story-carousel .carousel-control-prev,
.youth-ministry-moments-block .youth-story-carousel .carousel-control-next {
  top: 50%;
}

.youth-ministry-moments-block .youth-story-carousel .carousel-control-next {
  right: calc(20% + clamp(0.75rem, 2vw, 1.25rem));
}

.youth-ministry-moments-block .youth-story-carousel .carousel-indicators button {
  background-color: rgba(255, 255, 255, 0.82);
  opacity: 1;
}

.youth-ministry-moments-block .youth-story-carousel .carousel-indicators button.active {
  background-color: var(--accent);
}

.youth-featured-showcase {
  display: grid;
  grid-template-columns: minmax(240px, 0.32fr) minmax(0, 0.68fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
  width: min(calc(100vw - clamp(1.5rem, 5vw, 4rem)), 1480px);
  margin-inline: 50%;
  transform: translateX(-50%);
  overflow: hidden;
  border: 1px solid rgba(31, 58, 95, 0.12);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 12% 14%, rgba(200, 155, 60, 0.18), transparent 0 12rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 250, 242, 0.92));
  box-shadow: 0 24px 58px rgba(31, 58, 95, 0.13);
  padding: clamp(0.9rem, 2vw, 1.35rem);
}

.youth-featured-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
  padding: clamp(0.3rem, 1.4vw, 0.8rem);
}

.youth-featured-details h3,
.youth-ministry-details h3 {
  margin: 0.65rem 0 0.7rem;
  color: var(--brand);
  font-size: clamp(1.55rem, 3vw, 2.6rem);
  font-weight: 950;
  letter-spacing: -0.035em;
  line-height: 1;
}

.youth-featured-details p,
.youth-ministry-details p {
  color: var(--muted);
  line-height: 1.65;
}

.youth-featured-media {
  min-width: 0;
}

.youth-featured-media .youth-event-carousel .carousel-item,
.youth-featured-media .youth-photo-placeholder {
  aspect-ratio: 16 / 9;
}

.youth-event-carousel.featured {
  border-radius: 1.25rem;
  box-shadow: 0 20px 48px rgba(31, 58, 95, 0.16);
}

.youth-ministry-slide {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(220px, 1fr);
  gap: 0;
  align-items: stretch;
}

.youth-ministry-visual {
  position: relative;
  min-width: 0;
}

.youth-ministry-visual .youth-story-image,
.youth-ministry-visual .youth-photo-placeholder {
  aspect-ratio: 16 / 9;
  border-radius: 0;
}

.youth-ministry-visual .youth-story-image img {
  transform: none;
}

.youth-ministry-details {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(0.62rem, 1.2vw, 0.85rem);
  text-align: center;
  background:
    linear-gradient(90deg, rgba(200, 155, 60, 0.82), rgba(200, 155, 60, 0)) top left / 100% 3px no-repeat,
    radial-gradient(circle at 92% 8%, rgba(232, 185, 77, 0.28), transparent 0 11rem),
    radial-gradient(circle at 12% 0%, rgba(50, 132, 132, 0.34), transparent 0 14rem),
    linear-gradient(135deg, #0b1d34 0%, #18365a 46%, #0f4550 100%);
}

.youth-ministry-details h3 {
  margin-top: 0.28rem;
  margin-bottom: 0.26rem;
  color: #fff8e8;
  text-shadow: 0 10px 24px rgba(5, 16, 28, 0.22);
  font-size: clamp(1rem, 1.25vw, 1.35rem);
}

.youth-ministry-details p {
  margin-bottom: 0.15rem;
  color: rgba(236, 244, 247, 0.9);
  font-size: clamp(0.78rem, 0.9vw, 0.88rem);
  line-height: 1.32;
}

.youth-ministry-details .youth-story-caption {
  margin-top: 0.5rem;
  color: rgba(255, 255, 255, 0.88);
  background: rgba(255, 255, 255, 0.08);
  border-radius: 0.85rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.youth-ministry-details .purpose-tag {
  border-color: rgba(255, 255, 255, 0.24);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.17), rgba(255, 255, 255, 0.08));
  color: #f8fbff;
}

.youth-ministry-details .purpose-tag.is-primary,
.youth-upcoming-body .purpose-tag.is-primary {
  border-color: rgba(240, 201, 110, 0.72);
  background: linear-gradient(135deg, #f6d986, var(--accent) 58%, #a97c24);
  color: #132842;
}

.youth-ministry-details .purpose-tag.is-secondary,
.youth-upcoming-body .purpose-tag.is-secondary {
  border-color: rgba(255, 255, 255, 0.26);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.09));
  color: #f8fbff;
}

.youth-ministry-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  align-items: center;
  justify-content: center;
}

.youth-ministry-meta .purpose-tags {
  margin: 0;
}

.youth-ministry-details .purpose-tags {
  justify-content: center;
  margin: 0.32rem 0 0.38rem;
  text-align: center;
}

.youth-ministry-details time {
  display: block;
  color: #f6d986;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.01em;
  text-align: center;
}

.youth-ministry-details .status-badge {
  border-color: rgba(246, 216, 138, 0.24);
  background: linear-gradient(135deg, rgba(200, 155, 60, 0.34), rgba(255, 255, 255, 0.08));
  color: #ffe39a;
}

.youth-upcoming-card {
  position: relative;
  z-index: 1;
  display: grid;
  overflow: visible;
  padding: 0;
  border-color: rgba(255, 255, 255, 0.22);
  background: linear-gradient(135deg, #132842, #1f3a5f 58%, #163f4c);
  width: min(calc(100vw - clamp(1.5rem, 5vw, 4rem)), 1080px);
  max-width: none;
  margin-inline: auto;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.youth-upcoming-number {
  position: absolute;
  top: clamp(1.1rem, 2.35vw, 1.55rem);
  left: -2.95rem;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: clamp(2.25rem, 3.8vw, 2.85rem);
  height: clamp(2.25rem, 3.8vw, 2.85rem);
  border: 1px solid rgba(255, 255, 255, 0.44);
  border-radius: 50%;
  background:
    radial-gradient(circle at 36% 32%, rgba(255, 255, 255, 0.42), transparent 0 0.55rem),
    linear-gradient(135deg, rgba(200, 155, 60, 0.96), rgba(228, 189, 98, 0.82));
  color: #fff;
  font-size: clamp(0.9rem, 1.6vw, 1.08rem);
  font-weight: 950;
  box-shadow:
    0 0 0 0.55rem rgba(255, 250, 242, 0.11),
    0 0 0 0.95rem rgba(200, 155, 60, 0.08),
    0 14px 28px rgba(5, 16, 28, 0.22);
  backdrop-filter: blur(6px);
}

.youth-upcoming-card::before {
  content: "";
  position: absolute;
  top: clamp(2.22rem, 4.15vw, 2.97rem);
  left: -2.55rem;
  z-index: 3;
  width: clamp(1.45rem, 2.7vw, 1.9rem);
  height: clamp(1.45rem, 2.7vw, 1.9rem);
  border: 0.35rem solid rgba(255, 250, 242, 0.22);
  border-radius: 50%;
  background:
    radial-gradient(circle, #fff 0 0.16rem, rgba(200, 155, 60, 0.95) 0.18rem 0.34rem, transparent 0.36rem),
    rgba(255, 250, 242, 0.42);
  box-shadow: 0 0 0 1px rgba(200, 155, 60, 0.18), 0 12px 26px rgba(5, 16, 28, 0.18);
  transform: translateY(-50%);
  pointer-events: none;
}

.youth-upcoming-card:not(:last-child)::after {
  content: none;
}

.youth-upcoming-card:hover,
.youth-upcoming-card:focus-within {
  border-color: rgba(200, 155, 60, 0.44);
  box-shadow: 0 26px 58px rgba(5, 16, 28, 0.24);
  transform: translateY(-4px);
}

.youth-upcoming-flyer {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 0 0 1.15rem 1.15rem;
  aspect-ratio: 16 / 9;
  min-height: 0;
  background:
    radial-gradient(circle at 20% 10%, rgba(200, 155, 60, 0.44), transparent 0 7rem),
    linear-gradient(135deg, #1f3a5f, #1f6f68);
}

.youth-upcoming-flyer img {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 1;
  filter: saturate(0.98) contrast(1);
}

.youth-upcoming-flyer::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: inset 0 0 0 1px rgba(20, 38, 63, 0.08);
  pointer-events: none;
}

.youth-upcoming-body {
  position: relative;
  border-radius: 1.15rem 1.15rem 0 0;
  padding: clamp(0.62rem, 1.2vw, 0.78rem);
  background:
    radial-gradient(circle at 92% 10%, rgba(200, 155, 60, 0.2), transparent 0 7rem),
    linear-gradient(135deg, #132842, #1f3a5f 58%, #173f4c);
  transition: background 180ms ease, color 180ms ease;
}

.youth-upcoming-body h3 {
  margin: 0 0 0.16rem;
  color: #fff;
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  font-weight: 950;
  letter-spacing: -0.025em;
}

.youth-upcoming-body p {
  margin-bottom: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.84rem;
  line-height: 1.28;
}

.youth-upcoming-body .purpose-tags {
  margin: 0 0 0.24rem;
}

.youth-upcoming-body .purpose-tag {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.youth-upcoming-body .purpose-tag.is-primary {
  border-color: rgba(240, 201, 110, 0.72);
  background: linear-gradient(135deg, #f6d986, var(--accent) 58%, #a97c24);
  color: #132842;
}

.youth-upcoming-body .purpose-tag.is-secondary {
  border-color: rgba(255, 255, 255, 0.26);
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.2), rgba(255, 255, 255, 0.09));
  color: #f8fbff;
}

.youth-upcoming-line {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.7rem;
  align-items: center;
  margin-bottom: 0.18rem !important;
  color: #f4d37e !important;
  font-size: 0.82rem !important;
  font-weight: 900;
}

.youth-upcoming-card:hover .youth-upcoming-body,
.youth-upcoming-card:focus-within .youth-upcoming-body {
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.18), transparent 0 8rem),
    linear-gradient(135deg, #c89b3c, #1f6f68);
}

.youth-upcoming-card:hover .youth-upcoming-body h3,
.youth-upcoming-card:hover .youth-upcoming-body p,
.youth-upcoming-card:focus-within .youth-upcoming-body h3,
.youth-upcoming-card:focus-within .youth-upcoming-body p {
  color: #fff !important;
}

.youth-story-carousel-wrap {
  margin-top: 1.5rem;
}

.youth-story-carousel {
  overflow: hidden;
  border: 1px solid rgba(31, 58, 95, 0.12);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 12% 16%, rgba(200, 155, 60, 0.14), transparent 0 14rem),
    linear-gradient(135deg, #ffffff, #fffaf2);
  box-shadow: 0 22px 58px rgba(31, 58, 95, 0.12);
}

.youth-story-slide {
  display: grid;
  grid-template-columns: minmax(260px, 0.34fr) minmax(0, 0.66fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  padding: clamp(1rem, 3vw, 1.6rem);
}

.youth-story-slide.is-reversed {
  grid-template-columns: minmax(0, 0.66fr) minmax(260px, 0.34fr);
}

.youth-story-slide.is-reversed .youth-story-copy {
  order: 2;
}

.youth-story-slide.is-reversed .youth-story-media {
  order: 1;
}

.youth-story-copy {
  padding: clamp(0.35rem, 2vw, 1rem);
}

.youth-story-copy h3 {
  margin: 0.65rem 0 0.7rem;
  color: var(--brand);
  font-size: clamp(1.55rem, 3vw, 2.55rem);
  font-weight: 950;
  letter-spacing: -0.035em;
  line-height: 1;
}

.youth-story-copy p {
  color: var(--muted);
  line-height: 1.65;
}

.youth-story-media .youth-event-carousel .carousel-item,
.youth-story-media .youth-photo-placeholder,
.youth-story-image {
  aspect-ratio: 16 / 9;
}

.youth-story-image {
  overflow: hidden;
  margin: 0;
  border-radius: 1.05rem;
  background: #1f3a5f;
}

.youth-story-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.youth-story-caption {
  margin: 0.75rem 0 0;
  border-left: 3px solid var(--accent);
  padding-left: 0.8rem;
  color: rgba(31, 41, 51, 0.72);
  font-weight: 750;
}

.ministry-link-card span {
  color: var(--accent-dark);
  opacity: 1;
}

.ministry-link-grid .ministry-link-card:hover,
.ministry-link-grid .ministry-link-card:focus {
  color: #fff;
  border-color: rgba(31, 111, 104, 0.32);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.98), rgba(45, 138, 120, 0.92)),
    #1f6f68;
  box-shadow: 0 18px 44px rgba(31, 111, 104, 0.18);
}

.ministry-link-card:hover h3,
.ministry-link-card:focus h3,
.ministry-link-card:hover p,
.ministry-link-card:focus p,
.ministry-link-card:hover,
.ministry-link-card:focus {
  color: #fff !important;
}

.ministry-link-card:hover span,
.ministry-link-card:focus span {
  color: var(--accent) !important;
}

.selectable-card {
  cursor: pointer;
  outline: none;
}

.selectable-card:focus {
  box-shadow: 0 0 0 4px rgba(200, 155, 60, 0.26), 0 16px 36px rgba(31, 58, 95, 0.12);
}

.selectable-card:hover,
.selectable-card:focus {
  color: #fff;
  border-color: rgba(31, 111, 104, 0.32);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.98), rgba(45, 138, 120, 0.92)),
    #1f6f68;
  box-shadow: 0 18px 44px rgba(31, 111, 104, 0.18);
}

.selectable-card.is-active {
  color: #fff;
  border-color: rgba(31, 111, 104, 0.32);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.98), rgba(45, 138, 120, 0.92)),
    #1f6f68;
  box-shadow: 0 18px 44px rgba(31, 111, 104, 0.18);
}

.selectable-card.is-active p,
.selectable-card.is-active span,
.selectable-card.is-active .announcement-kicker {
  color: rgba(255, 255, 255, 0.78);
}

.selectable-card.is-active h3 {
  color: #fff;
}

.selectable-card.is-active .event-date,
.selectable-card.is-active .announcement-icon {
  color: var(--ink);
  background: var(--accent);
}

.selectable-details {
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  margin-top: 0;
  transition: grid-template-rows 220ms ease, opacity 220ms ease, margin 220ms ease;
}

.selectable-details > * {
  overflow: hidden;
}

.selectable-details p {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.55;
  white-space: pre-wrap;
}

.selectable-card.is-open .selectable-details {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 0.4rem;
}

.details-toggle-text {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 30px;
  height: 30px;
  min-width: 30px;
  margin: 0.55rem 0 0 auto;
  color: var(--brand);
  font-size: 0;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  white-space: nowrap;
  text-align: right;
}

.details-toggle-text::after {
  content: "+";
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--ink);
  background: var(--accent);
  font-size: 1.05rem;
  line-height: 1;
}

.selectable-card.is-open .details-toggle-text::after {
  content: "-";
}

.selectable-card.is-active .details-toggle-text {
  color: #fff;
}

.belief-card .details-toggle-text,
.weekly-card .details-toggle-text,
.event-card .details-toggle-text,
.announcement-card .details-toggle-text,
.update-card .details-toggle-text {
  align-self: flex-end;
  flex: 0 0 auto;
}

.weekly-event-grid {
  display: grid;
  grid-template-columns: var(--weekly-grid-columns, repeat(7, minmax(0, 1fr)));
  gap: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: 0 12px 30px rgba(23, 37, 34, 0.06);
}

.home-events-layout {
  display: grid;
  gap: 1.15rem;
  align-items: start;
}

.home-weekly-panel,
.home-major-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  padding: clamp(1rem, 3vw, 1.4rem);
  box-shadow: 0 12px 30px rgba(23, 37, 34, 0.06);
}

.section > .container > .weekly-event-grid,
.section > .container > .events-list,
.section > .container > .announcement-board {
  position: relative;
}

.section > .container > .weekly-event-grid {
  border: 1px solid rgba(31, 111, 104, 0.16);
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.9), rgba(246, 248, 251, 0.92)),
    var(--surface);
}

.event-feature-list .event-card {
  border-left: 5px solid var(--accent);
}

.compact-announcements .announcement-item,
.compact-announcements .announcement-card {
  background:
    linear-gradient(135deg, rgba(255, 240, 207, 0.55), rgba(255, 255, 255, 0.92)),
    var(--surface);
}

.home-major-panel {
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.08), rgba(213, 154, 58, 0.1)),
    var(--surface);
}

.mini-section-heading {
  margin-bottom: 0.9rem;
}

.mini-section-heading h3 {
  margin: 0.35rem 0 0;
  font-size: clamp(1.25rem, 3vw, 1.8rem);
  font-weight: 950;
}

.home-weekly-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.home-weekly-grid .weekly-card {
  padding: 0.82rem;
}

.home-weekly-grid .weekly-card h3,
.home-major-list .event-card h3 {
  font-size: 1rem;
}

.home-major-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
}

.home-major-list .event-card {
  grid-template-columns: 1fr;
  padding: 0.86rem;
}

.home-major-list .event-date {
  min-height: 72px;
}

.home-major-list .event-date strong {
  font-size: 1.35rem;
}

.weekly-card {
  min-height: 100%;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  background:
    linear-gradient(180deg, rgba(31, 111, 104, 0.06), rgba(255, 255, 255, 0) 46%),
    var(--surface);
  padding: 0.95rem;
  box-shadow: none;
  transition: background 180ms ease, color 180ms ease, box-shadow 180ms ease;
}

.weekly-count {
  display: flex;
  width: fit-content;
  align-self: center;
  align-items: center;
  justify-content: center;
  margin: 0.65rem auto 0;
  border-radius: 999px;
  background: rgba(200, 155, 60, 0.13);
  color: var(--gold);
  padding: 0.18rem 0.55rem;
  font-size: 0.68rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.weekly-card:last-child {
  border-right: 0;
}

.weekly-card:hover,
.weekly-card:focus,
.weekly-card.is-active {
  transform: none;
}

.weekly-card:hover,
.weekly-card:focus {
  color: #fff;
  border-color: rgba(31, 111, 104, 0.32);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.98), rgba(45, 138, 120, 0.92)),
    #1f6f68;
  box-shadow: 0 18px 44px rgba(31, 111, 104, 0.18);
}

.weekly-card:hover h3,
.weekly-card:focus h3 {
  color: #fff;
}

.weekly-card:hover p,
.weekly-card:focus p {
  color: rgba(255, 255, 255, 0.78);
}

.weekly-card:hover .weekly-count,
.weekly-card:focus .weekly-count,
.weekly-card.is-active .weekly-count {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

.weekly-day {
  display: flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--accent);
  color: #172522;
  padding: 0.25rem 0.5rem;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.weekly-card .weekly-day,
.weekly-card:hover .weekly-day,
.weekly-card:focus .weekly-day,
.weekly-card.is-active .weekly-day,
.selectable-card.is-active .weekly-day {
  background: var(--accent);
  color: #172522;
}

.weekly-card-body {
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 0.7rem;
  margin-top: 0.9rem;
}

.weekly-card h3 {
  margin: 0;
  font-size: clamp(0.92rem, 1.4vw, 1.05rem);
  line-height: 1.18;
  font-weight: 950;
  color: #1f3a5f;
}

.weekly-card p {
  margin: 0;
  color: #74551a;
  font-size: 0.82rem;
  line-height: 1.42;
  font-weight: 600;
}

.weekly-event-entry {
  position: relative;
  border-radius: 0.95rem;
  background: rgba(255, 255, 255, 0.64);
  padding: 0.7rem;
}

.weekly-entry-details {
  border-top: 1px solid rgba(31, 58, 95, 0.1);
}

.weekly-event-copy {
  min-width: 0;
}

.weekly-event-title-line {
  display: flex;
  align-items: center;
  gap: 0.42rem;
  min-width: 0;
}

.weekly-event-number {
  display: inline-flex;
  width: 1.42rem;
  height: 1.42rem;
  min-width: 1.42rem;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(200, 155, 60, 0.98), rgba(240, 201, 110, 0.92));
  color: #172522;
  font-size: 0.68rem;
  font-weight: 950;
  box-shadow: 0 8px 18px rgba(200, 155, 60, 0.22);
}

.weekly-event-meta {
  margin-top: 0.35rem !important;
  color: #8a671f !important;
}

.weekly-card.is-open .weekly-entry-details {
  padding-top: 0.55rem;
}

.weekly-event-entry-empty {
  text-align: center;
  opacity: 0.84;
}

.weekly-event-entry-empty .weekly-event-title-line {
  justify-content: center;
}

.weekly-card:hover .weekly-event-entry,
.weekly-card:focus .weekly-event-entry,
.weekly-card.is-active .weekly-event-entry {
  background: rgba(255, 255, 255, 0.1);
}

.weekly-card:hover .weekly-event-entry h3,
.weekly-card:focus .weekly-event-entry h3,
.weekly-card.is-active .weekly-event-entry h3 {
  color: #fff;
}

.weekly-card:hover .weekly-event-meta,
.weekly-card:focus .weekly-event-meta,
.weekly-card.is-active .weekly-event-meta {
  color: #f7d77b !important;
}

.weekly-card:hover .weekly-entry-details p,
.weekly-card:focus .weekly-entry-details p,
.weekly-card.is-active .weekly-entry-details p {
  color: rgba(255, 255, 255, 0.84);
  font-weight: 400;
}

.weekly-card:hover .weekly-event-number,
.weekly-card:focus .weekly-event-number,
.weekly-card.is-active .weekly-event-number {
  background: rgba(255, 255, 255, 0.95);
  color: #1f3a5f;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.weekly-card:hover .weekly-entry-details,
.weekly-card:focus .weekly-entry-details,
.weekly-card.is-active .weekly-entry-details {
  border-top-color: rgba(255, 255, 255, 0.18);
}

.weekly-detail-entry + .weekly-detail-entry {
  border-top: 1px solid rgba(31, 58, 95, 0.12);
  margin-top: 0.7rem;
  padding-top: 0.7rem;
}

.weekly-card:hover .weekly-detail-entry + .weekly-detail-entry,
.weekly-card:focus .weekly-detail-entry + .weekly-detail-entry,
.weekly-card.is-active .weekly-detail-entry + .weekly-detail-entry {
  border-top-color: rgba(255, 255, 255, 0.2);
}

.weekly-detail-entry strong {
  color: inherit;
  display: block;
  font-weight: 950;
  margin-bottom: 0.25rem;
}

.event-feature-list {
  max-width: 920px;
  margin: 0 auto;
}

.photo-grid {
  display: grid;
  grid-template-columns: 1.25fr 0.85fr 0.85fr;
  gap: 1rem;
}

.ministry-carousel {
  overflow: hidden;
  border-radius: var(--radius);
  background: #172522;
  box-shadow: var(--shadow);
}

.ministry-carousel .carousel-item {
  height: clamp(320px, 52vw, 560px);
}

.ministry-carousel img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #172522;
}

.ministry-carousel .carousel-caption {
  right: 0;
  bottom: 0;
  left: 0;
  padding: 3.5rem 1.5rem 1.5rem;
  text-align: left;
  background: linear-gradient(0deg, rgba(9, 25, 28, 0.86), rgba(9, 25, 28, 0));
}

.ministry-carousel .carousel-caption h3 {
  margin: 0 0 0.25rem;
  font-weight: 900;
}

.ministry-carousel .carousel-caption p {
  max-width: 620px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
}

.ministry-carousel .carousel-control-prev,
.ministry-carousel .carousel-control-next {
  width: 12%;
}

.ministry-carousel .carousel-indicators {
  margin-bottom: 0.75rem;
}

.photo-card {
  position: relative;
  min-height: 240px;
  overflow: hidden;
  border-radius: var(--radius);
  background: #172522;
  box-shadow: var(--shadow);
}

.photo-card.large {
  grid-row: span 2;
  min-height: 500px;
}

.photo-card img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: contain;
  transition: transform 550ms ease;
}

.photo-card:hover img {
  transform: scale(1.035);
}

.photo-card figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 1rem;
  color: #fff;
  background: linear-gradient(0deg, rgba(9, 25, 28, 0.82), rgba(9, 25, 28, 0));
  font-weight: 800;
}

.updates-list {
  display: grid;
  gap: 1rem;
}

.update-card time {
  display: block;
  margin-bottom: 0.45rem;
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.safety-list {
  display: grid;
  gap: 0.75rem;
  padding: 0;
  margin: 1rem 0 0;
  list-style: none;
}

.safety-list li {
  display: grid;
  grid-template-columns: 1.5rem 1fr;
  gap: 0.7rem;
  color: var(--muted);
  transition: color 180ms ease;
}

.safety-card:hover .safety-list li,
.safety-card:focus-within .safety-list li {
  color: rgba(255, 255, 255, 0.78);
}

.safety-list li::before {
  content: "✓";
  color: var(--brand);
  font-weight: 900;
  transition: color 180ms ease;
}

.safety-card:hover .safety-list li::before,
.safety-card:focus-within .safety-list li::before {
  color: var(--accent);
}

.contact-footer {
  color: #fff;
  background:
    linear-gradient(135deg, #14263f, #1f3a5f);
}

.contact-footer .section {
  padding: clamp(1.85rem, 4vw, 3rem) 0 0.75rem;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 0.85fr;
  gap: 1.5rem;
  align-items: start;
}

.footer-grid.extended {
  grid-template-columns: 1.2fr 0.8fr 0.8fr 0.8fr;
}

.footer-contact-form {
  margin-top: 0.85rem;
  border: 0;
  background: transparent;
  padding: 0;
  box-shadow: none;
}

.footer-contact-form.light-form {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.footer-contact-form label {
  color: rgba(255, 255, 255, 0.86);
}

.footer-contact-form input,
.footer-contact-form textarea {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.footer-contact-form.light-form input,
.footer-contact-form.light-form textarea {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.footer-contact-form input::placeholder,
.footer-contact-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.46);
}

.footer-contact-form textarea {
  min-height: 72px;
}

.footer-contact-form .submitBtn {
  justify-self: start;
  padding: 0.72rem 1rem;
}

.footer-contact-card {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
  justify-content: space-between;
  margin-top: 2rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.06);
  padding: 1.1rem;
}

.footer-contact-card h3,
.footer-contact-card p {
  margin: 0;
}

.contact-footer h2,
.contact-footer h3 {
  margin: 0 0 1rem;
  font-weight: 900;
}

.contact-footer p,
.contact-footer a,
.contact-footer address {
  color: rgba(255, 255, 255, 0.78);
}

.contact-footer a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
}

.footer-links {
  display: grid;
  gap: 0.45rem;
}

.footer-links a {
  min-height: 40px;
  text-decoration: none;
}

.footer-links a:hover,
.footer-links a:focus {
  color: #fff;
}

.footer-visit {
  display: grid;
  gap: 0.7rem;
}

.footer-visit h3 {
  margin-bottom: 0.25rem;
}

.footer-service,
.footer-contact-links,
.footer-visit address {
  margin: 0;
}

.footer-service strong {
  color: #fff;
  font-weight: 900;
}

.footer-visit address {
  font-style: normal;
  line-height: 1.55;
}

.footer-map {
  overflow: hidden;
  min-height: 132px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 1rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(200, 155, 60, 0.1)),
    rgba(255, 255, 255, 0.06);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.16);
}

.footer-map iframe {
  display: block;
  width: 100%;
  height: 132px;
  border: 0;
  filter: saturate(0.85) contrast(0.96);
}

.footer-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem 1rem;
}

.footer-credit {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.footer-credit .eyebrow {
  color: var(--accent);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
}

.footer-credit,
.footer-credit .eyebrow {
  color: var(--accent);
  font-size: 0.92rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.prayer-form {
  display: grid;
  gap: 0.85rem;
}

.form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}

.prayer-form label {
  display: grid;
  gap: 0.35rem;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.95rem;
  font-weight: 750;
}

.prayer-form input,
.prayer-form textarea {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  padding: 0.8rem 0.9rem;
}

.light-form {
  padding: clamp(1.25rem, 4vw, 2rem);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  box-shadow: var(--shadow);
}

.light-form label {
  color: var(--ink);
}

.light-form input,
.light-form textarea {
  border-color: var(--line);
  background: #fbfaf5;
  color: var(--ink);
}

.light-form input::placeholder,
.light-form textarea::placeholder {
  color: rgba(23, 37, 34, 0.46);
}

.prayer-form input::placeholder,
.prayer-form textarea::placeholder {
  color: rgba(255, 255, 255, 0.48);
}

.prayer-form textarea {
  min-height: 150px;
  resize: vertical;
}

.submitBtn {
  justify-self: start;
  border: 0;
  border-radius: 999px;
  background: var(--accent);
  color: var(--ink);
  padding: 0.85rem 1.25rem;
  font-weight: 850;
  transition: transform 160ms ease, background 160ms ease, color 160ms ease;
}

.submitBtn:hover,
.submitBtn:focus {
  transform: translateY(-1px);
  background: var(--accent-dark);
  color: #fff;
}

.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  padding: 0.62rem 0;
  color: rgba(255, 255, 255, 0.65);
  text-align: center;
}

@media (max-width: 991.98px) {
  .info-strip-inner,
  .card-grid,
  .card-grid.two,
  .jesus-grid,
  .value-grid,
  .mission-flow,
  .belief-board,
  .weekly-event-grid,
  .home-events-layout,
  .home-major-list,
  .ministry-link-grid,
  .sermon-grid,
  .footer-grid,
  .footer-grid.extended,
  .about-list,
  .mission-grid,
  .announcements.wide {
    grid-template-columns: 1fr 1fr;
  }

  .home-events-layout {
    grid-template-columns: 1fr;
  }

  .map-panel {
    grid-template-columns: 1fr;
  }

  .hero {
    min-height: 640px;
    background-position: 58% center;
  }

  .sermon-cover-slide {
    background-color: var(--brand-dark);
    background-position: center, center;
    background-repeat: no-repeat;
    background-size: cover, cover;
  }
}

@media (max-width: 767.98px) {
  .section {
    padding: 2.75rem 0;
  }

  .navbar-dark .navbar-nav .nav-link {
    padding: 0.6rem 0;
  }

  .navbar-dark .navbar-nav .nav-link:not(.dropdown-toggle)::after {
    right: 0;
    left: 0;
  }

  .hero {
    align-items: center;
  }

  .home-hero-worship {
    background-position: 55% center;
  }

  .home-hero-event,
  .page-hero.events,
  .page-hero.outreach {
    background-position: 58% center;
  }

  .page-hero.about,
  .page-hero.give,
  .page-hero.prayer,
  .page-hero.women {
    background-position: 62% center;
  }

  .page-hero.sunday-school,
  .page-hero.youth {
    background-position: 60% center;
  }

  .page-hero.sermons,
  .sermon-cover-slide {
    background-position: 54% center;
  }

  .home-hero-carousel,
  .home-hero-slide {
    min-height: clamp(300px, 74vw, 360px);
  }

  .home-hero-carousel .carousel-control-prev,
  .home-hero-carousel .carousel-control-next {
    display: none;
  }

  .hero-content {
    padding: 4.25rem 0 2.75rem;
  }

  .info-strip {
    margin-top: 0;
  }

  .info-strip-inner,
  .card-grid,
  .card-grid.two,
  .jesus-grid,
  .value-grid,
  .mission-flow,
  .belief-board,
  .weekly-event-grid,
  .home-weekly-grid,
  .home-major-list,
  .ministry-link-grid,
  .sermon-grid,
  .announcements,
  .announcements.wide,
  .footer-grid,
  .footer-grid.extended,
  .about-list,
  .mission-grid,
  .photo-grid {
    grid-template-columns: 1fr;
  }

  .weekly-event-grid {
    border-radius: var(--radius);
  }

  .weekly-card {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .weekly-card:last-child {
    border-bottom: 0;
  }

  .weekly-day {
    justify-content: flex-start;
    width: fit-content;
  }

  .weekly-card-body {
    min-height: auto;
  }

  .page-hero h1 {
    font-size: clamp(2.05rem, 11vw, 3.7rem);
  }

  .page-hero p {
    font-size: 1rem;
  }

  .mission-flow .jesus-card:not(:last-child)::after {
    content: "↓";
    top: auto;
    right: 50%;
    bottom: -0.78rem;
    transform: translateX(50%);
  }

  .tab-switcher {
    justify-content: flex-start;
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 0.25rem;
  }

  .tab-button {
    white-space: nowrap;
  }

  .map-panel iframe {
    min-height: 280px;
  }

  .leader-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.6rem;
  }

  .leader-body h3 {
    font-size: 0.82rem;
  }

  .leader-title {
    font-size: 0.62rem;
  }

  .photo-card.large {
    grid-row: auto;
    min-height: 280px;
  }

  .event-card {
    grid-template-columns: 78px 1fr;
  }

  .sermon-tools {
    grid-template-columns: 1fr;
  }

  .event-date {
    min-height: 78px;
  }

  .event-date strong {
    font-size: 1.55rem;
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .cover-carousel {
    max-width: 100%;
  }

  .cover-feature {
    grid-template-columns: 72px 1fr;
    min-height: 132px;
  }

  .cover-feature-date,
  .cover-feature-thumb {
    min-height: 72px;
  }

  .cover-feature h3 {
    font-size: 1rem;
  }

  .cover-feature p {
    font-size: 0.92rem;
  }

  .sermon-cover-carousel,
  .sermon-cover-slide,
  .sermon-cover-content {
    min-height: clamp(300px, 74vw, 360px);
  }

  .sermon-cover-slide {
    background-color: var(--brand-dark);
  }

  .sermon-cover-carousel .carousel-control-prev,
  .sermon-cover-carousel .carousel-control-next {
    display: none;
  }
}

/* Final hero polish: gradient-first with subtle right-side media */
.hero,
.home-hero-carousel,
.home-hero-slide,
.page-hero,
.sermon-cover-slide,
.sermon-cover-carousel,
.sermon-cover-content {
  min-height: clamp(400px, 38vw, 450px);
}

.home-hero-carousel,
.home-hero-slide {
  min-height: clamp(420px, 39vw, 460px);
}

.page-hero,
.home-hero-slide,
.sermon-cover-slide {
  isolation: isolate;
  background-image: var(--hero-gradient);
  background-size: cover;
  background-position: center;
}

.home-hero-worship {
  --hero-gradient:
    radial-gradient(circle at 82% 34%, rgba(200, 155, 60, 0.34), transparent 0 17rem),
    radial-gradient(circle at 20% 10%, rgba(255, 250, 242, 0.16), transparent 0 18rem),
    linear-gradient(118deg, #1f3a5f 0%, #2f5e7d 50%, #fff5df 100%);
  --hero-media: url("../Images/worship_bkg.webp");
  --hero-media-position: center;
  --hero-media-opacity: 0.3;
  --hero-media-filter: blur(1px) saturate(0.78) contrast(0.95);
  --hero-panel-radius: 44% 8% 8% 44% / 50% 12% 12% 50%;
}

.home-hero-event {
  --hero-gradient:
    radial-gradient(circle at 83% 30%, rgba(200, 155, 60, 0.34), transparent 0 16rem),
    radial-gradient(circle at 16% 12%, rgba(255, 255, 255, 0.13), transparent 0 17rem),
    linear-gradient(118deg, #1f3a5f 0%, #2f6688 51%, #fff0cf 100%);
  --hero-media: url("../Images/hero-home.webp");
  --hero-media-position: center;
  --hero-media-opacity: 0.3;
  --hero-media-filter: blur(1.2px) saturate(0.9) contrast(0.94);
  --hero-panel-radius: 18% 0 0 18% / 38% 0 0 38%;
}

.home-hero-alert {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.28), transparent 0 16rem),
    radial-gradient(circle at 18% 8%, rgba(255, 250, 242, 0.14), transparent 0 18rem),
    linear-gradient(118deg, #203a5c 0%, #485c7b 50%, #fffaf2 100%);
  --hero-media: url("../Images/hero-prayer.webp");
  --hero-media-position: center;
  --hero-media-opacity: 0.36;
  --hero-media-filter: blur(0.4px) saturate(0.88) contrast(0.96);
  --hero-panel-radius: 52% 8% 28% 44% / 48% 10% 30% 48%;
}

.page-hero.about {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.3), transparent 0 16rem),
    radial-gradient(circle at 18% 8%, rgba(255, 255, 255, 0.14), transparent 0 18rem),
    linear-gradient(118deg, #1f3a5f 0%, #3f607e 50%, #fffaf2 100%);
  --hero-media: url("../Images/hero-about.webp");
  --hero-media-position: 70% center;
  --hero-media-opacity: 0.34;
  --hero-media-filter: blur(1.2px) saturate(0.86) contrast(0.94);
}

.page-hero.events {
  --hero-gradient:
    radial-gradient(circle at 84% 32%, rgba(200, 155, 60, 0.34), transparent 0 15rem),
    linear-gradient(118deg, #1f3a5f 0%, #2f6688 52%, #fff0cf 100%);
  --hero-media: url("../Images/hero-events.webp");
  --hero-media-position: center;
  --hero-media-opacity: 0.36;
  --hero-media-filter: blur(1.2px) saturate(0.88) contrast(0.94);
}

.page-hero.give {
  --hero-gradient:
    radial-gradient(circle at 84% 36%, rgba(200, 155, 60, 0.34), transparent 0 16rem),
    linear-gradient(118deg, #1f3a5f 0%, #3a5475 50%, #fffaf2 100%);
  --hero-media: url("../Images/hero-give.webp");
  --hero-media-position: center;
  --hero-media-opacity: 0.4;
  --hero-media-filter: blur(0.5px) saturate(0.88) contrast(0.94);
}

.page-hero.prayer {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(255, 250, 242, 0.2), transparent 0 15rem),
    radial-gradient(circle at 16% 10%, rgba(200, 155, 60, 0.16), transparent 0 18rem),
    linear-gradient(118deg, #1f3a5f 0%, #4b587b 50%, #f6f8fb 100%);
  --hero-media: url("../Images/hero-prayer.webp");
  --hero-media-position: center;
  --hero-media-opacity: 0.42;
  --hero-media-filter: blur(0.5px) saturate(0.86) contrast(0.94);
}

.page-hero.sunday-school {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.34), transparent 0 14rem),
    linear-gradient(118deg, #1f3a5f 0%, #3f6c8f 52%, #fffaf2 100%);
  --hero-media: url("../Images/hero-sundayschool.webp");
  --hero-media-position: 26% center;
  --hero-media-opacity: 0.2;
  --hero-media-filter: blur(4px) saturate(0.78) contrast(0.9);
}

.page-hero.youth {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.28), transparent 0 15rem),
    linear-gradient(118deg, #1f3a5f 0%, #2c6b86 52%, #f6f8fb 100%);
  --hero-media: url("../Images/hero-youth.webp");
  --hero-media-position: 78% center;
  --hero-media-opacity: 0.21;
  --hero-media-filter: blur(4px) saturate(0.78) contrast(0.9);
}

.page-hero.women {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.28), transparent 0 15rem),
    radial-gradient(circle at 20% 8%, rgba(255, 250, 242, 0.14), transparent 0 18rem),
    linear-gradient(118deg, #1f3a5f 0%, #5b5c83 52%, #fffaf2 100%);
  --hero-media: url("../Images/hero-women.webp");
  --hero-media-position: 68% center;
  --hero-media-opacity: 0.21;
  --hero-media-filter: blur(3.5px) saturate(0.8) contrast(0.9);
}

.page-hero.outreach {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.3), transparent 0 15rem),
    linear-gradient(118deg, #1f3a5f 0%, #2f715f 52%, #f6f8fb 100%);
  --hero-media: url("../Images/hero-outreach.webp");
  --hero-media-position: 80% center;
  --hero-media-opacity: 0.21;
  --hero-media-filter: blur(4px) saturate(0.76) contrast(0.9);
}

.page-hero.sermons,
.sermon-cover-slide {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.32), transparent 0 15rem),
    radial-gradient(circle at 17% 10%, rgba(255, 255, 255, 0.12), transparent 0 17rem),
    linear-gradient(118deg, #1f3a5f 0%, #384b70 52%, #fffaf2 100%);
  --hero-media: url("../Images/hero-sermons.webp");
  --hero-media-position: 68% center;
  --hero-media-opacity: 0.38;
  --hero-media-filter: blur(0.5px) saturate(0.86) contrast(0.94);
}

.sermon-cover-two {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.34), transparent 0 15rem),
    linear-gradient(118deg, #1f3a5f 0%, #2f5f7d 52%, #fff5df 100%);
  --hero-media: url("../Images/worship_bkg.webp");
  --hero-media-position: 78% center;
  --hero-media-opacity: 0.3;
  --hero-media-filter: blur(1px) saturate(0.78) contrast(0.94);
  --hero-panel-radius: 18% 0 0 18% / 42% 0 0 42%;
}

.sermon-cover-three {
  --hero-gradient:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.3), transparent 0 15rem),
    linear-gradient(118deg, #1f3a5f 0%, #4c5578 52%, #fffaf2 100%);
  --hero-media: url("../Images/hero-about.webp");
  --hero-media-position: 72% center;
  --hero-media-opacity: 0.32;
  --hero-media-filter: blur(1.2px) saturate(0.84) contrast(0.92);
  --hero-panel-radius: 48% 8% 8% 28% / 50% 12% 12% 30%;
}

.home-hero-slide::before,
.page-hero::before,
.sermon-cover-slide::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  right: clamp(0.75rem, 5vw, 5rem);
  width: clamp(240px, 34vw, 430px);
  height: min(78%, 355px);
  transform: translateY(-50%);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: var(--hero-panel-radius, 44% 8% 8% 44% / 50% 12% 12% 50%);
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.52), rgba(31, 58, 95, 0.06) 44%, rgba(255, 250, 242, 0.18)),
    var(--hero-media);
  background-size: cover;
  background-position: var(--hero-media-position, center);
  box-shadow: 0 26px 70px rgba(20, 38, 63, 0.2);
  filter: var(--hero-media-filter, saturate(0.88) contrast(0.94));
  opacity: var(--hero-media-opacity, 0.32);
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
}

.home-hero-slide::after,
.page-hero::after,
.sermon-cover-slide::after {
  z-index: 0;
  right: clamp(1rem, 7vw, 7rem);
  bottom: clamp(0.8rem, 4vw, 2.4rem);
  width: clamp(76px, 9vw, 118px);
  background:
    radial-gradient(circle at 35% 35%, rgba(255, 255, 255, 0.32), transparent 0 42%),
    rgba(200, 155, 60, 0.16);
  opacity: 0.82;
}

.hero-art {
  z-index: 1;
  right: clamp(2rem, 8vw, 8rem);
  width: clamp(145px, 17vw, 245px);
  opacity: 0.2;
  mix-blend-mode: screen;
}

.hero-content,
.page-hero-content,
.sermon-cover-content {
  z-index: 2;
  padding: clamp(2.6rem, 4.8vw, 3.6rem) 0;
}

.hero h1,
.hero h2,
.page-hero h1,
.sermon-cover-content h1,
.sermon-cover-content h2 {
  font-size: clamp(2rem, 4.25vw, 3.75rem);
  letter-spacing: -0.025em;
}

.hero p,
.page-hero p,
.sermon-cover-content p {
  max-width: 620px;
  line-height: 1.55;
}

.home-hero-carousel .carousel-control-prev,
.home-hero-carousel .carousel-control-next,
.sermon-cover-carousel .carousel-control-prev,
.sermon-cover-carousel .carousel-control-next,
.home-hero-carousel .carousel-indicators,
.sermon-cover-carousel .carousel-indicators {
  z-index: 3;
}

.compact-announcements .announcement-item,
.compact-announcements .announcement-card {
  border: 1px solid rgba(31, 58, 95, 0.12);
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.82), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.compact-announcements .announcement-item:hover,
.compact-announcements .announcement-item:focus,
.compact-announcements .announcement-item.is-active,
.compact-announcements .announcement-card:hover,
.compact-announcements .announcement-card:focus,
.compact-announcements .announcement-card.is-active {
  color: #fff;
  border-color: rgba(31, 111, 104, 0.32);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.98), rgba(45, 138, 120, 0.92)),
    #1f6f68;
}

.compact-announcements .announcement-item:hover h3,
.compact-announcements .announcement-item:focus h3,
.compact-announcements .announcement-item.is-active h3,
.compact-announcements .announcement-card:hover h3,
.compact-announcements .announcement-card:focus h3,
.compact-announcements .announcement-card.is-active h3 {
  color: #fff;
}

.compact-announcements .announcement-item:hover p,
.compact-announcements .announcement-item:focus p,
.compact-announcements .announcement-item.is-active p,
.compact-announcements .announcement-item:hover span,
.compact-announcements .announcement-item:focus span,
.compact-announcements .announcement-item.is-active span,
.compact-announcements .announcement-card:hover p,
.compact-announcements .announcement-card:focus p,
.compact-announcements .announcement-card.is-active p,
.compact-announcements .announcement-card:hover span,
.compact-announcements .announcement-card:focus span,
.compact-announcements .announcement-card.is-active span {
  color: rgba(255, 255, 255, 0.82);
}

.compact-announcements .announcement-item:hover .announcement-kicker,
.compact-announcements .announcement-item:focus .announcement-kicker,
.compact-announcements .announcement-item.is-active .announcement-kicker,
.compact-announcements .announcement-card:hover .announcement-kicker,
.compact-announcements .announcement-card:focus .announcement-kicker,
.compact-announcements .announcement-card.is-active .announcement-kicker {
  color: var(--accent);
}

.compact-announcements .announcement-item:hover .announcement-icon,
.compact-announcements .announcement-item:focus .announcement-icon,
.compact-announcements .announcement-item.is-active .announcement-icon {
  color: var(--ink);
  background: var(--accent);
}

@media (max-width: 991.98px) {
  .hero,
  .home-hero-carousel,
  .home-hero-slide,
  .page-hero,
  .sermon-cover-slide,
  .sermon-cover-carousel,
  .sermon-cover-content {
    min-height: clamp(330px, 48vw, 380px);
  }

  .home-hero-carousel,
  .home-hero-slide {
    min-height: clamp(350px, 52vw, 400px);
  }

  .home-hero-slide::before,
  .page-hero::before,
  .sermon-cover-slide::before {
    right: -5rem;
    width: clamp(210px, 36vw, 300px);
    height: min(72%, 280px);
    opacity: var(--hero-media-tablet-opacity, 0.22);
  }
}

@media (max-width: 767.98px) {
  .hero,
  .home-hero-carousel,
  .home-hero-slide,
  .page-hero,
  .sermon-cover-slide,
  .sermon-cover-carousel,
  .sermon-cover-content {
    min-height: clamp(285px, 76vw, 340px);
  }

  .home-hero-carousel,
  .home-hero-slide {
    min-height: clamp(315px, 86vw, 380px);
  }

  .hero-content,
  .page-hero-content,
  .sermon-cover-content {
    padding: 2rem 0 1.8rem;
    max-width: min(100%, 92vw);
  }

  .hero-content > *,
  .page-hero-content > * {
    opacity: 1;
    animation: none;
  }

  .hero h1,
  .hero h2,
  .page-hero h1,
  .sermon-cover-content h1,
  .sermon-cover-content h2 {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
    line-height: 1.05;
  }

  .hero p,
  .page-hero p,
  .sermon-cover-content p {
    max-width: 92%;
    font-size: 0.94rem;
    line-height: 1.45;
  }

  .home-hero-slide::before,
  .page-hero::before,
  .sermon-cover-slide::before {
    top: auto;
    right: -7rem;
    bottom: 0.55rem;
    width: 210px;
    height: 200px;
    transform: none;
    border-radius: 48% 0 0 48%;
    opacity: var(--hero-media-mobile-opacity, 0.16);
  }

  .hero-art {
    right: -3rem;
    bottom: 0.65rem;
    width: 136px;
    opacity: 0.13;
  }

  .hero-actions .btn-church {
    min-height: 40px;
    padding: 0.55rem 0.7rem;
    font-size: 0.86rem;
  }

  .footer-grid.extended > div:first-child,
  .footer-grid.extended > div:nth-child(2) {
    grid-column: 1 / -1;
  }

  .footer-grid.extended > div:nth-child(3),
  .footer-grid.extended > div:nth-child(4) {
    grid-column: auto;
  }

  .footer-map,
  .footer-map iframe {
    min-height: 120px;
    height: 120px;
  }
}

@media (max-width: 420px) {
  .brand-logo {
    width: 40px;
    height: 40px;
  }

  .navbar-brand {
    gap: 0.5rem;
    font-size: 1rem;
  }

  .hero-actions,
  .section-actions {
    flex-direction: row;
  }

  .btn-church,
  .submitBtn {
    width: auto;
  }

  .hero-actions .btn-church {
    flex: 1 1 calc(50% - 0.4rem);
    min-width: 0;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}



/* Footer contact form fixes */
.hero,
.home-hero-carousel,
.home-hero-slide,
.page-hero,
.sermon-cover-slide {
  position: relative;
  overflow: hidden;
  min-height: clamp(380px, 42vw, 460px);
  background-size: cover;
  background-position: center;
}

.home-hero-carousel,
.home-hero-slide,
.hero {
  background:
    radial-gradient(circle at 84% 32%, rgba(200, 155, 60, 0.3), transparent 0 18rem),
    radial-gradient(circle at 78% 74%, rgba(255, 250, 242, 0.14), transparent 0 14rem),
    linear-gradient(120deg, #1f3a5f 0%, #274c78 48%, #f5efe2 100%);
}

.home-hero-carousel,
.home-hero-slide {
  min-height: clamp(380px, 42vw, 460px);
}

.home-hero-event {
  background:
    radial-gradient(circle at 82% 34%, rgba(200, 155, 60, 0.32), transparent 0 16rem),
    linear-gradient(120deg, #203a5c 0%, #2e6384 52%, #fff4d8 100%);
}

.home-hero-alert {
  background:
    radial-gradient(circle at 82% 38%, rgba(200, 155, 60, 0.28), transparent 0 15rem),
    linear-gradient(120deg, #21375a 0%, #51607a 48%, #fffaf2 100%);
}

.page-hero {
  background:
    radial-gradient(circle at 84% 34%, rgba(200, 155, 60, 0.28), transparent 0 16rem),
    radial-gradient(circle at 94% 90%, rgba(255, 250, 242, 0.16), transparent 0 18rem),
    linear-gradient(120deg, #1f3a5f 0%, #365f8b 54%, #f6f8fb 100%);
}

.page-hero.about {
  background:
    radial-gradient(circle at 82% 36%, rgba(200, 155, 60, 0.28), transparent 0 16rem),
    linear-gradient(120deg, #1f3a5f 0%, #40607f 52%, #fffaf2 100%);
}

.page-hero.events {
  background:
    radial-gradient(circle at 84% 32%, rgba(200, 155, 60, 0.32), transparent 0 15rem),
    linear-gradient(120deg, #1f3a5f 0%, #2f6688 52%, #fff0cf 100%);
}

.page-hero.give {
  background:
    radial-gradient(circle at 82% 36%, rgba(200, 155, 60, 0.36), transparent 0 16rem),
    linear-gradient(120deg, #1f3a5f 0%, #385475 52%, #fffaf2 100%);
}

.page-hero.prayer {
  background:
    radial-gradient(circle at 82% 36%, rgba(255, 250, 242, 0.24), transparent 0 15rem),
    linear-gradient(120deg, #1f3a5f 0%, #4b587b 52%, #f6f8fb 100%);
}

.page-hero.sunday-school {
  background:
    radial-gradient(circle at 82% 34%, rgba(200, 155, 60, 0.35), transparent 0 14rem),
    linear-gradient(120deg, #1f3a5f 0%, #3f6c8f 52%, #fffaf2 100%);
}

.page-hero.youth {
  background:
    radial-gradient(circle at 82% 34%, rgba(200, 155, 60, 0.3), transparent 0 15rem),
    linear-gradient(120deg, #1f3a5f 0%, #2c6b86 52%, #f6f8fb 100%);
}

.page-hero.women {
  background:
    radial-gradient(circle at 82% 34%, rgba(200, 155, 60, 0.26), transparent 0 15rem),
    linear-gradient(120deg, #1f3a5f 0%, #5b5c83 52%, #fffaf2 100%);
}

.page-hero.outreach {
  background:
    radial-gradient(circle at 82% 34%, rgba(200, 155, 60, 0.3), transparent 0 15rem),
    linear-gradient(120deg, #1f3a5f 0%, #2f715f 52%, #f6f8fb 100%);
}

.page-hero.sermons,
.sermon-cover-slide {
  background:
    radial-gradient(circle at 82% 34%, rgba(200, 155, 60, 0.32), transparent 0 15rem),
    linear-gradient(120deg, #1f3a5f 0%, #384b70 52%, #fffaf2 100%);
}

.home-hero-slide::before,
.page-hero::before,
.sermon-cover-slide::before {
  content: "";
  position: absolute;
  inset: 9% 4% 9% auto;
  width: min(34vw, 360px);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  opacity: 0.34;
  pointer-events: none;
}

.home-hero-slide::after,
.page-hero::after,
.sermon-cover-slide::after {
  content: "";
  position: absolute;
  right: clamp(1rem, 5vw, 5rem);
  bottom: clamp(1rem, 5vw, 4rem);
  width: clamp(70px, 10vw, 130px);
  aspect-ratio: 1;
  border-radius: 30% 70% 52% 48%;
  background: rgba(200, 155, 60, 0.18);
  box-shadow: 0 22px 60px rgba(20, 38, 63, 0.16);
  pointer-events: none;
}

.hero-art {
  position: absolute;
  z-index: 0;
  right: clamp(1.5rem, 7vw, 7rem);
  top: 50%;
  width: clamp(170px, 23vw, 330px);
  aspect-ratio: 1;
  transform: translateY(-50%);
  opacity: 0.42;
  pointer-events: none;
}

.hero-art::before,
.hero-art::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 32% 68% 62% 38%;
  border: 1px solid rgba(255, 255, 255, 0.34);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(200, 155, 60, 0.12));
  box-shadow: inset 0 0 0 18px rgba(255, 255, 255, 0.04);
}

.hero-art::after {
  inset: 20%;
  border-radius: 50%;
  background: rgba(200, 155, 60, 0.18);
  box-shadow: none;
}

.hero-art-home {
  border-radius: 50%;
  background:
    radial-gradient(circle at 36% 34%, rgba(255, 255, 255, 0.82) 0 8%, transparent 8.4%),
    radial-gradient(circle at 62% 35%, rgba(255, 255, 255, 0.62) 0 7%, transparent 7.4%),
    radial-gradient(circle at 50% 58%, rgba(255, 255, 255, 0.18) 0 24%, transparent 24.6%);
}

.hero-art-calendar {
  border-radius: 1.5rem;
  background:
    linear-gradient(rgba(255, 255, 255, 0.22) 0 0) 22% 34% / 18% 10% no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.22) 0 0) 52% 34% / 18% 10% no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.22) 0 0) 22% 58% / 18% 10% no-repeat,
    linear-gradient(rgba(200, 155, 60, 0.34) 0 0) 52% 58% / 18% 10% no-repeat;
}

.hero-art-update {
  background:
    radial-gradient(circle at 50% 50%, rgba(200, 155, 60, 0.24) 0 20%, transparent 20.5%),
    conic-gradient(from 90deg, rgba(255, 255, 255, 0.24), transparent 32%, rgba(255, 255, 255, 0.18), transparent 72%, rgba(200, 155, 60, 0.22));
  border-radius: 50%;
}

.hero-art-sermon {
  border-radius: 1.5rem;
  background:
    linear-gradient(90deg, transparent 48%, rgba(255, 255, 255, 0.34) 48% 52%, transparent 52%),
    linear-gradient(rgba(255, 255, 255, 0.2) 0 0) 24% 34% / 22% 3px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.16) 0 0) 24% 47% / 18% 3px no-repeat,
    linear-gradient(rgba(200, 155, 60, 0.28) 0 0) 57% 61% / 22% 3px no-repeat,
    rgba(255, 255, 255, 0.08);
}

.hero-art-message {
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 26%, rgba(255, 255, 255, 0.54) 0 9%, transparent 9.5%),
    linear-gradient(rgba(255, 255, 255, 0.24) 0 0) 46% 35% / 8% 36% no-repeat,
    radial-gradient(circle at 50% 76%, rgba(200, 155, 60, 0.32) 0 18%, transparent 18.5%);
}

.hero-art-bible {
  border-radius: 1.25rem;
  background:
    linear-gradient(90deg, transparent 48%, rgba(255, 255, 255, 0.34) 48% 52%, transparent 52%),
    linear-gradient(rgba(255, 255, 255, 0.22) 0 0) 24% 38% / 21% 3px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.18) 0 0) 57% 38% / 21% 3px no-repeat,
    linear-gradient(rgba(200, 155, 60, 0.28) 0 0) 24% 58% / 17% 3px no-repeat,
    linear-gradient(rgba(255, 255, 255, 0.16) 0 0) 57% 58% / 17% 3px no-repeat,
    rgba(255, 255, 255, 0.08);
}

.hero-content,
.page-hero-content,
.sermon-cover-content {
  position: relative;
  z-index: 1;
}

.hero-content,
.page-hero-content {
  padding: clamp(3.25rem, 6vw, 4.75rem) 0 clamp(2.35rem, 4vw, 3.25rem);
}

.sermon-cover-carousel,
.sermon-cover-slide,
.sermon-cover-content {
  min-height: clamp(380px, 42vw, 460px);
}

.sermon-cover-content {
  padding: clamp(3.25rem, 6vw, 4.75rem) 0 clamp(2.35rem, 4vw, 3.25rem);
}

.hero h1,
.hero h2,
.page-hero h1,
.sermon-cover-content h1,
.sermon-cover-content h2 {
  max-width: 760px;
  font-size: clamp(2.05rem, 4.7vw, 4.1rem);
  line-height: 1.02;
  text-shadow: 0 2px 18px rgba(20, 38, 63, 0.24);
}

.hero p,
.page-hero p,
.sermon-cover-content p {
  max-width: 650px;
  color: rgba(255, 255, 255, 0.9);
}

.section {
  padding: clamp(2.45rem, 4vw, 3.5rem) 0;
}

.events-list,
.announcement-board,
.updates-list {
  gap: 0.9rem;
}

.event-feature-list .event-card,
.compact-announcements .announcement-item,
.compact-announcements .announcement-card,
.weekly-event-grid {
  border-radius: var(--radius);
  box-shadow: 0 14px 35px rgba(31, 58, 95, 0.08);
}

.btn-coming-soon {
  pointer-events: auto;
}

.footer-contact-form {
  border: 1px solid rgba(255, 255, 255, 0.16) !important;
  border-radius: 1rem !important;
  background: rgba(255, 255, 255, 0.08) !important;
  padding: 0.9rem !important;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.08) !important;
}

.footer-contact-form label {
  color: #fff !important;
}

.ministry-link-grid .ministry-link-card p,
.ministry-link-grid .ministry-link-card span,
.ministry-link-grid .ministry-link-card h3 {
  color: inherit;
}

.ministry-link-grid .ministry-link-card span {
  color: var(--accent-dark);
}

@media (max-width: 767.98px) {
  .hero,
  .home-hero-carousel,
  .home-hero-slide,
  .page-hero,
  .sermon-cover-slide,
  .sermon-cover-carousel,
  .sermon-cover-content {
    min-height: clamp(300px, 74vw, 360px);
  }

  .hero-content,
  .page-hero-content,
  .sermon-cover-content {
    padding: 2.45rem 0 2rem;
  }

  .hero h1,
  .hero h2,
  .page-hero h1,
  .sermon-cover-content h1,
  .sermon-cover-content h2 {
    font-size: clamp(1.9rem, 9vw, 2.8rem);
    line-height: 1.04;
  }

  .hero p,
  .page-hero p,
  .sermon-cover-content p {
    font-size: 0.98rem;
  }

  .hero-actions,
  .section-actions {
    margin-top: 1.15rem;
  }

  .home-hero-slide::before,
  .page-hero::before,
  .sermon-cover-slide::before {
    inset: auto -18% 7% auto;
    width: 220px;
    height: 220px;
  }

  .home-hero-slide::after,
  .page-hero::after,
  .sermon-cover-slide::after {
    width: 74px;
    opacity: 0.75;
  }

  .hero-art {
    right: -3.5rem;
    top: auto;
    bottom: 1.2rem;
    width: 180px;
    transform: none;
    opacity: 0.25;
  }

  .section {
    padding: 2.5rem 0;
  }

  .footer-grid.extended {
    grid-template-columns: 1fr 1fr;
  }

  .footer-grid.extended > div:first-child,
  .footer-grid.extended > div:nth-child(4) {
    grid-column: 1 / -1;
  }

  .footer-grid.extended > div:nth-child(2),
  .footer-grid.extended > div:nth-child(3) {
    grid-column: auto;
  }
}

/* Final override: keep hero media gradient-led and right-side only */
.home-hero-slide,
.page-hero,
.sermon-cover-slide {
  isolation: isolate;
  background-image: var(--hero-gradient) !important;
}

.hero,
.home-hero-carousel,
.home-hero-slide,
.page-hero,
.sermon-cover-slide,
.sermon-cover-carousel,
.sermon-cover-content {
  min-height: clamp(400px, 38vw, 450px);
}

.home-hero-carousel,
.home-hero-slide {
  min-height: clamp(420px, 39vw, 460px);
}

.home-hero-slide::before,
.page-hero::before,
.sermon-cover-slide::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: auto clamp(0.75rem, 3vw, 3rem) auto 50%;
  top: 50%;
  width: auto;
  height: min(78%, 355px);
  transform: translateY(-50%);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 44% 8% 8% 44% / 50% 12% 12% 50%;
  background-image:
    linear-gradient(90deg, rgba(31, 58, 95, 0.52), rgba(31, 58, 95, 0.06) 44%, rgba(255, 250, 242, 0.18)),
    var(--hero-media);
  background-size: cover;
  background-position: var(--hero-media-position, center);
  box-shadow: 0 26px 70px rgba(20, 38, 63, 0.2);
  filter: var(--hero-media-filter, saturate(0.88) contrast(0.94));
  opacity: var(--hero-media-opacity, 0.32);
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 18%, #000 100%);
}

.home-hero-slide::after,
.page-hero::after,
.sermon-cover-slide::after {
  z-index: 0;
  right: clamp(1rem, 7vw, 7rem);
  bottom: clamp(0.8rem, 4vw, 2.4rem);
  width: clamp(76px, 9vw, 118px);
  background:
    radial-gradient(circle at 35% 35%, rgba(255, 255, 255, 0.32), transparent 0 42%),
    rgba(200, 155, 60, 0.16);
  opacity: 0.82;
}

.hero-art {
  z-index: 1;
  right: clamp(2rem, 8vw, 8rem);
  width: clamp(145px, 17vw, 245px);
  opacity: 0.2;
  mix-blend-mode: screen;
}

.hero-content,
.page-hero-content,
.sermon-cover-content {
  z-index: 2;
  padding: clamp(2.6rem, 4.8vw, 3.6rem) 0;
}

.hero h1,
.hero h2,
.page-hero h1,
.sermon-cover-content h1,
.sermon-cover-content h2 {
  font-size: clamp(2rem, 4.25vw, 3.75rem);
  letter-spacing: -0.025em;
}

.hero p,
.page-hero p,
.sermon-cover-content p {
  max-width: 620px;
  line-height: 1.55;
}

.compact-announcements .announcement-item,
.compact-announcements .announcement-card {
  border: 1px solid rgba(31, 58, 95, 0.12);
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.82), rgba(255, 255, 255, 0.96)),
    #ffffff;
}

.compact-announcements .announcement-item:hover,
.compact-announcements .announcement-item:focus,
.compact-announcements .announcement-item.is-active,
.compact-announcements .announcement-card:hover,
.compact-announcements .announcement-card:focus,
.compact-announcements .announcement-card.is-active {
  color: #fff;
  border-color: rgba(31, 111, 104, 0.32);
  background:
    linear-gradient(135deg, rgba(31, 111, 104, 0.98), rgba(45, 138, 120, 0.92)),
    #1f6f68;
}

.compact-announcements .announcement-item:hover h3,
.compact-announcements .announcement-item:focus h3,
.compact-announcements .announcement-item.is-active h3,
.compact-announcements .announcement-card:hover h3,
.compact-announcements .announcement-card:focus h3,
.compact-announcements .announcement-card.is-active h3 {
  color: #fff;
}

.compact-announcements .announcement-item:hover p,
.compact-announcements .announcement-item:focus p,
.compact-announcements .announcement-item.is-active p,
.compact-announcements .announcement-item:hover span,
.compact-announcements .announcement-item:focus span,
.compact-announcements .announcement-item.is-active span,
.compact-announcements .announcement-card:hover p,
.compact-announcements .announcement-card:focus p,
.compact-announcements .announcement-card.is-active p,
.compact-announcements .announcement-card:hover span,
.compact-announcements .announcement-card:focus span,
.compact-announcements .announcement-card.is-active span {
  color: rgba(255, 255, 255, 0.82);
}

.compact-announcements .announcement-item:hover .announcement-kicker,
.compact-announcements .announcement-item:focus .announcement-kicker,
.compact-announcements .announcement-item.is-active .announcement-kicker,
.compact-announcements .announcement-card:hover .announcement-kicker,
.compact-announcements .announcement-card:focus .announcement-kicker,
.compact-announcements .announcement-card.is-active .announcement-kicker {
  color: var(--accent);
}

.compact-announcements .announcement-item:hover .announcement-icon,
.compact-announcements .announcement-item:focus .announcement-icon,
.compact-announcements .announcement-item.is-active .announcement-icon {
  color: var(--ink);
  background: var(--accent);
}

@media (max-width: 991.98px) {
  .hero,
  .home-hero-carousel,
  .home-hero-slide,
  .page-hero,
  .sermon-cover-slide,
  .sermon-cover-carousel,
  .sermon-cover-content {
    min-height: clamp(330px, 48vw, 380px);
  }

  .home-hero-carousel,
  .home-hero-slide {
    min-height: clamp(350px, 52vw, 400px);
  }

  .home-hero-slide::before,
  .page-hero::before,
  .sermon-cover-slide::before {
    left: 54%;
    right: -4rem;
    width: auto;
    height: min(72%, 280px);
    opacity: var(--hero-media-tablet-opacity, 0.22);
  }
}

@media (max-width: 767.98px) {
  .hero,
  .home-hero-carousel,
  .home-hero-slide,
  .page-hero,
  .sermon-cover-slide,
  .sermon-cover-carousel,
  .sermon-cover-content {
    min-height: clamp(285px, 76vw, 340px);
  }

  .home-hero-carousel,
  .home-hero-slide {
    min-height: clamp(315px, 86vw, 380px);
  }

  .hero-content,
  .page-hero-content,
  .sermon-cover-content {
    padding: 2rem 0 1.8rem;
    max-width: min(100%, 92vw);
  }

  .hero h1,
  .hero h2,
  .page-hero h1,
  .sermon-cover-content h1,
  .sermon-cover-content h2 {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
    line-height: 1.05;
  }

  .hero p,
  .page-hero p,
  .sermon-cover-content p {
    max-width: 92%;
    font-size: 0.94rem;
    line-height: 1.45;
  }

  .home-hero-slide::before,
  .page-hero::before,
  .sermon-cover-slide::before {
    top: auto;
    left: 50%;
    right: -7rem;
    bottom: 0.55rem;
    width: auto;
    height: 200px;
    transform: none;
    border-radius: 48% 0 0 48%;
    opacity: var(--hero-media-mobile-opacity, 0.16);
  }

  .hero-art {
    right: -3rem;
    bottom: 0.65rem;
    width: 136px;
    opacity: 0.13;
  }

  .hero-actions .btn-church {
    min-height: 40px;
    padding: 0.55rem 0.7rem;
    font-size: 0.86rem;
  }
}

/* Final homepage premium polish */
.home-hero-carousel,
.home-hero-slide {
  min-height: clamp(520px, 43vw, 580px);
}

.home-hero-slide {
  display: flex;
  align-items: center;
}

.home-hero-slide .hero-content {
  padding: clamp(3.5rem, 5vw, 4.8rem) 0;
}

.home-hero-slide .hero-content::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -1.4rem auto -1.4rem -2rem;
  width: min(740px, 58vw);
  border-radius: 2rem;
  background:
    radial-gradient(circle at 14% 18%, rgba(255, 255, 255, 0.12), transparent 0 12rem),
    linear-gradient(90deg, rgba(20, 38, 63, 0.3), rgba(20, 38, 63, 0));
  pointer-events: none;
}

.home-hero-worship {
  --hero-gradient:
    radial-gradient(circle at 76% 24%, rgba(200, 155, 60, 0.34), transparent 0 15rem),
    radial-gradient(circle at 95% 74%, rgba(255, 250, 242, 0.16), transparent 0 18rem),
    radial-gradient(circle at 15% 10%, rgba(82, 132, 179, 0.26), transparent 0 18rem),
    linear-gradient(118deg, #132a49 0%, #1f3a5f 42%, #435e91 70%, #fff1d1 132%);
  --hero-media: url("../Images/hero-sermons.webp");
  --hero-media-position: 70% center;
  --hero-media-opacity: 0.4;
  --hero-media-filter: blur(0.2px) saturate(0.86) contrast(0.96);
  --hero-panel-radius: 42% 8% 18% 42% / 55% 10% 22% 48%;
  --hero-panel-overlay: linear-gradient(90deg, rgba(19, 42, 73, 0.72), rgba(31, 58, 95, 0.12) 44%, rgba(255, 242, 210, 0.2));
}

.home-hero-event {
  --hero-gradient:
    radial-gradient(circle at 78% 32%, rgba(224, 173, 68, 0.38), transparent 0 16rem),
    radial-gradient(circle at 88% 92%, rgba(255, 250, 242, 0.16), transparent 0 17rem),
    linear-gradient(118deg, #15273f 0%, #253a57 42%, #4d5d78 72%, #fff4dc 132%);
  --hero-media: url("../Images/worship_bkg.webp");
  --hero-media-position: center;
  --hero-media-opacity: 0.3;
  --hero-media-filter: blur(0.5px) saturate(0.86) contrast(0.96);
  --hero-panel-radius: 1.8rem 0 0 6.5rem / 1.8rem 0 0 6.5rem;
  --hero-panel-overlay: linear-gradient(90deg, rgba(21, 39, 63, 0.7), rgba(21, 39, 63, 0.18) 45%, rgba(255, 244, 220, 0.16));
}

.home-hero-alert {
  --hero-gradient:
    radial-gradient(circle at 78% 26%, rgba(200, 155, 60, 0.26), transparent 0 13rem),
    radial-gradient(circle at 92% 78%, rgba(133, 169, 203, 0.2), transparent 0 18rem),
    linear-gradient(118deg, #172c4a 0%, #243952 42%, #536273 74%, #fffaf2 132%);
  --hero-media: url("../Images/hero-events.webp");
  --hero-media-position: 62% center;
  --hero-media-opacity: 0.34;
  --hero-media-filter: blur(0.8px) saturate(0.86) contrast(0.94);
  --hero-panel-radius: 3.6rem 1rem 1rem 3.6rem;
  --hero-panel-overlay: linear-gradient(90deg, rgba(23, 44, 74, 0.76), rgba(23, 44, 74, 0.18) 45%, rgba(255, 250, 242, 0.14));
}

.home-hero-slide::before {
  inset: auto clamp(1rem, 4vw, 4rem) auto 55%;
  top: 50%;
  height: min(77%, 430px);
  border-radius: var(--hero-panel-radius, 42% 8% 18% 42% / 55% 10% 22% 48%);
  background-image:
    var(--hero-panel-overlay, linear-gradient(90deg, rgba(31, 58, 95, 0.55), rgba(31, 58, 95, 0.06) 44%, rgba(255, 250, 242, 0.18))),
    var(--hero-media);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.14),
    0 32px 90px rgba(7, 18, 34, 0.28);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 13%, #000 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 13%, #000 100%);
}

.home-hero-slide::after {
  width: clamp(92px, 10vw, 150px);
  border: 1px solid rgba(255, 255, 255, 0.16);
  background:
    radial-gradient(circle at 35% 32%, rgba(255, 255, 255, 0.36), transparent 0 38%),
    linear-gradient(135deg, rgba(200, 155, 60, 0.28), rgba(255, 255, 255, 0.08));
  backdrop-filter: blur(10px);
}

.home-hero-event::after {
  right: clamp(2rem, 12vw, 11rem);
  bottom: clamp(1.6rem, 7vw, 5rem);
  border-radius: 1.4rem;
  transform: rotate(-4deg);
}

.home-hero-alert::after {
  right: clamp(2rem, 11vw, 10rem);
  bottom: clamp(1.2rem, 6vw, 4.5rem);
  border-radius: 1.1rem;
  transform: rotate(3deg);
}

.home-hero-slide .hero-art {
  width: clamp(150px, 16vw, 240px);
  opacity: 0.22;
}

.home-hero-alert .hero-art {
  opacity: 0.28;
}

.home-hero-carousel .carousel-control-prev,
.home-hero-carousel .carousel-control-next {
  top: auto;
  bottom: 1.15rem;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.11);
  backdrop-filter: blur(14px);
  opacity: 1;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.home-hero-carousel .carousel-control-prev {
  left: clamp(1rem, 4vw, 3rem);
}

.home-hero-carousel .carousel-control-next {
  left: calc(clamp(1rem, 4vw, 3rem) + 58px);
  right: auto;
}

.home-hero-carousel .carousel-control-prev:hover,
.home-hero-carousel .carousel-control-next:hover,
.home-hero-carousel .carousel-control-prev:focus,
.home-hero-carousel .carousel-control-next:focus {
  transform: translateY(-2px);
  border-color: rgba(200, 155, 60, 0.55);
  background: rgba(200, 155, 60, 0.2);
}

.home-hero-carousel .carousel-control-prev-icon,
.home-hero-carousel .carousel-control-next-icon {
  width: 1.05rem;
  height: 1.05rem;
  filter: none;
}

.home-hero-carousel .carousel-indicators {
  right: clamp(1rem, 4vw, 3rem);
  bottom: 1.32rem;
  left: auto;
  justify-content: flex-end;
  gap: 0.42rem;
  margin: 0;
}

.home-hero-carousel .carousel-indicators [data-bs-target] {
  width: 2.15rem;
  height: 0.48rem;
  margin: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.42);
  padding: 0;
  opacity: 1;
  transition: width 180ms ease, background 180ms ease;
}

.home-hero-carousel .carousel-indicators .active {
  width: 3.35rem;
  background: var(--accent);
}

.info-strip {
  margin-top: -2.25rem;
}

.info-strip-inner {
  border: 1px solid rgba(31, 58, 95, 0.1);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 250, 242, 0.94)),
    #fff;
  box-shadow:
    0 22px 56px rgba(31, 58, 95, 0.14),
    0 1px 0 rgba(255, 255, 255, 0.72) inset;
}

.info-tile {
  position: relative;
  background: transparent;
  padding: clamp(1.1rem, 2.4vw, 1.55rem);
}

.info-tile::before {
  content: "";
  position: absolute;
  top: 1.15rem;
  bottom: 1.15rem;
  left: 0;
  width: 1px;
  background: rgba(31, 58, 95, 0.1);
}

.info-tile:first-child::before {
  display: none;
}

.info-tile span {
  color: var(--accent-dark);
}

.info-tile strong {
  color: var(--brand);
  line-height: 1.45;
}

.home-events-section {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 84% 18%, rgba(200, 155, 60, 0.22), transparent 0 18rem),
    radial-gradient(circle at 14% 88%, rgba(83, 118, 160, 0.24), transparent 0 19rem),
    linear-gradient(135deg, #13263f 0%, #1f3a5f 48%, #102236 100%) !important;
}

.home-events-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.045) 1px, transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(120deg, transparent, #000 18%, transparent 78%);
  pointer-events: none;
}

.home-events-section .container {
  position: relative;
  z-index: 1;
}

.home-events-section .section-heading h2,
.home-events-section .section-heading p {
  color: #fff;
}

.home-events-section .section-heading p {
  color: rgba(255, 255, 255, 0.76);
}

.home-events-section .eyebrow {
  color: #f0c96e;
}

.home-events-layout {
  gap: 1.2rem;
}

.home-weekly-panel,
.home-major-panel {
  border: 1px solid rgba(255, 255, 255, 0.16);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.055)),
    rgba(255, 255, 255, 0.06);
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(16px);
}

.home-weekly-panel {
  border-top: 3px solid rgba(200, 155, 60, 0.78);
}

.home-major-panel {
  background:
    radial-gradient(circle at 94% 8%, rgba(200, 155, 60, 0.16), transparent 0 11rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.055)),
    rgba(255, 255, 255, 0.06);
}

.home-events-section .mini-section-heading h3 {
  color: #fff;
}

.home-events-section .weekly-event-grid {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.06);
  box-shadow: none;
}

.home-events-section .weekly-card,
.home-events-section .event-card {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.14);
}

.home-events-section .weekly-card.is-active,
.home-events-section .event-card.is-active,
.home-events-section .weekly-card:hover,
.home-events-section .event-card:hover {
  background:
    linear-gradient(135deg, rgba(200, 155, 60, 0.98), rgba(169, 124, 36, 0.94)),
    #c89b3c;
  color: #14263f;
  border-color: rgba(255, 255, 255, 0.28);
}

.home-events-section .weekly-card.is-active h3,
.home-events-section .event-card.is-active h3,
.home-events-section .weekly-card:hover h3,
.home-events-section .event-card:hover h3,
.home-events-section .weekly-card.is-active p,
.home-events-section .event-card.is-active p,
.home-events-section .weekly-card:hover p,
.home-events-section .event-card:hover p,
.home-events-section .weekly-card.is-active span,
.home-events-section .event-card.is-active span,
.home-events-section .weekly-card:hover span,
.home-events-section .event-card:hover span {
  color: #14263f;
}

.home-events-section .btn-primary-church {
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.18);
}

@media (max-width: 991.98px) {
  .home-hero-carousel,
  .home-hero-slide {
    min-height: clamp(430px, 56vw, 480px);
  }

  .home-hero-slide::before {
    left: 52%;
    right: -4rem;
    height: min(72%, 340px);
    opacity: var(--hero-media-tablet-opacity, 0.3);
  }
}

@media (max-width: 767.98px) {
  .home-hero-carousel,
  .home-hero-slide {
    min-height: clamp(360px, 96vw, 410px);
  }

  .home-hero-slide .hero-content {
    padding: 2.3rem 0 4.3rem;
  }

  .home-hero-slide .hero-content::before {
    width: 104%;
    inset: -1rem -0.75rem 2.4rem -0.75rem;
  }

  .home-hero-slide::before {
    left: 48%;
    right: -7.5rem;
    height: 210px;
    opacity: var(--hero-media-mobile-opacity, 0.18);
  }

  .home-hero-carousel .carousel-control-prev,
  .home-hero-carousel .carousel-control-next {
    bottom: 0.78rem;
    width: 40px;
    height: 40px;
  }

  .home-hero-carousel .carousel-control-next {
    left: calc(clamp(1rem, 4vw, 3rem) + 48px);
  }

  .home-hero-carousel .carousel-indicators {
    bottom: 1.04rem;
  }

  .home-hero-carousel .carousel-indicators [data-bs-target] {
    width: 1.25rem;
    height: 0.42rem;
  }

  .home-hero-carousel .carousel-indicators .active {
    width: 2.25rem;
  }

  .info-strip {
    margin-top: -1.35rem;
  }

  .info-tile::before {
    display: none;
  }
}

/* Final targeted refinements: home carousel, events, and beliefs */
#homeHeroCarousel {
  position: relative;
}

#homeHeroCarousel .carousel-control-prev,
#homeHeroCarousel .carousel-control-next {
  position: absolute;
  top: 50%;
  bottom: auto;
  z-index: 12;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.08)),
    rgba(20, 38, 63, 0.28);
  box-shadow: 0 18px 42px rgba(6, 18, 34, 0.22);
  backdrop-filter: blur(16px);
  opacity: 1;
  transform: translateY(-50%);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

#homeHeroCarousel .carousel-control-prev {
  left: clamp(0.75rem, 2vw, 1.75rem);
  right: auto;
}

#homeHeroCarousel .carousel-control-next {
  right: clamp(0.75rem, 2vw, 1.75rem);
  left: auto;
}

#homeHeroCarousel .carousel-control-prev:hover,
#homeHeroCarousel .carousel-control-prev:focus,
#homeHeroCarousel .carousel-control-next:hover,
#homeHeroCarousel .carousel-control-next:focus {
  border-color: rgba(200, 155, 60, 0.6);
  background:
    linear-gradient(135deg, rgba(200, 155, 60, 0.26), rgba(255, 255, 255, 0.1)),
    rgba(20, 38, 63, 0.34);
  box-shadow: 0 22px 50px rgba(6, 18, 34, 0.28);
  transform: translateY(-50%) scale(1.04);
}

#homeHeroCarousel .carousel-control-prev-icon,
#homeHeroCarousel .carousel-control-next-icon {
  width: 1rem;
  height: 1rem;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
}

#homeHeroCarousel .carousel-indicators {
  z-index: 13;
  right: 50%;
  bottom: 1.2rem;
  left: auto;
  width: auto;
  align-items: center;
  justify-content: center;
  gap: 0.42rem;
  margin: 0;
  padding: 0.34rem 0.45rem;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  background: rgba(20, 38, 63, 0.22);
  backdrop-filter: blur(14px);
  transform: translateX(50%);
}

#homeHeroCarousel .carousel-indicators [data-bs-target] {
  width: 0.52rem;
  height: 0.52rem;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  padding: 0;
  opacity: 1;
  transition: width 180ms ease, background 180ms ease;
}

#homeHeroCarousel .carousel-indicators .active {
  width: 1.8rem;
  background: linear-gradient(90deg, var(--accent), #f0c96e);
}

.home-events-section {
  background:
    radial-gradient(circle at 86% 18%, rgba(200, 155, 60, 0.2), transparent 0 18rem),
    radial-gradient(circle at 12% 88%, rgba(42, 130, 110, 0.24), transparent 0 18rem),
    linear-gradient(135deg, #0c2d2f 0%, #174f4a 46%, #101f35 100%) !important;
}

.home-events-section::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 82% 20%, rgba(200, 155, 60, 0.11), transparent 0 14rem);
  background-size: 48px 48px, 48px 48px, auto;
}

.home-events-section .home-weekly-panel,
.home-events-section .home-major-panel {
  border-color: rgba(190, 224, 210, 0.18);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.115), rgba(255, 255, 255, 0.055)),
    rgba(11, 43, 48, 0.36);
  box-shadow: 0 28px 74px rgba(0, 0, 0, 0.24);
}

.home-events-section .weekly-card,
.home-events-section .event-card {
  color: var(--ink);
  border-color: rgba(226, 237, 233, 0.26);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 252, 249, 0.9)),
    #fff;
}

.home-events-section .weekly-card h3,
.home-events-section .event-card h3 {
  color: #15343b;
}

.home-events-section .weekly-card p,
.home-events-section .event-card p,
.home-events-section .weekly-card span,
.home-events-section .event-card span {
  color: #58666b;
}

.home-events-section .weekly-card.is-active,
.home-events-section .event-card.is-active,
.home-events-section .weekly-card:hover,
.home-events-section .event-card:hover {
  color: #fff;
  border-color: rgba(200, 155, 60, 0.5);
  background:
    radial-gradient(circle at 92% 8%, rgba(240, 201, 110, 0.34), transparent 0 7rem),
    linear-gradient(135deg, #174f4a, #0e3f48 58%, #1f3a5f),
    #174f4a;
  box-shadow: 0 22px 52px rgba(6, 35, 39, 0.34);
}

.home-events-section .weekly-card.is-active h3,
.home-events-section .event-card.is-active h3,
.home-events-section .weekly-card:hover h3,
.home-events-section .event-card:hover h3 {
  color: #fff;
}

.home-events-section .weekly-card.is-active p,
.home-events-section .event-card.is-active p,
.home-events-section .weekly-card:hover p,
.home-events-section .event-card:hover p,
.home-events-section .weekly-card.is-active span,
.home-events-section .event-card.is-active span,
.home-events-section .weekly-card:hover span,
.home-events-section .event-card:hover span {
  color: rgba(255, 255, 255, 0.82);
}

.home-events-section .weekly-card.is-active .weekly-day,
.home-events-section .weekly-card:hover .weekly-day,
.home-events-section .event-card.is-active .event-date,
.home-events-section .event-card:hover .event-date {
  color: #102236;
  background: linear-gradient(135deg, var(--accent), #f0c96e);
}

#beliefs {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 84% 18%, rgba(200, 155, 60, 0.18), transparent 0 17rem),
    radial-gradient(circle at 14% 82%, rgba(67, 94, 145, 0.24), transparent 0 18rem),
    linear-gradient(135deg, #101a3d 0%, #1f3a5f 48%, #0d182f 100%) !important;
}

#beliefs::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 80% 12%, rgba(255, 255, 255, 0.08), transparent 0 12rem),
    linear-gradient(120deg, transparent 0 20%, rgba(255, 255, 255, 0.04) 20% 20.4%, transparent 20.4% 100%);
  pointer-events: none;
}

#beliefs .container {
  position: relative;
  z-index: 1;
}

#beliefs .section-heading h2,
#beliefs .section-heading p {
  color: #fff;
}

#beliefs .section-heading p {
  color: rgba(255, 255, 255, 0.76);
}

#beliefs .eyebrow {
  color: #f0c96e;
}

#beliefs .belief-card {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.16);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.07)),
    rgba(255, 255, 255, 0.06);
  box-shadow: 0 20px 54px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(14px);
}

#beliefs .belief-card h3 {
  color: #fff;
}

#beliefs .belief-card p,
#beliefs .belief-card .selectable-details p {
  color: rgba(255, 255, 255, 0.78);
}

#beliefs .belief-card > span:not(.details-toggle-text) {
  color: #102236;
  background: linear-gradient(135deg, var(--accent), #f0c96e);
}

#beliefs .belief-card:hover,
#beliefs .belief-card:focus,
#beliefs .belief-card.is-active {
  color: #102236;
  border-color: rgba(240, 201, 110, 0.58);
  background:
    radial-gradient(circle at 92% 8%, rgba(240, 201, 110, 0.34), transparent 0 7rem),
    linear-gradient(135deg, rgba(255, 250, 242, 0.98), rgba(234, 241, 252, 0.94)),
    #fffaf2;
  box-shadow: 0 24px 62px rgba(0, 0, 0, 0.22);
}

#beliefs .belief-card:hover h3,
#beliefs .belief-card:focus h3,
#beliefs .belief-card.is-active h3 {
  color: #102236;
}

#beliefs .belief-card:hover p,
#beliefs .belief-card:focus p,
#beliefs .belief-card.is-active p,
#beliefs .belief-card:hover .selectable-details p,
#beliefs .belief-card:focus .selectable-details p,
#beliefs .belief-card.is-active .selectable-details p {
  color: #4c5866;
}

#beliefs .belief-card:hover .details-toggle-text::after,
#beliefs .belief-card:focus .details-toggle-text::after,
#beliefs .belief-card.is-active .details-toggle-text::after {
  color: #fff;
  background: #1f3a5f;
}

@media (max-width: 767.98px) {
  #homeHeroCarousel .carousel-control-prev,
  #homeHeroCarousel .carousel-control-next {
    display: none;
  }

  #homeHeroCarousel .carousel-indicators {
    bottom: 0.95rem;
  }
}

/* Correct homepage carousel behavior and final requested visual polish */
#homeHeroCarousel .home-hero-slide {
  display: none;
}

#homeHeroCarousel .home-hero-slide.active,
#homeHeroCarousel .home-hero-slide.carousel-item-next,
#homeHeroCarousel .home-hero-slide.carousel-item-prev {
  display: flex;
}

#homeHeroCarousel .carousel-control-prev,
#homeHeroCarousel .carousel-control-next {
  top: auto;
  bottom: clamp(1rem, 3vw, 1.65rem);
  width: 44px;
  height: 44px;
  transform: none;
}

#homeHeroCarousel .carousel-control-prev {
  left: auto;
  right: calc(clamp(1rem, 4vw, 3rem) + 58px);
}

#homeHeroCarousel .carousel-control-next {
  right: clamp(1rem, 4vw, 3rem);
}

#homeHeroCarousel .carousel-control-prev:hover,
#homeHeroCarousel .carousel-control-prev:focus,
#homeHeroCarousel .carousel-control-next:hover,
#homeHeroCarousel .carousel-control-next:focus {
  transform: translateY(-2px);
}

#homeHeroCarousel .carousel-indicators {
  right: auto;
  left: clamp(1rem, 4vw, 3rem);
  bottom: clamp(1.18rem, 3vw, 1.86rem);
  transform: none;
}

.home-events-section {
  background:
    radial-gradient(circle at 86% 16%, rgba(213, 154, 58, 0.18), transparent 0 18rem),
    radial-gradient(circle at 12% 88%, rgba(116, 65, 110, 0.28), transparent 0 19rem),
    linear-gradient(135deg, #21152d 0%, #3b244d 47%, #151d34 100%) !important;
}

.home-events-section::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 82% 20%, rgba(213, 154, 58, 0.12), transparent 0 14rem);
  background-size: 48px 48px, 48px 48px, auto;
}

.home-events-section .home-weekly-panel,
.home-events-section .home-major-panel {
  border-color: rgba(247, 220, 173, 0.18);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.115), rgba(255, 255, 255, 0.055)),
    rgba(42, 27, 58, 0.46);
}

.home-events-section .weekly-card,
.home-events-section .event-card {
  color: var(--ink);
  border-color: rgba(247, 220, 173, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(255, 250, 242, 0.9)),
    #fff;
}

.home-events-section .weekly-card h3,
.home-events-section .event-card h3 {
  color: #271a35;
}

.home-events-section .weekly-card p,
.home-events-section .event-card p,
.home-events-section .weekly-card span,
.home-events-section .event-card span {
  color: #625a68;
}

.home-events-section .weekly-card.is-active,
.home-events-section .event-card.is-active,
.home-events-section .weekly-card:hover,
.home-events-section .event-card:hover {
  color: #fff;
  border-color: rgba(240, 201, 110, 0.62);
  background:
    radial-gradient(circle at 92% 8%, rgba(240, 201, 110, 0.3), transparent 0 7rem),
    linear-gradient(135deg, #4b2a5d, #321f47 58%, #21152d),
    #321f47;
  box-shadow: 0 22px 52px rgba(24, 13, 35, 0.36);
}

.home-events-section .weekly-card.is-active h3,
.home-events-section .event-card.is-active h3,
.home-events-section .weekly-card:hover h3,
.home-events-section .event-card:hover h3 {
  color: #fff;
}

.home-events-section .weekly-card.is-active p,
.home-events-section .event-card.is-active p,
.home-events-section .weekly-card:hover p,
.home-events-section .event-card:hover p,
.home-events-section .weekly-card.is-active span,
.home-events-section .event-card.is-active span,
.home-events-section .weekly-card:hover span,
.home-events-section .event-card:hover span {
  color: rgba(255, 255, 255, 0.82);
}

.home-events-section .weekly-card.is-active .weekly-day,
.home-events-section .weekly-card:hover .weekly-day,
.home-events-section .event-card.is-active .event-date,
.home-events-section .event-card:hover .event-date {
  color: #21152d;
  background: linear-gradient(135deg, var(--accent), #f0c96e);
}

.home-events-section .event-card.is-active .event-date span,
.home-events-section .event-card:hover .event-date span {
  color: #70521a;
}

.home-events-section .event-card.is-active .event-date strong,
.home-events-section .event-card:hover .event-date strong {
  color: #14263f;
}

.value-heading {
  max-width: none;
  margin-top: clamp(2rem, 5vw, 3.25rem);
  margin-bottom: 0;
  border: 1px solid rgba(74, 39, 76, 0.14);
  border-bottom: 0;
  border-radius: var(--radius) var(--radius) 0 0;
  background:
    radial-gradient(circle at 88% 0%, rgba(200, 155, 60, 0.16), transparent 0 12rem),
    linear-gradient(135deg, rgba(255, 250, 242, 0.98), rgba(246, 248, 251, 0.92)),
    #fffaf2;
  padding: clamp(1.35rem, 3vw, 2rem) clamp(1rem, 3vw, 2rem) 0.8rem;
  box-shadow: 0 18px 45px rgba(31, 58, 95, 0.08);
}

.premium-values {
  border: 1px solid rgba(74, 39, 76, 0.14);
  border-top: 0;
  border-radius: 0 0 var(--radius) var(--radius);
  background:
    radial-gradient(circle at 12% 100%, rgba(74, 39, 76, 0.1), transparent 0 13rem),
    linear-gradient(135deg, rgba(255, 250, 242, 0.98), rgba(255, 255, 255, 0.96)),
    #fff;
  padding: clamp(1rem, 3vw, 1.5rem);
  box-shadow: 0 22px 58px rgba(31, 58, 95, 0.1);
}

.premium-values .value-card {
  border-color: rgba(74, 39, 76, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 250, 242, 0.95), rgba(255, 255, 255, 0.98)),
    #fff;
}

.premium-values .value-card:hover,
.premium-values .value-card:focus-within {
  background:
    radial-gradient(circle at 90% 0%, rgba(240, 201, 110, 0.22), transparent 0 8rem),
    linear-gradient(135deg, #4b2a5d, #1f3a5f),
    #4b2a5d;
}

#beliefs {
  background:
    radial-gradient(circle at 82% 16%, rgba(240, 201, 110, 0.16), transparent 0 17rem),
    radial-gradient(circle at 14% 84%, rgba(119, 61, 92, 0.24), transparent 0 18rem),
    linear-gradient(135deg, #241629 0%, #4a274c 50%, #1c172c 100%) !important;
}

#beliefs::before {
  background:
    radial-gradient(circle at 80% 12%, rgba(255, 255, 255, 0.075), transparent 0 12rem),
    linear-gradient(120deg, transparent 0 20%, rgba(240, 201, 110, 0.055) 20% 20.35%, transparent 20.35% 100%);
}

#beliefs .belief-board {
  grid-template-columns: 1fr;
  max-width: 980px;
  margin: 0 auto;
  gap: 0.75rem;
}

#beliefs .belief-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: 1rem;
  min-height: 0;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  color: #271a35;
  border-color: rgba(255, 255, 255, 0.18);
  border-left: 4px solid rgba(240, 201, 110, 0.86);
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.96), rgba(255, 255, 255, 0.9)),
    rgba(255, 255, 255, 0.82);
  box-shadow: 0 20px 54px rgba(16, 8, 24, 0.2);
}

#beliefs .belief-card > span:not(.details-toggle-text) {
  grid-row: 1 / 3;
  width: 44px;
  height: 44px;
  color: #271a35;
  background: linear-gradient(135deg, var(--accent), #f0c96e);
}

#beliefs .belief-card h3 {
  margin: 0;
  color: #271a35;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}

#beliefs .belief-card .selectable-details {
  display: block;
  grid-column: 2;
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 0.35rem;
}

#beliefs .belief-card .selectable-details > * {
  overflow: visible;
}

#beliefs .belief-card p,
#beliefs .belief-card .selectable-details p {
  color: #5c5163;
  line-height: 1.65;
}

#beliefs .belief-card .details-toggle-text {
  display: none;
}

#beliefs .belief-card:hover,
#beliefs .belief-card:focus,
#beliefs .belief-card.is-active {
  color: #fff;
  border-color: rgba(240, 201, 110, 0.44);
  border-left-color: #f0c96e;
  background:
    radial-gradient(circle at 92% 8%, rgba(240, 201, 110, 0.22), transparent 0 8rem),
    linear-gradient(135deg, #5a2f5d, #342143 58%, #241629),
    #342143;
  transform: translateY(-2px);
}

#beliefs .belief-card:hover h3,
#beliefs .belief-card:focus h3,
#beliefs .belief-card.is-active h3 {
  color: #fff;
}

#beliefs .belief-card:hover p,
#beliefs .belief-card:focus p,
#beliefs .belief-card.is-active p,
#beliefs .belief-card:hover .selectable-details p,
#beliefs .belief-card:focus .selectable-details p,
#beliefs .belief-card.is-active .selectable-details p {
  color: rgba(255, 255, 255, 0.8);
}

@media (max-width: 767.98px) {
  #homeHeroCarousel .carousel-control-prev,
  #homeHeroCarousel .carousel-control-next {
    display: none;
  }

  #homeHeroCarousel .carousel-indicators {
    right: 50%;
    left: auto;
    bottom: 0.95rem;
    transform: translateX(50%);
  }

  #beliefs .belief-card {
    grid-template-columns: 1fr;
  }

  #beliefs .belief-card > span:not(.details-toggle-text),
  #beliefs .belief-card .selectable-details {
    grid-column: 1;
  }
}

/* Brand-aligned refinement for Events and collapsible What We Believe */
.home-events-section {
  background:
    radial-gradient(circle at 84% 18%, rgba(200, 155, 60, 0.2), transparent 0 18rem),
    radial-gradient(circle at 12% 88%, rgba(88, 121, 156, 0.24), transparent 0 18rem),
    linear-gradient(135deg, #16283f 0%, #2f4e67 48%, #122238 100%) !important;
}

.home-events-section::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 82% 20%, rgba(200, 155, 60, 0.11), transparent 0 14rem);
  background-size: 48px 48px, 48px 48px, auto;
}

.home-events-section .home-weekly-panel,
.home-events-section .home-major-panel {
  border-color: rgba(225, 236, 245, 0.16);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.11), rgba(255, 255, 255, 0.052)),
    rgba(22, 40, 63, 0.44);
}

.home-events-section .weekly-card,
.home-events-section .event-card {
  color: var(--ink);
  border-color: rgba(31, 58, 95, 0.12);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 251, 0.92)),
    #fff;
}

.home-events-section .weekly-card h3,
.home-events-section .event-card h3 {
  color: #1f3a5f;
}

.home-events-section .weekly-card p,
.home-events-section .event-card p,
.home-events-section .weekly-card span,
.home-events-section .event-card span {
  color: #5c6878;
}

.home-events-section .weekly-card.is-active,
.home-events-section .event-card.is-active,
.home-events-section .weekly-card:hover,
.home-events-section .event-card:hover {
  color: #fff;
  border-color: rgba(240, 201, 110, 0.52);
  background:
    radial-gradient(circle at 92% 8%, rgba(240, 201, 110, 0.24), transparent 0 7rem),
    linear-gradient(135deg, #274c78, #1f3a5f 58%, #14263f),
    #1f3a5f;
  box-shadow: 0 22px 52px rgba(15, 31, 51, 0.34);
}

.home-events-section .weekly-card.is-active h3,
.home-events-section .event-card.is-active h3,
.home-events-section .weekly-card:hover h3,
.home-events-section .event-card:hover h3 {
  color: #fff;
}

.home-events-section .weekly-card.is-active p,
.home-events-section .event-card.is-active p,
.home-events-section .weekly-card:hover p,
.home-events-section .event-card:hover p,
.home-events-section .weekly-card.is-active span,
.home-events-section .event-card.is-active span,
.home-events-section .weekly-card:hover span,
.home-events-section .event-card:hover span {
  color: rgba(255, 255, 255, 0.82);
}

.home-events-section .weekly-card.is-active .weekly-day,
.home-events-section .weekly-card:hover .weekly-day,
.home-events-section .event-card.is-active .event-date,
.home-events-section .event-card:hover .event-date {
  color: #14263f;
  background: linear-gradient(135deg, var(--accent), #f0c96e);
}

#beliefs {
  background:
    radial-gradient(circle at 84% 18%, rgba(200, 155, 60, 0.18), transparent 0 17rem),
    radial-gradient(circle at 14% 84%, rgba(87, 115, 145, 0.22), transparent 0 18rem),
    linear-gradient(135deg, #132238 0%, #243b5a 48%, #0f1c2f 100%) !important;
}

#beliefs::before {
  background:
    radial-gradient(circle at 80% 12%, rgba(255, 255, 255, 0.075), transparent 0 12rem),
    linear-gradient(120deg, transparent 0 20%, rgba(200, 155, 60, 0.05) 20% 20.35%, transparent 20.35% 100%);
}

#beliefs .belief-board {
  grid-template-columns: 1fr;
  max-width: 980px;
  margin: 0 auto;
  gap: 0.8rem;
}

#beliefs .belief-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  column-gap: 1rem;
  align-items: start;
  min-height: 0;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  color: #1f2933;
  border-color: rgba(255, 255, 255, 0.18);
  border-left: 4px solid rgba(200, 155, 60, 0.86);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 248, 251, 0.92)),
    #fff;
  box-shadow: 0 20px 54px rgba(5, 15, 29, 0.22);
}

#beliefs .belief-card > span:not(.details-toggle-text) {
  grid-column: 1;
  grid-row: 1 / 3;
  width: 44px;
  height: 44px;
  color: #14263f;
  background: linear-gradient(135deg, var(--accent), #f0c96e);
}

#beliefs .belief-card h3 {
  grid-column: 2;
  margin: 0;
  color: #1f3a5f;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
}

#beliefs .belief-card .selectable-details {
  display: grid;
  grid-column: 2 / 4;
  grid-template-rows: 0fr;
  opacity: 0;
  margin-top: 0;
  transition: grid-template-rows 220ms ease, opacity 220ms ease, margin 220ms ease;
}

#beliefs .belief-card.is-open .selectable-details {
  grid-template-rows: 1fr;
  opacity: 1;
  margin-top: 0.45rem;
}

#beliefs .belief-card .selectable-details > * {
  overflow: hidden;
}

#beliefs .belief-card p,
#beliefs .belief-card .selectable-details p {
  color: #5c6878;
  line-height: 1.65;
}

#beliefs .belief-card .details-toggle-text {
  display: inline-flex;
  grid-column: 3;
  grid-row: 1;
  margin: 0;
  padding: 0;
}

#beliefs .belief-card .details-toggle-text::after {
  color: #14263f;
  background: rgba(200, 155, 60, 0.22);
  border: 1px solid rgba(200, 155, 60, 0.36);
}

#beliefs .belief-card:hover,
#beliefs .belief-card:focus,
#beliefs .belief-card.is-active {
  color: #fff;
  border-color: rgba(240, 201, 110, 0.44);
  border-left-color: #f0c96e;
  background:
    radial-gradient(circle at 92% 8%, rgba(240, 201, 110, 0.22), transparent 0 8rem),
    linear-gradient(135deg, #274c78, #1f3a5f 58%, #14263f),
    #1f3a5f;
  transform: translateY(-2px);
}

#beliefs .belief-card:hover h3,
#beliefs .belief-card:focus h3,
#beliefs .belief-card.is-active h3 {
  color: #fff;
}

#beliefs .belief-card:hover p,
#beliefs .belief-card:focus p,
#beliefs .belief-card.is-active p,
#beliefs .belief-card:hover .selectable-details p,
#beliefs .belief-card:focus .selectable-details p,
#beliefs .belief-card.is-active .selectable-details p {
  color: rgba(255, 255, 255, 0.82);
}

#beliefs .belief-card:hover .details-toggle-text::after,
#beliefs .belief-card:focus .details-toggle-text::after,
#beliefs .belief-card.is-active .details-toggle-text::after {
  color: #14263f;
  background: linear-gradient(135deg, var(--accent), #f0c96e);
}

@media (max-width: 767.98px) {
  #beliefs .belief-card {
    grid-template-columns: auto minmax(0, 1fr) auto;
    column-gap: 0.75rem;
  }

  #beliefs .belief-card > span:not(.details-toggle-text) {
    grid-column: 1;
  }

  #beliefs .belief-card h3 {
    grid-column: 2;
  }

  #beliefs .belief-card .details-toggle-text {
    grid-column: 3;
  }

  #beliefs .belief-card .selectable-details {
    grid-column: 1 / 4;
  }
}

/* Premium gradient system for non-hero page sections */
main > section.section:not(.home-events-section):not(.section-dark):not(#beliefs) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 10%, rgba(200, 155, 60, 0.12), transparent 0 16rem),
    radial-gradient(circle at 12% 92%, rgba(31, 58, 95, 0.08), transparent 0 17rem),
    linear-gradient(135deg, rgba(255, 250, 242, 0.98), rgba(246, 248, 251, 0.94)) !important;
}

main > section.section:not(.home-events-section):not(.section-dark):not(#beliefs)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(120deg, transparent 0 18%, rgba(255, 255, 255, 0.42) 18% 18.25%, transparent 18.25% 100%),
    radial-gradient(circle at 72% 76%, rgba(255, 255, 255, 0.55), transparent 0 12rem);
  pointer-events: none;
}

main > section.section:not(.home-events-section):not(.section-dark):not(#beliefs):nth-of-type(2n) {
  background:
    radial-gradient(circle at 82% 8%, rgba(31, 58, 95, 0.1), transparent 0 17rem),
    radial-gradient(circle at 12% 90%, rgba(200, 155, 60, 0.11), transparent 0 15rem),
    linear-gradient(135deg, rgba(246, 248, 251, 0.98), rgba(255, 250, 242, 0.94)) !important;
}

main > section.section:not(.home-events-section):not(.section-dark):not(#beliefs):nth-of-type(3n) {
  background:
    radial-gradient(circle at 86% 12%, rgba(200, 155, 60, 0.14), transparent 0 16rem),
    radial-gradient(circle at 10% 88%, rgba(73, 103, 132, 0.1), transparent 0 18rem),
    linear-gradient(135deg, rgba(255, 246, 228, 0.98), rgba(239, 245, 250, 0.94)) !important;
}

main > section.section:not(.home-events-section):not(.section-dark):not(#beliefs):nth-of-type(4n) {
  background:
    radial-gradient(circle at 84% 14%, rgba(85, 116, 147, 0.12), transparent 0 16rem),
    radial-gradient(circle at 14% 86%, rgba(200, 155, 60, 0.12), transparent 0 16rem),
    linear-gradient(135deg, rgba(248, 251, 253, 0.98), rgba(255, 250, 242, 0.94)) !important;
}

.section-soft,
.section-light,
.section-muted,
.section-white {
  background: transparent;
}

main > section.announcement-section {
  background:
    radial-gradient(circle at 82% 10%, rgba(200, 155, 60, 0.17), transparent 0 15rem),
    radial-gradient(circle at 12% 88%, rgba(31, 58, 95, 0.1), transparent 0 17rem),
    linear-gradient(135deg, #fffaf2 0%, #f7f9fc 52%, #fff0cf 130%) !important;
}

main > section.prayer-cta {
  background:
    radial-gradient(circle at 80% 8%, rgba(200, 155, 60, 0.18), transparent 0 14rem),
    radial-gradient(circle at 12% 90%, rgba(31, 58, 95, 0.13), transparent 0 15rem),
    linear-gradient(135deg, #f6f8fb 0%, #fffaf2 58%, #edf3f8 100%) !important;
}

main > section.section-dark:not(.home-events-section):not(#beliefs) {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 16%, rgba(200, 155, 60, 0.18), transparent 0 17rem),
    radial-gradient(circle at 14% 88%, rgba(97, 129, 162, 0.18), transparent 0 18rem),
    linear-gradient(135deg, #14263f 0%, #243b5a 54%, #102236 100%) !important;
}

main > section.section-dark:not(.home-events-section):not(#beliefs)::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: linear-gradient(120deg, transparent, #000 20%, transparent 82%);
  pointer-events: none;
}

.info-strip {
  background:
    linear-gradient(180deg, rgba(255, 250, 242, 0) 0%, rgba(255, 250, 242, 0.92) 58%, rgba(246, 248, 251, 0.98) 100%);
}

main > section.section > .container,
main > section.info-strip > .container {
  position: relative;
  z-index: 1;
}

.section-heading {
  position: relative;
}

.section-heading.center::after {
  content: "";
  display: block;
  width: 54px;
  height: 3px;
  margin: 0.9rem auto 0;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), rgba(200, 155, 60, 0.28));
}

main > section.section:not(.home-events-section):not(.section-dark):not(#beliefs) .card-grid,
main > section.section:not(.home-events-section):not(.section-dark):not(#beliefs) .belief-board,
main > section.section:not(.home-events-section):not(.section-dark):not(#beliefs) .updates-list,
main > section.section:not(.home-events-section):not(.section-dark):not(#beliefs) .events-list {
  position: relative;
}

/* About page Who We Are carousel feature */
.who-we-are-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
  gap: clamp(1.25rem, 4vw, 2.6rem);
  align-items: center;
}

#who-we-are {
  color: #fff;
  background:
    radial-gradient(circle at 84% 14%, rgba(200, 155, 60, 0.16), transparent 0 16rem),
    radial-gradient(circle at 12% 90%, rgba(84, 117, 148, 0.2), transparent 0 17rem),
    linear-gradient(135deg, #182b43 0%, #27445f 52%, #14263f 100%) !important;
}

#who-we-are::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 78% 20%, rgba(200, 155, 60, 0.08), transparent 0 14rem);
  background-size: 48px 48px, 48px 48px, auto;
}

.who-carousel-wrap {
  position: relative;
  isolation: isolate;
}

.who-carousel-wrap::before {
  content: "";
  position: absolute;
  inset: -1rem 12% 10% -1rem;
  z-index: -1;
  border-radius: 2rem;
  background:
    radial-gradient(circle at 18% 20%, rgba(200, 155, 60, 0.2), transparent 0 9rem),
    linear-gradient(135deg, rgba(31, 58, 95, 0.16), rgba(255, 250, 242, 0.12));
  transform: rotate(-2deg);
}

.who-carousel {
  overflow: hidden;
  border: 1px solid rgba(31, 58, 95, 0.14);
  border-radius: 2rem 0.9rem 2rem 0.9rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.05)),
    rgba(255, 255, 255, 0.74);
  box-shadow: 0 28px 70px rgba(31, 58, 95, 0.16);
}

.who-carousel .carousel-inner {
  border-radius: inherit;
}

.who-carousel .carousel-item {
  aspect-ratio: 4 / 3;
  background:
    radial-gradient(circle at 70% 18%, rgba(200, 155, 60, 0.14), transparent 0 11rem),
    linear-gradient(135deg, #f6f8fb, #fffaf2);
}

.who-carousel img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(0.92) contrast(0.96);
}

.who-carousel .carousel-control-prev,
.who-carousel .carousel-control-next {
  top: auto;
  bottom: 1rem;
  z-index: 5;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(20, 38, 63, 0.42);
  backdrop-filter: blur(12px);
  opacity: 1;
}

.who-carousel .carousel-control-prev {
  left: auto;
  right: 4.2rem;
}

.who-carousel .carousel-control-next {
  right: 1rem;
}

.who-carousel .carousel-control-prev:hover,
.who-carousel .carousel-control-next:hover,
.who-carousel .carousel-control-prev:focus,
.who-carousel .carousel-control-next:focus {
  background: rgba(200, 155, 60, 0.8);
}

.who-carousel .carousel-control-prev-icon,
.who-carousel .carousel-control-next-icon {
  width: 1rem;
  height: 1rem;
}

.who-carousel .carousel-indicators {
  right: auto;
  bottom: 1.25rem;
  left: 1rem;
  width: auto;
  justify-content: flex-start;
  gap: 0.35rem;
  margin: 0;
}

.who-carousel .carousel-indicators [data-bs-target] {
  width: 0.48rem;
  height: 0.48rem;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.58);
  padding: 0;
  opacity: 1;
}

.who-carousel .carousel-indicators .active {
  width: 1.65rem;
  background: linear-gradient(90deg, var(--accent), #f0c96e);
}

.who-copy-panel {
  border: 1px solid rgba(31, 58, 95, 0.12);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 92% 8%, rgba(200, 155, 60, 0.18), transparent 0 10rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.08)),
    rgba(255, 255, 255, 0.1);
  padding: clamp(1.35rem, 4vw, 2.35rem);
  box-shadow: 0 22px 58px rgba(31, 58, 95, 0.1);
  backdrop-filter: blur(16px);
}

.who-copy-panel .section-heading h2 {
  color: #fff;
}

.who-copy-panel .section-heading p {
  color: rgba(255, 255, 255, 0.78);
}

.who-copy-panel .section-heading {
  margin-bottom: 0;
}

.who-copy-panel .section-heading p + p {
  margin-top: 0.9rem;
}

@media (max-width: 991.98px) {
  .who-we-are-feature {
    grid-template-columns: 1fr;
  }

  .who-carousel {
    border-radius: 1.4rem;
  }

  .who-carousel img {
    min-height: 340px;
  }
}

@media (max-width: 575.98px) {
  #homeHeroCarousel .hero-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    width: 100%;
    max-width: min(100%, 340px);
    gap: 0.65rem;
  }

  #homeHeroCarousel .hero-actions .btn-church {
    width: 100%;
    min-width: 0;
    min-height: 42px;
    padding: 0.58rem 0.65rem;
    font-size: 0.86rem;
    line-height: 1.15;
    white-space: normal;
    text-align: center;
  }

  #homeHeroCarousel .hero-actions .btn-church:nth-child(3) {
    grid-column: 1 / -1;
  }

  #homeHeroCarousel .home-hero-slide h1,
  #homeHeroCarousel .home-hero-slide h2 {
    max-width: 100%;
    font-size: clamp(1.78rem, 8.8vw, 2.35rem);
  }

  #homeHeroCarousel .home-hero-slide p {
    max-width: 100%;
  }

  .who-carousel .carousel-item {
    aspect-ratio: 1 / 1;
  }

  .who-carousel img {
    min-height: 280px;
  }

  .who-carousel .carousel-control-prev,
  .who-carousel .carousel-control-next {
    width: 38px;
    height: 38px;
  }
}

/* Final feature refinements */
.info-strip {
  margin-top: -0.35rem;
}

#who-we-are.section {
  padding: clamp(3.4rem, 6vw, 5.4rem) 0;
  color: #fff;
  background:
    radial-gradient(circle at 86% 14%, rgba(200, 155, 60, 0.22), transparent 0 17rem),
    radial-gradient(circle at 12% 82%, rgba(115, 144, 174, 0.22), transparent 0 19rem),
    linear-gradient(135deg, #102236 0%, #24415d 52%, #16283f 100%) !important;
}

#who-we-are.section > .container {
  max-width: min(1540px, calc(100% - 3rem));
}

#who-we-are .who-we-are-feature {
  grid-template-columns: minmax(0, 1.5fr) minmax(350px, 1fr);
  gap: clamp(1.3rem, 3.5vw, 2.8rem);
}

#who-we-are .who-carousel-wrap::before {
  inset: -1.2rem 10% 9% -1.2rem;
  background:
    radial-gradient(circle at 18% 18%, rgba(200, 155, 60, 0.28), transparent 0 10rem),
    linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.04));
}

#who-we-are .who-carousel {
  border-color: rgba(255, 255, 255, 0.18);
  border-radius: 2.3rem 1.1rem 2.3rem 1.1rem;
  background: rgba(255, 255, 255, 0.08);
  box-shadow: 0 32px 86px rgba(5, 15, 29, 0.34);
}

#who-we-are .who-carousel .carousel-item {
  aspect-ratio: 16 / 9;
  background:
    radial-gradient(circle at 70% 18%, rgba(200, 155, 60, 0.12), transparent 0 11rem),
    linear-gradient(135deg, #132238, #27445f);
}

#who-we-are .who-carousel img {
  min-height: 430px;
}

#who-we-are .who-copy-panel {
  border-color: rgba(255, 255, 255, 0.16);
  background:
    radial-gradient(circle at 92% 10%, rgba(200, 155, 60, 0.2), transparent 0 10rem),
    linear-gradient(145deg, rgba(13, 30, 49, 0.86), rgba(31, 58, 95, 0.58)),
    rgba(16, 34, 54, 0.78);
  box-shadow: 0 26px 70px rgba(5, 15, 29, 0.24);
}

#who-we-are .who-copy-panel .section-heading h2 {
  color: #fff;
}

#who-we-are .who-copy-panel .section-heading p {
  color: rgba(255, 255, 255, 0.82);
}

.major-events-section {
  color: #fff;
  background:
    radial-gradient(circle at 84% 10%, rgba(200, 155, 60, 0.2), transparent 0 16rem),
    radial-gradient(circle at 14% 90%, rgba(109, 138, 166, 0.2), transparent 0 18rem),
    linear-gradient(135deg, #132238 0%, #243b5a 52%, #101d31 100%) !important;
}

.major-events-section .section-heading h2 {
  color: #fff;
}

.major-events-section .section-heading::after {
  background: linear-gradient(90deg, var(--accent), rgba(255, 255, 255, 0.28));
}

.major-events-section .event-feature-list {
  position: relative;
  display: grid;
  gap: 0.95rem;
  max-width: 1020px;
  margin: 0 auto;
}

.major-events-section .event-feature-list::before,
#announcements .compact-announcements::before {
  content: "";
  position: absolute;
  top: 1.35rem;
  bottom: 1.35rem;
  left: 1.45rem;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--accent), rgba(200, 155, 60, 0.16));
}

.major-events-section .event-card {
  position: relative;
  margin-left: 3.2rem;
  border-color: rgba(255, 255, 255, 0.16);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 248, 251, 0.9)),
    #fff;
  box-shadow: 0 24px 60px rgba(5, 15, 29, 0.26);
}

.major-events-section .event-card::before,
#announcements .announcement-item::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  left: -2.08rem;
  width: 0.85rem;
  height: 0.85rem;
  border: 3px solid #fffaf2;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(200, 155, 60, 0.16);
}

#announcements .compact-announcements {
  position: relative;
  display: grid;
  gap: 0.8rem;
}

#announcements .announcement-item {
  position: relative;
  margin-left: 3.2rem;
}

@media (max-width: 991.98px) {
  #who-we-are .who-we-are-feature {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575.98px) {
  .info-strip {
    margin-top: -0.15rem;
  }

  #who-we-are.section {
    padding: 3rem 0;
  }

  #who-we-are.section > .container {
    max-width: calc(100% - 1.5rem);
  }

  #who-we-are .who-carousel .carousel-item {
    aspect-ratio: 4 / 3;
  }

  #who-we-are .who-carousel img {
    min-height: 280px;
  }

  .major-events-section .event-card,
  #announcements .announcement-item {
    margin-left: 2.2rem;
  }

  .major-events-section .event-feature-list::before,
  #announcements .compact-announcements::before {
    left: 0.9rem;
  }

  .major-events-section .event-card::before,
  #announcements .announcement-item::before {
    left: -1.68rem;
  }
}

main > section#who-we-are.section {
  color: #fff;
  background:
    radial-gradient(circle at 86% 14%, rgba(200, 155, 60, 0.22), transparent 0 17rem),
    radial-gradient(circle at 12% 82%, rgba(115, 144, 174, 0.22), transparent 0 19rem),
    linear-gradient(135deg, #102236 0%, #24415d 52%, #16283f 100%) !important;
}

main > section.major-events-section.section {
  color: #fff;
  background:
    radial-gradient(circle at 84% 10%, rgba(200, 155, 60, 0.2), transparent 0 16rem),
    radial-gradient(circle at 14% 90%, rgba(109, 138, 166, 0.2), transparent 0 18rem),
    linear-gradient(135deg, #132238 0%, #243b5a 52%, #101d31 100%) !important;
}

main > section#who-we-are.section:not(.home-events-section):not(.section-dark):not(#beliefs) {
  color: #fff;
  background:
    radial-gradient(circle at 86% 14%, rgba(200, 155, 60, 0.22), transparent 0 17rem),
    radial-gradient(circle at 12% 82%, rgba(115, 144, 174, 0.22), transparent 0 19rem),
    linear-gradient(135deg, #102236 0%, #24415d 52%, #16283f 100%) !important;
}

main > section#who-we-are.section:not(.home-events-section):not(.section-dark):not(#beliefs)::before,
main > section.major-events-section.section:not(.home-events-section):not(.section-dark):not(#beliefs)::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 76% 18%, rgba(200, 155, 60, 0.08), transparent 0 14rem);
  background-size: 48px 48px, 48px 48px, auto;
}

main > section.major-events-section.section:not(.home-events-section):not(.section-dark):not(#beliefs) {
  color: #fff;
  background:
    radial-gradient(circle at 84% 10%, rgba(200, 155, 60, 0.2), transparent 0 16rem),
    radial-gradient(circle at 14% 90%, rgba(109, 138, 166, 0.2), transparent 0 18rem),
    linear-gradient(135deg, #132238 0%, #243b5a 52%, #101d31 100%) !important;
}

.home-hero-worship {
  --hero-media: url("../Images/worship_bkg.webp");
  --hero-media-position: center;
  --hero-media-opacity: 0.38;
  --hero-media-filter: blur(1.15px) saturate(0.84) contrast(0.94);
}

.home-hero-event {
  --hero-media: url("../Images/hero-sermons.webp");
  --hero-media-position: 70% center;
  --hero-media-opacity: 0.44;
  --hero-media-filter: blur(0.2px) saturate(0.86) contrast(0.96);
}

.home-hero-worship::before {
  left: 47%;
  right: clamp(0.45rem, 2vw, 2.2rem);
  height: min(82%, 470px);
  opacity: 0.96;
}

.home-hero-worship h1 span {
  display: block;
}

.home-hero-worship h1 {
  max-width: 760px;
}

.home-hero-worship h1 span:first-child {
  margin-bottom: 0.1rem;
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(1.95rem, 4.8vw, 3.45rem);
  font-weight: 850;
  letter-spacing: -0.035em;
}

.home-hero-worship h1 span:last-child {
  position: relative;
  width: fit-content;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.8rem, 7.4vw, 5.95rem);
  font-weight: 900;
  font-style: italic;
  letter-spacing: -0.045em;
  line-height: 0.92;
  text-shadow: 0 18px 46px rgba(5, 15, 29, 0.28);
}

.home-hero-worship h1 span:last-child::after {
  content: "";
  display: block;
  width: min(72%, 320px);
  height: 0.24rem;
  margin-top: 0.42rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), rgba(255, 250, 242, 0.18));
  box-shadow: 0 10px 26px rgba(200, 155, 60, 0.2);
}

.home-hero-event h2 {
  max-width: 760px;
}

.hero-worship-time span {
  display: block;
}

.hero-worship-time span:nth-child(1) {
  color: rgba(255, 255, 255, 0.9);
  font-size: clamp(2.05rem, 4.4vw, 3.55rem);
}

.hero-worship-time span:nth-child(2) {
  color: rgba(255, 255, 255, 0.92);
  font-size: clamp(2.25rem, 4.9vw, 4.15rem);
}

.hero-worship-time span:nth-child(3),
.hero-feature-title {
  position: relative;
  width: fit-content;
  color: #fff;
  font-family: "Playfair Display", Georgia, serif;
  font-size: clamp(2.85rem, 7vw, 5.7rem);
  font-weight: 900;
  font-style: italic;
  letter-spacing: -0.045em;
  line-height: 0.94;
  text-shadow: 0 18px 46px rgba(5, 15, 29, 0.28);
}

.hero-worship-time span:nth-child(3)::after,
.hero-feature-title::after {
  content: "";
  display: block;
  width: min(72%, 320px);
  height: 0.24rem;
  margin-top: 0.42rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), rgba(255, 250, 242, 0.18));
  box-shadow: 0 10px 26px rgba(200, 155, 60, 0.2);
}

@media (max-width: 991.98px) {
  .home-hero-worship::before {
    left: 43%;
    right: -5rem;
    height: min(78%, 370px);
    opacity: 0.4;
  }
}

@media (max-width: 767.98px) {
  .home-hero-worship::before {
    left: 39%;
    right: -8.5rem;
    height: 250px;
    opacity: 0.28;
  }

  .home-hero-worship h1 span:first-child {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
  }

  .home-hero-worship h1 span:last-child {
    font-size: clamp(2.35rem, 11vw, 3.35rem);
  }

  .hero-worship-time span:nth-child(1) {
    font-size: clamp(1.75rem, 8vw, 2.35rem);
  }

  .hero-worship-time span:nth-child(2) {
    font-size: clamp(1.95rem, 8.7vw, 2.65rem);
  }

  .hero-worship-time span:nth-child(3),
  .hero-feature-title {
    font-size: clamp(2.45rem, 11vw, 3.45rem);
  }

  .home-hero-alert .hero-feature-title {
    font-size: clamp(2.2rem, 9.7vw, 3rem);
  }
}

/* Premium visit strip */
.info-strip {
  margin-top: -0.45rem;
  padding: clamp(1.1rem, 3vw, 1.8rem) 0 clamp(2.2rem, 4vw, 3rem);
  color: #fff;
  background:
    radial-gradient(circle at 82% 12%, rgba(200, 155, 60, 0.18), transparent 0 14rem),
    radial-gradient(circle at 12% 94%, rgba(109, 138, 166, 0.18), transparent 0 16rem),
    linear-gradient(135deg, #102236 0%, #1f3a5f 54%, #132238 100%) !important;
}

.info-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 76% 18%, rgba(200, 155, 60, 0.08), transparent 0 14rem);
  background-size: 46px 46px, 46px 46px, auto;
  pointer-events: none;
}

.info-strip > .container {
  position: relative;
  z-index: 1;
}

.info-strip-inner {
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 1.55rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.055)),
    rgba(16, 34, 54, 0.76);
  box-shadow:
    0 28px 72px rgba(5, 15, 29, 0.34),
    0 1px 0 rgba(255, 255, 255, 0.14) inset;
  backdrop-filter: blur(16px);
}

.info-tile {
  position: relative;
  min-height: 132px;
  padding: clamp(1.15rem, 2.8vw, 1.75rem);
  background:
    radial-gradient(circle at 88% 16%, rgba(200, 155, 60, 0.1), transparent 0 8rem),
    transparent;
}

.info-tile::before {
  top: 1.15rem;
  bottom: 1.15rem;
  background: rgba(255, 255, 255, 0.13);
}

.info-tile::after {
  content: "";
  display: block;
  width: 2.2rem;
  height: 0.22rem;
  margin-top: 0.85rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), rgba(255, 255, 255, 0.16));
}

.info-tile span {
  color: var(--accent);
}

.info-tile strong {
  color: #fff;
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.42;
}

.info-strip .visit-actions {
  margin-top: 1.25rem;
}

.info-strip .btn-outline-church {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.06);
}

.info-strip .btn-outline-church:hover,
.info-strip .btn-outline-church:focus {
  color: #14263f;
  border-color: var(--accent);
  background: var(--accent);
}

.info-strip .map-panel {
  border-color: rgba(255, 255, 255, 0.16);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)),
    rgba(16, 34, 54, 0.82);
  box-shadow: 0 26px 68px rgba(5, 15, 29, 0.3);
}

.info-strip .map-panel-copy h2,
.info-strip .map-panel-copy p {
  color: #fff;
}

@media (max-width: 767.98px) {
  .info-strip {
    margin-top: -0.15rem;
    padding-top: 0.95rem;
  }

  .info-strip-inner {
    border-radius: 1.35rem;
  }

  .info-tile {
    min-height: auto;
  }

  .info-tile::before {
    top: auto;
    right: 1.1rem;
    bottom: 0;
    left: 1.1rem;
    width: auto;
    height: 1px;
  }

  .info-tile:first-child::before {
    display: block;
  }

  .info-tile:last-child::before {
    display: none;
  }
}

/* Featured sermon section gets its own distinct dark mood */
main > section.home-featured-sermon-section.section-dark {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at 78% 18%, rgba(240, 201, 110, 0.16), transparent 0 15rem),
    radial-gradient(circle at 8% 82%, rgba(126, 73, 126, 0.34), transparent 0 18rem),
    radial-gradient(circle at 50% 120%, rgba(68, 105, 148, 0.22), transparent 0 20rem),
    linear-gradient(135deg, #1b1530 0%, #31214a 48%, #0f1c2f 100%) !important;
}

main > section.home-featured-sermon-section.section-dark::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(120deg, transparent 0 20%, rgba(240, 201, 110, 0.06) 20% 20.35%, transparent 20.35% 100%),
    radial-gradient(circle at 78% 22%, rgba(255, 255, 255, 0.08), transparent 0 13rem);
  pointer-events: none;
}

.home-featured-sermon-section .home-sermon-preview,
.home-featured-sermon-section .home-sermon-player {
  border-color: rgba(255, 250, 242, 0.9);
  background: #1b1530;
  box-shadow: 0 28px 76px rgba(5, 10, 25, 0.34);
}

.home-featured-sermon-section .sermon-panel {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background:
    radial-gradient(circle at 92% 10%, rgba(240, 201, 110, 0.14), transparent 0 10rem),
    linear-gradient(145deg, rgba(20, 90, 80, 0.98), rgba(18, 76, 70, 0.96)),
    #145a50;
  padding: clamp(1.9rem, 5vw, 3.1rem);
  border-radius: 1.45rem;
  box-shadow: 0 26px 70px rgba(5, 10, 25, 0.28);
  backdrop-filter: blur(14px);
}

.home-featured-sermon-section .sermon-panel h2 {
  color: #fff;
  max-width: 780px;
  font-size: clamp(2.35rem, 5.6vw, 5rem);
  line-height: 1.02;
  letter-spacing: -0.055em;
}

.home-featured-sermon-section .sermon-panel .muted {
  max-width: 760px;
  color: rgba(255, 255, 255, 0.74);
  font-size: clamp(1.02rem, 2.15vw, 1.35rem);
  line-height: 1.65;
}

.home-featured-sermon-section .btn-ghost-church {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.48);
  background: rgba(255, 255, 255, 0.12);
}

.home-featured-sermon-section .btn-ghost-church:hover,
.home-featured-sermon-section .btn-ghost-church:focus {
  color: #1b1530;
  border-color: var(--accent);
  background: var(--accent);
}

@media (min-width: 992px) {
  .home-featured-sermon-section .sermon-panel {
    min-height: 100%;
  }
}

@media (max-width: 575.98px) {
  .home-featured-sermon-section .sermon-panel {
    padding: 1.55rem;
    border-radius: 1.15rem;
  }

  .home-featured-sermon-section .sermon-panel h2 {
    font-size: clamp(2rem, 10vw, 2.9rem);
  }
}

/* Keep the premium visit strip tucked into the hero edge */
.info-strip {
  margin-top: -2.15rem;
}

@media (max-width: 767.98px) {
  .info-strip {
    margin-top: -1.35rem;
  }
}

.event-announcements-section .compact-announcements {
  position: relative;
  display: grid;
  gap: 0.85rem;
  max-width: 1020px;
  margin: 0 auto;
}

.event-announcements-section .compact-announcements::before {
  content: "";
  position: absolute;
  top: 1.35rem;
  right: 1.45rem;
  bottom: 1.35rem;
  width: 2px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--accent), rgba(200, 155, 60, 0.16));
}

.event-announcements-section .announcement-item {
  position: relative;
  margin-right: 3.2rem;
}

.event-announcements-section .announcement-item::before {
  content: "";
  position: absolute;
  top: 1.6rem;
  right: -2.08rem;
  width: 0.85rem;
  height: 0.85rem;
  border: 3px solid #fffaf2;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 0 0 6px rgba(200, 155, 60, 0.16);
}

@media (max-width: 575.98px) {
  .event-announcements-section .announcement-item {
    margin-right: 2.2rem;
  }

  .event-announcements-section .compact-announcements::before {
    right: 0.9rem;
  }

  .event-announcements-section .announcement-item::before {
    right: -1.68rem;
  }
}

.major-events-section .event-card.is-active,
.major-events-section .event-card:hover,
.major-events-section .event-card:focus {
  color: #fff;
  border-color: rgba(240, 201, 110, 0.46);
  background:
    radial-gradient(circle at 92% 8%, rgba(240, 201, 110, 0.22), transparent 0 8rem),
    linear-gradient(135deg, #274c78, #1f3a5f 58%, #14263f),
    #1f3a5f;
  box-shadow: 0 24px 64px rgba(5, 15, 29, 0.38);
}

.major-events-section .event-card:not(.is-active):not(:hover):not(:focus) h3 {
  color: #1f3a5f;
}

.major-events-section .event-card:not(.is-active):not(:hover):not(:focus) p,
.major-events-section .event-card:not(.is-active):not(:hover):not(:focus) span {
  color: #5c6878;
}

.major-events-section .event-card.is-active h3,
.major-events-section .event-card:hover h3,
.major-events-section .event-card:focus h3 {
  color: #fff;
}

.major-events-section .event-card.is-active p,
.major-events-section .event-card.is-active span,
.major-events-section .event-card:hover p,
.major-events-section .event-card:hover span,
.major-events-section .event-card:focus p,
.major-events-section .event-card:focus span {
  color: rgba(255, 255, 255, 0.82);
}

.major-events-section .event-card.is-active .event-date,
.major-events-section .event-card:hover .event-date,
.major-events-section .event-card:focus .event-date {
  color: #14263f;
  background: linear-gradient(135deg, var(--accent), #f0c96e);
}

.major-events-section .event-card.is-active .event-date span,
.major-events-section .event-card:hover .event-date span,
.major-events-section .event-card:focus .event-date span {
  color: #755817;
}

.major-events-section .event-card.is-active .event-date strong,
.major-events-section .event-card:hover .event-date strong,
.major-events-section .event-card:focus .event-date strong {
  color: #14263f;
}

main > section.home-featured-sermon-section.section-dark:not(.home-events-section):not(#beliefs) {
  background:
    radial-gradient(circle at 78% 18%, rgba(240, 201, 110, 0.18), transparent 0 15rem),
    radial-gradient(circle at 8% 82%, rgba(126, 73, 126, 0.42), transparent 0 20rem),
    radial-gradient(circle at 52% 112%, rgba(78, 94, 153, 0.24), transparent 0 21rem),
    linear-gradient(135deg, #1b1530 0%, #33204d 48%, #11192d 100%) !important;
}

main > section.home-featured-sermon-section.section-dark:not(.home-events-section):not(#beliefs)::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.028) 1px, transparent 1px),
    linear-gradient(120deg, transparent 0 20%, rgba(240, 201, 110, 0.06) 20% 20.35%, transparent 20.35% 100%),
    radial-gradient(circle at 78% 22%, rgba(255, 255, 255, 0.08), transparent 0 13rem);
  background-size: 54px 54px, 54px 54px, auto, auto;
}

/* Only the visit card should tuck into the hero, not the whole section */
.info-strip {
  margin-top: 0;
  padding: 0 0 clamp(2.2rem, 4vw, 3rem);
  color: #fff;
  background:
    radial-gradient(circle at 82% 12%, rgba(200, 155, 60, 0.18), transparent 0 14rem),
    radial-gradient(circle at 12% 94%, rgba(109, 138, 166, 0.18), transparent 0 16rem),
    linear-gradient(135deg, #102236 0%, #1f3a5f 54%, #132238 100%) !important;
}

.info-strip::before {
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 76% 18%, rgba(200, 155, 60, 0.08), transparent 0 14rem);
  background-size: 46px 46px, 46px 46px, auto;
}

.info-strip-inner {
  margin-top: -3.35rem;
}

.info-strip .visit-actions {
  margin-top: 1.25rem;
}

.info-strip .btn-outline-church {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.3);
  background: rgba(255, 255, 255, 0.06);
}

.info-strip .btn-outline-church:hover,
.info-strip .btn-outline-church:focus {
  color: #14263f;
  border-color: var(--accent);
  background: var(--accent);
}

@media (max-width: 767.98px) {
  .info-strip {
    margin-top: 0;
    padding-top: 0;
  }

  .info-strip-inner {
    margin-top: -2.15rem;
  }
}

.info-strip-inner {
  margin-top: 0;
  transform: translateY(-2.85rem);
  margin-bottom: -1.6rem;
}

#homeHeroCarousel .carousel-control-prev,
#homeHeroCarousel .carousel-control-next {
  z-index: 40;
  top: 50%;
  bottom: auto;
  transform: translateY(-50%);
  pointer-events: auto;
}

#homeHeroCarousel .carousel-control-prev {
  right: auto;
  left: clamp(0.7rem, 2vw, 1.35rem);
}

#homeHeroCarousel .carousel-control-next {
  right: clamp(0.7rem, 2vw, 1.35rem);
  left: auto;
}

#homeHeroCarousel .carousel-control-prev:hover,
#homeHeroCarousel .carousel-control-prev:focus,
#homeHeroCarousel .carousel-control-next:hover,
#homeHeroCarousel .carousel-control-next:focus {
  transform: translateY(-50%) scale(1.04);
}

#homeHeroCarousel .carousel-indicators {
  z-index: 41;
  right: auto;
  left: 50%;
  bottom: clamp(3rem, 5.2vw, 4.05rem);
  transform: translateX(-50%);
  pointer-events: auto;
}

@media (max-width: 767.98px) {
  #homeHeroCarousel .carousel-control-prev,
  #homeHeroCarousel .carousel-control-next {
    display: none;
    width: 32px;
    height: 32px;
    top: 45%;
    border-color: rgba(255, 255, 255, 0.18);
    background:
      linear-gradient(135deg, rgba(255, 255, 255, 0.14), rgba(255, 255, 255, 0.08)),
      rgba(20, 38, 63, 0.2);
    box-shadow: 0 12px 30px rgba(6, 18, 34, 0.18);
    opacity: 0.72;
  }

  #homeHeroCarousel .carousel-control-prev {
    left: 0.4rem;
  }

  #homeHeroCarousel .carousel-control-next {
    right: 0.4rem;
  }

  #homeHeroCarousel .carousel-indicators {
    left: 50%;
    bottom: 2.35rem;
    transform: translateX(-50%);
  }

  .info-strip-inner {
    margin-top: 0;
    transform: translateY(-1.95rem);
    margin-bottom: -1.1rem;
  }
}

@media (max-width: 767.98px) {
  .home-hero-worship h1 {
    max-width: min(100%, 21rem);
  }

  .home-hero-worship h1 span:first-child {
    font-size: clamp(1.55rem, 7vw, 2.05rem);
  }

  .home-hero-worship h1 span:last-child {
    max-width: 100%;
    font-size: clamp(2.02rem, 9.2vw, 2.55rem);
    letter-spacing: -0.035em;
    white-space: nowrap;
  }

  .home-hero-worship h1 span:last-child::after,
  .hero-worship-time span:nth-child(3)::after,
  .hero-feature-title::after {
    height: 0.18rem;
    margin-top: 0.32rem;
  }

  .hero-worship-time span:nth-child(3),
  .hero-feature-title {
    font-size: clamp(2.2rem, 9.4vw, 2.85rem);
  }
}

/* Final major event readability refinements */
.home-events-section .home-major-list .event-card.is-active .event-date span,
.home-events-section .home-major-list .event-card:hover .event-date span {
  color: #70521a;
}

.home-events-section .home-major-list .event-card.is-active .event-date strong,
.home-events-section .home-major-list .event-card:hover .event-date strong {
  color: #14263f;
}

.home-events-section .home-major-list .event-card.is-active .event-body h3,
.home-events-section .home-major-list .event-card:hover .event-body h3 {
  color: #fff;
}

.home-events-section .home-major-list .event-card.is-active .event-body p,
.home-events-section .home-major-list .event-card.is-active .selectable-details p,
.home-events-section .home-major-list .event-card:hover .event-body p,
.home-events-section .home-major-list .event-card:hover .selectable-details p {
  color: rgba(255, 255, 255, 0.9);
}

.major-events-section .event-feature-list {
  max-width: none;
  gap: clamp(1rem, 2vw, 1.35rem);
}

.major-events-section .event-feature-list .event-card {
  grid-template-columns: minmax(230px, 30%) minmax(0, 1fr);
  gap: clamp(1.15rem, 2.4vw, 2rem);
  align-items: stretch;
  padding: clamp(1.15rem, 2vw, 1.55rem);
}

.major-events-section .event-feature-list .event-date {
  min-height: 190px;
  padding: clamp(0.9rem, 2vw, 1.25rem);
  align-self: stretch;
}

.major-events-section .event-feature-list .event-date strong {
  max-width: 100%;
  font-size: clamp(1.75rem, 4vw, 3.15rem);
  line-height: 1.03;
  overflow-wrap: anywhere;
}

.major-events-section .event-feature-list .event-date span {
  font-size: clamp(0.78rem, 1.25vw, 0.98rem);
  line-height: 1.35;
}

.major-events-section .event-feature-list .event-body {
  align-self: center;
  max-width: 980px;
}

.major-events-section .event-feature-list .event-body h3 {
  font-size: clamp(1.35rem, 2.6vw, 2rem);
}

.major-events-section .event-feature-list .event-body p,
.major-events-section .event-feature-list .selectable-details p {
  font-size: clamp(1rem, 1.65vw, 1.18rem);
  line-height: 1.62;
}

.event-body-media {
  position: relative;
  overflow: hidden;
  width: 100%;
  margin: 0 0 1rem;
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 82% 18%, rgba(240, 201, 110, 0.18), transparent 0 8rem),
    linear-gradient(135deg, #101d31, #1f3a5f),
    linear-gradient(135deg, rgba(255, 240, 207, 0.72), rgba(255, 255, 255, 0.9)),
    #fffaf2;
  box-shadow: 0 18px 46px rgba(5, 15, 29, 0.16);
  aspect-ratio: 16 / 9;
  display: grid;
  place-items: center;
}

.event-body-media img {
  position: relative;
  z-index: 1;
  width: auto;
  max-width: min(72%, 360px);
  height: 91%;
  display: block;
  object-fit: contain;
  border-radius: 0.85rem;
  box-shadow: 0 18px 42px rgba(5, 15, 29, 0.32);
}

.event-body-media::before {
  content: "";
  position: absolute;
  inset: -1.5rem;
  background:
    linear-gradient(90deg, rgba(16, 29, 49, 0.76), rgba(16, 29, 49, 0.1), rgba(16, 29, 49, 0.78)),
    var(--event-image);
  background-position: center;
  background-size: cover;
  filter: blur(18px) saturate(0.96);
  opacity: 0.68;
  transform: scale(1.04);
}

.event-body-media::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(5, 15, 29, 0.08), rgba(5, 15, 29, 0.18)),
    radial-gradient(circle at 82% 16%, rgba(240, 201, 110, 0.18), transparent 0 9rem);
  pointer-events: none;
}

.home-major-list .event-body-media {
  margin-bottom: 0.85rem;
  border-radius: 1rem;
  aspect-ratio: 4 / 3;
  min-height: 185px;
}

.home-major-list .event-body-media img {
  max-width: min(82%, 240px);
  height: 94%;
}

@media (min-width: 1200px) {
  .home-major-list .event-body-media {
    min-height: 220px;
  }
}

@media (max-width: 767.98px) {
  .major-events-section .event-feature-list .event-card {
    grid-template-columns: 1fr;
  }

  .major-events-section .event-feature-list .event-date {
    min-height: 140px;
  }
}

/* Final SEO/accessibility responsive polish */
.page-hero-content {
  position: relative;
  isolation: isolate;
}

.page-hero-content::before {
  content: "";
  position: absolute;
  inset: clamp(1.35rem, 3vw, 2rem) auto clamp(1.35rem, 3vw, 2rem) -1rem;
  z-index: -1;
  width: min(780px, calc(100% + 1rem));
  border-radius: 1.5rem;
  background:
    linear-gradient(90deg, rgba(16, 34, 54, 0.74), rgba(16, 34, 54, 0.36), rgba(16, 34, 54, 0));
  pointer-events: none;
}

.page-hero h1,
.page-hero p {
  color: #fff;
  text-shadow: 0 3px 18px rgba(5, 15, 29, 0.32);
}

.page-hero .page-hero-content {
  border-radius: 1.35rem;
  background:
    linear-gradient(90deg, rgba(16, 34, 54, 0.82), rgba(16, 34, 54, 0.48), rgba(16, 34, 54, 0.08));
  padding-left: clamp(1rem, 2vw, 1.4rem);
  padding-right: clamp(1rem, 2vw, 1.4rem);
}

.page-hero .eyebrow,
.page-hero h1,
.page-hero p {
  opacity: 1;
}

.page-hero .eyebrow {
  color: #f0c96e;
  text-shadow: 0 2px 12px rgba(5, 15, 29, 0.35);
}

@media (max-width: 575.98px) {
  #homeHeroCarousel .home-hero-slide .hero-content {
    width: min(100%, calc(100vw - 2rem));
  }

  #homeHeroCarousel .home-hero-slide p {
    max-width: min(100%, 21rem);
    font-size: 0.96rem;
    line-height: 1.45;
    overflow-wrap: break-word;
  }

  .page-hero-content::before {
    inset: 1rem -0.75rem;
    width: auto;
    border-radius: 1.15rem;
    background: linear-gradient(135deg, rgba(16, 34, 54, 0.72), rgba(16, 34, 54, 0.28));
  }
}

/* Final targeted contrast and compactness tweaks */
.home-hero-carousel .btn-ghost-church:hover,
.home-hero-carousel .btn-ghost-church:focus,
.home-hero-carousel .btn-ghost-church:active {
  color: #fff;
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 18px 34px rgba(200, 155, 60, 0.28);
}

.home-featured-sermon-section .btn-ghost-church:hover,
.home-featured-sermon-section .btn-ghost-church:focus,
.home-featured-sermon-section .btn-ghost-church:active {
  color: #fff;
}

.weekly-card.is-active .weekly-day,
.weekly-card:hover .weekly-day,
.weekly-card:focus .weekly-day,
.selectable-card.is-active .weekly-day,
.selectable-card:hover .weekly-day,
.selectable-card:focus .weekly-day,
.home-events-section .weekly-card.is-active .weekly-day,
.home-events-section .weekly-card:hover .weekly-day,
.home-events-section .weekly-card:focus .weekly-day {
  color: #fff;
  text-shadow: 0 1px 8px rgba(5, 15, 29, 0.25);
}

.home-events-section .weekly-card:not(.is-active):not(:hover):not(:focus) .weekly-day {
  color: #172522;
}

.major-events-section .event-card.is-active .event-date strong,
.major-events-section .event-card:hover .event-date strong,
.major-events-section .event-card:focus .event-date strong,
.home-events-section .home-major-list .event-card.is-active .event-date strong,
.home-events-section .home-major-list .event-card:hover .event-date strong,
.home-events-section .home-major-list .event-card:focus .event-date strong {
  color: #fff;
  text-shadow: 0 2px 12px rgba(5, 15, 29, 0.3);
}

.inline-card-link {
  color: var(--gold);
  display: inline-flex;
  font-weight: 900;
  margin-top: 0.35rem;
  text-decoration: none;
}

.inline-card-link:hover,
.inline-card-link:focus {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.22em;
}

#beliefs .belief-board {
  max-width: 900px;
  gap: 0.55rem;
}

#beliefs .belief-card {
  column-gap: 0.8rem;
  padding: clamp(0.78rem, 1.8vw, 1.05rem);
  border-left-width: 3px;
}

#beliefs .belief-card > span:not(.details-toggle-text) {
  width: 36px;
  height: 36px;
  font-size: 0.78rem;
}

#beliefs .belief-card h3 {
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
}

#beliefs .belief-card p,
#beliefs .belief-card .selectable-details p {
  font-size: 0.92rem;
  line-height: 1.5;
}

#beliefs .belief-card.is-open .selectable-details {
  margin-top: 0.32rem;
}

#beliefs .belief-card .details-toggle-text::after {
  width: 28px;
  height: 28px;
}

/* Leadership final polish */
#leadership .leader-tab-panels {
  position: relative;
  border: 1px solid rgba(31, 58, 95, 0.12);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 12% 8%, rgba(200, 155, 60, 0.15), transparent 0 12rem),
    linear-gradient(135deg, rgba(255, 250, 242, 0.92), rgba(246, 248, 251, 0.96));
  box-shadow: 0 24px 60px rgba(31, 58, 95, 0.1);
  padding: clamp(1rem, 2.5vw, 1.35rem);
}

#leadership .tab-panel {
  position: relative;
  max-height: clamp(38rem, 58vw, 46rem);
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 0.35rem;
  scrollbar-color: rgba(200, 155, 60, 0.75) rgba(31, 58, 95, 0.1);
  scrollbar-width: thin;
}

#leadership .tab-panel::-webkit-scrollbar {
  width: 0.55rem;
}

#leadership .tab-panel::-webkit-scrollbar-track {
  border-radius: 999px;
  background: rgba(31, 58, 95, 0.08);
}

#leadership .tab-panel::-webkit-scrollbar-thumb {
  border: 2px solid rgba(255, 250, 242, 0.9);
  border-radius: 999px;
  background: linear-gradient(180deg, #c89b3c, #a97c24);
}

#leadership .tab-panel::-webkit-scrollbar-thumb:hover {
  background: linear-gradient(180deg, #d8af55, #b8872a);
}

#leadership .tab-panel.has-scroll-more::after {
  content: "More leaders below";
  position: sticky;
  right: 0.2rem;
  bottom: 0.4rem;
  display: block;
  width: fit-content;
  margin: 0.75rem 0 0 auto;
  border: 1px solid rgba(200, 155, 60, 0.72);
  border-radius: 999px;
  background:
    radial-gradient(circle at 18% 18%, rgba(255, 255, 255, 0.38), transparent 0 1.4rem),
    linear-gradient(135deg, rgba(255, 250, 242, 0.96), rgba(240, 201, 110, 0.92));
  box-shadow:
    0 14px 30px rgba(20, 38, 63, 0.16),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);
  color: #1f3a5f;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 0.62rem 0.92rem;
  text-transform: uppercase;
  pointer-events: none;
  z-index: 4;
}

#leadership .leader-card {
  position: relative;
  isolation: isolate;
  border-color: rgba(31, 58, 95, 0.13);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 250, 242, 0.84)),
    #fff;
  box-shadow: 0 14px 34px rgba(31, 58, 95, 0.08);
}

#leadership .leader-card::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0;
  background:
    radial-gradient(circle at 82% 12%, rgba(240, 201, 110, 0.28), transparent 0 7rem),
    linear-gradient(135deg, #1f3a5f, #235768 55%, #14263f);
  transition: opacity 200ms ease;
}

#leadership .leader-card:hover,
#leadership .leader-card:focus-within {
  color: #fff;
  border-color: rgba(240, 201, 110, 0.52);
  background: transparent;
  box-shadow: 0 22px 48px rgba(20, 38, 63, 0.22);
}

#leadership .leader-card:hover::before,
#leadership .leader-card:focus-within::before {
  opacity: 1;
}

#leadership .leader-photo {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 96px;
  place-items: center;
  background:
    radial-gradient(circle at 72% 22%, rgba(240, 201, 110, 0.32), transparent 0 5rem),
    linear-gradient(135deg, rgba(31, 58, 95, 0.96), rgba(41, 84, 97, 0.9)),
    #1f3a5f;
  background-size: auto;
}

#leadership .leader-initials {
  color: transparent;
  font-size: 0;
}

#leadership .leader-initials::before {
  content: "";
  width: clamp(2rem, 5vw, 3rem);
  height: clamp(2rem, 5vw, 3rem);
  background: rgba(255, 255, 255, 0.9);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2.5'/%3E%3Ccircle cx='8.5' cy='9' r='1.6'/%3E%3Cpath d='M21 16l-4.3-4.3a1.4 1.4 0 0 0-2 0L8 18'/%3E%3Cpath d='M13 18l-2.2-2.2a1.4 1.4 0 0 0-2 0L6.6 18'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2.5'/%3E%3Ccircle cx='8.5' cy='9' r='1.6'/%3E%3Cpath d='M21 16l-4.3-4.3a1.4 1.4 0 0 0-2 0L8 18'/%3E%3Cpath d='M13 18l-2.2-2.2a1.4 1.4 0 0 0-2 0L6.6 18'/%3E%3C/svg%3E") center / contain no-repeat;
}

#leadership .leader-body {
  position: relative;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(255, 250, 242, 0.92), rgba(255, 255, 255, 0.98));
  transition: background 200ms ease;
}

#leadership .leader-card:hover .leader-body,
#leadership .leader-card:focus-within .leader-body {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
}

#leadership .leader-body h3 {
  color: #1f3a5f;
  transition: color 180ms ease;
}

#leadership .leader-title {
  color: #a97c24;
  line-height: 1.35;
}

#leadership .leader-card:hover .leader-body h3,
#leadership .leader-card:focus-within .leader-body h3,
#leadership .leader-card:hover .leader-title,
#leadership .leader-card:focus-within .leader-title {
  color: #fff;
}

@media (max-width: 767.98px) {
  #leadership .leader-tab-panels {
    padding: 0.8rem;
  }

  #leadership .tab-panel {
    max-height: 34rem;
    padding-right: 0.25rem;
  }
}

/* Global Missions page */
.page-hero.globalmissions {
  --hero-gradient:
    radial-gradient(circle at 82% 28%, rgba(240, 201, 110, 0.32), transparent 0 15rem),
    radial-gradient(circle at 20% 12%, rgba(255, 250, 242, 0.16), transparent 0 18rem),
    linear-gradient(118deg, #1f3a5f 0%, #365f73 52%, #fffaf2 100%);
  --hero-media: none;
  background:
    radial-gradient(circle at 80% 24%, rgba(240, 201, 110, 0.22), transparent 0 15rem),
    radial-gradient(circle at 18% 10%, rgba(255, 250, 242, 0.14), transparent 0 18rem),
    linear-gradient(118deg, #1f3a5f 0%, #365f73 52%, #fffaf2 100%);
}

.page-hero.globalmissions::before {
  width: min(42vw, 460px);
  border-radius: 42% 58% 52% 48%;
  background:
    repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.14) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.12) 0 1px, transparent 1px 34px);
  box-shadow: inset 0 0 0 1px rgba(240, 201, 110, 0.22), 0 24px 70px rgba(20, 38, 63, 0.18);
}

.page-hero.globalmissions::after {
  right: clamp(2rem, 12vw, 10rem);
  width: clamp(88px, 13vw, 170px);
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255, 250, 242, 0.16), transparent 58%),
    linear-gradient(135deg, rgba(240, 201, 110, 0.32), rgba(31, 58, 95, 0.12));
}

.mission-overview-panel,
.mission-cta-panel {
  overflow: hidden;
  position: relative;
  border: 1px solid rgba(31, 58, 95, 0.14);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 86% 12%, rgba(240, 201, 110, 0.22), transparent 0 12rem),
    linear-gradient(135deg, rgba(255, 250, 242, 0.96), rgba(246, 248, 251, 0.96));
  box-shadow: 0 24px 60px rgba(31, 58, 95, 0.1);
}

.mission-overview-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(240px, 0.85fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  padding: clamp(1.25rem, 4vw, 2.5rem);
}

.mission-symbol-card {
  min-height: 260px;
  display: grid;
  place-items: center;
  border-radius: 1.35rem;
  color: #fff;
  background:
    radial-gradient(circle at 70% 20%, rgba(240, 201, 110, 0.32), transparent 0 7rem),
    linear-gradient(135deg, #1f3a5f, #245f68 58%, #14263f);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.16), 0 20px 46px rgba(20, 38, 63, 0.2);
  text-align: center;
}

.mission-symbol-card span {
  color: #f0c96e;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.mission-symbol-card strong {
  display: block;
  font-size: clamp(2.2rem, 6vw, 4rem);
  font-weight: 950;
  line-height: 0.95;
}

.mission-orbit {
  width: min(68%, 230px);
  aspect-ratio: 1;
  margin-top: 1rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
  background:
    linear-gradient(90deg, transparent 48%, rgba(255, 255, 255, 0.22) 49% 51%, transparent 52%),
    linear-gradient(0deg, transparent 48%, rgba(255, 255, 255, 0.18) 49% 51%, transparent 52%),
    radial-gradient(circle at center, rgba(240, 201, 110, 0.22), transparent 60%);
}

.mission-support-grid .ministry-card:nth-child(1) {
  background:
    linear-gradient(180deg, rgba(31, 58, 95, 0.08), rgba(255, 255, 255, 0) 58%),
    #fff;
}

.mission-support-grid .ministry-card:nth-child(2) {
  background:
    linear-gradient(180deg, rgba(200, 155, 60, 0.12), rgba(255, 255, 255, 0) 58%),
    #fff;
}

.mission-support-grid .ministry-card:nth-child(3) {
  background:
    linear-gradient(180deg, rgba(47, 113, 95, 0.1), rgba(255, 255, 255, 0) 58%),
    #fff;
}

.global-mission-support-section,
.global-mission-updates-section {
  color: #fff;
  background:
    radial-gradient(circle at 86% 14%, rgba(240, 201, 110, 0.18), transparent 0 18rem),
    radial-gradient(circle at 12% 86%, rgba(72, 92, 123, 0.32), transparent 0 20rem),
    linear-gradient(135deg, #14263f 0%, #1f3a5f 54%, #102236 100%) !important;
}

.global-mission-updates-section {
  background:
    radial-gradient(circle at 18% 16%, rgba(240, 201, 110, 0.2), transparent 0 17rem),
    radial-gradient(circle at 88% 84%, rgba(54, 95, 115, 0.38), transparent 0 19rem),
    linear-gradient(135deg, #162138 0%, #24324f 50%, #101827 100%) !important;
}

.global-mission-support-section .section-heading h2,
.global-mission-support-section .section-heading p,
.global-mission-updates-section .section-heading h2,
.global-mission-updates-section .section-heading p {
  color: #fff;
}

.global-mission-support-section .section-heading p,
.global-mission-updates-section .section-heading p {
  color: rgba(255, 255, 255, 0.78);
}

.global-mission-support-section .eyebrow,
.global-mission-updates-section .eyebrow {
  color: #f0c96e;
}

.global-mission-support-section .mission-support-grid .ministry-card {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.18);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.06)),
    rgba(255, 255, 255, 0.05);
  box-shadow: 0 22px 50px rgba(5, 15, 29, 0.22);
}

.global-mission-support-section .mission-support-grid .ministry-card h3,
.global-mission-support-section .mission-support-grid .ministry-card p {
  color: #fff;
}

.global-mission-support-section .mission-support-grid .ministry-card p {
  color: rgba(255, 255, 255, 0.78);
}

.global-mission-support-section .mission-support-grid .ministry-card span {
  color: #f0c96e;
}

.global-mission-support-section .mission-support-grid .ministry-card:hover,
.global-mission-support-section .mission-support-grid .ministry-card:focus-within {
  color: #102236;
  border-color: rgba(240, 201, 110, 0.72);
  background:
    radial-gradient(circle at 88% 10%, rgba(240, 201, 110, 0.36), transparent 0 7rem),
    linear-gradient(135deg, #fffaf2, #f6f8fb);
  box-shadow: 0 26px 62px rgba(5, 15, 29, 0.3);
}

.global-mission-support-section .mission-support-grid .ministry-card:hover h3,
.global-mission-support-section .mission-support-grid .ministry-card:focus-within h3 {
  color: #102236;
}

.global-mission-support-section .mission-support-grid .ministry-card:hover p,
.global-mission-support-section .mission-support-grid .ministry-card:focus-within p {
  color: #4c5866;
}

.global-mission-support-section .mission-support-grid .ministry-card:hover span,
.global-mission-support-section .mission-support-grid .ministry-card:focus-within span {
  color: #a97c24;
}

.global-partners-section {
  background:
    radial-gradient(circle at 86% 18%, rgba(240, 201, 110, 0.16), transparent 0 18rem),
    linear-gradient(135deg, #fffaf2 0%, #edf4f7 100%);
}

.mission-partner-grid {
  display: grid;
  gap: 0.9rem;
}

.mission-partner-card {
  border: 1px solid rgba(31, 58, 95, 0.14);
  border-radius: 1.15rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 250, 242, 0.86));
  box-shadow: 0 14px 34px rgba(31, 58, 95, 0.08);
  padding: clamp(1rem, 2.5vw, 1.3rem);
}

.mission-partner-card span {
  color: #a97c24;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.mission-partner-card h3 {
  margin: 0.4rem 0 0.3rem;
  color: #1f3a5f;
  font-weight: 950;
}

.mission-partner-card p {
  margin: 0;
  color: #566273;
}

.mission-updates-list {
  max-width: 980px;
  margin: 0 auto;
}

.global-mission-updates-section .update-card {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.18);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.06)),
    rgba(255, 255, 255, 0.05);
  box-shadow: 0 22px 50px rgba(5, 15, 29, 0.24);
}

.global-mission-updates-section .update-card h3,
.global-mission-updates-section .update-card p,
.global-mission-updates-section .update-card .selectable-details p {
  color: #fff;
}

.global-mission-updates-section .update-card p,
.global-mission-updates-section .update-card .selectable-details p {
  color: rgba(255, 255, 255, 0.78);
}

.global-mission-updates-section .update-card time {
  color: #f0c96e;
}

.global-mission-updates-section .update-card:hover,
.global-mission-updates-section .update-card:focus,
.global-mission-updates-section .update-card.is-active {
  color: #102236;
  border-color: rgba(240, 201, 110, 0.72);
  background:
    radial-gradient(circle at 88% 10%, rgba(240, 201, 110, 0.36), transparent 0 7rem),
    linear-gradient(135deg, #fffaf2, #f6f8fb);
  box-shadow: 0 26px 62px rgba(5, 15, 29, 0.3);
}

.global-mission-updates-section .update-card:hover h3,
.global-mission-updates-section .update-card:focus h3,
.global-mission-updates-section .update-card.is-active h3 {
  color: #102236;
}

.global-mission-updates-section .update-card:hover p,
.global-mission-updates-section .update-card:focus p,
.global-mission-updates-section .update-card.is-active p,
.global-mission-updates-section .update-card:hover .selectable-details p,
.global-mission-updates-section .update-card:focus .selectable-details p,
.global-mission-updates-section .update-card.is-active .selectable-details p {
  color: #4c5866;
}

.global-mission-updates-section .update-card:hover time,
.global-mission-updates-section .update-card:focus time,
.global-mission-updates-section .update-card.is-active time {
  color: #a97c24;
}

.global-mission-cta {
  background:
    radial-gradient(circle at 80% 18%, rgba(240, 201, 110, 0.22), transparent 0 16rem),
    linear-gradient(135deg, #1f3a5f, #214f62 58%, #14263f);
}

.mission-cta-panel {
  padding: clamp(1.4rem, 4vw, 2.5rem);
  color: #fff;
  background:
    radial-gradient(circle at 86% 12%, rgba(240, 201, 110, 0.28), transparent 0 12rem),
    linear-gradient(135deg, rgba(20, 38, 63, 0.96), rgba(31, 58, 95, 0.9));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.14), 0 24px 60px rgba(5, 15, 29, 0.18);
}

.mission-cta-panel .eyebrow {
  color: #f0c96e;
}

.mission-cta-panel h2,
.mission-cta-panel p {
  color: #fff;
}

.mission-cta-panel p {
  max-width: 720px;
  color: rgba(255, 255, 255, 0.86);
}

.mission-cta-panel .btn-outline-church {
  color: #fff;
  border-color: rgba(255, 255, 255, 0.58);
  background: rgba(255, 255, 255, 0.08);
}

.mission-cta-panel .btn-outline-church:hover,
.mission-cta-panel .btn-outline-church:focus {
  color: #fff;
  border-color: var(--accent);
  background: var(--accent);
}

@media (max-width: 991.98px) {
  .mission-overview-panel {
    grid-template-columns: 1fr;
  }

  .mission-symbol-card {
    min-height: 220px;
  }
}

/* Hard overrides for Global Missions dark sections */
body .site-shell main#main-content > section.section.global-mission-support-section,
body .site-shell main#main-content > section.section.global-mission-updates-section {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  color: #fff !important;
  background:
    radial-gradient(circle at 86% 14%, rgba(240, 201, 110, 0.2), transparent 0 18rem),
    radial-gradient(circle at 12% 86%, rgba(72, 92, 123, 0.34), transparent 0 20rem),
    linear-gradient(135deg, #14263f 0%, #1f3a5f 54%, #102236 100%) !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section::before,
body .site-shell main#main-content > section.section.global-mission-updates-section::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background:
    linear-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px),
    radial-gradient(circle at 84% 18%, rgba(240, 201, 110, 0.12), transparent 0 14rem) !important;
  background-size: 52px 52px, 52px 52px, auto !important;
  pointer-events: none !important;
}

body .site-shell main#main-content > section.section.global-mission-updates-section {
  background:
    radial-gradient(circle at 18% 16%, rgba(240, 201, 110, 0.22), transparent 0 17rem),
    radial-gradient(circle at 88% 84%, rgba(54, 95, 115, 0.4), transparent 0 19rem),
    linear-gradient(135deg, #162138 0%, #24324f 50%, #101827 100%) !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .section-heading h2,
body .site-shell main#main-content > section.section.global-mission-support-section .section-heading p,
body .site-shell main#main-content > section.section.global-mission-updates-section .section-heading h2,
body .site-shell main#main-content > section.section.global-mission-updates-section .section-heading p {
  color: #fff !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .section-heading p,
body .site-shell main#main-content > section.section.global-mission-updates-section .section-heading p,
body .site-shell main#main-content > section.section.global-mission-updates-section .temporary-note {
  color: rgba(255, 255, 255, 0.82) !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .eyebrow,
body .site-shell main#main-content > section.section.global-mission-updates-section .eyebrow {
  color: #f0c96e !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card {
  color: #fff !important;
  border-color: rgba(255, 255, 255, 0.2) !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.06)),
    rgba(255, 255, 255, 0.05) !important;
  box-shadow: 0 22px 50px rgba(5, 15, 29, 0.24) !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:nth-child(1),
body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:nth-child(2),
body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:nth-child(3) {
  color: #fff !important;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.06)),
    rgba(255, 255, 255, 0.05) !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card h3,
body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card h3,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card .selectable-details p {
  color: #fff !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card .selectable-details p {
  color: rgba(255, 255, 255, 0.82) !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card span,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card time {
  color: #f0c96e !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:hover,
body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:focus-within,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:hover,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus-within,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card.is-active {
  color: #102236 !important;
  border-color: rgba(240, 201, 110, 0.72) !important;
  background:
    radial-gradient(circle at 88% 10%, rgba(240, 201, 110, 0.36), transparent 0 7rem),
    linear-gradient(135deg, #fffaf2, #f6f8fb) !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:hover h3,
body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:focus-within h3,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:hover h3,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus h3,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus-within h3,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card.is-active h3 {
  color: #102236 !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:hover p,
body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:focus-within p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:hover p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus-within p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card.is-active p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:hover .selectable-details p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus .selectable-details p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus-within .selectable-details p,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card.is-active .selectable-details p {
  color: #4c5866 !important;
}

body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:hover span,
body .site-shell main#main-content > section.section.global-mission-support-section .mission-support-grid .ministry-card:focus-within span,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:hover time,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus time,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card:focus-within time,
body .site-shell main#main-content > section.section.global-mission-updates-section .mission-updates-list .update-card.is-active time {
  color: #a97c24 !important;
}

@media (max-width: 575.98px) {
  .home-hero-carousel,
  .home-hero-slide {
    min-height: clamp(275px, 70vw, 312px) !important;
  }

  .home-hero-slide .hero-content {
    padding: 1.45rem 0 3.15rem !important;
  }

  .home-hero-carousel .carousel-indicators {
    bottom: 1.45rem !important;
    z-index: 90;
  }

  .home-hero-carousel .carousel-indicators [data-bs-target] {
    width: 1.05rem;
    height: 0.38rem;
  }

  .home-hero-carousel .carousel-indicators .active {
    width: 1.85rem;
  }

  .info-strip {
    padding-bottom: 1.8rem !important;
  }

  .info-strip-inner {
    grid-template-columns: 1fr !important;
    border-radius: 1.05rem;
    transform: translateY(-1.2rem) !important;
    margin-bottom: -0.8rem !important;
  }

  .info-tile {
    min-height: auto !important;
    padding: 0.58rem 0.85rem !important;
  }

  .info-tile span {
    font-size: 0.64rem;
  }

  .info-tile strong {
    margin-top: 0.08rem;
    font-size: 0.84rem;
    line-height: 1.24;
  }

  .info-tile::after {
    width: 1.45rem;
    height: 0.16rem;
    margin-top: 0.42rem;
  }

  .info-strip .visit-actions {
    gap: 0.55rem;
    margin-top: 0.65rem;
    transform: translateY(-0.7rem);
    margin-bottom: -0.7rem;
  }

  .info-strip .visit-actions .btn-church {
    min-height: 40px;
    padding: 0.55rem 0.78rem;
    font-size: 0.85rem;
  }
}

/* Weekly event final state: equal columns, readable nested events, fresh premium states */
.weekly-event-grid,
.home-weekly-grid {
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  overflow-x: hidden;
}

.weekly-card {
  background:
    linear-gradient(180deg, rgba(255, 250, 242, 0.72), rgba(246, 248, 251, 0.92)),
    #f6f8fb;
}

.weekly-card .weekly-event-entry,
.home-events-section .weekly-card .weekly-event-entry {
  background:
    linear-gradient(145deg, rgba(255, 250, 242, 0.94), rgba(231, 238, 247, 0.82)),
    #f2f5f9 !important;
  border: 1px solid rgba(31, 58, 95, 0.1);
  box-shadow: 0 10px 24px rgba(31, 58, 95, 0.06);
}

.weekly-card .weekly-event-title-line h3,
.home-events-section .weekly-card .weekly-event-title-line h3 {
  color: #1f3a5f !important;
}

.weekly-card .weekly-event-meta,
.home-events-section .weekly-card .weekly-event-meta {
  color: #9a7020 !important;
  font-weight: 650;
}

.weekly-card .weekly-entry-details p,
.home-events-section .weekly-card .weekly-entry-details p {
  color: #526071 !important;
  font-weight: 400 !important;
  white-space: pre-wrap;
}

.weekly-card .weekly-event-number,
.home-events-section .weekly-card .weekly-event-number {
  background:
    linear-gradient(135deg, rgba(200, 155, 60, 0.95), rgba(240, 201, 110, 0.94)),
    #c89b3c !important;
  color: #172522 !important;
  box-shadow: 0 8px 18px rgba(200, 155, 60, 0.22);
}

.weekly-card:hover,
.weekly-card:focus,
.weekly-card.is-active,
.home-events-section .weekly-card:hover,
.home-events-section .weekly-card:focus,
.home-events-section .weekly-card.is-active {
  background:
    radial-gradient(circle at 90% 8%, rgba(240, 201, 110, 0.22), transparent 0 7rem),
    linear-gradient(135deg, #274c78, #1f3a5f 58%, #14263f),
    #1f3a5f !important;
  color: #fff !important;
  border-color: rgba(240, 201, 110, 0.48) !important;
}

.weekly-card:hover .weekly-event-entry,
.weekly-card:focus .weekly-event-entry,
.weekly-card.is-active .weekly-event-entry,
.home-events-section .weekly-card:hover .weekly-event-entry,
.home-events-section .weekly-card:focus .weekly-event-entry,
.home-events-section .weekly-card.is-active .weekly-event-entry {
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.07)),
    rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.16);
  box-shadow: none;
}

.weekly-card:hover .weekly-event-title-line h3,
.weekly-card:focus .weekly-event-title-line h3,
.weekly-card.is-active .weekly-event-title-line h3,
.home-events-section .weekly-card:hover .weekly-event-title-line h3,
.home-events-section .weekly-card:focus .weekly-event-title-line h3,
.home-events-section .weekly-card.is-active .weekly-event-title-line h3 {
  color: #fff !important;
}

.weekly-card:hover .weekly-event-meta,
.weekly-card:focus .weekly-event-meta,
.weekly-card.is-active .weekly-event-meta,
.home-events-section .weekly-card:hover .weekly-event-meta,
.home-events-section .weekly-card:focus .weekly-event-meta,
.home-events-section .weekly-card.is-active .weekly-event-meta {
  color: #f2cb67 !important;
}

.weekly-card:hover .weekly-entry-details p,
.weekly-card:focus .weekly-entry-details p,
.weekly-card.is-active .weekly-entry-details p,
.home-events-section .weekly-card:hover .weekly-entry-details p,
.home-events-section .weekly-card:focus .weekly-entry-details p,
.home-events-section .weekly-card.is-active .weekly-entry-details p {
  color: rgba(255, 255, 255, 0.84) !important;
  font-weight: 400 !important;
  white-space: pre-wrap;
}

.weekly-card:hover .weekly-event-number,
.weekly-card:focus .weekly-event-number,
.weekly-card.is-active .weekly-event-number,
.home-events-section .weekly-card:hover .weekly-event-number,
.home-events-section .weekly-card:focus .weekly-event-number,
.home-events-section .weekly-card.is-active .weekly-event-number {
  background: rgba(255, 255, 255, 0.96) !important;
  color: #1f3a5f !important;
}

@media (max-width: 767.98px) {
  .weekly-event-grid,
  .home-weekly-grid {
    grid-template-columns: 1fr !important;
    overflow-x: hidden;
  }

  .weekly-card .weekly-count,
  .home-events-section .weekly-card .weekly-count {
    margin-right: auto !important;
    margin-left: 0 !important;
    text-align: left;
  }

  .weekly-event-entry-empty,
  .home-events-section .weekly-event-entry-empty {
    text-align: left;
  }

  .weekly-event-entry-empty .weekly-event-title-line,
  .home-events-section .weekly-event-entry-empty .weekly-event-title-line {
    justify-content: flex-start;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .weekly-event-grid,
  .home-weekly-grid {
    grid-template-columns: repeat(7, minmax(150px, 1fr)) !important;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }
}

@media (min-width: 768px) {
  .weekly-card {
    display: flex;
    flex-direction: column;
  }

  .weekly-card .details-toggle-text {
    margin-top: auto !important;
  }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
  .youth-purpose-map {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.45rem;
  }

  .youth-purpose-map::before {
    right: 12%;
    left: 12%;
    bottom: -1.08rem;
  }

  .youth-upcoming-block .youth-upcoming-panel::before {
    right: auto;
    left: 1.5rem;
  }

  .youth-upcoming-card::before {
    right: auto;
    left: -2.6rem;
    width: 1.55rem;
    height: 1.55rem;
    border-width: 0.34rem;
    background:
      radial-gradient(circle, #fff 0 0.2rem, rgba(200, 155, 60, 0.98) 0.22rem 0.4rem, transparent 0.42rem),
      rgba(255, 250, 242, 0.9);
  }

  .youth-purpose-map article {
    gap: 0.42rem;
    padding: 0.75rem 0.45rem;
  }

  .youth-purpose-map article > span {
    width: 2.25rem;
    height: 2.25rem;
    font-size: 1.08rem;
  }

  .youth-purpose-map strong {
    font-size: 0.62rem;
    letter-spacing: 0.045em;
  }

  .youth-purpose-map h3 {
    font-size: 0.9rem;
  }

  .youth-purpose-map p {
    font-size: 0.76rem;
    line-height: 1.28;
  }

  .youth-purpose-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .youth-featured-card {
    grid-template-columns: 1fr;
  }

  .youth-highlight-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .youth-story-slide {
    grid-template-columns: 1fr;
  }

  .youth-story-media {
    order: -1;
  }
}

/* JSON-controlled hero images */
.home-hero-slide.has-custom-hero-media,
.sermon-cover-slide.has-custom-hero-media {
  background-image:
    linear-gradient(90deg, rgba(19, 42, 73, 0.88) 0%, rgba(31, 58, 95, 0.7) 42%, rgba(31, 58, 95, 0.36) 72%, rgba(31, 58, 95, 0.24) 100%) !important;
  background-color: #1f3a5f;
  background-size: cover !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

.home-hero-slide.has-custom-hero-media::before,
.sermon-cover-slide.has-custom-hero-media::before {
  content: "";
  display: block !important;
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  transform: none;
  border: 0;
  border-radius: 0;
  background-image: var(--hero-media) !important;
  background-size: var(--hero-media-size, cover) !important;
  background-position: var(--hero-media-position, center) !important;
  background-repeat: no-repeat !important;
  box-shadow: none;
  filter: var(--hero-media-filter, none);
  opacity: var(--hero-media-opacity, 0.68);
  pointer-events: none;
  -webkit-mask-image: none;
  mask-image: none;
}

.home-hero-slide.has-custom-hero-media .hero-art,
.sermon-cover-slide.has-custom-hero-media .hero-art {
  display: none;
}

.home-hero-slide.has-custom-hero-media::after,
.sermon-cover-slide.has-custom-hero-media::after {
  opacity: 0.22;
}

.home-hero-slide.has-custom-hero-media p,
.sermon-cover-slide.has-custom-hero-media p {
  white-space: pre-line;
}

@media (max-width: 767.98px) {
  .youth-hero-carousel,
  .youth-hero-carousel .carousel-inner,
  .youth-hero-slide {
    min-height: 420px;
  }

  .youth-hero-slide {
    background:
      linear-gradient(180deg, rgba(20, 38, 63, 0.94), rgba(31, 58, 95, 0.74) 58%, rgba(31, 58, 95, 0.48) 100%),
      #1f3a5f;
  }

  .youth-hero-slide::before {
    background-image: var(--youth-hero-mobile-image, var(--youth-hero-image));
    background-position: var(--youth-hero-mobile-position, var(--youth-hero-position, center));
    background-size: var(--youth-hero-mobile-size, var(--youth-hero-size, cover));
  }

  .youth-hero-content {
    padding: 4.5rem 0 4.75rem;
    max-width: min(100%, calc(100vw - 1.5rem));
  }

  .youth-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.55rem;
    width: min(100%, 16rem);
  }

  .youth-hero-actions .btn-church {
    justify-content: center;
    width: 100%;
  }

  .youth-hero-content h1 {
    font-size: clamp(1.78rem, 8.7vw, 2.55rem);
    line-height: 1.02;
  }

  .youth-hero-content p {
    max-width: min(100%, calc(100vw - 1.5rem));
    font-size: 1rem;
    overflow-wrap: break-word;
  }

  .youth-purpose-section .section-heading h2 {
    max-width: 100%;
    font-size: clamp(1.62rem, 7.5vw, 2.15rem);
    overflow-wrap: break-word;
  }

  .youth-leadership-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-radius: 1.1rem;
    gap: 0.5rem;
    padding: 0.58rem;
  }

  .youth-hero-carousel .carousel-control-prev,
  .youth-hero-carousel .carousel-control-next {
    display: none;
  }

  .youth-purpose-map::before {
    display: block;
    right: 9%;
    bottom: -1.04rem;
    left: 9%;
  }

  .youth-purpose-map {
    display: flex;
    gap: 0.55rem;
    margin-inline: -1rem;
    padding: 0 1rem 0.65rem;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }

  .youth-purpose-map article {
    flex: 0 0 8.6rem;
    grid-template-columns: 1fr;
    gap: 0.35rem;
    align-items: start;
    min-height: 9rem;
    padding: 0.75rem 0.62rem;
    text-align: center;
    scroll-snap-align: start;
  }

  .youth-purpose-map article > span {
    width: 2.35rem;
    height: 2.35rem;
    margin: 0 auto;
    font-size: 1.16rem;
  }

  .youth-purpose-map strong {
    font-size: 0.66rem;
  }

  .youth-purpose-map h3 {
    margin-top: 0;
    font-size: 0.9rem;
  }

  .youth-purpose-map p {
    display: -webkit-box;
    overflow: hidden;
    font-size: 0.78rem;
    line-height: 1.32;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .youth-ongoing-block,
  .youth-upcoming-block {
    margin-inline: calc(50% - 50vw);
    padding: 2.7rem 1rem;
  }

  .youth-featured-block,
  .youth-ministry-moments-block {
    margin-inline: calc(50% - 50vw);
    padding: 2.7rem 1rem;
  }

  .youth-featured-showcase {
    grid-template-columns: 1fr;
    padding: 0.9rem;
  }

  .youth-ministry-slide {
    grid-template-columns: 1fr;
  }

  .youth-upcoming-block .youth-upcoming-panel {
    grid-template-columns: 1fr;
    padding-left: 2.45rem;
    overflow: visible;
  }

  .youth-upcoming-block .youth-upcoming-panel::before {
    left: 1.35rem;
  }

  .youth-featured-media {
    order: -1;
  }

  .youth-ministry-visual .youth-story-image,
  .youth-ministry-visual .youth-photo-placeholder {
    aspect-ratio: 16 / 9;
  }

  .youth-story-slide {
    grid-template-columns: 1fr;
    padding: 0.85rem;
  }

  .youth-story-media {
    order: -1;
  }

  .youth-story-copy {
    padding: 0.35rem;
  }

  .youth-story-carousel .carousel-control-prev,
  .youth-story-carousel .carousel-control-next {
    width: 2.45rem;
    height: 2.45rem;
  }

  .youth-story-media .youth-event-carousel .carousel-item,
  .youth-story-media .youth-photo-placeholder,
  .youth-story-image {
    aspect-ratio: 16 / 9;
  }

  .youth-purpose-grid {
    grid-template-columns: 1fr;
  }

  .purpose-filter {
    display: none;
  }

  .purpose-filter-select-label {
    display: block;
    margin: 1.2rem auto 0.45rem;
    color: var(--accent-dark);
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-align: center;
    text-transform: uppercase;
  }

  .purpose-filter-select {
    display: block;
  }

  .youth-featured-card,
  .youth-highlight-grid,
  .youth-gathering-grid {
    grid-template-columns: 1fr;
  }

  .youth-featured-card {
    padding: 0.8rem;
  }

  .youth-join-cta {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .youth-join-cta .btn-church {
    width: 100%;
    justify-content: center;
  }

  .youth-featured-body,
  .youth-highlight-body,
  .youth-gathering-card,
  .youth-upcoming-panel {
    padding: 1rem;
  }

  .youth-upcoming-card {
    width: 100%;
    padding: 0;
    overflow: visible;
  }

  .youth-upcoming-number {
    left: -2.15rem;
    right: auto;
    width: 2.1rem;
    height: 2.1rem;
    font-size: 0.78rem;
    box-shadow:
      0 0 0 0.42rem rgba(255, 250, 242, 0.12),
      0 0 0 0.72rem rgba(200, 155, 60, 0.08),
      0 12px 24px rgba(5, 16, 28, 0.2);
  }

  .youth-upcoming-card::before {
    left: -1.85rem;
  }

  .youth-card-actions {
    display: grid;
  }

  .missing-image-note,
  .youth-photo-placeholder {
    padding-inline: 3.25rem;
  }

  .youth-card-actions .btn-church {
    width: 100%;
    justify-content: center;
  }

  .youth-event-carousel .carousel-control-prev,
  .youth-event-carousel .carousel-control-next {
    width: 2.45rem;
    height: 2.45rem;
  }

  .home-hero-slide.has-custom-hero-media,
  .sermon-cover-slide.has-custom-hero-media {
    background-image:
      linear-gradient(180deg, rgba(19, 42, 73, 0.9) 0%, rgba(31, 58, 95, 0.78) 52%, rgba(31, 58, 95, 0.42) 100%) !important;
  }

  .home-hero-slide.has-custom-hero-media::before,
  .sermon-cover-slide.has-custom-hero-media::before {
    background-image: var(--hero-mobile-media, var(--hero-media)) !important;
    background-position: var(--hero-mobile-media-position, var(--hero-media-position, center)) !important;
    background-size: var(--hero-mobile-media-size, var(--hero-media-size, cover)) !important;
  }

  .home-hero-feature h1,
  .home-hero-feature h2 {
    font-size: clamp(2rem, 9vw, 2.75rem) !important;
  }
}

@media (max-width: 575.98px) {
  .youth-event-carousel .carousel-indicators {
    bottom: 0.55rem;
    gap: 0.2rem;
    padding: 0.2rem 0.3rem;
    background: rgba(20, 38, 63, 0.12);
  }

  .youth-event-carousel .carousel-indicators button {
    width: 0.3rem;
    height: 0.3rem;
  }

  .youth-event-carousel .carousel-indicators button.active {
    width: 0.9rem;
  }

  .youth-ministry-moments-block .youth-story-carousel .carousel-indicators {
    top: clamp(9.2rem, 43vw, 18rem);
    bottom: auto;
    gap: 0.2rem;
    padding: 0.2rem 0.3rem;
    background: rgba(20, 38, 63, 0.12);
  }

  .youth-ministry-moments-block .youth-story-carousel .carousel-indicators button {
    width: 0.3rem;
    height: 0.3rem;
  }

  .youth-ministry-moments-block .youth-story-carousel .carousel-indicators button.active {
    width: 0.9rem;
  }

  .youth-ministry-moments-block .youth-story-carousel .carousel-control-prev,
  .youth-ministry-moments-block .youth-story-carousel .carousel-control-next {
    top: clamp(6.1rem, 30vw, 12rem);
  }

  .youth-purpose-map {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.35rem;
    margin-inline: -0.65rem;
    padding: 0 0.65rem 1rem;
    overflow: visible;
  }

  .youth-purpose-map::before {
    right: 10%;
    bottom: 0.1rem;
    left: 10%;
  }

  .youth-purpose-map article {
    grid-template-columns: 1fr;
    gap: 0.22rem;
    min-height: 4.85rem;
    border-radius: 0.85rem;
    padding: 0.42rem 0.1rem 0.44rem;
    scroll-snap-align: none;
  }

  .youth-purpose-map article > span {
    width: 1.72rem;
    height: 1.72rem;
    font-size: 0.88rem;
  }

  .youth-purpose-map strong {
    display: block;
    font-size: 0.47rem;
    line-height: 1.12;
    letter-spacing: 0.02em;
  }

  .youth-purpose-map strong span {
    display: block;
    margin-top: 0.08rem;
  }

  .youth-purpose-map h3 {
    display: none;
  }

  .youth-purpose-map p {
    display: none;
  }
}

/* Unified premium carousel controls */
#homeHeroCarousel,
.sermon-cover-carousel,
.youth-hero-carousel,
.youth-event-carousel,
.youth-story-carousel,
.who-carousel,
.ministry-carousel,
.cover-carousel {
  --carousel-control-size: clamp(2.45rem, 4vw, 3.15rem);
  --carousel-dot-size: 0.42rem;
  --carousel-dot-active-width: 1.35rem;
  --carousel-control-bg: rgba(20, 38, 63, 0.36);
  --carousel-control-border: rgba(255, 255, 255, 0.28);
  --carousel-indicator-bg: rgba(20, 38, 63, 0.18);
}

#homeHeroCarousel .carousel-control-prev,
#homeHeroCarousel .carousel-control-next,
.sermon-cover-carousel .carousel-control-prev,
.sermon-cover-carousel .carousel-control-next,
.youth-hero-carousel .carousel-control-prev,
.youth-hero-carousel .carousel-control-next,
.youth-event-carousel .carousel-control-prev,
.youth-event-carousel .carousel-control-next,
.youth-story-carousel .carousel-control-prev,
.youth-story-carousel .carousel-control-next,
.who-carousel .carousel-control-prev,
.who-carousel .carousel-control-next,
.ministry-carousel .carousel-control-prev,
.ministry-carousel .carousel-control-next,
.cover-carousel .carousel-control-prev,
.cover-carousel .carousel-control-next {
  top: 50%;
  bottom: auto;
  z-index: 12;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--carousel-control-size);
  height: var(--carousel-control-size);
  border: 1px solid var(--carousel-control-border);
  border-radius: 999px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0.07)),
    var(--carousel-control-bg);
  box-shadow: 0 16px 38px rgba(5, 16, 28, 0.24);
  opacity: 1;
  transform: translateY(-50%);
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, box-shadow 180ms ease;
  backdrop-filter: blur(14px);
}

#homeHeroCarousel .carousel-control-prev:hover,
#homeHeroCarousel .carousel-control-prev:focus,
#homeHeroCarousel .carousel-control-next:hover,
#homeHeroCarousel .carousel-control-next:focus,
.sermon-cover-carousel .carousel-control-prev:hover,
.sermon-cover-carousel .carousel-control-prev:focus,
.sermon-cover-carousel .carousel-control-next:hover,
.sermon-cover-carousel .carousel-control-next:focus,
.youth-hero-carousel .carousel-control-prev:hover,
.youth-hero-carousel .carousel-control-prev:focus,
.youth-hero-carousel .carousel-control-next:hover,
.youth-hero-carousel .carousel-control-next:focus,
.youth-event-carousel .carousel-control-prev:hover,
.youth-event-carousel .carousel-control-prev:focus,
.youth-event-carousel .carousel-control-next:hover,
.youth-event-carousel .carousel-control-next:focus,
.youth-story-carousel .carousel-control-prev:hover,
.youth-story-carousel .carousel-control-prev:focus,
.youth-story-carousel .carousel-control-next:hover,
.youth-story-carousel .carousel-control-next:focus,
.who-carousel .carousel-control-prev:hover,
.who-carousel .carousel-control-prev:focus,
.who-carousel .carousel-control-next:hover,
.who-carousel .carousel-control-next:focus,
.ministry-carousel .carousel-control-prev:hover,
.ministry-carousel .carousel-control-prev:focus,
.ministry-carousel .carousel-control-next:hover,
.ministry-carousel .carousel-control-next:focus,
.cover-carousel .carousel-control-prev:hover,
.cover-carousel .carousel-control-prev:focus,
.cover-carousel .carousel-control-next:hover,
.cover-carousel .carousel-control-next:focus {
  border-color: rgba(200, 155, 60, 0.64);
  background:
    linear-gradient(135deg, rgba(200, 155, 60, 0.28), rgba(255, 255, 255, 0.09)),
    rgba(20, 38, 63, 0.42);
  box-shadow: 0 20px 46px rgba(5, 16, 28, 0.3);
  transform: translateY(-50%) scale(1.045);
}

#homeHeroCarousel .carousel-control-prev,
.sermon-cover-carousel .carousel-control-prev,
.youth-hero-carousel .carousel-control-prev,
.youth-event-carousel .carousel-control-prev,
.youth-story-carousel .carousel-control-prev,
.who-carousel .carousel-control-prev,
.ministry-carousel .carousel-control-prev,
.cover-carousel .carousel-control-prev {
  right: auto;
  left: clamp(0.75rem, 2.2vw, 1.65rem);
}

#homeHeroCarousel .carousel-control-next,
.sermon-cover-carousel .carousel-control-next,
.youth-hero-carousel .carousel-control-next,
.youth-event-carousel .carousel-control-next,
.youth-story-carousel .carousel-control-next,
.who-carousel .carousel-control-next,
.ministry-carousel .carousel-control-next,
.cover-carousel .carousel-control-next {
  right: clamp(0.75rem, 2.2vw, 1.65rem);
  left: auto;
}

#homeHeroCarousel .carousel-control-prev-icon,
#homeHeroCarousel .carousel-control-next-icon,
.sermon-cover-carousel .carousel-control-prev-icon,
.sermon-cover-carousel .carousel-control-next-icon,
.youth-hero-carousel .carousel-control-prev-icon,
.youth-hero-carousel .carousel-control-next-icon,
.youth-event-carousel .carousel-control-prev-icon,
.youth-event-carousel .carousel-control-next-icon,
.youth-story-carousel .carousel-control-prev-icon,
.youth-story-carousel .carousel-control-next-icon,
.who-carousel .carousel-control-prev-icon,
.who-carousel .carousel-control-next-icon,
.ministry-carousel .carousel-control-prev-icon,
.ministry-carousel .carousel-control-next-icon,
.cover-carousel .carousel-control-prev-icon,
.cover-carousel .carousel-control-next-icon {
  width: 0.95rem;
  height: 0.95rem;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.35));
}

#homeHeroCarousel .carousel-indicators,
.sermon-cover-carousel .carousel-indicators,
.youth-hero-carousel .carousel-indicators,
.youth-event-carousel .carousel-indicators,
.youth-story-carousel .carousel-indicators,
.who-carousel .carousel-indicators,
.ministry-carousel .carousel-indicators,
.cover-carousel .carousel-indicators {
  right: auto;
  bottom: clamp(0.78rem, 2vw, 1.15rem);
  left: 50%;
  z-index: 13;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  gap: 0.32rem;
  margin: 0;
  padding: 0.25rem 0.38rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  background: var(--carousel-indicator-bg);
  box-shadow: 0 10px 24px rgba(5, 16, 28, 0.14);
  transform: translateX(-50%);
  backdrop-filter: blur(12px);
}

#homeHeroCarousel .carousel-indicators [data-bs-target],
.sermon-cover-carousel .carousel-indicators [data-bs-target],
.youth-hero-carousel .carousel-indicators [data-bs-target],
.youth-event-carousel .carousel-indicators [data-bs-target],
.youth-story-carousel .carousel-indicators [data-bs-target],
.who-carousel .carousel-indicators [data-bs-target],
.ministry-carousel .carousel-indicators [data-bs-target],
.cover-carousel .carousel-indicators [data-bs-target] {
  width: var(--carousel-dot-size);
  height: var(--carousel-dot-size);
  margin: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  padding: 0;
  opacity: 1;
  transition: width 180ms ease, background 180ms ease, opacity 180ms ease;
}

#homeHeroCarousel .carousel-indicators .active,
.sermon-cover-carousel .carousel-indicators .active,
.youth-hero-carousel .carousel-indicators .active,
.youth-event-carousel .carousel-indicators .active,
.youth-story-carousel .carousel-indicators .active,
.who-carousel .carousel-indicators .active,
.ministry-carousel .carousel-indicators .active,
.cover-carousel .carousel-indicators .active {
  width: var(--carousel-dot-active-width);
  background: linear-gradient(90deg, var(--accent), #f0c96e);
}

.youth-ministry-moments-block .youth-story-carousel .carousel-indicators {
  top: auto;
  bottom: clamp(0.8rem, 1.5vw, 1.1rem);
  left: 40%;
  transform: translateX(-50%);
}

#homeHeroCarousel .carousel-indicators {
  bottom: clamp(2.25rem, 4.2vw, 3.35rem);
  z-index: 30;
}

.youth-ministry-moments-block .youth-story-carousel .carousel-control-prev,
.youth-ministry-moments-block .youth-story-carousel .carousel-control-next {
  top: 50%;
}

.youth-ministry-moments-block .youth-story-carousel .carousel-control-next {
  right: calc(20% + clamp(0.75rem, 2vw, 1.25rem));
}

@media (max-width: 767.98px) {
  #homeHeroCarousel,
  .sermon-cover-carousel,
  .youth-hero-carousel,
  .youth-event-carousel,
  .youth-story-carousel,
  .who-carousel,
  .ministry-carousel,
  .cover-carousel {
    --carousel-control-size: 2.45rem;
    --carousel-dot-size: 0.34rem;
    --carousel-dot-active-width: 1rem;
  }

  #homeHeroCarousel .carousel-control-prev,
  #homeHeroCarousel .carousel-control-next,
  .sermon-cover-carousel .carousel-control-prev,
  .sermon-cover-carousel .carousel-control-next,
  .youth-hero-carousel .carousel-control-prev,
  .youth-hero-carousel .carousel-control-next {
    display: none;
  }

  #homeHeroCarousel .carousel-indicators,
  .sermon-cover-carousel .carousel-indicators,
  .youth-hero-carousel .carousel-indicators,
  .youth-event-carousel .carousel-indicators,
  .youth-story-carousel .carousel-indicators,
  .who-carousel .carousel-indicators,
  .ministry-carousel .carousel-indicators,
  .cover-carousel .carousel-indicators {
    gap: 0.24rem;
    padding: 0.2rem 0.3rem;
    background: rgba(20, 38, 63, 0.16);
  }

  .youth-ministry-moments-block .youth-story-carousel .carousel-indicators {
    top: clamp(9.85rem, 47vw, 18.75rem);
    bottom: auto;
    left: 50%;
  }

  .youth-ministry-moments-block .youth-story-carousel .carousel-control-prev,
  .youth-ministry-moments-block .youth-story-carousel .carousel-control-next {
    top: clamp(6.35rem, 31vw, 12.2rem);
  }

  .youth-ministry-moments-block .youth-story-carousel .carousel-control-next {
    right: clamp(0.75rem, 2.2vw, 1.65rem);
  }
}

/* Final sermon hero tuning: match Youth hero scale with a compact CTA. */
.sermon-cover-carousel,
.sermon-cover-slide,
.sermon-cover-content {
  min-height: clamp(430px, 52vw, 600px);
}

.sermon-cover-content {
  padding-block: clamp(3rem, 5vw, 4.5rem);
}

.sermon-cover-content [data-sermon-jump] {
  width: fit-content;
  min-height: 40px;
  padding: 0.55rem 1.05rem;
  font-size: 0.92rem;
  line-height: 1;
  box-shadow: 0 14px 28px rgba(169, 124, 36, 0.2);
}

.sermon-cover-content h1,
.sermon-cover-content h2 {
  position: relative;
  width: fit-content;
}

.sermon-cover-content h1::after,
.sermon-cover-content h2::after {
  content: "";
  display: block;
  width: min(68%, 300px);
  height: 0.22rem;
  margin-top: 0.48rem;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent), rgba(255, 250, 242, 0.18));
  box-shadow: 0 10px 26px rgba(200, 155, 60, 0.22);
}

@media (max-width: 991.98px) {
  .sermon-cover-carousel,
  .sermon-cover-slide,
  .sermon-cover-content {
    min-height: clamp(420px, 54vw, 520px);
  }
}

@media (max-width: 767.98px) {
  .sermon-cover-carousel,
  .sermon-cover-slide,
  .sermon-cover-content {
    min-height: 420px;
  }

  .sermon-cover-content {
    padding-block: 3.1rem 3.6rem;
  }

  .sermon-cover-content [data-sermon-jump] {
    min-height: 38px;
    padding: 0.5rem 0.9rem;
    font-size: 0.86rem;
  }
}
