/* Immutable r3-20260828d renderer shells. Protected renderer CSS stays authoritative. */
.sb4-home {
  --sb4-ink: #2b1f35;
  --sb4-focus: #17385f;
  color: var(--sb4-ink);
  background: #fffaf2;
  font-family: "Times New Roman", Times, serif;
  line-height: 1.62;
}

.sb4-home *,
.sb4-home *::before,
.sb4-home *::after { box-sizing: border-box; }

.sb4-home :is(h1, h2, h3, p, a, button, input, select, textarea) {
  font-family: "Times New Roman", Times, serif;
}

.sb4-home :is(a, button, input, select, textarea):focus-visible {
  outline: 3px solid var(--sb4-focus);
  outline-offset: 4px;
}

.sb4-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.sb4-protected-source[id] { scroll-margin-top: 1rem; }

.sb4-prototype-blocker {
  width: min(100% - 2rem, 64rem);
  margin: 2rem auto;
  padding: 1rem;
  border: 2px solid #781b27;
  color: #5c0f1a;
  background: #fff1f3;
  font-weight: 700;
}

.sb4-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .82rem 1.35rem;
  border: 2px solid currentColor;
  border-radius: 999px;
  font-size: clamp(1.02rem, 2vw, 1.18rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.sb4-kicker {
  margin: 0 0 .55rem;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

/* Safe reconstruction of the post-COVID pink/purple presentation. */
.sb4-home--thrive {
  --sb4-focus: #26122c;
  color: #341438;
  background: #fffaf6;
}

.sb4-thrive-masthead,
.sb4-darkblue-masthead {
  display: flex;
  min-height: 72px;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: min(100% - 2rem, 72rem);
  margin-inline: auto;
}

.sb4-thrive-masthead { border-bottom: 1px solid #d8b6d2; color: #571b5e; }
.sb4-thrive-masthead strong { font-size: clamp(1.45rem, 4vw, 2.15rem); }

.sb4-thrive-intro {
  display: grid;
  grid-template-columns: minmax(9rem, .42fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(1.25rem, 5vw, 4rem);
  width: min(100% - 2rem, 66rem);
  margin: clamp(1.25rem, 4vw, 3.5rem) auto;
  padding: clamp(1.25rem, 5vw, 3.5rem);
  overflow: hidden;
  border: 1px solid #c892b7;
  border-radius: 2rem;
  background: radial-gradient(circle at 90% 10%, #fff 0, transparent 32%), linear-gradient(135deg, #ffe2f0, #f2e8ff);
  box-shadow: 0 1.25rem 3rem rgba(87, 27, 94, .14);
}

.sb4-thrive-intro :is(h1, h2) {
  margin: 0 0 1.1rem;
  color: #341438;
  font-size: clamp(2.25rem, 7vw, 4.7rem);
  line-height: 1.04;
  text-wrap: balance;
}

.sb4-thrive-intro .sb4-kicker { color: #771047; }

/* Final-paint CTA contract: own every layer/state and lock nested foregrounds against legacy link rules. */
.sb4-home a.sb4-button.sb4-button--pink,
.sb4-home a.sb4-button.sb4-button--pink:link,
.sb4-home a.sb4-button.sb4-button--pink:visited,
.sb4-home a.sb4-button.sb4-button--pink:hover,
.sb4-home a.sb4-button.sb4-button--pink:focus,
.sb4-home a.sb4-button.sb4-button--pink:focus-visible,
.sb4-home a.sb4-button.sb4-button--pink:active {
  border: 2px solid #68103f !important;
  color: #fff !important;
  background: #8b1453 !important;
  -webkit-text-fill-color: #fff !important;
  text-decoration: none !important;
}

.sb4-home a.sb4-button.sb4-button--pink:hover,
.sb4-home a.sb4-button.sb4-button--pink:focus,
.sb4-home a.sb4-button.sb4-button--pink:focus-visible,
.sb4-home a.sb4-button.sb4-button--pink:active {
  border-color: #4f092f !important;
  background: #68103f !important;
}

.sb4-home a.sb4-button.sb4-button--pink:focus,
.sb4-home a.sb4-button.sb4-button--pink:focus-visible {
  outline: 3px solid #26122c !important;
  outline-offset: 4px !important;
}

.sb4-home a.sb4-button.sb4-button--pink :is(span, strong, em, small, i, b, svg),
.sb4-home a.sb4-button.sb4-button--pink::before,
.sb4-home a.sb4-button.sb4-button--pink::after,
.sb4-home a.sb4-button.sb4-button--pink :is(span, strong, em, small, i, b)::before,
.sb4-home a.sb4-button.sb4-button--pink :is(span, strong, em, small, i, b)::after {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

.sb4-thrive-motif {
  position: relative;
  display: grid;
  width: min(100%, 13rem);
  aspect-ratio: 1;
  place-items: center;
  margin-inline: auto;
  border: 1px solid #c892b7;
  border-radius: 50%;
  background: radial-gradient(circle, #fff 0 48%, #ffe2f0 49% 100%);
  box-shadow: 0 1rem 2rem rgba(87, 27, 94, .12);
}

.sb4-thrive-motif img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

/* Exact design evidence: sleepbaby-miracle dark blue plus static 2:59 story lockup. */
.sb4-home--darkblue {
  --sb4-focus: #f7e5b2;
  color: #fff;
  background: #171a35;
}

.sb4-darkblue-masthead { color: #fff; border-bottom: 1px solid rgba(255, 255, 255, .3); }
.sb4-darkblue-masthead strong { font-size: clamp(1.45rem, 4vw, 2.15rem); }

.sb4-darkblue-story {
  position: relative;
  display: grid;
  min-height: 740px;
  grid-template-columns: minmax(0, .72fr) minmax(24rem, 1fr);
  align-items: center;
  gap: clamp(2rem, 6vw, 5rem);
  width: min(100% - 2rem, 76rem);
  margin-inline: auto;
  padding: clamp(5rem, 11vw, 9rem) 0;
  isolation: isolate;
}

.sb4-darkblue-sky {
  position: absolute;
  z-index: -1;
  inset: 0;
  overflow: hidden;
  background: radial-gradient(circle at 80% 18%, rgba(57, 73, 144, .78), transparent 34%), linear-gradient(145deg, #171a35, #293366);
}

.sb4-darkblue-sky span {
  position: absolute;
  top: 9%;
  right: 8%;
  width: clamp(5rem, 12vw, 9rem);
  aspect-ratio: 1;
  border-radius: 50%;
  background: #f0d38f;
  box-shadow: 0 0 5rem rgba(240, 211, 143, .28);
}

.sb4-darkblue-sky span::after {
  content: "";
  position: absolute;
  top: -7%;
  left: 38%;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: #293366;
}

.sb4-darkblue-sky i { position: absolute; width: .45rem; height: .45rem; border-radius: 50%; background: #f0d38f; }
.sb4-darkblue-sky i:nth-child(1) { top: 14%; left: 8%; }
.sb4-darkblue-sky i:nth-child(2) { top: 24%; left: 22%; width: .3rem; height: .3rem; }
.sb4-darkblue-sky i:nth-child(3) { top: 12%; left: 38%; background: #b8e1da; }

.sb4-darkblue-time {
  display: flex;
  align-items: flex-end;
  color: #f0d38f;
  line-height: .8;
  text-shadow: .55rem .6rem 0 rgba(143, 67, 86, .35);
}

.sb4-darkblue-time strong { font-size: clamp(5.8rem, 13vw, 10.5rem); letter-spacing: -.09em; }
.sb4-darkblue-time small { margin: 0 0 .55rem .75rem; font-size: .85rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }

.sb4-darkblue-card {
  --sb4-focus: #29304c;
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: 2.4rem 6rem 2.4rem 6rem;
  color: #29304c;
  background: #fffaf0;
  box-shadow: 1.2rem 1.35rem 0 rgba(158, 186, 174, .16);
}

.sb4-darkblue-card .sb4-kicker { color: #8f4356; }
.sb4-darkblue-card :is(h1, h2) { margin: 0 0 1.5rem; color: #29304c; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: 1.04; text-wrap: balance; }

.sb4-home a.sb4-button.sb4-button--gold,
.sb4-home a.sb4-button.sb4-button--gold:link,
.sb4-home a.sb4-button.sb4-button--gold:visited,
.sb4-home a.sb4-button.sb4-button--gold:hover,
.sb4-home a.sb4-button.sb4-button--gold:focus,
.sb4-home a.sb4-button.sb4-button--gold:focus-visible,
.sb4-home a.sb4-button.sb4-button--gold:active {
  border: 2px solid #171a35 !important;
  color: #171a35 !important;
  background: #f0d38f !important;
  -webkit-text-fill-color: #171a35 !important;
  text-decoration: none !important;
}

.sb4-home a.sb4-button.sb4-button--gold:hover,
.sb4-home a.sb4-button.sb4-button--gold:focus,
.sb4-home a.sb4-button.sb4-button--gold:focus-visible,
.sb4-home a.sb4-button.sb4-button--gold:active {
  background: #fff4cf !important;
}

.sb4-home a.sb4-button.sb4-button--gold:focus,
.sb4-home a.sb4-button.sb4-button--gold:focus-visible {
  outline: 3px solid #171a35 !important;
  outline-offset: 4px !important;
}

.sb4-home a.sb4-button.sb4-button--gold :is(span, strong, em, small, i, b, svg),
.sb4-home a.sb4-button.sb4-button--gold::before,
.sb4-home a.sb4-button.sb4-button--gold::after,
.sb4-home a.sb4-button.sb4-button--gold :is(span, strong, em, small, i, b)::before,
.sb4-home a.sb4-button.sb4-button--gold :is(span, strong, em, small, i, b)::after {
  color: #171a35 !important;
  -webkit-text-fill-color: #171a35 !important;
  fill: currentColor !important;
  stroke: currentColor !important;
}

.sb4-article-footer-surface .sb4-thrive-intro,
.sb4-article-footer-surface .sb4-darkblue-story {
  min-height: 0;
  margin-block: clamp(1rem, 3vw, 2rem);
}

.sb4-article-footer-surface .sb4-darkblue-story { padding-block: clamp(3rem, 8vw, 6rem); }
.sb4-article-footer-surface .sb4-darkblue-card :is(h1, h2) { font-size: clamp(2rem, 5vw, 3.8rem); }

@media (max-width: 48rem) {
  .sb4-thrive-intro,
  .sb4-darkblue-story { grid-template-columns: minmax(0, 1fr); }
  .sb4-thrive-intro { text-align: center; }
  .sb4-darkblue-story { min-height: 0; padding-block: 6rem; }
  .sb4-darkblue-time { justify-content: center; }
}

@media (max-width: 24rem) {
  .sb4-thrive-masthead,
  .sb4-darkblue-masthead { width: min(100% - 1.25rem, 72rem); }
  .sb4-thrive-intro,
  .sb4-darkblue-story { width: min(100% - 1.25rem, 66rem); }
  .sb4-darkblue-time strong { font-size: clamp(4.5rem, 24vw, 6rem); }
  .sb4-darkblue-card { padding: 1.45rem; border-radius: 1.6rem 3.5rem 1.6rem 3.5rem; }
  .sb4-button { width: 100%; }
}

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

@media (forced-colors: active) {
  .sb4-thrive-intro,
  .sb4-darkblue-card,
  .sb4-button { border: 2px solid CanvasText; box-shadow: none; }
  .sb4-home :is(a, button, input, select, textarea):focus-visible { outline-color: Highlight; }
}

/* v2.5.9.3 final-paint contract for the July archive hero inside an article footer. */
.sb4-article-footer-surface--july.sb4j #tve_editor:is(#tve_editor)
  [data-css="tve-u-15de4b388bf"] > .thrv_heading[data-css="tve-u-169e7153da2"]
  :is(h1, h2)[data-css="tve-u-15ddcf2d07a"],
.sb4-article-footer-surface--july.sb4j #tve_editor:is(#tve_editor)
  [data-css="tve-u-15de4b388bf"] > .thrv_heading[data-css="tve-u-169e7153da2"]
  :is(h1, h2)[data-css="tve-u-15ddcf2d07a"] * {
  color: #fffdfa !important;
  -webkit-text-fill-color: #fffdfa !important;
}
