:root {
  --ivory: #f8f8f1;
  --greige: #d5cfc5;
  --blue: #acc7df;
  --sage: #bbc8b2;
  --espresso: #4b3c33;
  --espresso-soft: #67584f;
  --ink: #2f2925;
  --muted: #6f6964;
  --white: #ffffff;
  --line: rgba(75, 60, 51, 0.14);
  --shadow: 0 30px 80px rgba(75, 60, 51, 0.12);
  --radius-sm: 14px;
  --radius-md: 24px;
  --radius-lg: 38px;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--ivory);
  color: var(--ink);
  font-family: "Inter", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1,
h2,
h3,
h4,
h5,
h6,
.navbar-brand,
.footer-brand {
  margin-top: 0;
  color: var(--espresso);
  font-family: "Manrope", sans-serif;
  font-weight: 400;
  letter-spacing: -0.04em;
}

h1 {
  max-width: 780px;
  font-size: clamp(3.35rem, 7vw, 6.8rem);
  font-weight: 300;
  line-height: 0.98;
}

h2 {
  font-size: clamp(2.35rem, 4.5vw, 4.6rem);
  font-weight: 300;
  line-height: 1.06;
}

h3 {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.025em;
}

p {
  color: var(--muted);
}

a {
  color: inherit;
  text-decoration: none;
}

a,
button {
  transition: all 180ms ease;
}

img {
  max-width: 100%;
}

.section-pad {
  padding: clamp(5.5rem, 10vw, 9rem) 0;
}

.eyebrow {
  display: inline-block;
  margin-bottom: 1.35rem;
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.74rem;
  font-weight: 600;
  letter-spacing: 0.16em;
  line-height: 1.2;
  text-transform: uppercase;
}

.eyebrow.dark {
  color: var(--espresso-soft);
}

.section-intro {
  max-width: 700px;
  margin-top: 1.6rem;
  font-size: clamp(1.05rem, 1.7vw, 1.22rem);
  line-height: 1.85;
}

.btn {
  position: relative;
  overflow: hidden;
  border-radius: 999px;
  padding: 0.82rem 1.4rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  box-shadow: 0 0 0 rgba(75, 60, 51, 0);
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}

.btn:hover {
  box-shadow: 0 10px 26px rgba(75, 60, 51, 0.14);
}

.btn-lg {
  padding: 1rem 1.6rem;
  font-size: 0.98rem;
}

.btn-dark {
  border-color: var(--espresso);
  background: var(--espresso);
}

.btn-dark:hover,
.btn-dark:focus {
  border-color: #372c26;
  background: #372c26;
  transform: translateY(-1px);
}

.btn-sage {
  border: 1px solid var(--sage);
  background: var(--sage);
  color: var(--espresso);
}

.btn-sage:hover,
.btn-sage:focus {
  border-color: #aab9a0;
  background: #aab9a0;
  color: var(--espresso);
  transform: translateY(-1px);
}

.btn-outline-espresso {
  border: 1px solid rgba(75, 60, 51, 0.42);
  background: transparent;
  color: var(--espresso);
}

.btn-outline-espresso:hover,
.btn-outline-espresso:focus {
  border-color: var(--espresso);
  background: var(--espresso);
  color: var(--white);
}

.site-nav {
  z-index: 1030;
  min-height: 78px;
  border-bottom: 1px solid rgba(75, 60, 51, 0.08);
  background: rgba(248, 248, 241, 0.92);
  backdrop-filter: blur(18px);
  transition:
    min-height 220ms ease,
    background-color 220ms ease,
    box-shadow 220ms ease,
    border-color 220ms ease;
}

.site-nav.is-scrolled {
  min-height: 68px;
  border-bottom-color: rgba(75, 60, 51, 0.05);
  background: rgba(248, 248, 241, 0.97);
  box-shadow: 0 12px 36px rgba(75, 60, 51, 0.08);
}

.nav-wrap {
  max-width: 1520px;
  padding-right: clamp(1.25rem, 4vw, 4.5rem);
  padding-left: clamp(1.25rem, 4vw, 4.5rem);
}

.navbar-brand,
.footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  font-size: 1.05rem;
  font-weight: 500;
  letter-spacing: -0.025em;
}

.brand-mark {
  display: inline-block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--sage);
  box-shadow: 8px 0 0 var(--blue);
}

.site-nav .nav-link {
  color: var(--espresso-soft);
  font-size: 0.92rem;
  font-weight: 500;
}

.site-nav .nav-link:hover {
  color: var(--espresso);
}

.listen-link {
  margin-right: 0.25rem;
}

/* --------------------------------------------------
   Editorial hero
-------------------------------------------------- */

.hero-editorial {
  position: relative;
  overflow: hidden;
  min-height: calc(100vh - 78px);
  background:
    radial-gradient(
      circle at 84% 24%,
      rgba(255, 255, 255, 0.96) 0%,
      rgba(255, 255, 255, 0.45) 20%,
      transparent 42%
    ),
    radial-gradient(
      circle at 79% 92%,
      rgba(187, 200, 178, 0.72) 0%,
      rgba(187, 200, 178, 0.3) 27%,
      transparent 54%
    ),
    linear-gradient(
      115deg,
      var(--ivory) 0%,
      var(--ivory) 42%,
      #dce8f1 68%,
      var(--blue) 100%
    );
}

.hero-editorial::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(248, 248, 241, 0.97) 0%,
    rgba(248, 248, 241, 0.92) 39%,
    rgba(248, 248, 241, 0.22) 62%,
    transparent 100%
  );
  content: "";
  pointer-events: none;
}

.hero-container {
  position: relative;
  z-index: 2;
  max-width: 1500px;
}

.hero-row {
  min-height: calc(100vh - 78px);
  padding: clamp(5rem, 9vw, 8rem) 0;
}

.hero-inner {
  max-width: 740px;
}

.hero-kicker {
  display: inline-block;
  margin-bottom: 1.6rem;
  color: #d99a19;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.24em;
  line-height: 1.3;
  text-transform: uppercase;
}

.hero-editorial h1 {
  max-width: 760px;
  margin-bottom: 0;
  color: #102743;
  font-family: "Manrope", sans-serif;
  font-size: clamp(4rem, 7vw, 7.25rem);
  font-weight: 300;
  letter-spacing: -0.065em;
  line-height: 0.97;
}

.hero-editorial h1 span {
  display: block;
}

.hero-divider {
  display: flex;
  max-width: 450px;
  align-items: center;
  gap: 0.9rem;
  margin: 2.5rem 0 2.4rem;
}

.hero-divider span:not(.hero-divider-icon) {
  height: 1px;
  flex: 1;
  background: rgba(217, 154, 25, 0.56);
}

.hero-divider-icon {
  color: #d99a19;
  font-size: 0.9rem;
}

.hero-description {
  max-width: 590px;
  margin-bottom: 2.6rem;
  color: #3f4750;
  font-size: clamp(1.02rem, 1.5vw, 1.2rem);
  line-height: 1.75;
}

.btn-gold,
.btn-outline-navy {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.btn-gold {
  gap: 0.65rem;
  border: 1px solid #d99a19;
  background: #d99a19;
  color: var(--white);
  box-shadow: 0 14px 30px rgba(217, 154, 25, 0.18);
}

.btn-gold:hover,
.btn-gold:focus {
  border-color: #c48812;
  background: #c48812;
  color: var(--white);
  box-shadow: 0 18px 38px rgba(217, 154, 25, 0.25);
  transform: translateY(-2px);
}

.btn-outline-navy {
  gap: 0.7rem;
  border: 1px solid rgba(16, 39, 67, 0.58);
  background: rgba(255, 255, 255, 0.18);
  color: #102743;
  backdrop-filter: blur(8px);
}

.btn-outline-navy:hover,
.btn-outline-navy:focus {
  border-color: #102743;
  background: #102743;
  color: var(--white);
  transform: translateY(-2px);
}

.play-icon {
  font-size: 0.76rem;
}

.hero-features {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 3rem;
}

.hero-feature {
  display: inline-flex;
  min-width: 148px;
  align-items: center;
  gap: 0.75rem;
  padding: 0.82rem 1.15rem;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.48);
  color: #334250;
  font-size: 0.88rem;
  font-weight: 500;
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 28px rgba(75, 60, 51, 0.05);
  transition:
    transform 200ms ease,
    background-color 200ms ease,
    border-color 200ms ease;
}

.hero-feature:hover {
  border-color: rgba(217, 154, 25, 0.42);
  background: rgba(255, 255, 255, 0.74);
  transform: translateY(-3px);
}

.feature-icon {
  color: #d99a19;
  font-size: 1.1rem;
}

.hero-visual {
  position: relative;
  display: flex;
  min-height: 720px;
  align-items: center;
  justify-content: center;
}

.book-mockup.actual-cover {
  position: relative;
  z-index: 3;
  width: min(86%, 610px);
  margin: 0;
  transform: translateX(1rem) rotate(1.25deg);
  filter:
    drop-shadow(0 42px 44px rgba(16, 39, 67, 0.18))
    drop-shadow(0 14px 18px rgba(75, 60, 51, 0.14));
  animation: hero-book-float 6s ease-in-out infinite;
  transform-origin: center;
  will-change: transform;
}

.book-cover-image {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.hero-orbit {
  position: absolute;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 50%;
  pointer-events: none;
}

.orbit-one {
  top: 8%;
  right: -5%;
  width: 690px;
  height: 690px;
}

.orbit-two {
  right: 13%;
  bottom: 4%;
  width: 440px;
  height: 440px;
  border-color: rgba(75, 60, 51, 0.11);
}

@keyframes hero-book-float {
  0%,
  100% {
    transform: translateX(1rem) translateY(0) rotate(1.25deg);
  }

  50% {
    transform: translateX(1rem) translateY(-12px) rotate(0.5deg);
  }
}

.trust-strip {
  padding: 2.7rem 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.38);
}

.trust-strip p {
  margin: 0;
  font-size: 0.88rem;
}

.trust-strip span {
  color: var(--espresso);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.book-section {
  background: var(--ivory);
}

.day-card {
  position: relative;
  min-height: 540px;
  overflow: hidden;
  padding: clamp(2.4rem, 5vw, 4.4rem);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(rgba(75, 60, 51, 0.08), rgba(75, 60, 51, 0.08)),
    var(--greige);
  box-shadow: var(--shadow);
}

.day-card::after {
  position: absolute;
  right: -110px;
  bottom: -110px;
  width: 300px;
  height: 300px;
  border: 1px solid rgba(75, 60, 51, 0.18);
  border-radius: 50%;
  content: "";
}

.day-card > span {
  display: inline-block;
  margin-bottom: 4.5rem;
  color: var(--espresso-soft);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

.day-card h2 {
  max-width: 330px;
}

.day-card p {
  max-width: 390px;
  margin-top: 1.5rem;
  color: var(--espresso-soft);
}

.day-card a {
  position: absolute;
  bottom: 3rem;
  left: clamp(2.4rem, 5vw, 4.4rem);
  color: var(--espresso);
  font-size: 0.88rem;
  font-weight: 600;
}

.day-card a:hover {
  transform: translateX(4px);
}

.mini-card {
  padding: 1.55rem;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.4);
}

.mini-card strong {
  display: block;
  margin-bottom: 1.8rem;
  color: var(--espresso-soft);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.mini-card h3 {
  margin-bottom: 0.65rem;
}

.mini-card p {
  margin-bottom: 0;
  font-size: 0.9rem;
  line-height: 1.65;
}

.preview-section {
  background: var(--greige);
}

.preview-panel {
  padding: clamp(2.5rem, 6vw, 5rem);
  border-radius: var(--radius-lg);
  background: var(--espresso);
  box-shadow: var(--shadow);
}

.preview-panel h2,
.preview-panel p {
  color: var(--white);
}

.preview-panel p {
  max-width: 700px;
  margin-top: 1.5rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: 1.05rem;
}

.signup-card {
  padding: 2rem;
  border-radius: var(--radius-md);
  background: var(--ivory);
}

.signup-card .form-label {
  margin-bottom: 0.8rem;
  color: var(--espresso);
  font-size: 0.84rem;
  font-weight: 600;
}

.signup-card .form-control {
  min-height: 58px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--white);
  font-size: 0.95rem;
}

.signup-card .form-control:focus {
  border-color: var(--blue);
  box-shadow: 0 0 0 0.25rem rgba(172, 199, 223, 0.25);
}

.signup-card small {
  display: block;
  margin-top: 1rem;
  color: var(--muted);
  font-size: 0.73rem;
  line-height: 1.5;
}

.podcast-section {
  background: var(--ivory);
}

.podcast-tile {
  display: flex;
  min-height: 470px;
  flex-direction: column;
  justify-content: flex-end;
  padding: clamp(2rem, 5vw, 3.6rem);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 25% 20%, rgba(255, 255, 255, 0.8), transparent 28%),
    linear-gradient(145deg, var(--blue), #c8d8e4);
  box-shadow: var(--shadow);
}

.play-button {
  display: grid;
  width: 74px;
  height: 74px;
  margin-bottom: auto;
  place-items: center;
  border-radius: 50%;
  background: var(--espresso);
  color: var(--white);
  font-size: 1.1rem;
}

.podcast-tile > span {
  color: var(--espresso-soft);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.podcast-tile h3 {
  margin: 0.55rem 0;
  font-size: 2.1rem;
  font-weight: 300;
}

.podcast-tile p {
  margin-bottom: 0;
  color: var(--espresso-soft);
}

.author-section {
  background: #f1f0e8;
}

.author-media {
  max-width: 470px;
}

.author-image-wrap {
  position: relative;
  display: grid;
  overflow: hidden;
  min-height: 560px;
  place-items: center;
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 70% 20%, rgba(255, 255, 255, 0.78), transparent 30%),
    linear-gradient(145deg, var(--sage), var(--greige));
  box-shadow: var(--shadow);
}

.author-initials {
  color: rgba(75, 60, 51, 0.44);
  font-family: "Manrope", sans-serif;
  font-size: clamp(5rem, 12vw, 9rem);
  font-weight: 300;
  letter-spacing: -0.08em;
}

.author-headshot {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.author-contact-card {
  position: relative;
  z-index: 2;
  width: calc(100% - 2rem);
  margin: -4.2rem auto 0;
  padding: 1.6rem;
  border: 1px solid rgba(75, 60, 51, 0.08);
  border-radius: var(--radius-md);
  background: rgba(248, 248, 241, 0.96);
  box-shadow: 0 22px 60px rgba(75, 60, 51, 0.16);
  backdrop-filter: blur(16px);
}

.author-contact-card span {
  color: var(--espresso);
  font-family: "Manrope", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: -0.03em;
}

.author-contact-card p {
  margin: 0.55rem 0 1.2rem;
  font-size: 0.84rem;
  line-height: 1.65;
}

.author-lead {
  margin-top: 1.8rem;
  color: var(--espresso-soft);
  font-size: clamp(1.1rem, 1.8vw, 1.28rem);
  line-height: 1.8;
}

.author-section blockquote {
  margin: 2rem 0 0;
  padding-left: 1.5rem;
  border-left: 2px solid var(--sage);
  color: var(--espresso);
  font-family: "Manrope", sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  font-weight: 300;
  line-height: 1.55;
  letter-spacing: -0.025em;
}

.closing-cta {
  padding: clamp(5.5rem, 10vw, 9rem) 0;
  background: var(--sage);
}

.closing-cta .eyebrow {
  color: var(--espresso-soft);
}

.closing-cta h2 {
  max-width: 900px;
  margin: 0 auto;
}

.closing-cta p {
  max-width: 620px;
  margin: 1.6rem auto 2.2rem;
  color: var(--espresso-soft);
  font-size: 1.05rem;
}

.footer {
  padding: 5rem 0 1.5rem;
  background: var(--espresso);
  color: var(--white);
}

.footer-brand {
  color: var(--white);
}

.footer p {
  max-width: 360px;
  margin-top: 1.2rem;
  color: rgba(255, 255, 255, 0.62);
  font-size: 0.9rem;
}

.footer h4 {
  margin-bottom: 1rem;
  color: rgba(255, 255, 255, 0.8);
  font-family: "Inter", sans-serif;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.footer a:not(.footer-brand) {
  display: block;
  width: fit-content;
  margin-bottom: 0.55rem;
  color: rgba(255, 255, 255, 0.68);
  font-size: 0.86rem;
}

.footer a:hover {
  color: var(--white);
}

.footer-bottom {
  margin-top: 4rem;
  padding-top: 1.4rem;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.45);
  font-size: 0.74rem;
}

/* --------------------------------------------------
   Motion and interaction enhancements
-------------------------------------------------- */

.navbar-brand .brand-mark {
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.navbar-brand:hover .brand-mark {
  transform: rotate(18deg) scale(1.08);
  box-shadow: 9px 0 0 var(--blue);
}

.site-nav .nav-link {
  position: relative;
}

.site-nav .navbar-nav .nav-link::after {
  position: absolute;
  right: 0.5rem;
  bottom: 0.2rem;
  left: 0.5rem;
  height: 1px;
  background: var(--espresso);
  content: "";
  transform: scaleX(0);
  transform-origin: right center;
  transition: transform 220ms ease;
}

.site-nav .navbar-nav .nav-link:hover::after,
.site-nav .navbar-nav .nav-link:focus-visible::after {
  transform: scaleX(1);
  transform-origin: left center;
}

.reveal {
  opacity: 0;
  transform: translateY(34px);
  transition:
    opacity 700ms cubic-bezier(.22, 1, .36, 1),
    transform 700ms cubic-bezier(.22, 1, .36, 1);
  transition-delay: var(--reveal-delay, 0ms);
}

.reveal.from-left {
  transform: translateX(-34px);
}

.reveal.from-right {
  transform: translateX(34px);
}

.reveal.scale-in {
  transform: scale(0.97);
}

.reveal.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}

.mini-card,
.day-card,
.podcast-tile,
.preview-panel,
.author-image-wrap,
.author-contact-card {
  transition:
    transform 260ms cubic-bezier(.22, 1, .36, 1),
    box-shadow 260ms ease,
    border-color 260ms ease;
}

.play-button {
  transition: transform 240ms ease, box-shadow 240ms ease;
}

.trust-strip span {
  display: inline-block;
  transition: transform 200ms ease, color 200ms ease;
}

.section-pad,
.closing-cta {
  position: relative;
}

@media (hover: hover) and (pointer: fine) {
  .mini-card:hover {
    transform: translateY(-7px);
    border-color: rgba(75, 60, 51, 0.26);
    box-shadow: 0 18px 45px rgba(75, 60, 51, 0.09);
  }

  .day-card:hover,
  .podcast-tile:hover {
    transform: translateY(-8px);
    box-shadow: 0 40px 90px rgba(75, 60, 51, 0.17);
  }

  .preview-panel:hover {
    transform: translateY(-4px);
    box-shadow: 0 40px 90px rgba(75, 60, 51, 0.18);
  }

  .author-media:hover .author-image-wrap {
    transform: translateY(-5px);
  }

  .author-media:hover .author-contact-card {
    transform: translateY(-4px);
  }

  .podcast-tile:hover .play-button {
    transform: scale(1.08);
    box-shadow: 0 14px 32px rgba(75, 60, 51, 0.22);
  }

  .trust-strip span:hover {
    color: var(--espresso-soft);
    transform: translateY(-2px);
  }
}

@media (min-width: 992px) {
  .parallax-soft {
    will-change: transform;
    transition: transform 140ms linear;
  }
}

/* --------------------------------------------------
   Responsive
-------------------------------------------------- */

@media (min-width: 1200px) {
  .hero-editorial .col-lg-6:first-child {
    padding-left: clamp(1rem, 3vw, 3rem);
  }

  .hero-editorial .col-lg-6:last-child {
    padding-right: 0;
  }
}

@media (max-width: 1199.98px) {
  .hero-editorial h1 {
    font-size: clamp(4rem, 7vw, 6rem);
  }

  .book-mockup.actual-cover {
    width: min(88%, 540px);
  }

  .hero-visual {
    min-height: 640px;
  }
}

@media (max-width: 991.98px) {
  .site-nav {
    min-height: 70px;
  }

  .navbar-collapse {
    margin-top: 1rem;
    padding: 1rem 0 1.4rem;
    border-top: 1px solid var(--line);
  }

  .nav-actions {
    margin-top: 1rem;
  }

  .hero-editorial {
    min-height: auto;
    background:
      radial-gradient(
        circle at 50% 88%,
        rgba(187, 200, 178, 0.64),
        transparent 44%
      ),
      linear-gradient(
        180deg,
        var(--ivory) 0%,
        var(--ivory) 50%,
        #dce8f1 100%
      );
  }

  .hero-editorial::before {
    background: linear-gradient(
      180deg,
      rgba(248, 248, 241, 0.98) 0%,
      rgba(248, 248, 241, 0.82) 48%,
      transparent 78%
    );
  }

  .hero-row {
    min-height: auto;
    padding-top: 6rem;
    padding-bottom: 4rem;
  }

  .hero-inner {
    max-width: 820px;
    margin: 0 auto;
    text-align: center;
  }

  .hero-divider,
  .hero-description {
    margin-right: auto;
    margin-left: auto;
  }

  .hero-cta,
  .hero-features {
    justify-content: center;
  }

  .hero-visual {
    min-height: 650px;
  }

  .book-mockup.actual-cover {
    width: min(76%, 520px);
    transform: none;
  }

  .author-media {
    margin: 0 auto 3rem;
  }

  @keyframes hero-book-float {
    0%,
    100% {
      transform: translateY(0);
    }

    50% {
      transform: translateY(-10px);
    }
  }
}

@media (max-width: 767.98px) {
  h1 {
    font-size: clamp(3.1rem, 15vw, 4.5rem);
  }

  h2 {
    font-size: clamp(2.25rem, 10vw, 3.35rem);
  }

  .day-card {
    min-height: 480px;
  }

  .author-image-wrap {
    min-height: 470px;
  }
}

@media (max-width: 575.98px) {
  .nav-wrap {
    padding-right: 1rem;
    padding-left: 1rem;
  }

  .hero-row {
    padding-top: 4.5rem;
  }

  .hero-editorial h1 {
    font-size: clamp(3.3rem, 15vw, 4.5rem);
  }

  .hero-cta .btn {
    width: 100%;
  }

  .hero-features {
    gap: 0.6rem;
  }

  .hero-feature {
    min-width: 0;
    flex: 1 1 calc(50% - 0.6rem);
    justify-content: center;
  }

  .hero-visual {
    min-height: 510px;
  }

  .book-mockup.actual-cover {
    width: 92%;
  }

  .orbit-one {
    width: 430px;
    height: 430px;
  }

  .orbit-two {
    width: 280px;
    height: 280px;
  }

  .preview-panel,
  .signup-card {
    border-radius: 20px;
  }

  .author-contact-card {
    width: calc(100% - 1rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .book-mockup.actual-cover {
    animation: none;
    transform: none;
  }

  .reveal,
  .reveal.from-left,
  .reveal.from-right,
  .reveal.scale-in {
    opacity: 1;
    transform: none;
    transition: none;
  }
}


/* --------------------------------------------------
   Client-content sections
-------------------------------------------------- */

.story-section {
  background: var(--ivory);
}

.story-quote {
  margin: 0;
  color: var(--espresso);
  font-family: "Manrope", sans-serif;
  font-size: clamp(2.2rem, 4vw, 4.2rem);
  font-weight: 300;
  letter-spacing: -0.05em;
  line-height: 1.08;
}

.text-link {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin-top: 1rem;
  color: var(--espresso);
  font-size: 0.9rem;
  font-weight: 600;
}

.text-link:hover {
  gap: 0.75rem;
}

.daily-flow {
  border-top: 1px solid var(--line);
}

.flow-step {
  display: grid;
  grid-template-columns: 56px 1fr;
  gap: 1.2rem;
  padding: 1.35rem 0;
  border-bottom: 1px solid var(--line);
}

.flow-number {
  color: var(--espresso-soft);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.12em;
}

.flow-step h3 {
  margin-bottom: 0.35rem;
}

.flow-step p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.65;
}

.preview-days {
  display: grid;
  gap: 0.7rem;
  max-width: 680px;
  margin-top: 2rem;
}

.preview-day {
  display: grid;
  grid-template-columns: 82px 1fr;
  align-items: center;
  gap: 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.06);
}

.preview-day span {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.preview-day strong {
  color: var(--white);
  font-family: "Manrope", sans-serif;
  font-size: 1rem;
  font-weight: 500;
}

.preview-panel .preview-detail {
  margin-top: 1.5rem;
  font-size: 0.9rem;
}

.signup-kicker {
  display: block;
  margin-bottom: 1.4rem;
  color: var(--espresso);
  font-family: "Manrope", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: -0.03em;
}

.podcast-tile {
  color: inherit;
}

.podcast-tile:hover {
  color: inherit;
}

.quote-band {
  padding: clamp(5rem, 9vw, 8rem) 0;
  background: var(--ivory);
}

.quote-band blockquote {
  max-width: 1050px;
  margin: 0 auto;
  color: var(--espresso);
  font-family: "Manrope", sans-serif;
  font-size: clamp(2.5rem, 5vw, 5.2rem);
  font-weight: 300;
  letter-spacing: -0.055em;
  line-height: 1.05;
}

@media (max-width: 767.98px) {
  .story-quote {
    margin-bottom: 1.5rem;
  }

  .preview-day {
    grid-template-columns: 70px 1fr;
  }
}


.footer-credit {
  color: rgba(255, 255, 255, 0.45);
}

.footer-credit a {
  display: inline !important;
  width: auto !important;
  margin: 0 0 0 0.25rem !important;
  color: rgba(255, 255, 255, 0.82) !important;
  font-weight: 600;
  letter-spacing: 0.02em;
}

.footer-credit a:hover,
.footer-credit a:focus {
  color: var(--white) !important;
}


/* Comparison concept additions */
.moments-section{background:var(--ivory)}.moment-card{height:100%;min-height:250px;padding:2rem;border:1px solid var(--line);border-radius:var(--radius-md);background:rgba(255,255,255,.42)}.moment-card>span{color:var(--espresso-soft);font-size:.68rem;font-weight:600;letter-spacing:.14em}.moment-card h3{margin-top:3.5rem}.moment-card p{margin-bottom:0;font-size:.92rem}.quote-band-blue{background:radial-gradient(circle at 75% 15%,rgba(255,255,255,.8),transparent 28%),linear-gradient(145deg,#dce8f1,var(--blue))}.quote-band-blue span{display:block;margin-top:1.5rem;color:var(--espresso-soft);font-size:.8rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.journey-section{background:#f1f0e8}.journey-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.journey-card{overflow:hidden;border-radius:var(--radius-md);background:var(--ivory);box-shadow:var(--shadow)}.journey-card img{width:100%;aspect-ratio:4/3;object-fit:cover}.journey-card>div{padding:1.6rem}.journey-card span{display:inline-block;margin-bottom:.85rem;color:var(--espresso-soft);font-size:.68rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.journey-card p{margin-bottom:0;font-size:.9rem}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:4rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.stats-row>div{padding:2rem 1.25rem;text-align:center}.stats-row>div+div{border-left:1px solid var(--line)}.stats-row strong,.stats-row span{display:block}.stats-row strong{color:var(--espresso);font-family:"Manrope",sans-serif;font-size:clamp(2rem,4vw,3.5rem);font-weight:300;letter-spacing:-.05em}.stats-row span{margin-top:.5rem;color:var(--muted);font-size:.75rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.prayer-section{background:var(--ivory)}.prayer-card{max-width:1100px;margin:0 auto;padding:clamp(3rem,7vw,6rem);border-radius:var(--radius-lg);background:var(--sage)}.prayer-card blockquote{margin:0 auto 2.5rem;color:var(--espresso);font-family:"Manrope",sans-serif;font-size:clamp(2rem,4.5vw,4.5rem);font-weight:300;letter-spacing:-.05em;line-height:1.08}@media(max-width:991.98px){.journey-grid{grid-template-columns:1fr}.stats-row{grid-template-columns:repeat(2,1fr)}}@media(max-width:575.98px){.stats-row{grid-template-columns:1fr}.stats-row>div+div{border-left:0;border-top:1px solid var(--line)}}


/* --------------------------------------------------
   Version 3 — Release Candidate
-------------------------------------------------- */

.ministry-strip {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  background: rgba(255,255,255,.4);
}

.ministry-strip-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.ministry-strip-grid a {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.6rem 2rem;
}

.ministry-strip-grid a + a {
  border-left: 1px solid var(--line);
}

.ministry-strip-grid strong,
.ministry-strip-grid small {
  display: block;
}

.ministry-strip-grid strong {
  color: var(--espresso);
  font-family: "Manrope", sans-serif;
  font-size: 1rem;
  font-weight: 600;
}

.ministry-strip-grid small {
  margin-top: .2rem;
  color: var(--muted);
  font-size: .78rem;
}

.ministry-strip-icon {
  font-size: 1.35rem;
}

.journey-closing {
  max-width: 900px;
  margin: 4rem auto 0;
  color: var(--espresso);
  font-family: "Manrope", sans-serif;
  font-size: clamp(2rem, 4vw, 4rem);
  font-weight: 300;
  letter-spacing: -.05em;
  line-height: 1.08;
  text-align: center;
}

.ministry-identity-section {
  background: var(--ivory);
}

.ministry-image-wrap {
  overflow: hidden;
  min-height: 560px;
  border-radius: var(--radius-lg);
  background: var(--greige);
  box-shadow: var(--shadow);
}

.ministry-image-wrap img {
  width: 100%;
  height: 100%;
  min-height: 560px;
  object-fit: cover;
}

@media (hover:hover) and (pointer:fine) {
  .ministry-strip-grid a {
    transition: background-color 200ms ease;
  }

  .ministry-strip-grid a:hover {
    background: rgba(255,255,255,.72);
  }
}

@media (max-width: 991.98px) {
  .ministry-strip-grid {
    grid-template-columns: 1fr;
  }

  .ministry-strip-grid a + a {
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .ministry-image-wrap,
  .ministry-image-wrap img {
    min-height: 460px;
  }
}


/* --------------------------------------------------
   Version 4 — Brighter, Warmer, More Hope
-------------------------------------------------- */

:root {
  --ivory: #fffdf7;
  --greige: #f7f2e7;
  --sage: #eef5df;
  --blue: #e5f1fa;
  --line: rgba(31, 58, 91, .14);
  --gold-bright: #f2b632;
  --gold-soft: #fff0b7;
  --navy-bright: #0a2a55;
}

body {
  background: #fffdf8;
}

.site-nav {
  background: rgba(255, 253, 247, .94);
  border-bottom-color: rgba(10, 42, 85, .11);
}

.web-logo {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: var(--navy-bright);
  line-height: 1;
}

.web-logo-90 {
  color: var(--navy-bright);
  font-family: "Manrope", sans-serif;
  font-size: 2rem;
  font-weight: 300;
  letter-spacing: -.12em;
}

.web-logo-copy {
  display: grid;
  gap: .07rem;
  text-align: left;
}

.web-logo-copy strong {
  color: var(--navy-bright);
  font-family: "Manrope", sans-serif;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.web-logo-copy em {
  color: #d18a00;
  font-family: Georgia, serif;
  font-size: .92rem;
  font-style: italic;
  font-weight: 400;
  white-space: nowrap;
}

.hero-editorial {
  background:
    radial-gradient(circle at 79% 36%, rgba(255, 235, 156, .72), transparent 22%),
    radial-gradient(circle at 68% 12%, rgba(255, 255, 255, .96), transparent 30%),
    linear-gradient(140deg, #fffdf7 0%, #fff8e8 56%, #eef7fd 100%);
}

.hero-visual::before {
  content: "";
  position: absolute;
  inset: 8% 2% 5% 8%;
  z-index: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 216, 93, .38), rgba(255,255,255,0) 66%);
  filter: blur(8px);
}

.book-mockup.actual-cover {
  z-index: 2;
  background: transparent !important;
  box-shadow: none !important;
}

.book-cover-image {
  background: transparent !important;
  filter: drop-shadow(0 36px 34px rgba(31, 42, 54, .22));
}

.hero-orbit {
  border-color: rgba(224, 153, 19, .23);
}

.btn-gold {
  background: linear-gradient(135deg, #e39b15, #f4bd45);
  border-color: #d99513;
  color: #172f52;
  box-shadow: 0 14px 30px rgba(218, 148, 18, .22);
}

.btn-gold:hover {
  background: linear-gradient(135deg, #f0aa25, #ffd266);
  border-color: #e0a01e;
  color: #102b50;
}

.hero-kicker,
.eyebrow {
  color: #b67400;
}

.ministry-strip {
  background: #ffffff;
}

.devotional-section,
.journey-section,
.ministry-story-section,
.ministry-identity-section {
  background: #fffdf8;
}

.preview-section {
  background:
    radial-gradient(circle at 12% 10%, rgba(255, 226, 128, .24), transparent 28%),
    #f7f2e7;
}

.preview-panel {
  background:
    linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,248,224,.97));
  border: 1px solid rgba(210, 151, 35, .18);
  box-shadow: 0 36px 90px rgba(67, 52, 36, .12);
}

.ordinary-section,
.impact-section {
  background:
    linear-gradient(145deg, #f4f9fd, #fffaf0 62%, #fff2c8);
}

.quote-band-blue {
  background:
    radial-gradient(circle at 78% 12%, rgba(255,255,255,.92), transparent 30%),
    linear-gradient(145deg, #ddecf8, #f9f6dc);
}

.prayer-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.88), transparent 35%),
    linear-gradient(145deg, #edf6dc, #fff1bd);
}

.closing-cta {
  background:
    radial-gradient(circle at 50% 10%, rgba(255, 229, 135, .5), transparent 38%),
    #fffdf8;
}

.format-icon {
  background: linear-gradient(145deg, #fff3bd, #e9f4dc);
}

.format-card,
.journey-card {
  background: #fff;
  border-color: rgba(10, 42, 85, .11);
}

.journey-grid {
  grid-template-columns: repeat(4, 1fr);
}

.journey-card img {
  aspect-ratio: 4 / 3;
}

.footer {
  background: #102b50;
}

.footer,
.footer a,
.footer p,
.footer span {
  color: rgba(255,255,255,.78);
}

.footer h4,
.footer .web-logo-copy strong {
  color: #fff;
}

.footer .web-logo-copy em {
  color: #f5bc42;
}

.footer .web-logo-90 {
  color: #fff;
}

@media (max-width: 1199.98px) {
  .journey-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 991.98px) {
  .web-logo-copy em {
    font-size: .82rem;
  }
}

@media (max-width: 575.98px) {
  .journey-grid {
    grid-template-columns: 1fr;
  }

  .web-logo-90 {
    font-size: 1.7rem;
  }

  .web-logo-copy strong {
    font-size: .66rem;
  }

  .web-logo-copy em {
    font-size: .72rem;
  }
}


/* Preview readability fix */
.preview-panel,
.preview-panel h2,
.preview-panel h3,
.preview-panel p,
.preview-panel .preview-detail,
.preview-panel .preview-day strong,
.preview-panel .preview-day span,
.preview-panel .signup-kicker,
.preview-panel .form-label,
.preview-panel small {
  color: var(--espresso) !important;
}

.preview-panel .eyebrow {
  color: #9a6200 !important;
}

.preview-day {
  background: rgba(255, 255, 255, .78);
  border: 1px solid rgba(31, 58, 91, .12);
}

.signup-card {
  background: rgba(255, 255, 255, .96);
  color: var(--espresso);
}

.signup-card .form-control {
  background: #fff;
  color: var(--espresso);
  border-color: rgba(31, 58, 91, .22);
}

.signup-card .form-control::placeholder {
  color: rgba(75, 60, 51, .58);
}


.footer-v2{padding:5rem 0 1.5rem;background:radial-gradient(circle at 12% 0%,rgba(242,182,50,.12),transparent 28%),#102b50}
.footer-main-grid{display:grid;grid-template-columns:1.35fr .75fr .75fr 1.2fr;gap:3rem;align-items:start}
.footer-brand-column .footer-brand{display:inline-flex;margin-bottom:1.15rem;text-decoration:none}
.footer-description{max-width:21rem;margin:0 0 1.4rem;color:rgba(255,255,255,.72)!important;line-height:1.7}
.footer-socials{display:flex;flex-wrap:wrap;gap:.7rem}
.social-icon{width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(245,188,66,.72);border-radius:50%;color:#f5bc42!important;background:rgba(255,255,255,.04);text-decoration:none;transition:.25s ease}
.social-icon:hover,.social-icon:focus-visible{transform:translateY(-3px);color:#fff!important;border-color:transparent;box-shadow:0 10px 24px rgba(0,0,0,.2)}
.social-icon.facebook:hover{background:#1877f2}.social-icon.instagram:hover{background:linear-gradient(135deg,#833ab4,#fd1d1d,#fcb045)}.social-icon.linkedin:hover{background:#0a66c2}.social-icon.spotify:hover{background:#1db954}.social-icon.tiktok:hover{background:linear-gradient(135deg,#25f4ee,#000 46%,#fe2c55)}.social-icon.email:hover{background:#d99819}
.footer-links-column h4,.footer-newsletter-column h4{margin:0 0 1.15rem;color:#fff;font-size:.84rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase}
.footer-links-column ul{margin:0;padding:0;list-style:none}.footer-links-column li+li{margin-top:.72rem}
.footer-links-column a{color:rgba(255,255,255,.7)!important;text-decoration:none}.footer-links-column a:hover{color:#f5bc42!important}
.footer-newsletter-column p{margin:0 0 1.1rem;color:rgba(255,255,255,.7)!important;line-height:1.65}
.footer-newsletter-form{display:grid;gap:.7rem}.footer-newsletter-form input,.footer-newsletter-form button{min-height:48px;border-radius:.35rem}
.footer-newsletter-form input{width:100%;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.2);background:#fff;color:#223348}
.footer-newsletter-form button{border:1px solid #d99819;background:linear-gradient(135deg,#e39b15,#f4bd45);color:#172f52;font-weight:700}
.footer-bottom{display:flex;justify-content:space-between;gap:2rem;margin-top:3.25rem;padding-top:1.25rem;border-top:1px solid rgba(255,255,255,.12)}
.footer-bottom p{margin:0;color:rgba(255,255,255,.58)!important;font-size:.86rem}.footer-bottom a{color:rgba(255,255,255,.78)!important;text-decoration:none}
@media(max-width:1199.98px){.footer-main-grid{grid-template-columns:1.2fr .8fr .8fr}.footer-newsletter-column{grid-column:1/-1;max-width:38rem}}
@media(max-width:767.98px){.footer-main-grid{grid-template-columns:1fr 1fr;gap:2.4rem 2rem}.footer-brand-column,.footer-newsletter-column{grid-column:1/-1}.footer-bottom{flex-direction:column;gap:.55rem}}
@media(max-width:479.98px){.footer-main-grid{grid-template-columns:1fr}.footer-brand-column,.footer-newsletter-column{grid-column:auto}}


/* --------------------------------------------------
   Footer social icon UI correction
-------------------------------------------------- */

.footer-v2 .footer-socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .75rem;
  margin: 0;
  padding: 0;
}

.footer-v2 .footer-socials .social-icon {
  display: inline-flex !important;
  flex: 0 0 42px;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  aspect-ratio: 1 / 1;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0 !important;
  border: 1px solid rgba(245, 188, 66, .72);
  border-radius: 50% !important;
  background: rgba(255, 255, 255, .035);
  color: #f5bc42 !important;
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  overflow: hidden;
  box-sizing: border-box;
}

.footer-v2 .footer-socials .social-icon i {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0;
  color: inherit;
  font-size: 1rem;
  line-height: 1;
  transform: none;
}

.footer-v2 .footer-socials .social-icon:hover,
.footer-v2 .footer-socials .social-icon:focus-visible {
  border-color: transparent;
  color: #fff !important;
  transform: translateY(-3px);
}

@media (max-width: 479.98px) {
  .footer-v2 .footer-socials {
    gap: .65rem;
  }

  .footer-v2 .footer-socials .social-icon {
    flex-basis: 40px;
    width: 40px !important;
    min-width: 40px !important;
    max-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
  }
}


/* --------------------------------------------------
   Version 5 — Navigation and homepage flow alignment
-------------------------------------------------- */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 96px;
}

#ministry,
#moments,
#book,
#journey,
#podcast,
#preview {
  scroll-margin-top: 96px;
}

.site-nav .nav-link {
  position: relative;
}

.site-nav .navbar-nav .nav-link::after {
  content: "";
  position: absolute;
  left: .5rem;
  right: .5rem;
  bottom: .2rem;
  height: 2px;
  border-radius: 2px;
  background: #d99819;
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .22s ease;
}

.site-nav .navbar-nav .nav-link:hover::after,
.site-nav .navbar-nav .nav-link:focus-visible::after,
.site-nav .navbar-nav .nav-link.active::after {
  transform: scaleX(1);
}

.site-nav .navbar-nav .nav-link.active {
  color: var(--navy-bright);
  font-weight: 600;
}

#podcast.ministry-strip {
  position: relative;
  padding: 2.1rem 0;
  background:
    radial-gradient(circle at 12% 20%, rgba(242, 182, 50, .18), transparent 24%),
    linear-gradient(135deg, #102b50, #173d6c);
  border-top: 0;
  border-bottom: 0;
}

#podcast .ministry-strip-grid a {
  color: #fff;
  border-color: rgba(255, 255, 255, .16);
  background: rgba(255, 255, 255, .045);
}

#podcast .ministry-strip-grid a:hover,
#podcast .ministry-strip-grid a:focus-visible {
  background: rgba(255, 255, 255, .09);
  border-color: rgba(245, 188, 66, .72);
  transform: translateY(-3px);
}

#podcast .ministry-strip-grid strong {
  color: #fff;
}

#podcast .ministry-strip-grid small {
  color: rgba(255, 255, 255, .72);
}

#podcast .ministry-strip-icon {
  background: rgba(245, 188, 66, .14);
  color: #f5bc42;
}

@media (max-width: 1199.98px) {
  .site-nav .navbar-nav {
    gap: .55rem !important;
  }

  .site-nav .navbar-nav .nav-link {
    font-size: .87rem;
  }
}

@media (max-width: 991.98px) {
  html {
    scroll-padding-top: 78px;
  }

  #ministry,
  #moments,
  #book,
  #journey,
  #podcast,
  #preview {
    scroll-margin-top: 78px;
  }

  .site-nav .navbar-nav .nav-link::after {
    left: 0;
    right: auto;
    width: 2.25rem;
    bottom: 0;
  }
}


/* --------------------------------------------------
   Version 6 — Launch Candidate final refinement pass
-------------------------------------------------- */

:root {
  --warm-paper: #fffaf0;
  --warm-cream: #f7eedc;
  --warm-gold: #e2a52c;
  --warm-gold-deep: #bc7410;
  --warm-navy: #173653;
}

body {
  background: #fffaf2;
}

.site-nav {
  background: rgba(255, 250, 240, .96);
}

.site-nav .navbar-brand .web-logo {
  transform: scale(1.24);
  transform-origin: left center;
  margin-right: 1.3rem;
}

.hero-editorial {
  background:
    radial-gradient(circle at 79% 36%, rgba(243, 190, 76, .38), transparent 24%),
    radial-gradient(circle at 68% 10%, rgba(255, 255, 255, .98), transparent 31%),
    linear-gradient(140deg, #fffaf0 0%, #f8ead0 55%, #e7f0f6 100%);
}

.hero-kicker {
  color: var(--warm-gold-deep);
  letter-spacing: .15em;
}

.hero-editorial h1 {
  max-width: 720px;
}

.hero-editorial h1 span {
  color: #c27a10;
}

.hero-description {
  max-width: 650px;
  color: #394654;
}

.btn-gold {
  background: linear-gradient(135deg, #d99419, #f1bd58);
  border-color: #cf8713;
}

.btn-gold:hover,
.btn-gold:focus-visible {
  background: linear-gradient(135deg, #e9a62d, #ffd77d);
}

.ministry-identity-section {
  background:
    radial-gradient(circle at 7% 12%, rgba(226, 165, 44, .12), transparent 28%),
    linear-gradient(135deg, #fffdf8, #f7efdf);
}

.ministry-image-wrap {
  position: relative;
  overflow: hidden;
  border-radius: 1.25rem;
  box-shadow: 0 28px 70px rgba(72, 48, 26, .18);
}

.ministry-image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(25, 43, 61, .15), transparent 44%);
}

.ministry-image-wrap img {
  width: 100%;
  min-height: 520px;
  object-fit: cover;
  object-position: center 22%;
  filter: saturate(.94) contrast(1.02);
}

.steve-identity-line {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin-top: 1.25rem;
  padding: .7rem 1rem;
  border: 1px solid rgba(188, 116, 16, .22);
  border-radius: 999px;
  background: rgba(255, 255, 255, .66);
  color: #8f5b16;
  font-size: .83rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.steve-identity-line span {
  color: #d39a3e;
}

.moments-section,
.book-section,
.journey-section {
  background-color: #fffaf2;
}

.moment-card,
.day-card,
.flow-step,
.journey-card {
  border-color: rgba(188, 116, 16, .15);
}

.day-card {
  background:
    radial-gradient(circle at 80% 5%, rgba(238, 183, 69, .18), transparent 30%),
    #173653;
}

.preview-section {
  background:
    radial-gradient(circle at 12% 10%, rgba(232, 171, 48, .24), transparent 30%),
    linear-gradient(135deg, #f3e5c7, #e9f1f4);
}

.preview-panel {
  border-color: rgba(188, 116, 16, .24);
}

.closing-cta {
  background:
    radial-gradient(circle at 50% 10%, rgba(238, 188, 87, .42), transparent 40%),
    #fffaf2;
}

.footer-v2 .footer-brand .web-logo {
  transform: scale(1.12);
  transform-origin: left center;
  margin-bottom: .4rem;
}

@media (max-width: 991.98px) {
  .site-nav .navbar-brand .web-logo {
    transform: scale(1.08);
    margin-right: .4rem;
  }

  .ministry-image-wrap img {
    min-height: 440px;
  }
}

@media (max-width: 575.98px) {
  .hero-editorial h1 {
    font-size: clamp(2.35rem, 11vw, 3.5rem);
  }

  .ministry-image-wrap img {
    min-height: 400px;
  }

  .steve-identity-line {
    border-radius: 1rem;
    line-height: 1.6;
  }
}


/* --------------------------------------------------
   Devotional card readability correction
-------------------------------------------------- */

#book .day-card,
#book .day-card h3,
#book .day-card p,
#book .day-card span,
#book .day-card a {
  color: #ffffff !important;
}

#book .day-card .day-label,
#book .day-card .eyebrow,
#book .day-card > span:first-child {
  color: #f2b94f !important;
}

#book .day-card p {
  color: rgba(255, 255, 255, .82) !important;
}

#book .day-card a {
  color: #f5bc42 !important;
  font-weight: 700;
}

#book .day-card a:hover,
#book .day-card a:focus-visible {
  color: #ffd979 !important;
}

#book .day-card {
  background:
    radial-gradient(circle at 88% 86%, rgba(242, 185, 79, .10), transparent 34%),
    linear-gradient(145deg, #173b5e, #102f4d);
  box-shadow: 0 28px 60px rgba(18, 43, 69, .18);
}


/* --------------------------------------------------
   Final UI adjustments
-------------------------------------------------- */

/* 1. Reduce hero height by scaling the book down approximately 20%. */
.hero-editorial {
  min-height: auto !important;
  padding-top: 7rem !important;
  padding-bottom: 4.5rem !important;
}

.hero-visual {
  min-height: 430px !important;
}

.book-mockup.actual-cover {
  transform: scale(.8);
  transform-origin: center center;
}

.book-cover-image {
  max-height: 430px !important;
  width: auto !important;
}

/* 2. Reduce Steve portrait height by approximately 25%. */
.ministry-image-wrap img {
  min-height: 0 !important;
  height: 390px !important;
  object-fit: cover;
  object-position: center 18%;
}

/* 3. Force Warm the Cold to white with stronger selector specificity. */
#book .day-card h3,
#book .day-card h3 *,
#book .day-card .day-title,
#book .day-card .day-title *,
#book .day-card [class*="title"] {
  color: #ffffff !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* 4. Vector icon styling for the blue bar. */
#podcast .ministry-strip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

#podcast .ministry-strip-icon i {
  color: #f5bc42;
  font-size: 1.35rem;
  line-height: 1;
}

@media (max-width: 991.98px) {
  .hero-editorial {
    padding-top: 6rem !important;
    padding-bottom: 3.5rem !important;
  }

  .hero-visual {
    min-height: 350px !important;
  }

  .book-cover-image {
    max-height: 350px !important;
  }

  .ministry-image-wrap img {
    height: 330px !important;
  }
}

@media (max-width: 575.98px) {
  .hero-editorial {
    padding-top: 5.5rem !important;
    padding-bottom: 3rem !important;
  }

  .hero-visual {
    min-height: 300px !important;
  }

  .book-mockup.actual-cover {
    transform: scale(.84);
  }

  .book-cover-image {
    max-height: 300px !important;
  }

  .ministry-image-wrap img {
    height: 290px !important;
  }
}


/* --------------------------------------------------
   Corrected final UI overrides
   These rules intentionally replace the prior sizing pass.
-------------------------------------------------- */

/* Hero: keep the section shorter without making the book feel undersized. */
.hero-editorial {
  min-height: auto !important;
  padding-top: 6.5rem !important;
  padding-bottom: 3.5rem !important;
}

.hero-visual {
  min-height: 500px !important;
}

.book-mockup.actual-cover {
  width: min(82%, 550px) !important;
  transform: translateX(.5rem) rotate(1deg) !important;
  transform-origin: center center;
}

.book-cover-image {
  display: block;
  width: 100% !important;
  max-height: none !important;
  height: auto !important;
}

/* Meet Steve: remove the empty gray area and use a controlled 390px image frame. */
.ministry-image-wrap {
  min-height: 0 !important;
  height: 390px !important;
  background: transparent !important;
}

.ministry-image-wrap img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  object-fit: cover !important;
  object-position: center 20% !important;
}

/* Warm the Cold is an H2 in the actual markup. */
#book .day-card h2,
#book .day-card h2 *,
#book .day-card > h2 {
  color: #ffffff !important;
  opacity: 1 !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: none !important;
}

/* Keep supporting copy legible as well. */
#book .day-card > p {
  color: rgba(255, 255, 255, .84) !important;
}

#book .day-card > span:first-child,
#book .day-card > a {
  color: #f5bc42 !important;
}

/* Vector icons: no tile, circle, or visible background behind them. */
#podcast .ministry-strip-icon,
#podcast .ministry-strip-icon::before,
#podcast .ministry-strip-icon::after {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

#podcast .ministry-strip-icon {
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  padding: 0 !important;
}

#podcast .ministry-strip-icon i {
  display: block;
  color: #f5bc42 !important;
  font-size: 1.45rem !important;
  line-height: 1 !important;
}

@media (max-width: 991.98px) {
  .hero-editorial {
    padding-top: 5.75rem !important;
    padding-bottom: 3rem !important;
  }

  .hero-visual {
    min-height: 410px !important;
  }

  .book-mockup.actual-cover {
    width: min(78%, 490px) !important;
    transform: none !important;
  }

  .ministry-image-wrap {
    height: 340px !important;
  }
}

@media (max-width: 575.98px) {
  .hero-editorial {
    padding-top: 5rem !important;
    padding-bottom: 2.5rem !important;
  }

  .hero-visual {
    min-height: 340px !important;
  }

  .book-mockup.actual-cover {
    width: min(86%, 420px) !important;
  }

  .ministry-image-wrap {
    height: 300px !important;
  }
}


/* --------------------------------------------------
   Version 7 — final content + supplied assets
-------------------------------------------------- */

/* Official supplied header logo */
.navbar-brand {
  display: inline-flex;
  align-items: center;
  padding: 0;
}

.site-logo-image {
  display: block;
  width: auto;
  height: 58px;
  max-width: 275px;
  object-fit: contain;
}

.footer-logo-image {
  display: block;
  width: min(100%, 260px);
  height: auto;
  max-height: 82px;
  object-fit: contain;
  filter: brightness(0) invert(1);
  opacity: .96;
}

/* Hero updated book cover */
.book-mockup.actual-cover {
  width: min(68%, 430px) !important;
  transform: rotate(1deg) !important;
  overflow: visible;
}

.book-cover-image.final-book-cover {
  width: 100% !important;
  height: auto !important;
  max-height: 520px !important;
  object-fit: contain !important;
  border-radius: 4px;
  box-shadow:
    12px 10px 0 rgba(23, 54, 83, .12),
    22px 26px 45px rgba(23, 54, 83, .22);
}

.hero-visual {
  min-height: 510px !important;
}

/* About Steve content */
.ministry-identity-section {
  scroll-margin-top: 96px;
}

/* Podcast feature using supplied social graphic */
#podcast.ministry-strip {
  padding: clamp(4rem, 7vw, 6.5rem) 0;
  background:
    radial-gradient(circle at 85% 25%, rgba(229, 166, 37, .18), transparent 30%),
    linear-gradient(135deg, #102b50, #173d6c);
}

.podcast-feature-wrap {
  position: relative;
  z-index: 2;
}

.podcast-art-card {
  display: block;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 0 30px 65px rgba(0, 0, 0, .24);
  transition: transform .25s ease, box-shadow .25s ease;
}

.podcast-art-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 38px 75px rgba(0, 0, 0, .3);
}

.podcast-art-card img {
  display: block;
  width: 100%;
  height: auto;
}

.podcast-feature-kicker {
  display: inline-block;
  margin-bottom: .8rem;
  color: #f5bc42;
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

#podcast h2 {
  max-width: 720px;
  margin-bottom: 1rem;
  color: #fff;
}

#podcast p {
  max-width: 700px;
  color: rgba(255, 255, 255, .76);
  font-size: 1rem;
  line-height: 1.75;
}

.podcast-feature-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 1.7rem;
}

.btn-outline-light-custom {
  border: 1px solid rgba(255,255,255,.48);
  color: #fff;
  background: transparent;
}

.btn-outline-light-custom:hover {
  border-color: #fff;
  background: rgba(255,255,255,.1);
  color: #fff;
}

/* Preview QR cards */
.preview-days {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem !important;
  max-width: none !important;
}

.preview-day-card {
  display: grid !important;
  grid-template-columns: 1fr 84px !important;
  gap: 1rem !important;
  align-items: center;
  padding: 1rem !important;
  background: #fff !important;
  border: 1px solid rgba(31, 58, 91, .12) !important;
  border-radius: 14px !important;
}

.preview-day-copy {
  min-width: 0;
}

.preview-day-card span {
  display: block;
  color: #9a6200 !important;
  font-size: .66rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.preview-day-card strong {
  display: block;
  margin-top: .2rem;
  color: #173653 !important;
  font-size: .98rem !important;
  line-height: 1.3;
}

.preview-day-card small {
  display: block;
  margin-top: .45rem;
  color: #6b6259 !important;
  font-size: .7rem;
}

.preview-qr {
  display: block;
  width: 84px;
  height: 84px;
  object-fit: contain;
  border-radius: 6px;
  background: #fff;
}

/* Ensure Warm the Cold remains legible */
#book .day-card > h2 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

/* Responsive */
@media (max-width: 1199.98px) {
  .site-logo-image {
    height: 52px;
    max-width: 240px;
  }

  .preview-days {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 991.98px) {
  .site-logo-image {
    height: 46px;
    max-width: 215px;
  }

  .book-mockup.actual-cover {
    width: min(70%, 400px) !important;
  }

  .hero-visual {
    min-height: 450px !important;
  }

  #podcast .col-lg-4 {
    max-width: 430px;
    margin: 0 auto;
  }
}

@media (max-width: 575.98px) {
  .site-logo-image {
    height: 40px;
    max-width: 185px;
  }

  .book-mockup.actual-cover {
    width: min(80%, 340px) !important;
  }

  .hero-visual {
    min-height: 390px !important;
  }

  .preview-day-card {
    grid-template-columns: 1fr 72px !important;
  }

  .preview-qr {
    width: 72px;
    height: 72px;
  }

  .podcast-feature-actions .btn {
    width: 100%;
  }
}


/* --------------------------------------------------
   Version 8 — tighter vertical rhythm + larger book
-------------------------------------------------- */

/* Reduce the dead space directly below the navigation */
.hero-editorial {
  padding-top: clamp(1.75rem, 3.2vw, 3.25rem) !important;
  padding-bottom: clamp(2.75rem, 4.5vw, 4.5rem) !important;
}

.hero-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.hero-row {
  min-height: auto !important;
}

/* Make the hero book approximately 20% larger than v7 */
.book-mockup.actual-cover {
  width: min(82%, 516px) !important;
}

.book-cover-image.final-book-cover {
  max-height: 625px !important;
}

.hero-visual {
  min-height: 500px !important;
}

/* Tighten the overall one-page rhythm without making it cramped */
.section-pad {
  padding-top: clamp(3.75rem, 6vw, 6rem) !important;
  padding-bottom: clamp(3.75rem, 6vw, 6rem) !important;
}

.book-section,
.moments-section,
.ministry-identity-section,
.journey-section,
.preview-section,
.prayer-section {
  padding-top: clamp(3.75rem, 6vw, 6rem) !important;
  padding-bottom: clamp(3.75rem, 6vw, 6rem) !important;
}

.quote-band {
  padding-top: clamp(3rem, 5vw, 4.75rem) !important;
  padding-bottom: clamp(3rem, 5vw, 4.75rem) !important;
}

#podcast.ministry-strip {
  padding-top: clamp(3.75rem, 6vw, 5.5rem) !important;
  padding-bottom: clamp(3.75rem, 6vw, 5.5rem) !important;
}

/* Meet Steve: use the full vertical portrait instead of cropping away his hands */
.ministry-image-wrap {
  height: auto !important;
  min-height: 0 !important;
  background: #eadcc8;
}

.ministry-image-wrap img {
  display: block;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 690px;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center center !important;
}

/* Keep copy/image visually balanced with the taller portrait */
.ministry-identity-section .row {
  align-items: center !important;
}

@media (max-width: 991.98px) {
  .hero-editorial {
    padding-top: 1.5rem !important;
  }

  .book-mockup.actual-cover {
    width: min(82%, 455px) !important;
  }

  .book-cover-image.final-book-cover {
    max-height: 570px !important;
  }

  .hero-visual {
    min-height: 440px !important;
  }

  .ministry-image-wrap {
    max-width: 500px;
    margin: 0 auto 2rem;
  }

  .ministry-image-wrap img {
    max-height: 650px;
  }
}

@media (max-width: 575.98px) {
  .hero-editorial {
    padding-top: 1.1rem !important;
    padding-bottom: 2.5rem !important;
  }

  .book-mockup.actual-cover {
    width: min(88%, 390px) !important;
  }

  .book-cover-image.final-book-cover {
    max-height: 515px !important;
  }

  .hero-visual {
    min-height: 385px !important;
  }

  .section-pad,
  .book-section,
  .moments-section,
  .ministry-identity-section,
  .journey-section,
  .preview-section,
  .prayer-section {
    padding-top: 3.25rem !important;
    padding-bottom: 3.25rem !important;
  }

  .ministry-image-wrap img {
    max-height: none;
  }
}


/* --------------------------------------------------
   Hero book cleanup — remove decorative halo/orbits
-------------------------------------------------- */

.hero-visual::before {
  display: none !important;
  content: none !important;
  background: none !important;
  filter: none !important;
}

.hero-orbit,
.orbit-one,
.orbit-two {
  display: none !important;
}

/* Keep only a restrained natural book shadow */
.book-mockup.actual-cover {
  filter: none !important;
}

.book-cover-image.final-book-cover {
  box-shadow:
    10px 14px 28px rgba(23, 54, 83, .18) !important;
}


/* --------------------------------------------------
   Version 9 — final cover, mobile logo, warmer palette
-------------------------------------------------- */

/* Latest client-supplied book cover: clean presentation, no decorative halo. */
.book-mockup.actual-cover {
  width: min(82%, 516px) !important;
  filter: none !important;
  background: transparent !important;
}

.book-cover-image.final-book-cover {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-height: 625px !important;
  object-fit: contain !important;
  border-radius: 3px;
  box-shadow: 12px 18px 34px rgba(27, 47, 70, .18) !important;
}

/* Add roughly 10–15% more warmth/saturation while retaining navy/cream/gold. */
:root {
  --ivory: #fffaf0;
  --greige: #f5ead7;
  --sage: #edf3d8;
  --blue: #dfedf7;
  --gold-bright: #f4b72d;
  --gold-soft: #ffe7a0;
  --warm-gold: #e4a225;
  --warm-gold-deep: #b96e09;
}

body {
  background: #fff9ed;
}

.hero-editorial {
  background:
    radial-gradient(circle at 77% 28%, rgba(246, 183, 54, .28), transparent 28%),
    linear-gradient(140deg, #fff9eb 0%, #f8e6c2 56%, #e4eef4 100%) !important;
}

.hero-kicker,
.eyebrow,
.podcast-feature-kicker {
  color: #b96e09 !important;
}

.btn-gold,
.footer-newsletter-form button {
  background: linear-gradient(135deg, #dc8f0c, #f3b83a) !important;
  border-color: #d28407 !important;
}

.quote-band-blue {
  background:
    radial-gradient(circle at 76% 12%, rgba(255,255,255,.86), transparent 30%),
    linear-gradient(145deg, #dcecf7, #fff0c0) !important;
}

.preview-section {
  background:
    radial-gradient(circle at 12% 10%, rgba(242, 177, 47, .28), transparent 30%),
    linear-gradient(135deg, #f4e2bc, #e7f0f3) !important;
}

.prayer-section {
  background:
    radial-gradient(circle at 50% 0%, rgba(255,255,255,.82), transparent 35%),
    linear-gradient(145deg, #ebf3d2, #ffe8a6) !important;
}

/* Increase official logo presence on smaller screens. */
@media (max-width: 991.98px) {
  .site-logo-image {
    height: 54px !important;
    max-width: 260px !important;
  }
}

@media (max-width: 575.98px) {
  .site-logo-image {
    height: 50px !important;
    max-width: 235px !important;
  }

  .navbar-brand {
    max-width: calc(100% - 70px);
  }
}

/* Version 10 — straight hero book cover */
.hero-visual { overflow: visible !important; }

.book-mockup.actual-cover {
  width: auto !important;
  max-width: none !important;
  transform: none !important;
  rotate: 0deg !important;
  filter: none !important;
  background: transparent !important;
  perspective: none !important;
}

.book-mockup.actual-cover::before,
.book-mockup.actual-cover::after {
  display: none !important;
  content: none !important;
}

.book-cover-image.final-book-cover,
.book-mockup.actual-cover .book-cover-image {
  display: block !important;
  width: auto !important;
  height: 700px !important;
  max-height: 72vh !important;
  max-width: min(100%, 560px) !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
  rotate: 0deg !important;
  border-radius: 2px !important;
  background: transparent !important;
  box-shadow: 0 24px 42px rgba(22,45,68,.18) !important;
}

@media (min-width: 1400px) {
  .book-cover-image.final-book-cover,
  .book-mockup.actual-cover .book-cover-image {
    height: 740px !important;
    max-height: 76vh !important;
    max-width: 590px !important;
  }
}

@media (max-width: 1199.98px) {
  .book-cover-image.final-book-cover,
  .book-mockup.actual-cover .book-cover-image {
    height: 620px !important;
    max-height: none !important;
    max-width: 500px !important;
  }
}

@media (max-width: 991.98px) {
  .book-cover-image.final-book-cover,
  .book-mockup.actual-cover .book-cover-image {
    width: min(78vw, 470px) !important;
    height: auto !important;
    max-width: 470px !important;
  }
}

@media (max-width: 575.98px) {
  .book-cover-image.final-book-cover,
  .book-mockup.actual-cover .book-cover-image {
    width: min(84vw, 390px) !important;
    height: auto !important;
    max-width: 390px !important;
    box-shadow: 0 18px 32px rgba(22,45,68,.16) !important;
  }
}


/* --------------------------------------------------
   Version 11 — QR reliability + usability
-------------------------------------------------- */

/* QR codes need sufficient physical size and quiet space to scan reliably. */
.preview-day-card {
  grid-template-columns: minmax(0, 1fr) 132px !important;
  gap: 1.25rem !important;
}

.preview-qr-link {
  display: block;
  width: 132px;
  height: 132px;
  padding: 8px;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(23, 54, 83, .08);
  transition: transform .2s ease, box-shadow .2s ease;
}

.preview-qr-link:hover,
.preview-qr-link:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(23, 54, 83, .14);
}

.preview-qr {
  display: block !important;
  width: 116px !important;
  height: 116px !important;
  max-width: none !important;
  object-fit: contain !important;
  image-rendering: auto;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

@media (max-width: 575.98px) {
  .preview-day-card {
    grid-template-columns: minmax(0, 1fr) 112px !important;
  }

  .preview-qr-link {
    width: 112px;
    height: 112px;
    padding: 7px;
  }

  .preview-qr {
    width: 98px !important;
    height: 98px !important;
  }
}


/* --------------------------------------------------
   Version 12 — QR card vertical layout correction
-------------------------------------------------- */

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

.preview-day-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  min-width: 0 !important;
  padding: 1.4rem 1.25rem 1.25rem !important;
  text-align: center !important;
  background: #fff !important;
  border: 1px solid rgba(31, 58, 91, .12) !important;
  border-radius: 16px !important;
}

.preview-day-copy {
  width: 100%;
  min-width: 0;
  margin-bottom: 1rem;
  text-align: center;
}

.preview-day-card .preview-day-copy span {
  display: block !important;
  margin-bottom: .35rem;
  color: #9a6200 !important;
  font-size: .68rem !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.preview-day-card .preview-day-copy strong {
  display: block !important;
  color: #173653 !important;
  font-size: 1.08rem !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  text-wrap: balance;
}

.preview-qr-link {
  display: block !important;
  width: 154px !important;
  height: 154px !important;
  margin: 0 auto 1rem !important;
  padding: 8px !important;
  flex: 0 0 auto !important;
  border-radius: 10px !important;
  background: #fff !important;
  box-shadow: 0 8px 20px rgba(23, 54, 83, .08) !important;
}

.preview-qr {
  display: block !important;
  width: 138px !important;
  height: 138px !important;
  max-width: none !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.preview-day-card > small {
  display: block !important;
  max-width: 190px;
  margin: 0 auto !important;
  color: #6b6259 !important;
  font-size: .78rem !important;
  line-height: 1.5 !important;
  text-align: center !important;
}

@media (max-width: 1199.98px) {
  .preview-days {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  .preview-day-card {
    padding: 1.2rem 1rem !important;
  }

  .preview-qr-link {
    width: 142px !important;
    height: 142px !important;
  }

  .preview-qr {
    width: 126px !important;
    height: 126px !important;
  }
}

@media (max-width: 991.98px) {
  .preview-days {
    grid-template-columns: 1fr !important;
  }

  .preview-day-card {
    max-width: 420px;
    width: 100%;
    margin: 0 auto;
  }

  .preview-qr-link {
    width: 160px !important;
    height: 160px !important;
  }

  .preview-qr {
    width: 144px !important;
    height: 144px !important;
  }
}

@media (max-width: 575.98px) {
  .preview-day-card {
    padding: 1.1rem .95rem !important;
  }

  .preview-qr-link {
    width: 146px !important;
    height: 146px !important;
  }

  .preview-qr {
    width: 130px !important;
    height: 130px !important;
  }
}


/* --------------------------------------------------
   Version 13 — Align QR codes across preview cards
-------------------------------------------------- */

/*
 * Reserve the same vertical space for each card heading.
 * This allows one- and two-line story titles to coexist
 * while keeping all three QR codes on the same baseline.
 */
.preview-day-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  width: 100%;
  min-height: 82px !important;
  margin-bottom: .8rem !important;
}

.preview-day-card .preview-day-copy span {
  flex: 0 0 auto;
}

.preview-day-card .preview-day-copy strong {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  min-height: 2.6em !important;
  margin-top: .35rem !important;
}

/* Keep the QR and helper copy aligned independently of title length. */
.preview-qr-link {
  margin-top: 0 !important;
}

@media (max-width: 991.98px) {
  /* Once cards stack vertically, fixed heading height is unnecessary. */
  .preview-day-copy {
    min-height: 0 !important;
  }

  .preview-day-card .preview-day-copy strong {
    min-height: 0 !important;
  }
}

/* Version 14 — navigation flow + larger logo */
.navbar{padding-top:.8rem!important;padding-bottom:.8rem!important}
.site-logo-image{height:70px!important;width:auto!important;max-width:330px!important;object-fit:contain!important}
#mainNav .navbar-nav{align-items:center}
#mainNav .nav-link{white-space:nowrap}
.nav-preview-cta{align-items:center;justify-content:center;margin-left:1rem;padding:.72rem 1.1rem!important;white-space:nowrap;line-height:1.1}
@media(max-width:1199.98px){
.site-logo-image{height:64px!important;max-width:300px!important}
#mainNav .nav-link{padding-left:.5rem!important;padding-right:.5rem!important;font-size:.86rem}
.nav-preview-cta{margin-left:.65rem;padding-left:.9rem!important;padding-right:.9rem!important}}
@media(max-width:991.98px){
.navbar{padding-top:.7rem!important;padding-bottom:.7rem!important}
.site-logo-image{height:62px!important;max-width:285px!important}
#mainNav .navbar-nav{align-items:stretch;padding-top:.75rem}}
@media(max-width:575.98px){.site-logo-image{height:58px!important;max-width:265px!important}}

/* Mailchimp footer newsletter */
.footer-newsletter-form {
  margin-top: 1rem;
}
.footer-newsletter-input-group {
  display: flex;
  gap: .6rem;
  align-items: stretch;
}
.footer-newsletter-input-group .form-control {
  min-width: 0;
}
.footer-newsletter-input-group .btn {
  white-space: nowrap;
}
@media (max-width: 575.98px) {
  .footer-newsletter-input-group {
    flex-direction: column;
  }
  .footer-newsletter-input-group .btn {
    width: 100%;
  }
}

/* --------------------------------------------------
   Version 2.2 — comprehensive mobile QA / overflow pass
-------------------------------------------------- */

/* Prevent any decorative or grid element from creating horizontal scrolling. */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
}

main,
header,
footer,
section,
.container,
.container-fluid,
.row,
[class*="col-"] {
  min-width: 0;
}

img,
svg,
video,
iframe,
canvas {
  max-width: 100%;
  height: auto;
}

p,
li,
blockquote,
h1,
h2,
h3,
h4,
a,
span,
strong {
  overflow-wrap: break-word;
  word-wrap: break-word;
}

@media (max-width: 767.98px) {
  /* Consistent readable gutters across every mobile section. */
  .container,
  .hero-container,
  .nav-wrap {
    width: 100%;
    max-width: 100%;
    padding-right: 1.35rem !important;
    padding-left: 1.35rem !important;
  }

  .row {
    --bs-gutter-x: 1.5rem;
  }

  .section-pad {
    padding-top: 4.25rem;
    padding-bottom: 4.25rem;
  }

  p,
  .section-intro,
  .hero-description {
    line-height: 1.72;
  }

  .section-intro {
    margin-top: 1.15rem;
    font-size: 1rem;
  }

  h1,
  .hero-editorial h1 {
    max-width: 100%;
    font-size: clamp(2.75rem, 13vw, 4rem) !important;
    line-height: 1.01;
    letter-spacing: -.055em;
  }

  h2 {
    font-size: clamp(2.05rem, 9.5vw, 3rem);
    line-height: 1.08;
  }

  /* Header */
  .site-nav,
  .site-nav.is-scrolled {
    min-height: 68px;
  }

  .site-logo-image {
    width: auto;
    height: 52px;
    max-width: min(245px, calc(100vw - 92px));
  }

  .navbar-toggler {
    flex: 0 0 auto;
    margin-left: .75rem;
  }

  .navbar-collapse {
    max-width: 100%;
  }

  /* Hero */
  .hero-editorial {
    padding-top: 4.6rem !important;
    padding-bottom: 2.75rem !important;
  }

  .hero-row {
    padding-top: 1.5rem !important;
    padding-bottom: 1rem !important;
  }

  .hero-inner {
    width: 100%;
    max-width: 100%;
  }

  .hero-kicker {
    margin-bottom: 1.1rem;
    letter-spacing: .17em;
  }

  .hero-divider {
    width: 100%;
    max-width: 320px;
    margin: 1.75rem auto;
  }

  .hero-description {
    width: 100%;
    max-width: 34rem;
    margin-right: auto;
    margin-bottom: 1.8rem;
    margin-left: auto;
    font-size: 1rem;
  }

  .hero-cta {
    width: 100%;
    gap: .75rem !important;
  }

  .hero-cta .btn {
    max-width: 100%;
    white-space: normal;
  }

  .hero-features {
    width: 100%;
    margin-top: 1.75rem;
  }

  .hero-feature {
    flex: 1 1 100%;
    width: 100%;
    min-width: 0;
  }

  .hero-visual {
    width: 100%;
    min-height: 330px !important;
    overflow: hidden;
  }

  .book-mockup.actual-cover {
    width: min(78vw, 330px) !important;
    max-width: 100%;
    transform: none !important;
  }

  .book-cover-image.final-book-cover {
    max-height: 390px !important;
  }

  /* Decorative hero rings were a common source of mobile overflow. */
  .hero-orbit {
    display: none;
  }

  /* Content cards and general sections */
  .moment-card {
    min-height: 0;
    padding: 1.5rem;
  }

  .moment-card h3 {
    margin-top: 2rem;
  }

  .quote-band-blue {
    overflow: hidden;
  }

  .trust-strip {
    padding: 2rem 0;
  }

  .trust-strip p {
    font-size: clamp(2rem, 10vw, 3.1rem);
  }

  /* About Steve — deliberately smaller on phones. */
  .ministry-image-wrap {
    width: min(100%, 360px);
    height: 260px !important;
    min-height: 0 !important;
    margin-right: auto;
    margin-left: auto;
    border-radius: 22px;
  }

  .ministry-image-wrap img {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    object-fit: cover !important;
    object-position: center 20% !important;
  }

  .steve-identity-line {
    max-width: 100%;
  }

  /* Journey */
  .journey-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 1rem;
  }

  .journey-card {
    width: 100%;
    min-width: 0;
  }

  .journey-card > div {
    padding: 1.35rem;
  }

  .stats-row {
    margin-top: 2.5rem;
  }

  .journey-closing {
    margin-top: 2.75rem;
    font-size: clamp(1.8rem, 9vw, 2.7rem);
  }

  /* Devotional */
  .day-card {
    min-height: 0 !important;
    padding: 1.65rem !important;
  }

  .daily-flow {
    margin-top: 2rem !important;
  }

  .flow-step {
    min-width: 0;
  }

  /* Podcast */
  #podcast.ministry-strip {
    padding: 3.5rem 0;
    overflow: hidden;
  }

  .podcast-art-card {
    width: min(100%, 360px);
    margin: 0 auto;
  }

  .podcast-feature-actions {
    gap: .75rem;
  }

  .podcast-feature-actions .btn {
    width: 100%;
    max-width: 100%;
    white-space: normal;
  }

  /* Preview: stack QR cards so no fixed internal width can overflow. */
  .preview-panel {
    width: 100%;
    padding: 1.35rem !important;
    border-radius: 22px;
    overflow: hidden;
  }

  .preview-days {
    width: 100%;
    min-width: 0;
  }

  .preview-day,
  .preview-day-card {
    width: 100%;
    min-width: 0;
    grid-template-columns: 1fr !important;
    justify-items: center;
    gap: .85rem;
    padding: 1.15rem !important;
    text-align: center;
  }

  .preview-day-copy {
    min-width: 0;
    text-align: center;
  }

  .preview-qr-link {
    display: block;
    width: min(150px, 52vw);
    max-width: 100%;
  }

  .preview-qr {
    display: block;
    width: 100% !important;
    height: auto !important;
  }

  .signup-card {
    width: 100%;
    min-width: 0;
    padding: 1.35rem !important;
  }

  .signup-card .form-control {
    width: 100%;
    min-width: 0;
  }

  /* Prayer / closing */
  .prayer-card {
    padding: 2rem 1.35rem;
    border-radius: 22px;
  }

  .prayer-card blockquote {
    font-size: clamp(1.75rem, 8.5vw, 2.6rem);
  }

  .closing-cta {
    padding: 4.25rem 0;
  }

  .closing-cta h2,
  .closing-cta p {
    max-width: 100%;
  }

  /* Footer */
  .footer-v2 {
    padding-top: 3.75rem;
  }

  .footer-main-grid {
    width: 100%;
    min-width: 0;
  }

  .footer-logo-image {
    width: min(100%, 235px);
  }

  .footer-newsletter-input-group {
    width: 100%;
    min-width: 0;
  }

  .footer-newsletter-input-group .form-control,
  .footer-newsletter-input-group .btn {
    max-width: 100%;
  }
}

@media (max-width: 575.98px) {
  .container,
  .hero-container,
  .nav-wrap {
    padding-right: 1.2rem !important;
    padding-left: 1.2rem !important;
  }

  .section-pad {
    padding-top: 3.75rem;
    padding-bottom: 3.75rem;
  }

  .hero-editorial {
    padding-top: 4.25rem !important;
  }

  .hero-visual {
    min-height: 300px !important;
  }

  .book-mockup.actual-cover {
    width: min(74vw, 295px) !important;
  }

  .book-cover-image.final-book-cover {
    max-height: 350px !important;
  }

  .ministry-image-wrap {
    width: min(92%, 330px);
    height: 235px !important;
  }

  .preview-panel,
  .signup-card {
    padding: 1.15rem !important;
  }

  .btn,
  .btn-lg {
    max-width: 100%;
    padding-right: 1.15rem;
    padding-left: 1.15rem;
  }
}

@media (max-width: 374.98px) {
  .container,
  .hero-container,
  .nav-wrap {
    padding-right: 1rem !important;
    padding-left: 1rem !important;
  }

  .site-logo-image {
    height: 46px;
    max-width: calc(100vw - 84px);
  }

  h1,
  .hero-editorial h1 {
    font-size: 2.6rem !important;
  }

  h2 {
    font-size: 2rem;
  }

  .ministry-image-wrap {
    height: 220px !important;
  }
}
