/* =====================================================
   CATHOLICG33K vNEXT — DESIGN PREVIEW 1.1
   Scope:
   - Homepage hero
   - Hero → Journey handoff
   - Homepage Start Your Journey portal cards

   Direction:
   - unmistakably CatholicG33k
   - quieter hierarchy
   - less empty height
   - editorial typography
   - more deliberate whitespace
   - fewer competing borders/effects
===================================================== */

body.cg33k-vnext {
  --cg-vnext-gold: #d9a300;
  --cg-vnext-gold-bright: #f2bd28;
  --cg-vnext-gold-soft: rgba(217, 163, 0, 0.20);
  --cg-vnext-ivory: #f3eee3;
  --cg-vnext-muted: rgba(226, 232, 240, 0.70);
  --cg-vnext-line: rgba(217, 163, 0, 0.18);
  --cg-vnext-line-strong: rgba(217, 163, 0, 0.34);
  --cg-vnext-surface: #05070d;
  --cg-vnext-surface-raised: #090c13;
  --cg-vnext-motion: 180ms ease;
}

/* =====================================================
   HOMEPAGE INTERACTIVE PRAYER
   Shared artwork: Rosary left, Stations right.
===================================================== */

body.cg33k-vnext-home .cg-interactive-prayer-home {
  position: relative;
  padding: clamp(4.75rem, 7vw, 6.75rem) 1.25rem !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(217, 163, 0, 0.045), transparent 34rem),
    #05070c !important;
  border-bottom: 1px solid var(--cg-vnext-line) !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-inner {
  width: min(100%, 1120px) !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-header {
  margin: 0 auto clamp(2rem, 3.5vw, 2.75rem) !important;
  text-align: center !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-cross {
  display: block !important;
  width: auto !important;
  height: 1.55rem !important;
  margin: 0 auto 0.95rem !important;
  object-fit: contain !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-header h2 {
  margin: 0 !important;
  color: var(--cg-vnext-ivory) !important;
  font-family: var(--cg-font-heading, Georgia, serif) !important;
  font-size: clamp(1.85rem, 3vw, 2.55rem) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  text-wrap: balance;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  min-height: clamp(400px, 40vw, 500px) !important;
  overflow: hidden !important;
  border: 1px solid var(--cg-vnext-line) !important;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.28) !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-panel {
  position: relative;
  min-width: 0 !important;
  overflow: hidden !important;
  background-color: #090c12 !important;
  background-image: url('https://catholicg33k.com/wp-content/uploads/2026/09/Interactive-Prayer.png') !important;
  background-repeat: no-repeat !important;
  background-size: 200% 100% !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-rosary {
  background-position: left center !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-stations {
  background-position: right center !important;
  border-left: 1px solid var(--cg-vnext-line) !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-panel::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: '';
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(3, 5, 9, 0.18) 0%, rgba(3, 5, 9, 0.16) 40%, rgba(3, 5, 9, 0.92) 100%),
    linear-gradient(90deg, rgba(3, 5, 9, 0.20), transparent 52%, rgba(3, 5, 9, 0.16));
  transition: background-color 260ms ease;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-link {
  position: relative;
  z-index: 1;
  display: flex !important;
  align-items: flex-end !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  padding: clamp(1.6rem, 3vw, 2.5rem) !important;
  box-sizing: border-box !important;
  color: inherit !important;
  text-decoration: none !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-content {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  width: 100% !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-eyebrow {
  color: var(--cg-vnext-ivory) !important;
  font-family: var(--cg-font-heading, Georgia, serif) !important;
  font-size: clamp(1.55rem, 2.6vw, 2.15rem) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.025em !important;
  text-wrap: balance;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-description {
  display: block !important;
  margin-top: 0.72rem !important;
  color: rgba(226, 232, 240, 0.82) !important;
  font-size: clamp(0.82rem, 1.3vw, 0.95rem) !important;
  line-height: 1.65 !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-description b {
  padding: 0 0.16em;
  color: var(--cg-vnext-gold-bright) !important;
  font-weight: 400 !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-button {
  min-width: 180px !important;
  min-height: 49px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-top: 1.25rem !important;
  padding: 0.84rem 1.25rem !important;

  box-sizing: border-box !important;

  color: var(--cg-bg, #07080e) !important;
  background: var(--cg-gold, #ffb200) !important;
  border: 1px solid var(--cg-gold, #ffb200) !important;
  border-radius: 0 !important;

  font-size: 0.66rem !important;
  letter-spacing: 0.12em !important;

  pointer-events: none;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-panel:hover::before,
body.cg33k-vnext-home .cg-interactive-prayer-home-panel:focus-within::before {
  background:
    linear-gradient(180deg, rgba(3, 5, 9, 0.08) 0%, rgba(3, 5, 9, 0.10) 40%, rgba(3, 5, 9, 0.88) 100%),
    linear-gradient(90deg, rgba(3, 5, 9, 0.12), transparent 52%, rgba(3, 5, 9, 0.10));
}

body.cg33k-vnext-home .cg-interactive-prayer-home-link:focus-visible {
  outline: 2px solid var(--cg-vnext-gold-bright) !important;
  outline-offset: -4px !important;
}

body.cg33k-vnext-home .cg-interactive-prayer-home-panel:hover .cg-interactive-prayer-home-button,
body.cg33k-vnext-home .cg-interactive-prayer-home-link:focus-visible .cg-interactive-prayer-home-button {
  color: var(--cg-bg, #07080e) !important;
  background: hsl(42 100% 50% / 0.9) !important;
  border-color: var(--cg-gold, #ffb200) !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 760px) {
  body.cg33k-vnext-home .cg-interactive-prayer-home {
    padding: 4rem 0.8rem !important;
  }

  body.cg33k-vnext-home .cg-interactive-prayer-home-grid {
    grid-template-columns: 1fr !important;
    min-height: 0 !important;
  }

  body.cg33k-vnext-home .cg-interactive-prayer-home-panel {
    min-height: clamp(330px, 92vw, 460px) !important;
  }

  body.cg33k-vnext-home .cg-interactive-prayer-home-stations {
    border-top: 1px solid var(--cg-vnext-line) !important;
    border-left: 0 !important;
  }

  body.cg33k-vnext-home .cg-interactive-prayer-home-link {
    min-height: clamp(330px, 92vw, 460px) !important;
    padding: 1.55rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-home .cg-interactive-prayer-home-panel::before {
    transition: none !important;
  }
}

/* =====================================================
   HOME HERO — POLISHED
===================================================== */

body.cg33k-vnext-home .cg-hero {
  position: relative;
  display: grid !important;
  place-items: center !important;

  height: auto !important;
  min-height: clamp(560px, 70svh, 660px) !important;

  margin: 0 !important;
  padding:
    clamp(2rem, 4.5vh, 3.5rem)
    clamp(1.25rem, 4vw, 3rem) !important;

  overflow: hidden;
  isolation: isolate;

  background: var(--cg-vnext-surface);
  border-bottom: 1px solid var(--cg-vnext-line);
}

body.cg33k-vnext-home .cg-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
}

body.cg33k-vnext-home .cg-hero-bg img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  display: block !important;
  object-fit: cover !important;
  object-position: center 56% !important;

  opacity: 0.92;
  transform: scale(1.012);

  filter:
    saturate(0.88)
    contrast(1.04)
    brightness(0.84);
}

body.cg33k-vnext-home .cg-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;

  background:
    linear-gradient(
      180deg,
      rgba(3, 5, 10, 0.52) 0%,
      rgba(3, 5, 10, 0.16) 28%,
      rgba(3, 5, 10, 0.12) 56%,
      rgba(3, 5, 10, 0.62) 100%
    ),
    radial-gradient(
      circle at 50% 45%,
      rgba(0, 0, 0, 0.01) 0%,
      rgba(0, 0, 0, 0.08) 48%,
      rgba(0, 0, 0, 0.34) 100%
    );
}

body.cg33k-vnext-home .cg-hero-content {
  position: relative !important;
  z-index: 2 !important;

  width: min(100%, 760px) !important;
  margin: 0 auto !important;
  padding: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  text-align: center !important;

  /*
   * Slight upward move approved after the 1.0 preview.
   * Keeps the full CTA group centered while allowing the next section
   * to enter the first viewport sooner.
   */
  transform: translateY(-2.25rem);
}

body.cg33k-vnext-home .cg-hero-logo {
  width: clamp(170px, 17vw, 245px) !important;
  max-width: 245px !important;
  height: auto !important;

  margin: 0 0 clamp(1rem, 2vh, 1.45rem) !important;

  filter:
    drop-shadow(0 14px 30px rgba(0, 0, 0, 0.46))
    drop-shadow(0 0 15px rgba(217, 163, 0, 0.11));
}

body.cg33k-vnext-home .cg-hero-kicker {
  max-width: 680px !important;
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family: var(--cg-font-heading, Georgia, serif) !important;
  font-size: clamp(1.02rem, 1.5vw, 1.30rem) !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.56);
}

body.cg33k-vnext-home .cg-hero-subkicker {
  margin:
    clamp(0.7rem, 1.6vh, 0.95rem)
    0
    0 !important;

  color: var(--cg-vnext-gold-bright) !important;

  font-family: var(--cg-font-mono, ui-monospace, monospace) !important;
  font-size: clamp(0.65rem, 0.78vw, 0.76rem) !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-home .cg-hero-subkicker::after {
  content: "";
  display: block;

  width: 50px;
  height: 1px;

  margin: clamp(0.95rem, 1.8vh, 1.2rem) auto 0;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(217, 163, 0, 0.68),
    transparent
  );
}

body.cg33k-vnext-home .cg-hero-actions {
  margin-top: clamp(1.05rem, 2vh, 1.4rem) !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
}

body.cg33k-vnext-home .cg-hero-actions .cg-btn {
  min-width: 185px !important;
  min-height: 50px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0.86rem 1.4rem !important;

  border-radius: 0 !important;

  font-size: 0.69rem !important;
  line-height: 1.2 !important;
  letter-spacing: 0.13em !important;

  transition:
    transform var(--cg-vnext-motion),
    border-color var(--cg-vnext-motion),
    background-color var(--cg-vnext-motion),
    color var(--cg-vnext-motion) !important;
}

body.cg33k-vnext-home .cg-hero-actions .cg-btn:hover,
body.cg33k-vnext-home .cg-hero-actions .cg-btn:focus-visible {
  transform: translateY(-2px);
}

body.cg33k-vnext-home .cg-hero-actions .cg-btn-light {
  background: rgba(5, 7, 13, 0.20) !important;
  border-color: rgba(243, 238, 227, 0.32) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.cg33k-vnext-home .cg-hero-actions .cg-btn-light:hover,
body.cg33k-vnext-home .cg-hero-actions .cg-btn-light:focus-visible {
  background: rgba(5, 7, 13, 0.42) !important;
  border-color: rgba(217, 163, 0, 0.48) !important;
}

/* =====================================================
   HERO → JOURNEY HANDOFF
===================================================== */

body.cg33k-vnext-home .cg-hero + .cg-section {
  position: relative;

  padding-top: clamp(4.3rem, 6vw, 5.5rem) !important;
  padding-bottom: clamp(5rem, 7vw, 7rem) !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.032),
      transparent 34rem
    ),
    linear-gradient(
      180deg,
      #05070d 0%,
      #06080e 100%
    ) !important;
}

body.cg33k-vnext-home .cg-hero + .cg-section::before {
  content: "☩";

  position: absolute;
  top: 1.75rem;
  left: 50%;

  transform: translateX(-50%);

  color: var(--cg-vnext-gold);
  font-size: 0.94rem;
  line-height: 1;
  opacity: 0.90;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-container {
  width: min(100% - 2rem, 1120px) !important;
  max-width: 1120px !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-star {
  display: none !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-header {
  max-width: 760px;
  margin:
    0 auto
    clamp(2.4rem, 4vw, 3.25rem) !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-section-title {
  margin-top: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-size: clamp(1.85rem, 3vw, 2.55rem) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

/* =====================================================
   START YOUR JOURNEY — PORTAL CARDS
===================================================== */

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  max-width: 1080px;
  margin: 0 auto;

  gap: clamp(1rem, 2vw, 1.35rem) !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-card {
  position: relative;

  display: flex !important;
  flex-direction: column !important;

  min-height: 100%;

  overflow: hidden !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.020),
      rgba(255, 255, 255, 0.004)
    ),
    var(--cg-vnext-surface-raised) !important;

  border: 1px solid var(--cg-vnext-line) !important;
  border-radius: 0 !important;

  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.16) !important;

  transition:
    transform var(--cg-vnext-motion),
    border-color var(--cg-vnext-motion),
    box-shadow var(--cg-vnext-motion) !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-card::before {
  content: "";

  position: absolute;
  inset: 0 0 auto 0;
  z-index: 3;

  width: 100%;
  height: 1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(217, 163, 0, 0.62),
    transparent
  );

  pointer-events: none;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-card:hover {
  transform: translateY(-3px);

  border-color: var(--cg-vnext-line-strong) !important;

  box-shadow:
    0 22px 50px rgba(0, 0, 0, 0.22) !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-img {
  position: relative;

  height: clamp(180px, 20vw, 230px) !important;

  overflow: hidden;
  background: #080b11;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-img img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center !important;

  transform: scale(1.01);
  filter:
    saturate(0.90)
    contrast(1.02)
    brightness(0.88);

  transition:
    transform 420ms ease,
    filter 420ms ease !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-card:hover
  .cg-journey-img img {
  transform: scale(1.025) !important;
  filter:
    saturate(0.96)
    contrast(1.02)
    brightness(0.94);
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-img::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    linear-gradient(
      180deg,
      transparent 54%,
      rgba(9, 12, 19, 0.84) 100%
    ) !important;

  pointer-events: none;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-body {
  display: flex !important;
  flex: 1 !important;
  flex-direction: column !important;

  padding:
    clamp(1.4rem, 2.4vw, 1.8rem)
    clamp(1.35rem, 2.4vw, 1.75rem)
    clamp(1.45rem, 2.5vw, 1.9rem) !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-body h3 {
  margin: 0 0 0.72rem !important;

  color: var(--cg-vnext-ivory) !important;

  font-family: var(--cg-font-heading, Georgia, serif) !important;
  font-size: clamp(1.12rem, 1.6vw, 1.34rem) !important;
  font-weight: 500 !important;
  line-height: 1.30 !important;
  letter-spacing: 0.025em !important;
  text-transform: none !important;

  text-wrap: balance;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-journey-body p {
  flex: 1;

  margin: 0 0 1.15rem !important;

  color: var(--cg-vnext-muted) !important;

  font-size: 0.91rem !important;
  line-height: 1.72 !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-read-more {
  align-self: flex-start;

  margin-top: auto !important;

  color: var(--cg-vnext-gold-bright) !important;

  font-family: var(--cg-font-mono, ui-monospace, monospace) !important;
  font-size: 0.67rem !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: 0.13em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;

  transition:
    color var(--cg-vnext-motion),
    transform var(--cg-vnext-motion) !important;
}

body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-read-more:hover,
body.cg33k-vnext-home
  .cg-hero
  + .cg-section
  .cg-read-more:focus-visible {
  color: var(--cg-vnext-ivory) !important;
  transform: translateX(2px);
}

/* =====================================================
   MOTION / ACCESSIBILITY
===================================================== */

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-home .cg-hero-bg img,
  body.cg33k-vnext-home .cg-hero-actions .cg-btn,
  body.cg33k-vnext-home .cg-journey-card,
  body.cg33k-vnext-home .cg-journey-img img,
  body.cg33k-vnext-home .cg-read-more {
    transform: none !important;
    transition: none !important;
  }
}

/* =====================================================
   TABLET
===================================================== */

@media (max-width: 900px) {
  body.cg33k-vnext-home .cg-hero {
    min-height: clamp(560px, 74svh, 650px) !important;
  }

  body.cg33k-vnext-home .cg-hero-content {
    transform: translateY(-1rem);
  }

  body.cg33k-vnext-home
    .cg-hero
    + .cg-section
    .cg-journey-grid {
    grid-template-columns: 1fr !important;
    max-width: 680px;
  }

  body.cg33k-vnext-home
    .cg-hero
    + .cg-section
    .cg-journey-img {
    height: clamp(190px, 42vw, 280px) !important;
  }
}

/* =====================================================
   PHONE
===================================================== */

@media (max-width: 782px) {
  body.cg33k-vnext-home .cg-hero {
    min-height: clamp(560px, 76svh, 640px) !important;

    padding:
      clamp(1.85rem, 4.5vh, 2.8rem)
      1.15rem !important;
  }

  body.cg33k-vnext-home .cg-hero-content {
    transform: none;
  }

  body.cg33k-vnext-home .cg-hero-logo {
    width: clamp(150px, 44vw, 210px) !important;
    margin-bottom: 1.05rem !important;
  }

  body.cg33k-vnext-home .cg-hero-kicker {
    font-size: clamp(0.94rem, 4vw, 1.10rem) !important;
    line-height: 1.52 !important;
    letter-spacing: 0.10em !important;
  }

  body.cg33k-vnext-home .cg-hero-subkicker {
    max-width: 24rem;

    font-size: 0.64rem !important;
    letter-spacing: 0.17em !important;
  }

  body.cg33k-vnext-home .cg-hero-actions {
    width: min(100%, 430px);
    gap: 0.62rem !important;
  }

  body.cg33k-vnext-home .cg-hero-actions .cg-btn {
    flex: 1 1 180px;
    min-width: 0 !important;
    min-height: 49px !important;
  }

  body.cg33k-vnext-home .cg-hero + .cg-section {
    padding-top: 4.25rem !important;
    padding-bottom: 5rem !important;
  }

  body.cg33k-vnext-home
    .cg-hero
    + .cg-section
    .cg-container {
    width: min(100% - 1.35rem, 680px) !important;
  }

  body.cg33k-vnext-home
    .cg-hero
    + .cg-section
    .cg-section-title {
    font-size: clamp(1.65rem, 8vw, 2.2rem) !important;
    letter-spacing: 0.075em !important;
  }
}

@media (max-width: 520px) {
  body.cg33k-vnext-home .cg-hero {
    min-height: 590px !important;
  }

  body.cg33k-vnext-home .cg-hero-actions {
    flex-direction: column !important;
  }

  body.cg33k-vnext-home .cg-hero-actions .cg-btn {
    width: min(100%, 300px) !important;
    flex: none !important;
  }

  body.cg33k-vnext-home
    .cg-hero
    + .cg-section
    .cg-journey-img {
    height: 180px !important;
  }

  body.cg33k-vnext-home
    .cg-hero
    + .cg-section
    .cg-journey-body {
    padding: 1.3rem 1.2rem 1.45rem !important;
  }

  body.cg33k-vnext-home
    .cg-hero
    + .cg-section
    .cg-journey-body h3 {
    font-size: 1.12rem !important;
  }
}


/* =====================================================
   CATHOLICG33K vNEXT 1.2
   AQUINAS QUIET SECTION
===================================================== */

body.cg33k-vnext-home .cg-quote-banner {
  position: relative !important;

  min-height: clamp(330px, 44vw, 430px) !important;

  display: grid !important;
  place-items: center !important;

  overflow: hidden !important;
  isolation: isolate;

  border-top: 1px solid var(--cg-vnext-line) !important;
  border-bottom: 1px solid var(--cg-vnext-line) !important;

  background: #070910 !important;
}

body.cg33k-vnext-home .cg-quote-bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}

body.cg33k-vnext-home .cg-quote-bg img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: center 42% !important;

  opacity: 0.62 !important;

  filter:
    saturate(0.82)
    contrast(1.04)
    brightness(0.72) !important;

  transform: scale(1.02);
}

body.cg33k-vnext-home .cg-quote-banner::before {
  content: "";

  position: absolute;
  inset: 0;
  z-index: 1;

  pointer-events: none;

  background:
    linear-gradient(
      90deg,
      rgba(5, 7, 13, 0.78) 0%,
      rgba(5, 7, 13, 0.42) 28%,
      rgba(5, 7, 13, 0.36) 72%,
      rgba(5, 7, 13, 0.78) 100%
    ),
    linear-gradient(
      180deg,
      rgba(5, 7, 13, 0.42) 0%,
      rgba(5, 7, 13, 0.18) 48%,
      rgba(5, 7, 13, 0.56) 100%
    );
}

body.cg33k-vnext-home .cg-quote-content {
  position: relative !important;
  z-index: 2 !important;

  width: min(100% - 2rem, 860px) !important;
  max-width: 860px !important;

  margin: 0 auto !important;
  padding:
    clamp(3.5rem, 7vw, 5.5rem)
    1rem !important;

  text-align: center !important;
}

body.cg33k-vnext-home .cg-quote-content::before {
  content: "☩";

  display: block;

  margin: 0 auto 1.25rem;

  color: var(--cg-vnext-gold-bright);
  font-size: 0.92rem;
  line-height: 1;
  opacity: 0.90;
}

body.cg33k-vnext-home .cg-quote-content blockquote {
  max-width: 800px;
  margin: 0 auto !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: clamp(1.28rem, 2.45vw, 1.82rem) !important;
  font-weight: 400 !important;
  line-height: 1.62 !important;

  font-style: italic !important;

  text-wrap: balance;

  text-shadow:
    0 2px 16px rgba(0, 0, 0, 0.55);
}

body.cg33k-vnext-home .cg-quote-content p {
  margin: 1.5rem 0 0 !important;

  color: var(--cg-vnext-gold-bright) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: clamp(0.62rem, 0.85vw, 0.72rem) !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;

  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* =====================================================
   EXPLORE THE FAITH — DIRECTORY PORTALS
===================================================== */

body.cg33k-vnext-home .cg-explore {
  position: relative;

  padding-top: clamp(5rem, 7vw, 7rem) !important;
  padding-bottom: clamp(5.5rem, 8vw, 7.5rem) !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.025),
      transparent 30rem
    ),
    #05070d !important;

  border-top: 0 !important;
  border-bottom: 1px solid var(--cg-vnext-line) !important;
}

body.cg33k-vnext-home .cg-explore .cg-container-sm {
  width: min(100% - 2rem, 1080px) !important;
  max-width: 1080px !important;
}

body.cg33k-vnext-home .cg-explore .cg-journey-header {
  max-width: 720px;

  margin:
    0 auto
    clamp(2.2rem, 4vw, 3.2rem) !important;

  text-align: center;
}

body.cg33k-vnext-home .cg-explore .cg-section-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: clamp(1.9rem, 3vw, 2.55rem) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;

  letter-spacing: 0.10em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-home .cg-explore .cg-section-title::after {
  content: "";

  display: block;

  width: 54px;
  height: 1px;

  margin: 1.15rem auto 0;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(217, 163, 0, 0.68),
    transparent
  );
}

body.cg33k-vnext-home .cg-faith-icon-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;

  max-width: 980px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  gap: 0.9rem !important;
}

body.cg33k-vnext-home .cg-faith-icon-card {
  position: relative;

  min-height: 150px;

  display: grid !important;
  grid-template-columns: 78px 1fr !important;
  align-items: center !important;

  gap: 1.15rem !important;

  padding: 1.25rem 1.35rem !important;

  text-align: left !important;
  text-decoration: none !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.018),
      rgba(255, 255, 255, 0.004)
    ),
    var(--cg-vnext-surface-raised) !important;

  border: 1px solid var(--cg-vnext-line) !important;
  border-radius: 0 !important;

  box-shadow:
    0 14px 36px rgba(0, 0, 0, 0.13);

  transition:
    transform var(--cg-vnext-motion),
    border-color var(--cg-vnext-motion),
    background-color var(--cg-vnext-motion),
    box-shadow var(--cg-vnext-motion) !important;
}

body.cg33k-vnext-home .cg-faith-icon-card::after {
  content: "→";

  position: absolute;
  right: 1.05rem;
  bottom: 0.85rem;

  color: rgba(217, 163, 0, 0.66);

  font-family:
    var(--cg-font-mono, ui-monospace, monospace);

  font-size: 0.78rem;
  line-height: 1;

  transition:
    color var(--cg-vnext-motion),
    transform var(--cg-vnext-motion);
}

body.cg33k-vnext-home .cg-faith-icon-card:hover,
body.cg33k-vnext-home .cg-faith-icon-card:focus-visible {
  transform: translateY(-2px) !important;

  border-color: var(--cg-vnext-line-strong) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.026),
      rgba(255, 255, 255, 0.006)
    ),
    #0a0d14 !important;

  box-shadow:
    0 18px 42px rgba(0, 0, 0, 0.19);
}

body.cg33k-vnext-home .cg-faith-icon-card:hover::after,
body.cg33k-vnext-home .cg-faith-icon-card:focus-visible::after {
  color: var(--cg-vnext-gold-bright);
  transform: translateX(2px);
}

body.cg33k-vnext-home .cg-faith-icon-card img {
  width: 74px !important;
  height: 74px !important;
  max-width: none !important;

  display: block !important;

  margin: 0 !important;

  object-fit: contain !important;

  border-radius: 50% !important;

  filter:
    drop-shadow(0 0 10px rgba(217, 163, 0, 0.18)) !important;

  transform: none !important;

  transition:
    filter var(--cg-vnext-motion),
    transform var(--cg-vnext-motion) !important;
}

body.cg33k-vnext-home .cg-faith-icon-card:hover img,
body.cg33k-vnext-home .cg-faith-icon-card:focus-visible img {
  transform: scale(1.025) !important;

  filter:
    drop-shadow(0 0 14px rgba(217, 163, 0, 0.30)) !important;
}

body.cg33k-vnext-home .cg-faith-icon-card span {
  display: block !important;

  padding-right: 1rem;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: clamp(0.92rem, 1.2vw, 1.05rem) !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.025em !important;
  text-transform: none !important;

  text-align: left !important;
  white-space: normal !important;
}

body.cg33k-vnext-home
  .cg-explore
  .cg-container-sm
  > div[style*="text-align:center"] {
  margin-top: clamp(2.2rem, 4vw, 3rem) !important;
}

body.cg33k-vnext-home
  .cg-explore
  .cg-btn-outline {
  min-width: 205px;

  padding: 0.9rem 1.45rem !important;

  background: transparent !important;

  border-color: rgba(243, 238, 227, 0.26) !important;

  color: var(--cg-vnext-ivory) !important;

  font-size: 0.68rem !important;
  letter-spacing: 0.13em !important;

  box-shadow: none !important;
}

body.cg33k-vnext-home
  .cg-explore
  .cg-btn-outline:hover,
body.cg33k-vnext-home
  .cg-explore
  .cg-btn-outline:focus-visible {
  background: rgba(217, 163, 0, 0.07) !important;
  border-color: rgba(217, 163, 0, 0.46) !important;
  color: var(--cg-vnext-gold-bright) !important;
}

/* =====================================================
   vNEXT 1.2 RESPONSIVE
===================================================== */

@media (max-width: 900px) {
  body.cg33k-vnext-home .cg-faith-icon-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 720px !important;
  }
}

@media (max-width: 640px) {
  body.cg33k-vnext-home .cg-quote-banner {
    min-height: 360px !important;
  }

  body.cg33k-vnext-home .cg-quote-content {
    width: min(100% - 1.2rem, 620px) !important;

    padding:
      3.25rem
      0.6rem !important;
  }

  body.cg33k-vnext-home .cg-quote-content blockquote {
    font-size: clamp(1.08rem, 5vw, 1.35rem) !important;
    line-height: 1.58 !important;
  }

  body.cg33k-vnext-home .cg-explore {
    padding-top: 4.5rem !important;
    padding-bottom: 5rem !important;
  }

  body.cg33k-vnext-home .cg-explore .cg-container-sm {
    width: min(100% - 1.25rem, 620px) !important;
  }

  body.cg33k-vnext-home .cg-faith-icon-grid {
    grid-template-columns: 1fr !important;
    max-width: 520px !important;
  }

  body.cg33k-vnext-home .cg-faith-icon-card {
    min-height: 112px;

    grid-template-columns: 64px 1fr !important;

    padding: 1rem 1.05rem !important;
  }

  body.cg33k-vnext-home .cg-faith-icon-card img {
    width: 60px !important;
    height: 60px !important;
  }

  body.cg33k-vnext-home .cg-faith-icon-card span {
    font-size: 0.98rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-home .cg-quote-bg img,
  body.cg33k-vnext-home .cg-faith-icon-card,
  body.cg33k-vnext-home .cg-faith-icon-card img,
  body.cg33k-vnext-home .cg-faith-icon-card::after {
    transform: none !important;
    transition: none !important;
  }
}


/* =====================================================
   CATHOLICG33K vNEXT 1.2.1 POLISH
   - Restore Explore the Faith to an elegant icon row
   - Make St. Thomas Aquinas clearly visible again
===================================================== */

/* -----------------------------------------------------
   AQUINAS: preserve the contemplative treatment without
   burying the portrait in black.
----------------------------------------------------- */

body.cg33k-vnext-home .cg-quote-bg img {
  opacity: 0.88 !important;

  object-position: center 39% !important;

  filter:
    saturate(0.88)
    contrast(1.02)
    brightness(0.88) !important;

  transform: scale(1.01) !important;
}

body.cg33k-vnext-home .cg-quote-banner::before {
  background:
    radial-gradient(
      ellipse at 50% 54%,
      rgba(5, 7, 13, 0.54) 0%,
      rgba(5, 7, 13, 0.38) 35%,
      rgba(5, 7, 13, 0.18) 62%,
      rgba(5, 7, 13, 0.34) 100%
    ),
    linear-gradient(
      180deg,
      rgba(5, 7, 13, 0.22) 0%,
      rgba(5, 7, 13, 0.08) 40%,
      rgba(5, 7, 13, 0.32) 100%
    ) !important;
}

body.cg33k-vnext-home .cg-quote-content blockquote {
  text-shadow:
    0 2px 8px rgba(0, 0, 0, 0.78),
    0 0 26px rgba(0, 0, 0, 0.42) !important;
}

/* -----------------------------------------------------
   EXPLORE THE FAITH: return to the original visual idea.
   The icons themselves carry the section.
----------------------------------------------------- */

body.cg33k-vnext-home .cg-explore {
  padding-top: clamp(4.6rem, 6.5vw, 6.3rem) !important;
  padding-bottom: clamp(4.8rem, 6.5vw, 6.3rem) !important;
}

body.cg33k-vnext-home .cg-explore .cg-container-sm {
  width: min(100% - 2rem, 1220px) !important;
  max-width: 1220px !important;
}

body.cg33k-vnext-home .cg-explore .cg-journey-header {
  margin-bottom: clamp(2.6rem, 4vw, 3.35rem) !important;
}

/*
 * Desktop: one centered row of nine.
 * The section feels like a curated theological index rather than a card grid.
 */
body.cg33k-vnext-home .cg-faith-icon-grid {
  display: grid !important;
  grid-template-columns: repeat(9, minmax(0, 1fr)) !important;

  width: min(100%, 1120px) !important;
  max-width: 1120px !important;

  margin: 0 auto !important;
  padding: 0 !important;

  gap: clamp(0.75rem, 1.25vw, 1.25rem) !important;
}

body.cg33k-vnext-home .cg-faith-icon-card {
  position: relative;

  min-width: 0 !important;
  min-height: 0 !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 0 !important;

  padding: 0.55rem 0.25rem 0.7rem !important;

  text-align: center !important;
  text-decoration: none !important;

  background: transparent !important;

  border: 0 !important;
  border-radius: 0 !important;

  box-shadow: none !important;

  transition:
    transform var(--cg-vnext-motion),
    opacity var(--cg-vnext-motion) !important;
}

body.cg33k-vnext-home .cg-faith-icon-card::after {
  display: none !important;
  content: none !important;
}

body.cg33k-vnext-home .cg-faith-icon-card:hover,
body.cg33k-vnext-home .cg-faith-icon-card:focus-visible {
  transform: translateY(-3px) !important;

  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.cg33k-vnext-home .cg-faith-icon-card img {
  width: clamp(72px, 5.6vw, 88px) !important;
  height: clamp(72px, 5.6vw, 88px) !important;
  max-width: none !important;

  margin: 0 auto 0.9rem !important;

  object-fit: contain !important;

  border-radius: 50% !important;

  filter:
    drop-shadow(0 0 8px rgba(217, 163, 0, 0.16)) !important;

  transition:
    transform 220ms ease,
    filter 220ms ease !important;
}

body.cg33k-vnext-home .cg-faith-icon-card:hover img,
body.cg33k-vnext-home .cg-faith-icon-card:focus-visible img {
  transform: scale(1.055) !important;

  filter:
    drop-shadow(0 0 14px rgba(217, 163, 0, 0.34)) !important;
}

body.cg33k-vnext-home .cg-faith-icon-card span {
  display: block !important;

  width: 100% !important;
  max-width: 105px !important;

  padding: 0 !important;
  margin: 0 auto !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: clamp(0.72rem, 0.86vw, 0.88rem) !important;
  font-weight: 500 !important;
  line-height: 1.28 !important;

  letter-spacing: 0.035em !important;
  text-transform: uppercase !important;

  text-align: center !important;
  white-space: normal !important;

  transition:
    color var(--cg-vnext-motion) !important;
}

body.cg33k-vnext-home .cg-faith-icon-card:hover span,
body.cg33k-vnext-home .cg-faith-icon-card:focus-visible span {
  color: var(--cg-vnext-gold-bright) !important;
}

/* View All Teachings gets a little more breathing room below the row. */
body.cg33k-vnext-home
  .cg-explore
  .cg-container-sm
  > div[style*="text-align:center"] {
  margin-top: clamp(2.7rem, 4vw, 3.4rem) !important;
}

/* -----------------------------------------------------
   RESPONSIVE WRAPPING
----------------------------------------------------- */

@media (max-width: 1180px) {
  body.cg33k-vnext-home .cg-faith-icon-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    width: min(100%, 760px) !important;
    row-gap: 1.9rem !important;
  }
}

@media (max-width: 760px) {
  body.cg33k-vnext-home .cg-faith-icon-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: min(100%, 520px) !important;
    gap: 1.6rem 1rem !important;
  }

  body.cg33k-vnext-home .cg-faith-icon-card img {
    width: 76px !important;
    height: 76px !important;
  }

  body.cg33k-vnext-home .cg-faith-icon-card span {
    max-width: 110px !important;
    font-size: 0.78rem !important;
  }
}

@media (max-width: 430px) {
  body.cg33k-vnext-home .cg-faith-icon-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    width: 100% !important;
    gap: 1.4rem 0.55rem !important;
  }

  body.cg33k-vnext-home .cg-faith-icon-card img {
    width: 64px !important;
    height: 64px !important;
    margin-bottom: 0.68rem !important;
  }

  body.cg33k-vnext-home .cg-faith-icon-card span {
    max-width: 90px !important;
    font-size: 0.68rem !important;
    line-height: 1.22 !important;
  }
}


/* =====================================================
   CATHOLICG33K vNEXT 1.3
   CATHOLIC LIBRARY + PRAYER COMMUNITY
===================================================== */

/* -----------------------------------------------------
   CATHOLIC LIBRARY
   Four existing resources become quiet visual portals.
----------------------------------------------------- */

body.cg33k-vnext-home .cg-library-section {
  position: relative;

  padding-top: clamp(5rem, 7vw, 7rem) !important;
  padding-bottom: clamp(5.5rem, 7.5vw, 7.5rem) !important;

  overflow: hidden !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(153, 111, 35, 0.055),
      transparent 34rem
    ),
    linear-gradient(
      180deg,
      #06080d 0%,
      #070a10 100%
    ) !important;

  border-top: 1px solid var(--cg-vnext-line) !important;
  border-bottom: 1px solid var(--cg-vnext-line) !important;
}

body.cg33k-vnext-home .cg-library-section::before {
  opacity: 0.16 !important;

  background-size: 80px 80px !important;

  -webkit-mask-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,0.65),
      rgba(0,0,0,0.14) 72%,
      transparent
    );
  mask-image:
    linear-gradient(
      180deg,
      rgba(0,0,0,0.65),
      rgba(0,0,0,0.14) 72%,
      transparent
    );
}

body.cg33k-vnext-home .cg-library-section .cg-container {
  width: min(100% - 2rem, 1160px) !important;
  max-width: 1160px !important;
}

body.cg33k-vnext-home .cg-library-header {
  max-width: 760px !important;

  margin:
    0 auto
    clamp(2.6rem, 4vw, 3.4rem) !important;

  text-align: center !important;
}

body.cg33k-vnext-home .cg-library-cross {
  margin-bottom: 1rem !important;

  color: var(--cg-vnext-gold) !important;

  font-size: 1rem !important;
  opacity: 0.90;
}

body.cg33k-vnext-home .cg-library-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-size: clamp(1.95rem, 3.2vw, 2.7rem) !important;
  font-weight: 400 !important;
  line-height: 1.15 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-home .cg-library-intro {
  max-width: 650px !important;

  margin: 1rem auto 0 !important;

  color: var(--cg-vnext-muted) !important;

  font-size: clamp(0.96rem, 1.3vw, 1.08rem) !important;
  line-height: 1.72 !important;
}

/*
 * Keep the current 2×2 information architecture.
 * The visual weight shifts toward image + title rather than framed metadata.
 */
body.cg33k-vnext-home .cg-library-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  max-width: 1080px !important;

  margin: 0 auto !important;

  gap: clamp(1rem, 2vw, 1.35rem) !important;
}

body.cg33k-vnext-home .cg-library-card {
  position: relative;

  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-rows: auto 1fr auto !important;

  min-height: 0 !important;

  overflow: hidden !important;

  color: var(--cg-vnext-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.018),
      rgba(255, 255, 255, 0.004)
    ),
    #090c12 !important;

  border: 1px solid var(--cg-vnext-line) !important;
  border-radius: 0 !important;

  box-shadow:
    0 18px 46px rgba(0, 0, 0, 0.16) !important;

  transform: none !important;

  transition:
    transform var(--cg-vnext-motion),
    border-color var(--cg-vnext-motion),
    box-shadow var(--cg-vnext-motion) !important;
}

body.cg33k-vnext-home .cg-library-card:hover,
body.cg33k-vnext-home .cg-library-card:focus-within {
  transform: translateY(-3px) !important;

  border-color: var(--cg-vnext-line-strong) !important;

  box-shadow:
    0 22px 54px rgba(0, 0, 0, 0.23) !important;
}

body.cg33k-vnext-home .cg-library-image-link {
  position: relative;

  min-height: 0 !important;
  height: clamp(190px, 18vw, 245px) !important;

  overflow: hidden !important;

  background: #080b10 !important;
}

body.cg33k-vnext-home .cg-library-image-link::after {
  background:
    linear-gradient(
      180deg,
      transparent 58%,
      rgba(8, 11, 16, 0.82) 100%
    ) !important;
}

body.cg33k-vnext-home .cg-library-image {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;

  object-fit: cover !important;
  object-position: center !important;

  filter:
    saturate(0.86)
    contrast(1.02)
    brightness(0.84) !important;

  transform: scale(1.01);

  transition:
    transform 420ms ease,
    filter 420ms ease !important;
}

body.cg33k-vnext-home .cg-library-card:hover .cg-library-image,
body.cg33k-vnext-home .cg-library-card:focus-within .cg-library-image {
  transform: scale(1.025) !important;

  filter:
    saturate(0.92)
    contrast(1.02)
    brightness(0.90) !important;
}

body.cg33k-vnext-home .cg-library-body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;

  padding:
    clamp(1.35rem, 2vw, 1.7rem)
    clamp(1.3rem, 2vw, 1.65rem)
    1.25rem !important;
}

body.cg33k-vnext-home .cg-library-heading-link {
  color: inherit !important;

  text-decoration: none !important;
}

body.cg33k-vnext-home .cg-library-card h3 {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: clamp(1.15rem, 1.6vw, 1.4rem) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.025em !important;
  text-transform: none !important;
}

body.cg33k-vnext-home .cg-library-heading-link:hover h3,
body.cg33k-vnext-home .cg-library-heading-link:focus-visible h3 {
  color: var(--cg-vnext-gold-bright) !important;
}

body.cg33k-vnext-home .cg-library-divider {
  margin: 0.85rem 0 !important;

  color: var(--cg-vnext-gold) !important;

  font-size: 0.72rem !important;
  line-height: 1 !important;

  opacity: 0.78;
}

body.cg33k-vnext-home .cg-library-body p {
  margin: 0 0 1rem !important;

  color: var(--cg-vnext-muted) !important;

  font-size: 0.90rem !important;
  line-height: 1.72 !important;
}

body.cg33k-vnext-home .cg-library-action {
  margin-top: auto !important;

  color: var(--cg-vnext-gold-bright) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.66rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
}

body.cg33k-vnext-home .cg-library-action:hover,
body.cg33k-vnext-home .cg-library-action:focus-visible {
  color: var(--cg-vnext-ivory) !important;
}

body.cg33k-vnext-home .cg-library-meta {
  margin: 0 !important;

  padding: 0.82rem 1.35rem !important;

  color: rgba(226, 232, 240, 0.55) !important;

  background: rgba(255, 255, 255, 0.012) !important;

  border-top: 1px solid rgba(217, 163, 0, 0.10) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.57rem !important;
  line-height: 1.45 !important;

  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;
}

body.cg33k-vnext-home .cg-library-all {
  margin-top: clamp(2.3rem, 4vw, 3rem) !important;

  text-align: center !important;
}

body.cg33k-vnext-home .cg-library-all a {
  color: var(--cg-vnext-gold-bright) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
}

body.cg33k-vnext-home .cg-library-all a:hover,
body.cg33k-vnext-home .cg-library-all a:focus-visible {
  color: var(--cg-vnext-ivory) !important;
}

/* -----------------------------------------------------
   PRAYER COMMUNITY
   More chapel-like; less "promo card."
----------------------------------------------------- */

body.cg33k-vnext-home .cg-prayer-home-section {
  position: relative;

  padding:
    clamp(4.5rem, 7vw, 6.5rem)
    1.25rem !important;

  background:
    radial-gradient(
      circle at 70% 48%,
      rgba(217, 163, 0, 0.035),
      transparent 28rem
    ),
    #04060b !important;

  border-top: 0 !important;
  border-bottom: 1px solid var(--cg-vnext-line) !important;
}

body.cg33k-vnext-home .cg-prayer-home-card {
  position: relative;

  min-height: clamp(390px, 38vw, 500px) !important;
  max-width: 1120px !important;

  margin: 0 auto !important;

  overflow: hidden !important;

  display: flex !important;
  align-items: center !important;

  color: var(--cg-vnext-ivory) !important;

  background: #080a0f !important;

  border: 1px solid var(--cg-vnext-line) !important;
  border-radius: 0 !important;

  box-shadow:
    0 22px 58px rgba(0, 0, 0, 0.20) !important;
}

body.cg33k-vnext-home .cg-prayer-home-card::before {
  background-position: center right !important;

  transform: scale(1.005) !important;

  filter:
    saturate(0.82)
    contrast(1.02)
    brightness(0.84);
}

body.cg33k-vnext-home .cg-prayer-home-card::after {
  background:
    linear-gradient(
      90deg,
      rgba(3, 4, 8, 0.96) 0%,
      rgba(3, 4, 8, 0.90) 30%,
      rgba(3, 4, 8, 0.58) 52%,
      rgba(3, 4, 8, 0.16) 76%,
      rgba(3, 4, 8, 0.04) 100%
    ),
    linear-gradient(
      180deg,
      rgba(3, 4, 8, 0.12),
      rgba(3, 4, 8, 0.28)
    ) !important;
}

body.cg33k-vnext-home .cg-prayer-home-card:hover::before,
body.cg33k-vnext-home .cg-prayer-home-card:focus-within::before {
  transform: scale(1.015) !important;
}

body.cg33k-vnext-home .cg-prayer-home-main-link {
  border-radius: 0 !important;
}

body.cg33k-vnext-home .cg-prayer-home-content {
  width: min(58%, 620px) !important;

  padding:
    clamp(2rem, 4vw, 3.5rem) !important;
}

body.cg33k-vnext-home .cg-prayer-home-kicker {
  margin-bottom: 0.85rem !important;

  color: var(--cg-vnext-gold-bright) !important;

  font-size: clamp(0.65rem, 0.8vw, 0.74rem) !important;
  letter-spacing: 0.18em !important;
}

body.cg33k-vnext-home .cg-prayer-home-ornament {
  width: min(13rem, 72%) !important;

  margin-bottom: 1.2rem !important;
}

body.cg33k-vnext-home .cg-prayer-home-ornament::before,
body.cg33k-vnext-home .cg-prayer-home-ornament::after {
  background: rgba(217, 163, 0, 0.38) !important;
}

body.cg33k-vnext-home .cg-prayer-home-ornament img {
  width: 18px !important;
  height: 18px !important;
  flex-basis: 18px !important;
}

body.cg33k-vnext-home .cg-prayer-home-title {
  max-width: 14ch !important;

  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-size: clamp(2rem, 3.7vw, 3.6rem) !important;
  font-weight: 400 !important;
  line-height: 1.08 !important;

  letter-spacing: -0.01em !important;
  text-transform: none !important;

  text-wrap: balance;
}

body.cg33k-vnext-home .cg-prayer-home-copy {
  max-width: 34rem !important;

  margin: 1.2rem 0 0 !important;

  color: rgba(243, 238, 227, 0.76) !important;

  font-size: clamp(0.93rem, 1.25vw, 1.04rem) !important;
  line-height: 1.72 !important;
}

body.cg33k-vnext-home .cg-prayer-home-promise {
  margin: 0.9rem 0 0 !important;

  color: rgba(243, 238, 227, 0.56) !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 0.92rem !important;
  font-style: italic !important;
  line-height: 1.65 !important;
}

body.cg33k-vnext-home .cg-prayer-home-actions {
  margin-top: 1.6rem !important;

  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.7rem !important;

  pointer-events: auto !important;
}

body.cg33k-vnext-home .cg-prayer-home-button {
  min-width: 180px !important;
  min-height: 49px !important;

  padding: 0.84rem 1.25rem !important;

  border-radius: 0 !important;

  font-size: 0.66rem !important;
  letter-spacing: 0.12em !important;
}

body.cg33k-vnext-home
  .cg-prayer-home-actions
  .cg-btn-light {
  background: rgba(5, 7, 13, 0.24) !important;
  border-color: rgba(243, 238, 227, 0.28) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

/* =====================================================
   vNEXT 1.3 RESPONSIVE
===================================================== */

@media (max-width: 900px) {
  body.cg33k-vnext-home .cg-library-grid {
    grid-template-columns: 1fr !important;
    max-width: 680px !important;
  }

  body.cg33k-vnext-home .cg-library-image-link {
    height: clamp(210px, 40vw, 285px) !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-card {
    min-height: 440px !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-content {
    width: min(68%, 600px) !important;
  }
}

@media (max-width: 680px) {
  body.cg33k-vnext-home .cg-library-section {
    padding-top: 4.4rem !important;
    padding-bottom: 4.8rem !important;
  }

  body.cg33k-vnext-home .cg-library-section .cg-container {
    width: min(100% - 1.25rem, 620px) !important;
  }

  body.cg33k-vnext-home .cg-library-image-link {
    height: 190px !important;
  }

  body.cg33k-vnext-home .cg-library-body {
    padding: 1.25rem 1.15rem !important;
  }

  body.cg33k-vnext-home .cg-library-meta {
    padding: 0.72rem 1.15rem !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-section {
    padding:
      4rem
      0.75rem !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-card {
    min-height: 540px !important;

    align-items: flex-end !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-card::before {
    background-position: 68% center !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-card::after {
    background:
      linear-gradient(
        180deg,
        rgba(3, 4, 8, 0.14) 0%,
        rgba(3, 4, 8, 0.28) 32%,
        rgba(3, 4, 8, 0.92) 69%,
        rgba(3, 4, 8, 0.98) 100%
      ) !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-content {
    width: 100% !important;

    padding:
      2.25rem
      1.35rem !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-title {
    max-width: 18ch !important;

    font-size: clamp(1.9rem, 9vw, 2.8rem) !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-copy {
    max-width: 30rem !important;
  }
}

@media (max-width: 480px) {
  body.cg33k-vnext-home .cg-prayer-home-actions {
    flex-direction: column !important;
  }

  body.cg33k-vnext-home .cg-prayer-home-button {
    width: min(100%, 300px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-home .cg-library-card,
  body.cg33k-vnext-home .cg-library-image,
  body.cg33k-vnext-home .cg-prayer-home-card::before {
    transform: none !important;
    transition: none !important;
  }
}


/* =====================================================
   CATHOLICG33K vNEXT 1.4
   FINAL HOMEPAGE BAND
   - Latest Blogs
   - Verse of the Day
   - Support the Mission
===================================================== */

body.cg33k-vnext-home .cg-bottom-grid {
  position: relative;

  padding-top: clamp(5rem, 7vw, 6.5rem) !important;
  padding-bottom: clamp(5.5rem, 7vw, 7rem) !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.026),
      transparent 30rem
    ),
    linear-gradient(
      180deg,
      #05070d 0%,
      #04060a 100%
    ) !important;

  border-top: 0 !important;
  border-bottom: 1px solid var(--cg-vnext-line) !important;
}

body.cg33k-vnext-home .cg-bottom-grid .cg-container {
  width: min(100% - 2rem, 1160px) !important;
  max-width: 1160px !important;
}

/*
 * Keep the three-part information architecture.
 * These are utility/editorial panels, not promotional cards.
 */
body.cg33k-vnext-home .cg-bottom-layout {
  display: grid !important;
  grid-template-columns:
    minmax(0, 1.12fr)
    minmax(0, 1fr)
    minmax(0, 0.92fr) !important;

  align-items: stretch !important;

  gap: clamp(1rem, 1.8vw, 1.35rem) !important;
}

body.cg33k-vnext-home .cg-bottom-card {
  position: relative;

  min-height: 100% !important;

  display: flex !important;
  flex-direction: column !important;

  padding:
    clamp(1.55rem, 2.4vw, 2rem) !important;

  color: var(--cg-vnext-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.018),
      rgba(255, 255, 255, 0.004)
    ),
    #080b11 !important;

  border: 1px solid var(--cg-vnext-line) !important;
  border-radius: 0 !important;

  box-shadow:
    0 18px 44px rgba(0, 0, 0, 0.14) !important;

  transform: none !important;
}

body.cg33k-vnext-home .cg-bottom-card::before {
  content: "";

  position: absolute;
  inset: 0 0 auto 0 !important;

  width: 100% !important;
  height: 1px !important;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(217, 163, 0, 0.52),
      transparent
    ) !important;

  opacity: 0.78 !important;
}

body.cg33k-vnext-home .cg-bottom-card h3 {
  position: relative;

  margin: 0 0 1.35rem !important;
  padding: 0 0 0.9rem !important;

  color: var(--cg-vnext-ivory) !important;

  border: 0 !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: clamp(1.04rem, 1.4vw, 1.2rem) !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;

  text-align: left !important;
}

body.cg33k-vnext-home .cg-bottom-card h3::after {
  content: "";

  position: absolute;
  left: 0 !important;
  bottom: 0;

  width: 42px;
  height: 1px;

  transform: none !important;

  background: rgba(217, 163, 0, 0.62) !important;
}

/* -----------------------------------------------------
   LATEST BLOGS
----------------------------------------------------- */

body.cg33k-vnext-home .cg-mini-post {
  display: grid !important;
  grid-template-columns: 68px minmax(0, 1fr) !important;
  align-items: center !important;

  gap: 1rem !important;

  margin: 0 !important;
  padding: 0.9rem 0 !important;

  color: inherit !important;

  border-bottom:
    1px solid rgba(217, 163, 0, 0.09) !important;

  text-decoration: none !important;

  transition:
    opacity var(--cg-vnext-motion),
    transform var(--cg-vnext-motion) !important;
}

body.cg33k-vnext-home .cg-mini-post:first-of-type {
  padding-top: 0.15rem !important;
}

body.cg33k-vnext-home .cg-mini-post:last-of-type {
  border-bottom: 0 !important;
}

body.cg33k-vnext-home .cg-mini-post:hover,
body.cg33k-vnext-home .cg-mini-post:focus-visible {
  transform: translateX(2px) !important;
}

body.cg33k-vnext-home .cg-mini-post img {
  width: 68px !important;
  height: 68px !important;

  display: block !important;

  object-fit: cover !important;

  opacity: 0.88 !important;

  border: 1px solid rgba(217, 163, 0, 0.14) !important;
  border-radius: 0 !important;

  filter:
    saturate(0.86)
    contrast(1.02)
    brightness(0.88);
}

body.cg33k-vnext-home .cg-mini-post h4 {
  margin: 0 0 0.35rem !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.38 !important;

  letter-spacing: 0.015em !important;

  text-wrap: balance;
}

body.cg33k-vnext-home .cg-mini-post:hover h4,
body.cg33k-vnext-home .cg-mini-post:focus-visible h4 {
  color: var(--cg-vnext-gold-bright) !important;
}

body.cg33k-vnext-home .cg-mini-post p {
  margin: 0 !important;

  color: rgba(226, 232, 240, 0.62) !important;

  font-size: 0.78rem !important;
  line-height: 1.55 !important;
}

body.cg33k-vnext-home .cg-bottom-card > .cg-read-more {
  align-self: flex-start;

  margin-top: auto !important;
  padding-top: 1.2rem !important;

  color: var(--cg-vnext-gold-bright) !important;

  font-size: 0.66rem !important;
  letter-spacing: 0.12em !important;

  text-decoration: none !important;
}

/* -----------------------------------------------------
   VERSE OF THE DAY
   Override the shortcode's inline <style> rules intentionally.
----------------------------------------------------- */

body.cg33k-vnext-home .cg-votd-card {
  text-align: center !important;
}

body.cg33k-vnext-home .cg-votd-card .cg-votd-cross {
  width: 27px !important;
  height: auto !important;

  margin:
    0 auto
    0.9rem !important;

  opacity: 0.90 !important;

  filter:
    drop-shadow(0 0 8px rgba(217, 163, 0, 0.18));
}

body.cg33k-vnext-home .cg-votd-card h3 {
  text-align: center !important;
}

body.cg33k-vnext-home .cg-votd-card h3::after {
  left: 50% !important;
  transform: translateX(-50%) !important;
}

body.cg33k-vnext-home
  .cg-votd-card
  .cg-votd-box {
  width: 100% !important;
  min-height: 240px !important;

  margin: 0 0 1.15rem !important;

  padding:
    clamp(1.5rem, 3vw, 2.1rem) !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;

  gap: 0.95rem !important;

  color: var(--cg-vnext-ivory) !important;

  background:
    radial-gradient(
      circle at 50% 40%,
      rgba(217, 163, 0, 0.045),
      transparent 18rem
    ),
    rgba(255, 255, 255, 0.012) !important;

  border: 1px solid rgba(217, 163, 0, 0.12) !important;
  border-radius: 0 !important;

  text-align: center !important;
}

body.cg33k-vnext-home
  .cg-votd-card
  .cg-votd-text {
  max-width: 30rem !important;

  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: clamp(1rem, 1.55vw, 1.18rem) !important;
  font-style: italic !important;
  font-weight: 400 !important;
  line-height: 1.72 !important;

  text-align: center !important;
}

body.cg33k-vnext-home
  .cg-votd-card
  .cg-votd-reference {
  color: var(--cg-vnext-gold-bright) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: 0.84rem !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;

  text-decoration: none !important;
}

body.cg33k-vnext-home
  .cg-votd-card
  .cg-votd-version,
body.cg33k-vnext-home
  .cg-votd-card
  .cg-votd-status {
  margin: 0 !important;

  color: rgba(226, 232, 240, 0.54) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.59rem !important;
  line-height: 1.55 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
}

/* -----------------------------------------------------
   SUPPORT THE MISSION
   Less commercial, more mission-centered.
----------------------------------------------------- */

body.cg33k-vnext-home
  .cg-bottom-card:last-child {
  text-align: left !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.045),
      transparent 18rem
    ),
    #080b11 !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  > p {
  margin:
    0
    0
    0.9rem !important;

  color: rgba(226, 232, 240, 0.68) !important;

  font-size: 0.86rem !important;
  line-height: 1.72 !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  > p[style*="font-size:.9rem"] {
  margin: 0 0 1.3rem !important;

  color: rgba(226, 232, 240, 0.56) !important;

  font-size: 0.80rem !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-btn {
  width: 100% !important;
  min-height: 49px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin:
    0
    0
    0.65rem !important;

  padding: 0.85rem 1rem !important;

  border-radius: 0 !important;

  font-size: 0.64rem !important;
  line-height: 1.35 !important;

  letter-spacing: 0.10em !important;

  text-align: center !important;

  box-shadow: none !important;
}

/*
 * Remove the bright red fundraising visual language only in this
 * Homepage mission panel. The action remains prominent through gold.
 */
body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-btn-red {
  color: #090b10 !important;

  background: var(--cg-vnext-gold-bright) !important;

  border-color: var(--cg-vnext-gold-bright) !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-btn:not(.cg-btn-red) {
  color: var(--cg-vnext-ivory) !important;

  background: transparent !important;

  border-color: rgba(243, 238, 227, 0.24) !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-btn:not(.cg-btn-red):hover,
body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-btn:not(.cg-btn-red):focus-visible {
  color: var(--cg-vnext-gold-bright) !important;

  border-color: rgba(217, 163, 0, 0.44) !important;

  background: rgba(217, 163, 0, 0.045) !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  > p:last-child {
  margin-top: auto !important;
  padding-top: 1.1rem !important;

  color: rgba(243, 238, 227, 0.48) !important;

  font-family:
    Georgia,
    "Times New Roman",
    serif !important;

  font-size: 0.76rem !important;
  font-style: italic !important;
  line-height: 1.55 !important;

  letter-spacing: 0 !important;
  text-transform: none !important;
}

/* =====================================================
   vNEXT 1.4 RESPONSIVE
===================================================== */

@media (max-width: 980px) {
  body.cg33k-vnext-home .cg-bottom-layout {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  body.cg33k-vnext-home
    .cg-bottom-card:last-child {
    grid-column: 1 / -1 !important;

    width: min(100%, 680px) !important;

    justify-self: center !important;
  }
}

@media (max-width: 680px) {
  body.cg33k-vnext-home .cg-bottom-grid {
    padding-top: 4.5rem !important;
    padding-bottom: 5rem !important;
  }

  body.cg33k-vnext-home
    .cg-bottom-grid
    .cg-container {
    width: min(100% - 1.25rem, 620px) !important;
  }

  body.cg33k-vnext-home .cg-bottom-layout {
    grid-template-columns: 1fr !important;
  }

  body.cg33k-vnext-home
    .cg-bottom-card:last-child {
    grid-column: auto !important;
    width: 100% !important;
  }

  body.cg33k-vnext-home .cg-bottom-card {
    padding: 1.4rem 1.2rem !important;
  }

  body.cg33k-vnext-home .cg-mini-post {
    grid-template-columns: 60px minmax(0, 1fr) !important;
  }

  body.cg33k-vnext-home .cg-mini-post img {
    width: 60px !important;
    height: 60px !important;
  }

  body.cg33k-vnext-home
    .cg-votd-card
    .cg-votd-box {
    min-height: 220px !important;
    padding: 1.4rem 1.1rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-home .cg-mini-post {
    transform: none !important;
    transition: none !important;
  }
}


/* =====================================================
   CATHOLICG33K vNEXT 1.4.1
   SUPPORT THE MISSION — COMPACT ACTIONS
===================================================== */

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;

  gap: 0.7rem !important;

  margin:
    0.35rem
    0
    0 !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn {
  width: auto !important;
  min-width: 0 !important;
  min-height: 44px !important;

  margin: 0 !important;

  padding:
    0.72rem
    1.05rem !important;

  border-radius: 0 !important;

  font-size: 0.63rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;

  letter-spacing: 0.105em !important;
  text-transform: uppercase !important;

  white-space: nowrap !important;

  box-shadow: none !important;
}

/*
 * Primary action: gold, but not the oversized bright slab from 1.4.
 */
body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn-red {
  color: #07090d !important;

  background:
    linear-gradient(
      180deg,
      #e2ae25,
      #cf9815
    ) !important;

  border: 1px solid rgba(242, 189, 40, 0.78) !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn-red:hover,
body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn-red:focus-visible {
  background:
    linear-gradient(
      180deg,
      #edbd39,
      #dba51e
    ) !important;

  transform: translateY(-1px);
}

/* Secondary action: quiet outline. */
body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn:not(.cg-btn-red) {
  color: var(--cg-vnext-ivory) !important;

  background: transparent !important;

  border: 1px solid rgba(243, 238, 227, 0.24) !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn:not(.cg-btn-red):hover,
body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn:not(.cg-btn-red):focus-visible {
  color: var(--cg-vnext-gold-bright) !important;

  background: rgba(217, 163, 0, 0.04) !important;

  border-color: rgba(217, 163, 0, 0.42) !important;

  transform: translateY(-1px);
}

/*
 * Keep the concluding Scripture line closer to the actions.
 */
body.cg33k-vnext-home
  .cg-bottom-card:last-child
  > p:last-child {
  margin-top: 2.1rem !important;
  padding-top: 0 !important;
}

@media (max-width: 680px) {
  body.cg33k-vnext-home
    .cg-bottom-card:last-child
    .cg-vnext-mission-actions {
    align-items: stretch !important;
    flex-direction: column !important;

    width: min(100%, 300px) !important;
  }

  body.cg33k-vnext-home
    .cg-bottom-card:last-child
    .cg-vnext-mission-actions
    .cg-btn {
    width: 100% !important;
    justify-content: center !important;
  }
}


/* =====================================================
   CATHOLICG33K vNEXT 1.4.2
   SUPPORT THE MISSION — ACTION ALIGNMENT FIX
===================================================== */

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions {
  width: 100% !important;

  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

  align-items: stretch !important;
  justify-content: center !important;

  gap: 0.7rem !important;

  margin:
    0.45rem
    auto
    0 !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;

  padding:
    0.72rem
    0.82rem !important;

  text-align: center !important;
  white-space: nowrap !important;
}

/*
 * The mission column can become fairly narrow before the overall
 * three-column layout collapses. Switch to an intentional centered
 * stack instead of allowing flex-wrap to create a left-hanging pair.
 */
@media (max-width: 1180px) {
  body.cg33k-vnext-home
    .cg-bottom-card:last-child
    .cg-vnext-mission-actions {
    grid-template-columns: 1fr !important;

    width: min(100%, 210px) !important;
  }
}

/*
 * Once the bottom band reaches its medium two-column layout, the
 * mission card spans both columns and can comfortably use a row again.
 */
@media (min-width: 681px) and (max-width: 980px) {
  body.cg33k-vnext-home
    .cg-bottom-card:last-child
    .cg-vnext-mission-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;

    width: min(100%, 420px) !important;
  }
}

/* Phone: centered, equal-width stack. */
@media (max-width: 680px) {
  body.cg33k-vnext-home
    .cg-bottom-card:last-child
    .cg-vnext-mission-actions {
    grid-template-columns: 1fr !important;

    width: min(100%, 280px) !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

  body.cg33k-vnext-home
    .cg-bottom-card:last-child
    .cg-vnext-mission-actions
    .cg-btn {
    width: 100% !important;
  }
}


/* =====================================================
   CATHOLICG33K vNEXT 1.4.3
   SUPPORT THE MISSION — FINAL ACTION LAYOUT
   Always use a centered vertical pair.
===================================================== */

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions {
  width: min(100%, 220px) !important;

  display: grid !important;
  grid-template-columns: 1fr !important;

  gap: 0.65rem !important;

  margin:
    0.5rem
    auto
    0 !important;

  align-items: stretch !important;
  justify-items: stretch !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn {
  box-sizing: border-box !important;

  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;

  padding:
    0.72rem
    0.85rem !important;

  text-align: center !important;
  white-space: normal !important;

  transform: none !important;
}

body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn:hover,
body.cg33k-vnext-home
  .cg-bottom-card:last-child
  .cg-vnext-mission-actions
  .cg-btn:focus-visible {
  transform: translateY(-1px) !important;
}

/*
 * Override the earlier row rules from 1.4.2 at every responsive width.
 */
@media (min-width: 681px) and (max-width: 980px) {
  body.cg33k-vnext-home
    .cg-bottom-card:last-child
    .cg-vnext-mission-actions {
    grid-template-columns: 1fr !important;
    width: min(100%, 220px) !important;
  }
}

@media (max-width: 680px) {
  body.cg33k-vnext-home
    .cg-bottom-card:last-child
    .cg-vnext-mission-actions {
    grid-template-columns: 1fr !important;
    width: min(100%, 240px) !important;
  }
}

/* =====================================================
   CATHOLICG33K vNEXT 1.5.6
   TEACHINGS — CONSOLIDATED DESIGN SYSTEM

   This replaces every previous 1.5.x Teachings override block.

   Principles:
   - one layout system
   - one icon normalization system
   - one normal state
   - one hover/focus state
   - no raster scaling on interaction
   - glow comes from a fixed pseudo-element, not the PNG artwork
===================================================== */

/* =====================================================
   PAGE SHELL
===================================================== */

body.cg33k-vnext-teachings .cg-teachings-page {
  width: min(100% - 2rem, 1220px) !important;
  max-width: 1220px !important;

  margin: 0 auto !important;
  padding: 0 0 clamp(5rem, 7vw, 7rem) !important;
}

/* =====================================================
   PAGE INTRO
===================================================== */

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-page-header {
  position: relative;

  max-width: 850px !important;

  margin: 0 auto !important;
  padding:
    clamp(4.75rem, 7vw, 7rem)
    1rem
    clamp(4.25rem, 6vw, 5.75rem) !important;

  text-align: center !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-page-header::after {
  content: "";

  display: block;

  width: 58px;
  height: 1px;

  margin: 1.6rem auto 0;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(217, 163, 0, 0.74),
      transparent
    );
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-page-cross {
  width: 30px !important;
  height: auto !important;

  margin: 0 auto 1.15rem !important;

  opacity: 0.92;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family: var(--cg-font-heading, Georgia, serif) !important;
  font-size: clamp(3rem, 6vw, 5.3rem) !important;
  font-weight: 400 !important;
  line-height: 0.98 !important;

  letter-spacing: 0.075em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-subtitle {
  max-width: 720px !important;

  margin: 1.4rem auto 0 !important;

  color: rgba(226, 232, 240, 0.70) !important;

  font-size: clamp(0.95rem, 1.45vw, 1.08rem) !important;
  line-height: 1.72 !important;

  letter-spacing: 0.025em !important;

  text-wrap: balance;
}

/* =====================================================
   SECTION RHYTHM
===================================================== */

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teachings-section {
  position: relative;

  margin: 0 !important;

  padding:
    clamp(4.5rem, 6.5vw, 6rem)
    0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.13);
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teachings-section:first-of-type {
  border-top-color:
    rgba(217, 163, 0, 0.20);
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-section-header {
  max-width: 760px !important;

  margin:
    0 auto
    clamp(2.6rem, 4vw, 3.5rem) !important;

  padding: 0 1rem;

  text-align: center !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-section-header h2 {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family: var(--cg-font-heading, Georgia, serif) !important;
  font-size: clamp(1.9rem, 3.3vw, 2.65rem) !important;
  font-weight: 400 !important;
  line-height: 1.18 !important;

  letter-spacing: 0.045em !important;
  text-transform: none !important;

  text-wrap: balance;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-section-header h2::after {
  content: "";

  display: block;

  width: 48px;
  height: 1px;

  margin: 1rem auto 0;

  background:
    rgba(217, 163, 0, 0.55);
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-section-header p {
  max-width: 690px;

  margin: 1rem auto 0 !important;

  color: rgba(226, 232, 240, 0.66) !important;

  font-size: clamp(0.91rem, 1.2vw, 1rem) !important;
  line-height: 1.72 !important;

  text-wrap: balance;
}

/* =====================================================
   GRIDS
===================================================== */

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teachings-grid {
  width: 100% !important;

  margin: 0 auto !important;

  gap:
    clamp(1.1rem, 1.8vw, 1.45rem) !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-grid-profess {
  grid-template-columns:
    repeat(4, minmax(0, 1fr)) !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-grid-celebrated,
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-grid-lived {
  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  max-width: 900px !important;
}

/* =====================================================
   STANDARD TEACHING CARD
===================================================== */

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card {
  position: relative;

  min-width: 0 !important;
  min-height: 330px !important;

  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;

  padding:
    clamp(1.65rem, 2.4vw, 2rem)
    clamp(1rem, 1.8vw, 1.35rem)
    clamp(1.55rem, 2vw, 1.8rem) !important;

  overflow: hidden;

  color: var(--cg-vnext-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.012),
      rgba(255, 255, 255, 0.002)
    ) !important;

  border: 0 !important;
  border-top:
    1px solid rgba(217, 163, 0, 0.30) !important;
  border-bottom:
    1px solid rgba(255, 255, 255, 0.035) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  text-align: center !important;
  text-decoration: none !important;

  transform: none !important;

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

/* =====================================================
   ICON NORMALIZATION
===================================================== */

/*
 * Every topic gets exactly the same 84px interaction footprint.
 * The fixed halo below is identical for every asset.
 */
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-img-wrap {
  position: relative !important;

  width: 84px !important;
  height: 84px !important;

  flex: 0 0 84px !important;

  display: grid !important;
  place-items: center !important;

  margin: 0 auto 1.25rem !important;

  overflow: visible !important;

  transform: none !important;
  filter: none !important;

  transition:
    transform 180ms ease !important;
}

/*
 * Fixed optical halo.
 * This does NOT depend on the transparency or density of the PNG.
 */
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-img-wrap::after {
  content: "";

  position: absolute;
  left: 50%;
  top: 50%;

  width: 70px;
  height: 70px;

  transform:
    translate(-50%, -50%)
    scale(0.92);

  border-radius: 50%;

  background:
    radial-gradient(
      circle,
      rgba(217, 163, 0, 0.075) 0%,
      rgba(217, 163, 0, 0.032) 42%,
      rgba(217, 163, 0, 0.010) 62%,
      transparent 76%
    );

  box-shadow:
    0 0 0 rgba(217, 163, 0, 0);

  opacity: 0.32;

  pointer-events: none;

  transition:
    opacity 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease !important;
}

/*
 * Default source-art treatment.
 * The stronger June assets are deliberately reduced so the weaker
 * raster sources never need to be enlarged.
 */
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-img-wrap img {
  position: relative;
  z-index: 1;

  width: 100% !important;
  height: 100% !important;

  max-width: none !important;
  max-height: none !important;

  object-fit: contain !important;
  object-position: center !important;

  transform: scale(0.82) !important;
  transform-origin: center center !important;

  filter: none !important;

  image-rendering: auto !important;

  transition: none !important;
}

/*
 * Optical normalization only.
 * These are BASE sizes, never hover sizes.
 */
body.cg33k-vnext-teachings
  .cg-teaching-img-wrap
  img[src*="/liturgy-1.png"],
body.cg33k-vnext-teachings
  .cg-teaching-img-wrap
  img[src*="/apologetics.png"] {
  transform: scale(1.00) !important;
}

body.cg33k-vnext-teachings
  .cg-teaching-img-wrap
  img[src*="/sacraments.png"] {
  transform: scale(0.78) !important;
}

/* =====================================================
   TYPOGRAPHY
===================================================== */

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card h3 {
  position: relative;
  z-index: 1;

  margin: 0 0 0.75rem !important;

  color: var(--cg-vnext-ivory) !important;

  font-family: var(--cg-font-heading, Georgia, serif) !important;
  font-size: clamp(1.02rem, 1.35vw, 1.18rem) !important;
  font-weight: 500 !important;
  line-height: 1.32 !important;

  letter-spacing: 0.025em !important;
  text-transform: none !important;

  text-wrap: balance;

  transition:
    color 180ms ease !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card p {
  position: relative;
  z-index: 1;

  width: 100% !important;

  margin: 0 0 1.2rem !important;

  color: rgba(226, 232, 240, 0.64) !important;

  font-size: 0.86rem !important;
  line-height: 1.68 !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-read-more {
  position: relative;
  z-index: 1;

  display: inline-block !important;

  margin-top: auto !important;
  padding-top: 0.65rem !important;

  color: var(--cg-vnext-gold-bright) !important;

  font-family: var(--cg-font-mono, ui-monospace, monospace) !important;
  font-size: 0.63rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.11em !important;
  text-transform: uppercase !important;

  transform: none !important;

  transition:
    transform 180ms ease,
    color 180ms ease !important;
}

/* =====================================================
   ONE UNIVERSAL HOVER / FOCUS STATE
===================================================== */

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:hover,
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:focus-visible {
  transform: translateY(-2px) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.018),
      rgba(255, 255, 255, 0.004)
    ) !important;

  border-top-color:
    rgba(242, 189, 40, 0.62) !important;

  border-bottom-color:
    rgba(217, 163, 0, 0.08) !important;

  box-shadow: none !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:hover
  .cg-teaching-img-wrap,
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:focus-visible
  .cg-teaching-img-wrap {
  transform: translateY(-2px) !important;
}

/*
 * Identical glow for God, Liturgy, Sacraments, Prayer, Apologetics, etc.
 * The PNG itself never receives a hover filter.
 */
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:hover
  .cg-teaching-img-wrap::after,
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:focus-visible
  .cg-teaching-img-wrap::after {
  opacity: 0.88;

  transform:
    translate(-50%, -50%)
    scale(1);

  box-shadow:
    0 0 18px rgba(217, 163, 0, 0.12);
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:hover h3,
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:focus-visible h3 {
  color: var(--cg-vnext-gold-bright) !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:hover
  .cg-read-more,
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:focus-visible
  .cg-read-more {
  color: var(--cg-vnext-gold-bright) !important;

  transform: translateX(3px) !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-teaching-card:focus-visible {
  outline:
    1px solid rgba(242, 189, 40, 0.68) !important;

  outline-offset: 4px !important;
}

/* =====================================================
   APOLOGETICS FEATURE
===================================================== */

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-apologetics-section {
  padding-bottom: 0 !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-grid-apologetics {
  display: block !important;

  max-width: 760px !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-grid-apologetics
  .cg-teaching-card {
  min-height: 0 !important;

  display: grid !important;
  grid-template-columns: 118px minmax(0, 1fr) !important;
  grid-template-areas:
    "icon title"
    "icon copy"
    "icon action" !important;

  align-items: center !important;

  column-gap: 1.75rem !important;

  padding:
    clamp(1.8rem, 3vw, 2.35rem) !important;

  text-align: left !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-grid-apologetics
  .cg-teaching-img-wrap {
  grid-area: icon;

  width: 84px !important;
  height: 84px !important;

  flex-basis: 84px !important;

  margin: 0 auto !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-grid-apologetics
  .cg-teaching-card h3 {
  grid-area: title;

  margin-bottom: 0.55rem !important;

  font-size: clamp(1.3rem, 2vw, 1.65rem) !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-grid-apologetics
  .cg-teaching-card p {
  grid-area: copy;

  margin-bottom: 0.9rem !important;

  font-size: 0.91rem !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-grid-apologetics
  .cg-read-more {
  grid-area: action;

  justify-self: start !important;

  margin-top: 0 !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1080px) {
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-grid-profess {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-card {
    min-height: 305px !important;
  }
}

@media (max-width: 720px) {
  body.cg33k-vnext-teachings
    .cg-teachings-page {
    width: min(100% - 1.25rem, 620px) !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-page-header {
    padding-top: 4rem !important;
    padding-bottom: 3.8rem !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-title {
    font-size:
      clamp(2.6rem, 15vw, 4rem) !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teachings-section {
    padding:
      3.8rem
      0 !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-grid-profess,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-grid-celebrated,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-grid-lived {
    grid-template-columns: 1fr !important;

    max-width: 560px !important;

    gap: 0.9rem !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-card {
    min-height: 0 !important;

    padding:
      1.55rem
      1.25rem
      1.45rem !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-img-wrap {
    width: 74px !important;
    height: 74px !important;

    flex-basis: 74px !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-img-wrap::after {
    width: 62px;
    height: 62px;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-grid-apologetics
    .cg-teaching-card {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "icon"
      "title"
      "copy"
      "action" !important;

    justify-items: center !important;

    text-align: center !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-grid-apologetics
    .cg-teaching-img-wrap {
    width: 74px !important;
    height: 74px !important;

    margin:
      0 auto
      1rem !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-grid-apologetics
    .cg-read-more {
    justify-self: center !important;
  }
}

/* =====================================================
   REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-card,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-img-wrap,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-read-more,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-img-wrap::after {
    transition: none !important;
  }

  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-card:hover,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-card:focus-visible,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-card:hover
    .cg-teaching-img-wrap,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-card:focus-visible
    .cg-teaching-img-wrap,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-card:hover
    .cg-read-more,
  body.cg33k-vnext-teachings
    .cg-teachings-page
    .cg-teaching-card:focus-visible
    .cg-read-more {
    transform: none !important;
  }
}


/* =====================================================
   CATHOLICG33K vNEXT 1.5.7
   TEACHINGS — SURGICAL OPTICAL CORRECTIONS ONLY

   Baseline interaction/layout from 1.5.6 remains unchanged.

   Holy Spirit:
   source artwork fills more of its PNG canvas and therefore
   appears optically larger than the surrounding medallions.

   Liturgy:
   source artwork has more transparent breathing room and
   therefore appears optically smaller than Sacraments.

   These are STATIC base-size corrections only.
   No hover scaling is introduced.
===================================================== */

/* Holy Spirit: reduce visible medallion size. */
body.cg33k-vnext-teachings
  .cg-teaching-img-wrap
  img[src*="/holy-spirit.png"] {
  transform: scale(0.71) !important;
}

/* Liturgy: modest optical increase without returning to the large upscaling. */
body.cg33k-vnext-teachings
  .cg-teaching-img-wrap
  img[src*="/liturgy-1.png"] {
  transform: scale(1.09) !important;
}

/*
 * Interaction remains raster-safe:
 * same static scale on hover and keyboard focus.
 */
body.cg33k-vnext-teachings
  .cg-teaching-card:hover
  .cg-teaching-img-wrap
  img[src*="/holy-spirit.png"],
body.cg33k-vnext-teachings
  .cg-teaching-card:focus-visible
  .cg-teaching-img-wrap
  img[src*="/holy-spirit.png"] {
  transform: scale(0.71) !important;
}

body.cg33k-vnext-teachings
  .cg-teaching-card:hover
  .cg-teaching-img-wrap
  img[src*="/liturgy-1.png"],
body.cg33k-vnext-teachings
  .cg-teaching-card:focus-visible
  .cg-teaching-img-wrap
  img[src*="/liturgy-1.png"] {
  transform: scale(1.09) !important;
}


/* =====================================================
   CATHOLICG33K vNEXT 1.6
   CATHOLIC LIBRARY LANDING
===================================================== */

/* =====================================================
   PAGE / ENTRANCE
===================================================== */

body.cg33k-vnext-library .cg-resources-page {
  width: 100% !important;
  max-width: none !important;

  min-height: 100vh !important;

  margin: 0 !important;

  padding:
    clamp(4.8rem, 7vw, 7rem)
    1rem
    clamp(6rem, 8vw, 8rem) !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.035),
      transparent 34rem
    ),
    #05070d !important;
}

body.cg33k-vnext-library
  .cg-resources-page
  > .cg-container {
  width: min(100% - 1rem, 1180px) !important;
  max-width: 1180px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

body.cg33k-vnext-library
  .cg-resources-page
  .cg-page-header {
  max-width: 820px !important;

  margin:
    0 auto
    clamp(3.8rem, 6vw, 5.5rem) !important;

  padding: 0 1rem !important;

  text-align: center !important;
}

body.cg33k-vnext-library
  .cg-resources-page
  .cg-cross {
  width: 30px !important;
  height: 30px !important;

  margin:
    0 auto
    1.15rem !important;

  opacity: 0.90;
}

body.cg33k-vnext-library
  .cg-resources-page
  .cg-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(2.8rem, 5.8vw, 5.1rem) !important;

  font-weight: 400 !important;
  line-height: 1.02 !important;

  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-library
  .cg-resources-page
  .cg-subtitle {
  max-width: 700px !important;

  margin:
    1.35rem auto
    0 !important;

  color:
    rgba(226, 232, 240, 0.68) !important;

  font-size:
    clamp(0.96rem, 1.35vw, 1.07rem) !important;

  line-height: 1.78 !important;

  text-wrap: balance;
}

body.cg33k-vnext-library
  .cg-resources-page
  .cg-page-header::after {
  content: "";

  display: block;

  width: 62px;
  height: 1px;

  margin:
    1.65rem auto
    0;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(217, 163, 0, 0.72),
      transparent
    );
}

/* =====================================================
   CATALOG GRID
===================================================== */

body.cg33k-vnext-library
  .cg-library-page
  .cg-resources-grid {
  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  align-items: start !important;

  gap:
    clamp(1rem, 2vw, 1.4rem) !important;

  max-width: 1040px !important;

  margin: 0 auto !important;
}

/*
 * The landing page should read like a scholarly catalog,
 * not an app dashboard.
 */
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-card {
  position: relative !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding:
    clamp(1.65rem, 2.6vw, 2.1rem)
    clamp(1.4rem, 2.4vw, 1.9rem) !important;

  overflow: visible !important;

  color: var(--cg-vnext-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.014),
      rgba(255, 255, 255, 0.002)
    ) !important;

  border: 0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.30) !important;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.04) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  transform: none !important;

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-card:hover,
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-card:focus-within {
  transform: translateY(-2px) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.020),
      rgba(255, 255, 255, 0.004)
    ) !important;

  border-top-color:
    rgba(242, 189, 40, 0.62) !important;
}

/* =====================================================
   CARD ORNAMENT / TITLE
===================================================== */

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-ornament {
  margin:
    0 0
    0.9rem !important;

  color:
    rgba(217, 163, 0, 0.70) !important;

  font-size: 0.95rem !important;
  line-height: 1 !important;

  opacity: 0.85 !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(1.18rem, 1.7vw, 1.5rem) !important;

  font-weight: 500 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.035em !important;
  text-transform: none !important;

  text-align: left !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-title a,
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-title a:visited {
  color: var(--cg-vnext-ivory) !important;

  text-decoration: none !important;

  transition:
    color 180ms ease !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-title a:hover,
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-title a:focus-visible,
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-card:focus-within
  .cg-library-title a {
  color:
    var(--cg-vnext-gold-bright) !important;
}

/*
 * The old centered decorative divider becomes a short catalog rule.
 */
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-rule {
  width: 42px !important;
  height: 1px !important;

  margin:
    1rem 0
    1.25rem !important;

  background:
    rgba(217, 163, 0, 0.54) !important;
}

/* =====================================================
   PRIMARY EXPAND ACTION
===================================================== */

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-section-toggle {
  width: auto !important;
  max-width: 100% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 0.65rem !important;

  margin: 0 !important;

  padding:
    0.66rem
    0.82rem !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background:
    rgba(217, 163, 0, 0.025) !important;

  border:
    1px solid rgba(217, 163, 0, 0.18) !important;

  border-radius: 0 !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-align: left !important;

  cursor: pointer;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-section-toggle:hover,
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-section-toggle:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;

  background:
    rgba(217, 163, 0, 0.05) !important;

  border-color:
    rgba(217, 163, 0, 0.40) !important;

  outline: none !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-section-toggle:focus-visible {
  outline:
    1px solid rgba(242, 189, 40, 0.65) !important;

  outline-offset: 3px !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-section-toggle-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border:
    1px solid rgba(217, 163, 0, 0.34) !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background: transparent !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.86rem !important;
  line-height: 1 !important;
}

/* =====================================================
   DIRECT RESOURCE LINK
===================================================== */

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-card-link {
  display: inline-block !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-card-link:hover,
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-card-link:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;
}

/* =====================================================
   EXPANDED PANEL
===================================================== */

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-section-panel {
  margin:
    1.35rem 0
    0 !important;

  padding:
    1.25rem 0
    0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.11) !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-section-panel[hidden],
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-children[hidden] {
  display: none !important;
}

/* =====================================================
   NESTED DIRECTORY
===================================================== */

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-list {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;

  font-family:
    var(--cg-font-body, system-ui, sans-serif) !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-item {
  margin:
    0.36rem 0 !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-row {
  min-height: 30px !important;

  display: flex !important;
  align-items: flex-start !important;

  gap: 0.6rem !important;
}

body.cg33k-vnext-library
  .cg-library-page
  button.cg-library-toggle {
  all: unset !important;

  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-top: 1px !important;

  border:
    1px solid rgba(217, 163, 0, 0.26) !important;

  color:
    rgba(217, 163, 0, 0.82) !important;

  cursor: pointer !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.8rem !important;
  line-height: 1 !important;
}

body.cg33k-vnext-library
  .cg-library-page
  button.cg-library-toggle:hover,
body.cg33k-vnext-library
  .cg-library-page
  button.cg-library-toggle:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  border-color:
    rgba(217, 163, 0, 0.55) !important;

  background:
    rgba(217, 163, 0, 0.045) !important;

  outline: none !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-link,
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-link:visited {
  color:
    rgba(243, 238, 227, 0.78) !important;

  font-size: 0.88rem !important;
  line-height: 1.52 !important;

  text-decoration: none !important;

  transition:
    color 160ms ease !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-link:hover,
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-link:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  outline: none !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-mark {
  width: 20px !important;
  min-width: 20px !important;

  color:
    rgba(217, 163, 0, 0.62) !important;

  font-size: 0.78rem !important;
  line-height: 1.5 !important;

  text-align: center !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-children {
  margin:
    0.42rem 0
    0.72rem
    0.62rem !important;

  padding-left:
    1rem !important;

  border-left:
    1px solid rgba(217, 163, 0, 0.16) !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-depth-1
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.70) !important;

  font-size:
    0.84rem !important;
}

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-depth-2
  .cg-library-link,
body.cg33k-vnext-library
  .cg-library-page
  .cg-library-depth-3
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.58) !important;

  font-size:
    0.81rem !important;
}

/* =====================================================
   EMPTY / LOAD STATES
===================================================== */

body.cg33k-vnext-library
  .cg-library-page
  .cg-library-empty {
  grid-column: 1 / -1 !important;

  max-width: 620px !important;

  margin: 0 auto !important;

  padding: 2rem !important;

  color:
    rgba(226, 232, 240, 0.66) !important;

  border:
    1px solid rgba(217, 163, 0, 0.14) !important;

  text-align: center !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 820px) {
  body.cg33k-vnext-library
    .cg-library-page
    .cg-resources-grid {
    grid-template-columns:
      1fr !important;

    max-width:
      660px !important;
  }
}

@media (max-width: 620px) {
  body.cg33k-vnext-library
    .cg-resources-page {
    padding:
      4rem
      0.65rem
      5rem !important;
  }

  body.cg33k-vnext-library
    .cg-resources-page
    > .cg-container {
    width:
      min(100%, 620px) !important;
  }

  body.cg33k-vnext-library
    .cg-resources-page
    .cg-page-header {
    margin-bottom:
      3.2rem !important;
  }

  body.cg33k-vnext-library
    .cg-resources-page
    .cg-title {
    font-size:
      clamp(2.45rem, 13vw, 3.6rem) !important;
  }

  body.cg33k-vnext-library
    .cg-library-page
    .cg-library-card {
    padding:
      1.45rem
      1.15rem !important;
  }

  body.cg33k-vnext-library
    .cg-library-page
    .cg-library-section-toggle {
    width: 100% !important;

    justify-content:
      flex-start !important;
  }
}

/* =====================================================
   REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-library
    .cg-library-page
    .cg-library-card {
    transition: none !important;
  }

  body.cg33k-vnext-library
    .cg-library-page
    .cg-library-card:hover,
  body.cg33k-vnext-library
    .cg-library-page
    .cg-library-card:focus-within {
    transform: none !important;
  }
}

/* =====================================================
   CATHOLICG33K vNEXT 1.7.7
   PRAYER & SPIRITUALITY — EXACT APPROVED LIBRARY CLONE
===================================================== */

/* =====================================================
   PAGE / ENTRANCE
===================================================== */

body.cg33k-vnext-spirituality .cg-spirituality-page {
  width: 100% !important;
  max-width: none !important;

  min-height: 100vh !important;

  margin: 0 !important;

  padding:
    clamp(4.8rem, 7vw, 7rem)
    1rem
    clamp(6rem, 8vw, 8rem) !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.035),
      transparent 34rem
    ),
    #05070d !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  > .cg-container {
  width: min(100% - 1rem, 1180px) !important;
  max-width: 1180px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-page-header {
  max-width: 820px !important;

  margin:
    0 auto
    clamp(3.8rem, 6vw, 5.5rem) !important;

  padding: 0 1rem !important;

  text-align: center !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-cross {
  width: 30px !important;
  height: 30px !important;

  margin:
    0 auto
    1.15rem !important;

  opacity: 0.90;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(2.8rem, 5.8vw, 5.1rem) !important;

  font-weight: 400 !important;
  line-height: 1.02 !important;

  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-subtitle {
  max-width: 700px !important;

  margin:
    1.35rem auto
    0 !important;

  color:
    rgba(226, 232, 240, 0.68) !important;

  font-size:
    clamp(0.96rem, 1.35vw, 1.07rem) !important;

  line-height: 1.78 !important;

  text-wrap: balance;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-page-header::after {
  content: "";

  display: block;

  width: 62px;
  height: 1px;

  margin:
    1.65rem auto
    0;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(217, 163, 0, 0.72),
      transparent
    );
}

/* =====================================================
   CATALOG GRID
===================================================== */

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-resources-grid {
  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  align-items: start !important;

  gap:
    clamp(1rem, 2vw, 1.4rem) !important;

  max-width: 1040px !important;

  margin: 0 auto !important;
}

/*
 * The landing page should read like a scholarly catalog,
 * not an app dashboard.
 */
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-card {
  position: relative !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding:
    clamp(1.65rem, 2.6vw, 2.1rem)
    clamp(1.4rem, 2.4vw, 1.9rem) !important;

  overflow: visible !important;

  color: var(--cg-vnext-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.014),
      rgba(255, 255, 255, 0.002)
    ) !important;

  border: 0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.30) !important;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.04) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  transform: none !important;

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-card:hover,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-card:focus-within {
  transform: translateY(-2px) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.020),
      rgba(255, 255, 255, 0.004)
    ) !important;

  border-top-color:
    rgba(242, 189, 40, 0.62) !important;
}

/* =====================================================
   CARD ORNAMENT / TITLE
===================================================== */

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-ornament {
  margin:
    0 0
    0.9rem !important;

  color:
    rgba(217, 163, 0, 0.70) !important;

  font-size: 0.95rem !important;
  line-height: 1 !important;

  opacity: 0.85 !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(1.18rem, 1.7vw, 1.5rem) !important;

  font-weight: 500 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.035em !important;
  text-transform: none !important;

  text-align: left !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-title a,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-title a:visited {
  color: var(--cg-vnext-ivory) !important;

  text-decoration: none !important;

  transition:
    color 180ms ease !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-title a:hover,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-title a:focus-visible,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-card:focus-within
  .cg-library-title a {
  color:
    var(--cg-vnext-gold-bright) !important;
}

/*
 * The old centered decorative divider becomes a short catalog rule.
 */
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-rule {
  width: 42px !important;
  height: 1px !important;

  margin:
    1rem 0
    1.25rem !important;

  background:
    rgba(217, 163, 0, 0.54) !important;
}

/* =====================================================
   PRIMARY EXPAND ACTION
===================================================== */

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-section-toggle {
  width: auto !important;
  max-width: 100% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 0.65rem !important;

  margin: 0 !important;

  padding:
    0.66rem
    0.82rem !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background:
    rgba(217, 163, 0, 0.025) !important;

  border:
    1px solid rgba(217, 163, 0, 0.18) !important;

  border-radius: 0 !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-align: left !important;

  cursor: pointer;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-section-toggle:hover,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-section-toggle:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;

  background:
    rgba(217, 163, 0, 0.05) !important;

  border-color:
    rgba(217, 163, 0, 0.40) !important;

  outline: none !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-section-toggle:focus-visible {
  outline:
    1px solid rgba(242, 189, 40, 0.65) !important;

  outline-offset: 3px !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-section-toggle-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border:
    1px solid rgba(217, 163, 0, 0.34) !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background: transparent !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.86rem !important;
  line-height: 1 !important;
}

/* =====================================================
   DIRECT RESOURCE LINK
===================================================== */

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-card-link {
  display: inline-block !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-card-link:hover,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-card-link:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;
}

/* =====================================================
   EXPANDED PANEL
===================================================== */

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-section-panel {
  margin:
    1.35rem 0
    0 !important;

  padding:
    1.25rem 0
    0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.11) !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-section-panel[hidden],
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-children[hidden] {
  display: none !important;
}

/* =====================================================
   NESTED DIRECTORY
===================================================== */

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-list {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;

  font-family:
    var(--cg-font-body, system-ui, sans-serif) !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-item {
  margin:
    0.36rem 0 !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-row {
  min-height: 30px !important;

  display: flex !important;
  align-items: flex-start !important;

  gap: 0.6rem !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  button.cg-library-toggle {
  all: unset !important;

  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-top: 1px !important;

  border:
    1px solid rgba(217, 163, 0, 0.26) !important;

  color:
    rgba(217, 163, 0, 0.82) !important;

  cursor: pointer !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.8rem !important;
  line-height: 1 !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  button.cg-library-toggle:hover,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  button.cg-library-toggle:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  border-color:
    rgba(217, 163, 0, 0.55) !important;

  background:
    rgba(217, 163, 0, 0.045) !important;

  outline: none !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-link,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-link:visited {
  color:
    rgba(243, 238, 227, 0.78) !important;

  font-size: 0.88rem !important;
  line-height: 1.52 !important;

  text-decoration: none !important;

  transition:
    color 160ms ease !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-link:hover,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-link:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  outline: none !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-mark {
  width: 20px !important;
  min-width: 20px !important;

  color:
    rgba(217, 163, 0, 0.62) !important;

  font-size: 0.78rem !important;
  line-height: 1.5 !important;

  text-align: center !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-children {
  margin:
    0.42rem 0
    0.72rem
    0.62rem !important;

  padding-left:
    1rem !important;

  border-left:
    1px solid rgba(217, 163, 0, 0.16) !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-depth-1
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.70) !important;

  font-size:
    0.84rem !important;
}

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-depth-2
  .cg-library-link,
body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-depth-3
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.58) !important;

  font-size:
    0.81rem !important;
}

/* =====================================================
   EMPTY / LOAD STATES
===================================================== */

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-empty {
  grid-column: 1 / -1 !important;

  max-width: 620px !important;

  margin: 0 auto !important;

  padding: 2rem !important;

  color:
    rgba(226, 232, 240, 0.66) !important;

  border:
    1px solid rgba(217, 163, 0, 0.14) !important;

  text-align: center !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 820px) {
  body.cg33k-vnext-spirituality
    .cg-spirituality-page
    .cg-resources-grid {
    grid-template-columns:
      1fr !important;

    max-width:
      660px !important;
  }
}

@media (max-width: 620px) {
  body.cg33k-vnext-spirituality
    .cg-spirituality-page {
    padding:
      4rem
      0.65rem
      5rem !important;
  }

  body.cg33k-vnext-spirituality
    .cg-spirituality-page
    > .cg-container {
    width:
      min(100%, 620px) !important;
  }

  body.cg33k-vnext-spirituality
    .cg-spirituality-page
    .cg-page-header {
    margin-bottom:
      3.2rem !important;
  }

  body.cg33k-vnext-spirituality
    .cg-spirituality-page
    .cg-title {
    font-size:
      clamp(2.45rem, 13vw, 3.6rem) !important;
  }

  body.cg33k-vnext-spirituality
    .cg-spirituality-page
    .cg-library-card {
    padding:
      1.45rem
      1.15rem !important;
  }

  body.cg33k-vnext-spirituality
    .cg-spirituality-page
    .cg-library-section-toggle {
    width: 100% !important;

    justify-content:
      flex-start !important;
  }
}

/* =====================================================
   REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-spirituality
    .cg-spirituality-page
    .cg-library-card {
    transition: none !important;
  }

  body.cg33k-vnext-spirituality
    .cg-spirituality-page
    .cg-library-card:hover,
  body.cg33k-vnext-spirituality
    .cg-spirituality-page
    .cg-library-card:focus-within {
    transform: none !important;
  }
}

/* =====================================================
   CATHOLICG33K vNEXT 1.7.7
   TEACHINGS HEADER — MATCH APPROVED LIBRARY SCALE ONLY

   Cards, sections, icons, and interactions remain untouched.
===================================================== */

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-title {
  font-size:
    clamp(2.8rem, 5.8vw, 5.1rem) !important;

  line-height: 1.02 !important;

  letter-spacing: 0.08em !important;
}

body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-subtitle {
  max-width: 700px !important;

  margin:
    1.35rem auto
    0 !important;

  font-size:
    clamp(0.96rem, 1.35vw, 1.07rem) !important;

  line-height: 1.78 !important;
}

/* Same 30px box used by the approved Library header cross. */
body.cg33k-vnext-teachings
  .cg-teachings-page
  .cg-page-cross {
  width: 30px !important;
  height: 30px !important;

  object-fit: contain !important;

  margin:
    0 auto
    1.15rem !important;

  opacity: 0.90 !important;
}



/* =====================================================
   CATHOLICG33K vNEXT 1.7.8
   SPIRITUALITY — CENTER CARD ORNAMENT ONLY

   Teachings and Resources remain untouched.
===================================================== */

body.cg33k-vnext-spirituality
  .cg-spirituality-page
  .cg-library-card
  .cg-library-ornament {
  width: 100% !important;

  display: block !important;

  margin-left: auto !important;
  margin-right: auto !important;

  text-align: center !important;
}

/* =====================================================
   CATHOLICG33K vNEXT 1.8.0
   CATHOLIC LIFE — EXACT APPROVED LIBRARY CLONE
===================================================== */

/* =====================================================
   PAGE / ENTRANCE
===================================================== */

body.cg33k-vnext-catholic-life .cg-catholic-living-page {
  width: 100% !important;
  max-width: none !important;

  min-height: 100vh !important;

  margin: 0 !important;

  padding:
    clamp(4.8rem, 7vw, 7rem)
    1rem
    clamp(6rem, 8vw, 8rem) !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.035),
      transparent 34rem
    ),
    #05070d !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  > .cg-container {
  width: min(100% - 1rem, 1180px) !important;
  max-width: 1180px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-page-header {
  max-width: 820px !important;

  margin:
    0 auto
    clamp(3.8rem, 6vw, 5.5rem) !important;

  padding: 0 1rem !important;

  text-align: center !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-cross {
  width: 30px !important;
  height: 30px !important;

  margin:
    0 auto
    1.15rem !important;

  opacity: 0.90;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(2.8rem, 5.8vw, 5.1rem) !important;

  font-weight: 400 !important;
  line-height: 1.02 !important;

  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-subtitle {
  max-width: 700px !important;

  margin:
    1.35rem auto
    0 !important;

  color:
    rgba(226, 232, 240, 0.68) !important;

  font-size:
    clamp(0.96rem, 1.35vw, 1.07rem) !important;

  line-height: 1.78 !important;

  text-wrap: balance;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-page-header::after {
  content: "";

  display: block;

  width: 62px;
  height: 1px;

  margin:
    1.65rem auto
    0;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(217, 163, 0, 0.72),
      transparent
    );
}

/* =====================================================
   CATALOG GRID
===================================================== */

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-resources-grid {
  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  align-items: start !important;

  gap:
    clamp(1rem, 2vw, 1.4rem) !important;

  max-width: 1040px !important;

  margin: 0 auto !important;
}

/*
 * The landing page should read like a scholarly catalog,
 * not an app dashboard.
 */
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-card {
  position: relative !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding:
    clamp(1.65rem, 2.6vw, 2.1rem)
    clamp(1.4rem, 2.4vw, 1.9rem) !important;

  overflow: visible !important;

  color: var(--cg-vnext-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.014),
      rgba(255, 255, 255, 0.002)
    ) !important;

  border: 0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.30) !important;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.04) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  transform: none !important;

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-card:hover,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-card:focus-within {
  transform: translateY(-2px) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.020),
      rgba(255, 255, 255, 0.004)
    ) !important;

  border-top-color:
    rgba(242, 189, 40, 0.62) !important;
}

/* =====================================================
   CARD ORNAMENT / TITLE
===================================================== */

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-ornament {
  margin:
    0 0
    0.9rem !important;

  color:
    rgba(217, 163, 0, 0.70) !important;

  font-size: 0.95rem !important;
  line-height: 1 !important;

  opacity: 0.85 !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(1.18rem, 1.7vw, 1.5rem) !important;

  font-weight: 500 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.035em !important;
  text-transform: none !important;

  text-align: left !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-title a,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-title a:visited {
  color: var(--cg-vnext-ivory) !important;

  text-decoration: none !important;

  transition:
    color 180ms ease !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-title a:hover,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-title a:focus-visible,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-card:focus-within
  .cg-library-title a {
  color:
    var(--cg-vnext-gold-bright) !important;
}

/*
 * The old centered decorative divider becomes a short catalog rule.
 */
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-rule {
  width: 42px !important;
  height: 1px !important;

  margin:
    1rem 0
    1.25rem !important;

  background:
    rgba(217, 163, 0, 0.54) !important;
}

/* =====================================================
   PRIMARY EXPAND ACTION
===================================================== */

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-section-toggle {
  width: auto !important;
  max-width: 100% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 0.65rem !important;

  margin: 0 !important;

  padding:
    0.66rem
    0.82rem !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background:
    rgba(217, 163, 0, 0.025) !important;

  border:
    1px solid rgba(217, 163, 0, 0.18) !important;

  border-radius: 0 !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-align: left !important;

  cursor: pointer;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-section-toggle:hover,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-section-toggle:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;

  background:
    rgba(217, 163, 0, 0.05) !important;

  border-color:
    rgba(217, 163, 0, 0.40) !important;

  outline: none !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-section-toggle:focus-visible {
  outline:
    1px solid rgba(242, 189, 40, 0.65) !important;

  outline-offset: 3px !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-section-toggle-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border:
    1px solid rgba(217, 163, 0, 0.34) !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background: transparent !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.86rem !important;
  line-height: 1 !important;
}

/* =====================================================
   DIRECT RESOURCE LINK
===================================================== */

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-card-link {
  display: inline-block !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-card-link:hover,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-card-link:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;
}

/* =====================================================
   EXPANDED PANEL
===================================================== */

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-section-panel {
  margin:
    1.35rem 0
    0 !important;

  padding:
    1.25rem 0
    0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.11) !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-section-panel[hidden],
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-children[hidden] {
  display: none !important;
}

/* =====================================================
   NESTED DIRECTORY
===================================================== */

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-list {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;

  font-family:
    var(--cg-font-body, system-ui, sans-serif) !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-item {
  margin:
    0.36rem 0 !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-row {
  min-height: 30px !important;

  display: flex !important;
  align-items: flex-start !important;

  gap: 0.6rem !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  button.cg-library-toggle {
  all: unset !important;

  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-top: 1px !important;

  border:
    1px solid rgba(217, 163, 0, 0.26) !important;

  color:
    rgba(217, 163, 0, 0.82) !important;

  cursor: pointer !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.8rem !important;
  line-height: 1 !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  button.cg-library-toggle:hover,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  button.cg-library-toggle:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  border-color:
    rgba(217, 163, 0, 0.55) !important;

  background:
    rgba(217, 163, 0, 0.045) !important;

  outline: none !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-link,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-link:visited {
  color:
    rgba(243, 238, 227, 0.78) !important;

  font-size: 0.88rem !important;
  line-height: 1.52 !important;

  text-decoration: none !important;

  transition:
    color 160ms ease !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-link:hover,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-link:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  outline: none !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-mark {
  width: 20px !important;
  min-width: 20px !important;

  color:
    rgba(217, 163, 0, 0.62) !important;

  font-size: 0.78rem !important;
  line-height: 1.5 !important;

  text-align: center !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-children {
  margin:
    0.42rem 0
    0.72rem
    0.62rem !important;

  padding-left:
    1rem !important;

  border-left:
    1px solid rgba(217, 163, 0, 0.16) !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-depth-1
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.70) !important;

  font-size:
    0.84rem !important;
}

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-depth-2
  .cg-library-link,
body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-depth-3
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.58) !important;

  font-size:
    0.81rem !important;
}

/* =====================================================
   EMPTY / LOAD STATES
===================================================== */

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-empty {
  grid-column: 1 / -1 !important;

  max-width: 620px !important;

  margin: 0 auto !important;

  padding: 2rem !important;

  color:
    rgba(226, 232, 240, 0.66) !important;

  border:
    1px solid rgba(217, 163, 0, 0.14) !important;

  text-align: center !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 820px) {
  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page
    .cg-resources-grid {
    grid-template-columns:
      1fr !important;

    max-width:
      660px !important;
  }
}

@media (max-width: 620px) {
  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page {
    padding:
      4rem
      0.65rem
      5rem !important;
  }

  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page
    > .cg-container {
    width:
      min(100%, 620px) !important;
  }

  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page
    .cg-page-header {
    margin-bottom:
      3.2rem !important;
  }

  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page
    .cg-title {
    font-size:
      clamp(2.45rem, 13vw, 3.6rem) !important;
  }

  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page
    .cg-library-card {
    padding:
      1.45rem
      1.15rem !important;
  }

  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page
    .cg-library-section-toggle {
    width: 100% !important;

    justify-content:
      flex-start !important;
  }
}

/* =====================================================
   REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page
    .cg-library-card {
    transition: none !important;
  }

  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page
    .cg-library-card:hover,
  body.cg33k-vnext-catholic-life
    .cg-catholic-living-page
    .cg-library-card:focus-within {
    transform: none !important;
  }
}


/* =====================================================
   CATHOLICG33K vNEXT 1.8.2
   CATHOLIC LIFE — EXACT PRAYER ORNAMENT CENTERING

   Same method already working on Prayer & Spirituality.
===================================================== */

body.cg33k-vnext-catholic-life
  .cg-catholic-living-page
  .cg-library-card
  .cg-library-ornament {
  width: 100% !important;

  display: block !important;

  margin-left: auto !important;
  margin-right: auto !important;

  left: auto !important;
  right: auto !important;
  transform: none !important;

  text-align: center !important;
}

/* =====================================================
   CATHOLICG33K vNEXT 1.9.0
   COMMUNITY — APPROVED LIBRARY VISUAL SYSTEM
===================================================== */

/* =====================================================
   PAGE / ENTRANCE
===================================================== */

body.cg33k-vnext-community .cg33k-community-page {
  width: 100% !important;
  max-width: none !important;

  min-height: 100vh !important;

  margin: 0 !important;

  padding:
    clamp(4.8rem, 7vw, 7rem)
    1rem
    clamp(6rem, 8vw, 8rem) !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.035),
      transparent 34rem
    ),
    #05070d !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  > .cg-container {
  width: min(100% - 1rem, 1180px) !important;
  max-width: 1180px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-page-header {
  max-width: 820px !important;

  margin:
    0 auto
    clamp(3.8rem, 6vw, 5.5rem) !important;

  padding: 0 1rem !important;

  text-align: center !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-cross {
  width: 30px !important;
  height: 30px !important;

  margin:
    0 auto
    1.15rem !important;

  opacity: 0.90;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(2.8rem, 5.8vw, 5.1rem) !important;

  font-weight: 400 !important;
  line-height: 1.02 !important;

  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-subtitle {
  max-width: 700px !important;

  margin:
    1.35rem auto
    0 !important;

  color:
    rgba(226, 232, 240, 0.68) !important;

  font-size:
    clamp(0.96rem, 1.35vw, 1.07rem) !important;

  line-height: 1.78 !important;

  text-wrap: balance;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-page-header::after {
  content: "";

  display: block;

  width: 62px;
  height: 1px;

  margin:
    1.65rem auto
    0;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(217, 163, 0, 0.72),
      transparent
    );
}

/* =====================================================
   CATALOG GRID
===================================================== */

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-resources-grid {
  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  align-items: start !important;

  gap:
    clamp(1rem, 2vw, 1.4rem) !important;

  max-width: 1040px !important;

  margin: 0 auto !important;
}

/*
 * The landing page should read like a scholarly catalog,
 * not an app dashboard.
 */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card {
  position: relative !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding:
    clamp(1.65rem, 2.6vw, 2.1rem)
    clamp(1.4rem, 2.4vw, 1.9rem) !important;

  overflow: visible !important;

  color: var(--cg-vnext-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.014),
      rgba(255, 255, 255, 0.002)
    ) !important;

  border: 0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.30) !important;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.04) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  transform: none !important;

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card:hover,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card:focus-within {
  transform: translateY(-2px) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.020),
      rgba(255, 255, 255, 0.004)
    ) !important;

  border-top-color:
    rgba(242, 189, 40, 0.62) !important;
}

/* =====================================================
   CARD ORNAMENT / TITLE
===================================================== */

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-ornament {
  margin:
    0 0
    0.9rem !important;

  color:
    rgba(217, 163, 0, 0.70) !important;

  font-size: 0.95rem !important;
  line-height: 1 !important;

  opacity: 0.85 !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(1.18rem, 1.7vw, 1.5rem) !important;

  font-weight: 500 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.035em !important;
  text-transform: none !important;

  text-align: left !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-title a,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-title a:visited {
  color: var(--cg-vnext-ivory) !important;

  text-decoration: none !important;

  transition:
    color 180ms ease !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-title a:hover,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-title a:focus-visible,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card:focus-within
  .cg-library-title a {
  color:
    var(--cg-vnext-gold-bright) !important;
}

/*
 * The old centered decorative divider becomes a short catalog rule.
 */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-rule {
  width: 42px !important;
  height: 1px !important;

  margin:
    1rem 0
    1.25rem !important;

  background:
    rgba(217, 163, 0, 0.54) !important;
}

/* =====================================================
   PRIMARY EXPAND ACTION
===================================================== */

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle {
  width: auto !important;
  max-width: 100% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 0.65rem !important;

  margin: 0 !important;

  padding:
    0.66rem
    0.82rem !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background:
    rgba(217, 163, 0, 0.025) !important;

  border:
    1px solid rgba(217, 163, 0, 0.18) !important;

  border-radius: 0 !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-align: left !important;

  cursor: pointer;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle:hover,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;

  background:
    rgba(217, 163, 0, 0.05) !important;

  border-color:
    rgba(217, 163, 0, 0.40) !important;

  outline: none !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle:focus-visible {
  outline:
    1px solid rgba(242, 189, 40, 0.65) !important;

  outline-offset: 3px !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border:
    1px solid rgba(217, 163, 0, 0.34) !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background: transparent !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.86rem !important;
  line-height: 1 !important;
}

/* =====================================================
   DIRECT RESOURCE LINK
===================================================== */

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card-link {
  display: inline-block !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card-link:hover,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card-link:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;
}

/* =====================================================
   EXPANDED PANEL
===================================================== */

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-panel {
  margin:
    1.35rem 0
    0 !important;

  padding:
    1.25rem 0
    0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.11) !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-panel[hidden],
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-children[hidden] {
  display: none !important;
}

/* =====================================================
   NESTED DIRECTORY
===================================================== */

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-list {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;

  font-family:
    var(--cg-font-body, system-ui, sans-serif) !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-item {
  margin:
    0.36rem 0 !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-row {
  min-height: 30px !important;

  display: flex !important;
  align-items: flex-start !important;

  gap: 0.6rem !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  button.cg-library-toggle {
  all: unset !important;

  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-top: 1px !important;

  border:
    1px solid rgba(217, 163, 0, 0.26) !important;

  color:
    rgba(217, 163, 0, 0.82) !important;

  cursor: pointer !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.8rem !important;
  line-height: 1 !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  button.cg-library-toggle:hover,
body.cg33k-vnext-community
  .cg33k-community-page
  button.cg-library-toggle:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  border-color:
    rgba(217, 163, 0, 0.55) !important;

  background:
    rgba(217, 163, 0, 0.045) !important;

  outline: none !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-link,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-link:visited {
  color:
    rgba(243, 238, 227, 0.78) !important;

  font-size: 0.88rem !important;
  line-height: 1.52 !important;

  text-decoration: none !important;

  transition:
    color 160ms ease !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-link:hover,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-link:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  outline: none !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-mark {
  width: 20px !important;
  min-width: 20px !important;

  color:
    rgba(217, 163, 0, 0.62) !important;

  font-size: 0.78rem !important;
  line-height: 1.5 !important;

  text-align: center !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-children {
  margin:
    0.42rem 0
    0.72rem
    0.62rem !important;

  padding-left:
    1rem !important;

  border-left:
    1px solid rgba(217, 163, 0, 0.16) !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-depth-1
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.70) !important;

  font-size:
    0.84rem !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-depth-2
  .cg-library-link,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-depth-3
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.58) !important;

  font-size:
    0.81rem !important;
}

/* =====================================================
   EMPTY / LOAD STATES
===================================================== */

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-empty {
  grid-column: 1 / -1 !important;

  max-width: 620px !important;

  margin: 0 auto !important;

  padding: 2rem !important;

  color:
    rgba(226, 232, 240, 0.66) !important;

  border:
    1px solid rgba(217, 163, 0, 0.14) !important;

  text-align: center !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 820px) {
  body.cg33k-vnext-community
    .cg33k-community-page
    .cg-resources-grid {
    grid-template-columns:
      1fr !important;

    max-width:
      660px !important;
  }
}

@media (max-width: 620px) {
  body.cg33k-vnext-community
    .cg33k-community-page {
    padding:
      4rem
      0.65rem
      5rem !important;
  }

  body.cg33k-vnext-community
    .cg33k-community-page
    > .cg-container {
    width:
      min(100%, 620px) !important;
  }

  body.cg33k-vnext-community
    .cg33k-community-page
    .cg-page-header {
    margin-bottom:
      3.2rem !important;
  }

  body.cg33k-vnext-community
    .cg33k-community-page
    .cg-title {
    font-size:
      clamp(2.45rem, 13vw, 3.6rem) !important;
  }

  body.cg33k-vnext-community
    .cg33k-community-page
    .cg-library-card {
    padding:
      1.45rem
      1.15rem !important;
  }

  body.cg33k-vnext-community
    .cg33k-community-page
    .cg-library-section-toggle {
    width: 100% !important;

    justify-content:
      flex-start !important;
  }
}

/* =====================================================
   REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-community
    .cg33k-community-page
    .cg-library-card {
    transition: none !important;
  }

  body.cg33k-vnext-community
    .cg33k-community-page
    .cg-library-card:hover,
  body.cg33k-vnext-community
    .cg33k-community-page
    .cg-library-card:focus-within {
    transform: none !important;
  }
}

/* =====================================================
   COMMUNITY-SPECIFIC FIT
   Preserve the Community content model while making its
   presentation part of the approved Resources family.
===================================================== */

/* Resources-style header: cross -> title -> subtitle -> gold rule. */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-kicker,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-introduction {
  display: none !important;
}

/* Keep Community descriptions, but use the same quiet catalog voice. */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-summary {
  min-height: 0 !important;
  max-width: none !important;

  margin:
    0.85rem 0
    0 !important;

  color:
    rgba(226, 232, 240, 0.62) !important;

  font-family:
    var(--cg-font-body, system-ui, sans-serif) !important;

  font-size: 0.88rem !important;
  line-height: 1.68 !important;

  text-align: left !important;
}

/* Community cards sometimes have both a primary link and an expand control. */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-card-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;

  gap: 0.7rem !important;

  margin: 0 !important;
}

/* Make Community's direct actions match the approved Library controls. */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-primary-link,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-panel-link {
  width: auto !important;
  max-width: 100% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 0.65rem !important;

  margin: 0 !important;

  padding:
    0.66rem
    0.82rem !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background:
    rgba(217, 163, 0, 0.025) !important;

  border:
    1px solid rgba(217, 163, 0, 0.18) !important;

  border-radius: 0 !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-align: left !important;
  text-decoration: none !important;

  box-shadow: none !important;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-primary-link:hover,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-primary-link:focus-visible,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-panel-link:hover,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-panel-link:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;

  background:
    rgba(217, 163, 0, 0.05) !important;

  border-color:
    rgba(217, 163, 0, 0.40) !important;

  outline: none !important;
}

/* One consistent, centered card ornament; no emoji dependence. */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-prayer-cross {
  position: relative !important;

  width: 100% !important;
  height: 14px !important;

  display: block !important;

  margin:
    0 0
    0.9rem !important;

  color: transparent !important;

  font-size: 0 !important;
  line-height: 0 !important;

  text-align: center !important;

  background: none !important;
  background-image: none !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament::before,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament::after,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-prayer-cross::before,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-prayer-cross::after {
  content: "" !important;

  position: absolute !important;
  left: 50% !important;

  display: block !important;

  background:
    rgba(217, 163, 0, 0.72) !important;

  transform:
    translateX(-50%) !important;

  pointer-events: none !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament::before,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-prayer-cross::before {
  top: 1px !important;

  width: 1px !important;
  height: 12px !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament::after,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-prayer-cross::after {
  top: 5px !important;

  width: 9px !important;
  height: 1px !important;
}

/* Quiet Support the Mission band below the Community catalog. */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-strip {
  max-width: 1040px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  gap: 1.5rem !important;

  margin:
    1.4rem auto
    0 !important;

  padding:
    1.65rem
    1.9rem !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.014),
      rgba(255, 255, 255, 0.002)
    ) !important;

  border: 0 !important;
  border-top:
    1px solid rgba(217, 163, 0, 0.30) !important;
  border-bottom:
    1px solid rgba(255, 255, 255, 0.04) !important;

  border-radius: 0 !important;

  box-shadow: none !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-copy {
  display: flex !important;
  align-items: center !important;

  gap: 1rem !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-icon {
  position: relative !important;

  width: 24px !important;
  height: 24px !important;
  min-width: 24px !important;

  color: transparent !important;

  font-size: 0 !important;
  line-height: 0 !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-icon::before,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-icon::after {
  content: "" !important;

  position: absolute !important;
  left: 50% !important;

  display: block !important;

  background:
    rgba(217, 163, 0, 0.78) !important;

  transform:
    translateX(-50%) !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-icon::before {
  top: 1px !important;

  width: 1px !important;
  height: 22px !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-icon::after {
  top: 7px !important;

  width: 11px !important;
  height: 1px !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-strip h2 {
  margin: 0 !important;

  color:
    var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: 1.35rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-strip p {
  margin:
    0.45rem 0
    0 !important;

  color:
    rgba(226, 232, 240, 0.62) !important;

  font-size: 0.88rem !important;
  line-height: 1.65 !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg33k-community-mission-actions {
  display: flex !important;
  flex-wrap: wrap !important;

  gap: 0.7rem !important;
}

/* Prevent visible Unicode +/- from becoming emoji on mobile. */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle-icon,
body.cg33k-vnext-community
  .cg33k-community-page
  button.cg-library-toggle {
  position: relative !important;

  color: transparent !important;

  font-size: 0 !important;
  line-height: 0 !important;

  overflow: hidden !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle-icon::before,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle-icon::after,
body.cg33k-vnext-community
  .cg33k-community-page
  button.cg-library-toggle::before,
body.cg33k-vnext-community
  .cg33k-community-page
  button.cg-library-toggle::after {
  content: "" !important;

  position: absolute !important;
  left: 50% !important;
  top: 50% !important;

  display: block !important;

  background:
    rgba(242, 189, 40, 0.88) !important;

  transform:
    translate(-50%, -50%) !important;

  pointer-events: none !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle-icon::before,
body.cg33k-vnext-community
  .cg33k-community-page
  button.cg-library-toggle::before {
  width: 8px !important;
  height: 1px !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle-icon::after,
body.cg33k-vnext-community
  .cg33k-community-page
  button.cg-library-toggle::after {
  width: 1px !important;
  height: 8px !important;
}

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-section-toggle[aria-expanded="true"]
  .cg-library-section-toggle-icon::after,
body.cg33k-vnext-community
  .cg33k-community-page
  button.cg-library-toggle[aria-expanded="true"]::after {
  opacity: 0 !important;
}

@media (max-width: 720px) {
  body.cg33k-vnext-community
    .cg33k-community-page
    .cg33k-community-mission-strip {
    flex-direction: column !important;
    align-items: flex-start !important;
  }
}



/* =====================================================
   CATHOLICG33K vNEXT 1.9.2
   COMMUNITY — ACTUAL RESOURCES CARD ORNAMENT

   Resources uses the literal ☩ glyph.
   Community now uses that exact ornament instead of a CSS-drawn +.
===================================================== */

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament {
  position: static !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;

  display: block !important;

  margin:
    0 0
    10px !important;

  padding: 0 !important;

  color:
    #c99a36 !important;

  font-size:
    22px !important;

  line-height:
    1 !important;

  text-align:
    center !important;

  opacity:
    1 !important;

  background: none !important;
  background-image: none !important;

  transform: none !important;

  filter: none !important;
}

/* Disable the old generated plus/cross completely. */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament::before,
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament::after {
  content: none !important;
  display: none !important;
}



/* =====================================================
   CATHOLICG33K vNEXT 1.9.3
   COMMUNITY — FORCE THE SAME ☩ ORNAMENT ON EVERY CARD

   The Community source data can carry mixed ornament glyphs
   (square / diamond / circle / etc.). Hide the underlying glyph
   and render the same centered ☩ everywhere so it matches the
   other sections.
===================================================== */

body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament {
  position: static !important;
  display: block !important;

  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;

  margin:
    0 0
    10px !important;

  padding: 0 !important;

  text-align:
    center !important;

  line-height:
    1 !important;

  /* hide the underlying varying glyph */
  font-size:
    0 !important;

  color:
    transparent !important;

  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
  overflow: visible !important;
}

/* kill any prior generated ornament treatment */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament::after {
  content: none !important;
  display: none !important;
}

/* render the same actual ☩ character everywhere */
body.cg33k-vnext-community
  .cg33k-community-page
  .cg-library-card
  .cg-library-ornament::before {
  content: "☩" !important;

  position: static !important;
  display: inline-block !important;

  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;

  margin: 0 !important;
  padding: 0 !important;

  color:
    #c99a36 !important;

  font-size:
    22px !important;

  line-height:
    1 !important;

  font-family: inherit !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: normal !important;
  text-transform: none !important;

  background: none !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
}

/* =====================================================
   CATHOLICG33K vNEXT 2.0.0
   SHOP — EXACT APPROVED LIBRARY VISUAL SYSTEM
===================================================== */

/* =====================================================
   PAGE / ENTRANCE
===================================================== */

body.cg33k-vnext-shop .cg-resources-page {
  width: 100% !important;
  max-width: none !important;

  min-height: 100vh !important;

  margin: 0 !important;

  padding:
    clamp(4.8rem, 7vw, 7rem)
    1rem
    clamp(6rem, 8vw, 8rem) !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.035),
      transparent 34rem
    ),
    #05070d !important;
}

body.cg33k-vnext-shop
  .cg-resources-page
  > .cg-container {
  width: min(100% - 1rem, 1180px) !important;
  max-width: 1180px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

body.cg33k-vnext-shop
  .cg-resources-page
  .cg-page-header {
  max-width: 820px !important;

  margin:
    0 auto
    clamp(3.8rem, 6vw, 5.5rem) !important;

  padding: 0 1rem !important;

  text-align: center !important;
}

body.cg33k-vnext-shop
  .cg-resources-page
  .cg-cross {
  width: 30px !important;
  height: 30px !important;

  margin:
    0 auto
    1.15rem !important;

  opacity: 0.90;
}

body.cg33k-vnext-shop
  .cg-resources-page
  .cg-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(2.8rem, 5.8vw, 5.1rem) !important;

  font-weight: 400 !important;
  line-height: 1.02 !important;

  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-shop
  .cg-resources-page
  .cg-subtitle {
  max-width: 700px !important;

  margin:
    1.35rem auto
    0 !important;

  color:
    rgba(226, 232, 240, 0.68) !important;

  font-size:
    clamp(0.96rem, 1.35vw, 1.07rem) !important;

  line-height: 1.78 !important;

  text-wrap: balance;
}

body.cg33k-vnext-shop
  .cg-resources-page
  .cg-page-header::after {
  content: "";

  display: block;

  width: 62px;
  height: 1px;

  margin:
    1.65rem auto
    0;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(217, 163, 0, 0.72),
      transparent
    );
}

/* =====================================================
   CATALOG GRID
===================================================== */

body.cg33k-vnext-shop
  .cg-library-page
  .cg-resources-grid {
  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  align-items: start !important;

  gap:
    clamp(1rem, 2vw, 1.4rem) !important;

  max-width: 1040px !important;

  margin: 0 auto !important;
}

/*
 * The landing page should read like a scholarly catalog,
 * not an app dashboard.
 */
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-card {
  position: relative !important;

  min-width: 0 !important;

  margin: 0 !important;

  padding:
    clamp(1.65rem, 2.6vw, 2.1rem)
    clamp(1.4rem, 2.4vw, 1.9rem) !important;

  overflow: visible !important;

  color: var(--cg-vnext-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.014),
      rgba(255, 255, 255, 0.002)
    ) !important;

  border: 0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.30) !important;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.04) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  transform: none !important;

  transition:
    transform 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-card:hover,
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-card:focus-within {
  transform: translateY(-2px) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.020),
      rgba(255, 255, 255, 0.004)
    ) !important;

  border-top-color:
    rgba(242, 189, 40, 0.62) !important;
}

/* =====================================================
   CARD ORNAMENT / TITLE
===================================================== */

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-ornament {
  margin:
    0 0
    0.9rem !important;

  color:
    rgba(217, 163, 0, 0.70) !important;

  font-size: 0.95rem !important;
  line-height: 1 !important;

  opacity: 0.85 !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(1.18rem, 1.7vw, 1.5rem) !important;

  font-weight: 500 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.035em !important;
  text-transform: none !important;

  text-align: left !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-title a,
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-title a:visited {
  color: var(--cg-vnext-ivory) !important;

  text-decoration: none !important;

  transition:
    color 180ms ease !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-title a:hover,
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-title a:focus-visible,
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-card:focus-within
  .cg-library-title a {
  color:
    var(--cg-vnext-gold-bright) !important;
}

/*
 * The old centered decorative divider becomes a short catalog rule.
 */
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-rule {
  width: 42px !important;
  height: 1px !important;

  margin:
    1rem 0
    1.25rem !important;

  background:
    rgba(217, 163, 0, 0.54) !important;
}

/* =====================================================
   PRIMARY EXPAND ACTION
===================================================== */

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-section-toggle {
  width: auto !important;
  max-width: 100% !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;

  gap: 0.65rem !important;

  margin: 0 !important;

  padding:
    0.66rem
    0.82rem !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background:
    rgba(217, 163, 0, 0.025) !important;

  border:
    1px solid rgba(217, 163, 0, 0.18) !important;

  border-radius: 0 !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-align: left !important;

  cursor: pointer;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-section-toggle:hover,
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-section-toggle:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;

  background:
    rgba(217, 163, 0, 0.05) !important;

  border-color:
    rgba(217, 163, 0, 0.40) !important;

  outline: none !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-section-toggle:focus-visible {
  outline:
    1px solid rgba(242, 189, 40, 0.65) !important;

  outline-offset: 3px !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-section-toggle-icon {
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  border:
    1px solid rgba(217, 163, 0, 0.34) !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background: transparent !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.86rem !important;
  line-height: 1 !important;
}

/* =====================================================
   DIRECT RESOURCE LINK
===================================================== */

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-card-link {
  display: inline-block !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;

  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;

  text-decoration: none !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-card-link:hover,
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-card-link:focus-visible {
  color:
    var(--cg-vnext-ivory) !important;
}

/* =====================================================
   EXPANDED PANEL
===================================================== */

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-section-panel {
  margin:
    1.35rem 0
    0 !important;

  padding:
    1.25rem 0
    0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.11) !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-section-panel[hidden],
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-children[hidden] {
  display: none !important;
}

/* =====================================================
   NESTED DIRECTORY
===================================================== */

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-list {
  margin: 0 !important;
  padding: 0 !important;

  list-style: none !important;

  font-family:
    var(--cg-font-body, system-ui, sans-serif) !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-item {
  margin:
    0.36rem 0 !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-row {
  min-height: 30px !important;

  display: flex !important;
  align-items: flex-start !important;

  gap: 0.6rem !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  button.cg-library-toggle {
  all: unset !important;

  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin-top: 1px !important;

  border:
    1px solid rgba(217, 163, 0, 0.26) !important;

  color:
    rgba(217, 163, 0, 0.82) !important;

  cursor: pointer !important;

  font-family:
    var(--cg-font-mono, ui-monospace, monospace) !important;

  font-size: 0.8rem !important;
  line-height: 1 !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  button.cg-library-toggle:hover,
body.cg33k-vnext-shop
  .cg-library-page
  button.cg-library-toggle:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  border-color:
    rgba(217, 163, 0, 0.55) !important;

  background:
    rgba(217, 163, 0, 0.045) !important;

  outline: none !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-link,
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-link:visited {
  color:
    rgba(243, 238, 227, 0.78) !important;

  font-size: 0.88rem !important;
  line-height: 1.52 !important;

  text-decoration: none !important;

  transition:
    color 160ms ease !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-link:hover,
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-link:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  outline: none !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-mark {
  width: 20px !important;
  min-width: 20px !important;

  color:
    rgba(217, 163, 0, 0.62) !important;

  font-size: 0.78rem !important;
  line-height: 1.5 !important;

  text-align: center !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-children {
  margin:
    0.42rem 0
    0.72rem
    0.62rem !important;

  padding-left:
    1rem !important;

  border-left:
    1px solid rgba(217, 163, 0, 0.16) !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-depth-1
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.70) !important;

  font-size:
    0.84rem !important;
}

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-depth-2
  .cg-library-link,
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-depth-3
  .cg-library-link {
  color:
    rgba(243, 238, 227, 0.58) !important;

  font-size:
    0.81rem !important;
}

/* =====================================================
   EMPTY / LOAD STATES
===================================================== */

body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-empty {
  grid-column: 1 / -1 !important;

  max-width: 620px !important;

  margin: 0 auto !important;

  padding: 2rem !important;

  color:
    rgba(226, 232, 240, 0.66) !important;

  border:
    1px solid rgba(217, 163, 0, 0.14) !important;

  text-align: center !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 820px) {
  body.cg33k-vnext-shop
    .cg-library-page
    .cg-resources-grid {
    grid-template-columns:
      1fr !important;

    max-width:
      660px !important;
  }
}

@media (max-width: 620px) {
  body.cg33k-vnext-shop
    .cg-resources-page {
    padding:
      4rem
      0.65rem
      5rem !important;
  }

  body.cg33k-vnext-shop
    .cg-resources-page
    > .cg-container {
    width:
      min(100%, 620px) !important;
  }

  body.cg33k-vnext-shop
    .cg-resources-page
    .cg-page-header {
    margin-bottom:
      3.2rem !important;
  }

  body.cg33k-vnext-shop
    .cg-resources-page
    .cg-title {
    font-size:
      clamp(2.45rem, 13vw, 3.6rem) !important;
  }

  body.cg33k-vnext-shop
    .cg-library-page
    .cg-library-card {
    padding:
      1.45rem
      1.15rem !important;
  }

  body.cg33k-vnext-shop
    .cg-library-page
    .cg-library-section-toggle {
    width: 100% !important;

    justify-content:
      flex-start !important;
  }
}

/* =====================================================
   REDUCED MOTION
===================================================== */

@media (prefers-reduced-motion: reduce) {
  body.cg33k-vnext-shop
    .cg-library-page
    .cg-library-card {
    transition: none !important;
  }

  body.cg33k-vnext-shop
    .cg-library-page
    .cg-library-card:hover,
  body.cg33k-vnext-shop
    .cg-library-page
    .cg-library-card:focus-within {
    transform: none !important;
  }
}

/* =====================================================
   SHOP-SPECIFIC COMPATIBILITY
   Keep the approved Library visual system exact.
===================================================== */

/*
 * The Shop shortcode's top-level ornament already contains ☩.
 * Keep the approved Resources ornament centered and text-rendered.
 */
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-ornament {
  font-variant-emoji: text !important;
}

/*
 * Shop summaries are optional WordPress excerpts.
 * When present, they remain editable content and fit the catalog voice.
 */
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-summary {
  max-width: none !important;

  margin:
    0.85rem 0
    0 !important;

  color:
    rgba(226, 232, 240, 0.62) !important;

  font-family:
    var(--cg-font-body, system-ui, sans-serif) !important;

  font-size: 0.88rem !important;
  line-height: 1.68 !important;

  text-align: left !important;
}

/*
 * Shop JavaScript writes + / − into these controls.
 * Preserve behavior while keeping the control visually consistent.
 */
body.cg33k-vnext-shop
  .cg-library-page
  .cg-library-section-toggle-icon,
body.cg33k-vnext-shop
  .cg-library-page
  button.cg-library-toggle {
  font-variant-emoji: text !important;
}



/* =====================================================
   CATHOLICG33K vNEXT 2.1.0
   ABOUT — APPROVED CATHOLICG33K VISUAL FAMILY

   Content stays in the existing [cg33k_about] shortcode.
   This block controls presentation only.
===================================================== */

/* =====================================================
   PAGE SHELL / HEADER
===================================================== */

body.cg33k-vnext-about .cg-page {
  width: 100% !important;
  max-width: none !important;

  min-height: 100vh !important;

  margin: 0 !important;

  padding:
    clamp(4.8rem, 7vw, 7rem)
    1rem
    clamp(6rem, 8vw, 8rem) !important;

  background:
    radial-gradient(
      circle at 50% 0%,
      rgba(217, 163, 0, 0.035),
      transparent 34rem
    ),
    #05070d !important;
}

body.cg33k-vnext-about
  .cg-page
  > .cg-container-sm {
  width: min(100% - 1rem, 1040px) !important;
  max-width: 1040px !important;

  margin: 0 auto !important;
  padding: 0 !important;
}

body.cg33k-vnext-about
  .cg-page
  .cg-page-header {
  max-width: 820px !important;

  margin:
    0 auto
    clamp(3.8rem, 6vw, 5.5rem) !important;

  padding: 0 1rem !important;

  text-align: center !important;
}

body.cg33k-vnext-about
  .cg-page
  .cg-cross {
  display: block !important;

  margin:
    0 auto
    1.15rem !important;

  color:
    rgba(242, 189, 40, 0.92) !important;

  font-size: 1.6rem !important;
  line-height: 1 !important;

  font-variant-emoji: text !important;

  text-shadow:
    0 0 10px rgba(217, 163, 0, 0.10) !important;
}

body.cg33k-vnext-about
  .cg-page
  .cg-title {
  margin: 0 !important;

  color: var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(2.8rem, 5.8vw, 5.1rem) !important;

  font-weight: 400 !important;
  line-height: 1.02 !important;

  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;

  text-wrap: balance;
}

body.cg33k-vnext-about
  .cg-page
  .cg-subtitle {
  max-width: 700px !important;

  margin:
    1.35rem auto
    0 !important;

  color:
    rgba(226, 232, 240, 0.68) !important;

  font-size:
    clamp(0.96rem, 1.35vw, 1.07rem) !important;

  line-height: 1.78 !important;

  text-wrap: balance;
}

body.cg33k-vnext-about
  .cg-page
  .cg-page-header::after {
  content: "";

  display: block;

  width: 62px;
  height: 1px;

  margin:
    1.65rem auto
    0;

  background:
    linear-gradient(
      90deg,
      transparent,
      rgba(217, 163, 0, 0.72),
      transparent
    );
}

/* =====================================================
   ABOUT CONTENT GRID
===================================================== */

body.cg33k-vnext-about
  .cg-about-stack {
  display: grid !important;

  grid-template-columns:
    repeat(2, minmax(0, 1fr)) !important;

  gap:
    clamp(1rem, 2vw, 1.4rem) !important;

  align-items: stretch !important;
}

/* Meet the Team spans full width. */
body.cg33k-vnext-about
  .cg-about-stack
  > section:nth-child(3) {
  grid-column: 1 / -1 !important;

  padding:
    clamp(2.2rem, 4vw, 3.2rem)
    0 !important;
}

/* =====================================================
   FLAT ABOUT PANELS
===================================================== */

body.cg33k-vnext-about
  .cg-about-panel {
  position: relative !important;

  margin: 0 !important;

  padding:
    clamp(1.65rem, 2.6vw, 2.1rem)
    clamp(1.4rem, 2.4vw, 1.9rem) !important;

  color:
    var(--cg-vnext-ivory) !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.014),
      rgba(255, 255, 255, 0.002)
    ) !important;

  border: 0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.30) !important;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.04) !important;

  border-radius: 0 !important;

  box-shadow: none !important;
}

body.cg33k-vnext-about
  .cg-about-panel h2 {
  margin:
    0 0
    1rem !important;

  color:
    var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(1.18rem, 1.7vw, 1.5rem) !important;

  font-weight: 500 !important;
  line-height: 1.3 !important;

  letter-spacing: 0.035em !important;
  text-transform: none !important;
}

body.cg33k-vnext-about
  .cg-about-panel h2::after {
  content: "";

  display: block;

  width: 42px;
  height: 1px;

  margin:
    0.75rem 0
    0;

  background:
    rgba(217, 163, 0, 0.54);
}

body.cg33k-vnext-about
  .cg-about-panel p {
  margin:
    0 0
    1rem !important;

  color:
    rgba(226, 232, 240, 0.68) !important;

  font-size: 0.92rem !important;
  line-height: 1.78 !important;
}

body.cg33k-vnext-about
  .cg-about-panel p:last-child {
  margin-bottom: 0 !important;
}

/* =====================================================
   MEET THE TEAM
===================================================== */

body.cg33k-vnext-about
  .cg-about-stack
  .cg-section-title {
  margin:
    0 0
    2rem !important;

  color:
    var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size:
    clamp(1.8rem, 3vw, 2.45rem) !important;

  font-weight: 400 !important;
  line-height: 1.25 !important;

  letter-spacing: 0.045em !important;
  text-transform: none !important;

  text-align: center !important;
}

body.cg33k-vnext-about
  .cg-about-stack
  .cg-section-title::after {
  content: "";

  display: block;

  width: 48px;
  height: 1px;

  margin:
    1rem auto
    0;

  background:
    rgba(217, 163, 0, 0.55);
}

body.cg33k-vnext-about
  .cg-about-team-image {
  max-width: 720px !important;

  margin:
    0 auto
    1.4rem !important;
}

body.cg33k-vnext-about
  .cg-about-team-image img {
  width: 100% !important;
  height: auto !important;

  display: block !important;

  border:
    1px solid rgba(217, 163, 0, 0.22) !important;

  box-shadow: none !important;
}

body.cg33k-vnext-about
  .cg-team-grid {
  display: grid !important;

  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;

  gap: 1rem !important;

  max-width: 900px !important;

  margin: 0 auto !important;
}

body.cg33k-vnext-about
  .cg-team-card {
  padding:
    1.45rem
    1.2rem !important;

  background:
    linear-gradient(
      180deg,
      rgba(255, 255, 255, 0.014),
      rgba(255, 255, 255, 0.002)
    ) !important;

  border: 0 !important;

  border-top:
    1px solid rgba(217, 163, 0, 0.28) !important;

  border-bottom:
    1px solid rgba(255, 255, 255, 0.04) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  text-align: center !important;
}

body.cg33k-vnext-about
  .cg-team-avatar {
  width: 3.4rem !important;
  height: 3.4rem !important;

  margin:
    0 auto
    0.85rem !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  color:
    var(--cg-vnext-gold-bright) !important;

  background:
    rgba(217, 163, 0, 0.035) !important;

  border:
    1px solid rgba(217, 163, 0, 0.22) !important;

  border-radius: 50% !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: 1.1rem !important;
  line-height: 1 !important;
}

body.cg33k-vnext-about
  .cg-team-card h3 {
  margin: 0 !important;

  color:
    var(--cg-vnext-ivory) !important;

  font-family:
    var(--cg-font-heading, Georgia, serif) !important;

  font-size: 1.02rem !important;
  font-weight: 500 !important;

  letter-spacing: 0.025em !important;
}

body.cg33k-vnext-about
  .cg-team-card p {
  margin:
    0.35rem 0
    0 !important;

  color:
    rgba(226, 232, 240, 0.58) !important;

  font-size: 0.78rem !important;
  line-height: 1.5 !important;
}

/* =====================================================
   RECOMMENDED RESOURCE LINKS
===================================================== */

body.cg33k-vnext-about
  .cg-resource-link,
body.cg33k-vnext-about
  .cg-resource-link:visited {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;

  gap: 1rem !important;

  padding:
    0.78rem
    0.9rem !important;

  color:
    rgba(243, 238, 227, 0.80) !important;

  background:
    rgba(217, 163, 0, 0.018) !important;

  border:
    1px solid rgba(217, 163, 0, 0.16) !important;

  text-decoration: none !important;

  transition:
    color 180ms ease,
    border-color 180ms ease,
    background-color 180ms ease !important;
}

body.cg33k-vnext-about
  .cg-resource-link:hover,
body.cg33k-vnext-about
  .cg-resource-link:focus-visible {
  color:
    var(--cg-vnext-gold-bright) !important;

  background:
    rgba(217, 163, 0, 0.035) !important;

  border-color:
    rgba(217, 163, 0, 0.38) !important;

  outline: none !important;
}

/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 820px) {
  body.cg33k-vnext-about
    .cg-about-stack {
    grid-template-columns: 1fr !important;
  }

  body.cg33k-vnext-about
    .cg-about-stack
    > section:nth-child(3) {
    grid-column: auto !important;
  }

  body.cg33k-vnext-about
    .cg-team-grid {
    grid-template-columns: 1fr !important;

    max-width: 620px !important;
  }
}

@media (max-width: 620px) {
  body.cg33k-vnext-about
    .cg-page {
    padding:
      4rem
      0.65rem
      5rem !important;
  }

  body.cg33k-vnext-about
    .cg-page
    > .cg-container-sm {
    width:
      min(100%, 620px) !important;
  }

  body.cg33k-vnext-about
    .cg-page
    .cg-page-header {
    margin-bottom:
      3.2rem !important;
  }

  body.cg33k-vnext-about
    .cg-page
    .cg-title {
    font-size:
      clamp(2.45rem, 13vw, 3.6rem) !important;
  }

  body.cg33k-vnext-about
    .cg-about-panel {
    padding:
      1.45rem
      1.15rem !important;
  }

  body.cg33k-vnext-about
    .cg-about-stack
    > section:nth-child(3) {
    padding:
      1.8rem 0 !important;
  }
}
