/* 1.9.26.x — homepage hierarchy and responsive refinements. */

@media (min-width: 761px) {
  .home .hs-hero-shell,
  .home .hs-hero {
    min-height: 450px;
  }

  .home .hs-hero-copy {
    padding-top: 50px;
    padding-bottom: 46px;
  }

  .home .hs-hero h1 {
    font-size: clamp(2.5rem, 4.55vw, 4.55rem);
    line-height: 1.02;
  }

  .home .hs-home-calc {
    margin-block: 24px 30px;
  }

  .home .hs-home-calc__panel {
    min-height: 470px;
  }

  .home .hs-home-calc__content {
    padding: clamp(28px, 3.4vw, 44px) clamp(24px, 3.4vw, 44px);
  }

  .home .hs-home-calc__content h2 {
    font-size: clamp(1.85rem, 2.95vw, 3rem);
  }

  .home .hs-home-calc__art {
    min-height: 410px;
  }

  .home .hs-home-calc__art img {
    width: min(92%, 480px);
    max-height: 440px;
  }
}

/* Put the Premium offer first, then give editorial content equal visual weight. */
.home .hs-content-grid {
  display: block;
}

.home .hs-content-side {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: start;
  gap: 14px;
}

.home .hs-premium-hub {
  grid-column: 1 / -1;
  padding: 18px;
}

.home .hs-premium-hub__intro h2 {
  font-size: clamp(1.45rem, 2.45vw, 2rem);
}

.home .hs-premium-hub__intro p:not(.hs-eyebrow) {
  margin-bottom: 15px;
  font-size: .82rem;
}

.home .hs-premium-products {
  gap: 8px;
}

.home .hs-premium-product {
  padding: 12px;
  border-radius: 14px;
}

.home .hs-premium-product--featured {
  padding: 13px;
  border: 2px solid #b7842d;
  box-shadow: 0 12px 28px rgba(75, 48, 27, .09), 0 0 0 3px rgba(183, 132, 45, .11);
}

.home .hs-premium-product--featured:hover {
  border-color: #98651e;
}

.home .hs-premium-product__body strong {
  font-size: 1.04rem;
}

.home .hs-premium-product--featured .hs-premium-product__body strong {
  font-size: 1.18rem;
}

.home .hs-content-grid--articles-only .hs-articles {
  grid-column: 1 / -1;
}

.home .hs-sky-calendar-cta,
.home .hs-home-observatory {
  width: 100%;
}

.home .hs-home-observatory > .hs-sky {
  width: 100%;
}

/* Keep the two sky features together and compact on desktop; stack on narrow screens. */
@media (min-width: 1024px) {
  .home .hs-home-sky-panels {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: start;
    gap: 18px;
  }

  .home .hs-home-sky-panels > * {
    min-width: 0;
    margin: 0;
  }

  .home .hs-sky-calendar-cta {
    grid-template-columns: minmax(0, 1.08fr) minmax(100px, 0.72fr);
    align-content: center;
    gap: 10px;
    min-height: 310px;
    padding: clamp(22px, 2.2vw, 32px);
    border-radius: 22px;
  }

  .home .hs-sky-calendar-cta h2 {
    font-size: clamp(1.7rem, 2.45vw, 2.55rem);
    line-height: 1.02;
  }

  .home .hs-sky-calendar-cta p:not(.hs-eyebrow) {
    margin-bottom: 17px;
    font-size: .86rem;
    line-height: 1.55;
  }

  .home .hs-sky-calendar-cta__art {
    min-height: 160px;
  }

  .home .hs-sky-calendar-cta__ring--one { width: 156px; height: 156px; }
  .home .hs-sky-calendar-cta__ring--two { width: 116px; height: 168px; }
  .home .hs-sky-calendar-cta__planet--moon { width: 68px; height: 68px; }
  .home .hs-sky-calendar-cta__planet--gold { margin-inline-start: 92px; }

  .home .hs-home-observatory > .hs-sky {
    padding: 16px;
    border-radius: 20px;
  }

  .home .hs-home-observatory .hs-lunar-heading { margin-bottom: 10px; }
  .home .hs-home-observatory .hs-lunar-heading h2 { font-size: 1.28rem; }

  .home .hs-home-observatory .hs-lunar-showcase {
    display: grid;
    grid-template-columns: minmax(104px, .78fr) minmax(0, 1fr);
    align-items: center;
    gap: 8px;
    padding: 10px;
    border-radius: 15px;
  }

  .home .hs-home-observatory .hs-lunar-night {
    height: 126px;
    max-width: none;
  }

  .home .hs-home-observatory .hs-moon { width: 102px !important; height: 102px !important; }
  .home .hs-home-observatory .hs-lunar-orbit--one { width: 116px; height: 116px; }
  .home .hs-home-observatory .hs-lunar-orbit--two { width: 130px; height: 130px; }

  .home .hs-home-observatory .hs-lunar-current { font-size: 1.08rem; }
  .home .hs-home-observatory .hs-lunar-illuminated { font-size: .68rem; }

  .home .hs-home-observatory .hs-lunar-data {
    gap: 0 12px;
    margin-top: 7px;
  }

  .home .hs-home-observatory .hs-lunar-reading,
  .home .hs-home-observatory .hs-lunar-reading--wide {
    grid-column: auto;
    padding-block: 7px;
  }

  .home .hs-home-observatory .hs-lunar-reading span:first-child { font-size: .67rem; }
  .home .hs-home-observatory .hs-lunar-reading strong { font-size: .78rem; }
  .home .hs-home-observatory .hs-moon-cycle { margin-top: 2px; padding-top: 10px; }
  .home .hs-home-observatory .hs-moon-cycle-head { margin-bottom: 7px; }
  .home .hs-home-observatory .hs-moon-cycle-head h3 { font-size: .94rem; }
  .home .hs-home-observatory .hs-moon-cycle-current { font-size: .66rem; }
  .home .hs-home-observatory .hs-moon-phases { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; }
  .home .hs-home-observatory .hs-moon-phase { min-height: 62px; gap: 4px; padding: 4px 1px !important; }
  .home .hs-home-observatory .hs-moon-phase-disc { width: 31px !important; height: 31px !important; }
  .home .hs-home-observatory .hs-moon-phase-label { font-size: .61rem; }
  .home .hs-home-observatory .hs-sky-foot { flex-direction: row; align-items: center; gap: 8px; margin-top: 8px; padding-top: 9px; }
  .home .hs-home-observatory .hs-sky-location { font-size: .68rem; }
  .home .hs-home-observatory .hs-location-btn { width: auto; min-height: 34px; padding: 7px 10px; font-size: .69rem; }
  .home .hs-home-observatory .hs-sky-status { margin-top: 7px; font-size: .64rem; }
  .home .hs-home-observatory .hs-lunar-disclaimer { margin-top: 6px; font-size: .60rem; }
}

@media (max-width: 980px) and (min-width: 761px) {
  .home .hs-content-side {
    gap: 12px;
  }

  .home .hs-premium-products {
    grid-template-columns: 1fr;
  }

  .home .hs-premium-product,
  .home .hs-premium-product--featured {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .home .hs-container > .hs-section {
    margin-top: 26px;
  }

  .home .hs-content-side {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .home .hs-premium-hub,
  .home .hs-content-grid--articles-only .hs-articles {
    grid-column: auto;
  }

  .home .hs-home-calc {
    margin-block: 26px;
  }
}



@media (prefers-reduced-motion: reduce) {
  .home .hs-premium-product {
    transition: none;
  }
}

/* CRO entry: the existing personal calculator and the dog journey share the
   first-screen switch while keeping their calculation/payment flows separate. */
.home .hs-hero-shell,
.home .hs-hero {
  min-height: 0 !important;
}

.home .hs-hero {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  align-items: center;
  gap: clamp(22px, 3.2vw, 46px);
  padding-block: clamp(28px, 4.2vw, 58px);
}

.home .hs-hero-copy {
  width: auto;
  min-width: 0;
  padding: 0 0 0 10px;
}

.home .hs-hero h1 {
  max-width: 620px;
  font-size: clamp(2.5rem, 4.15vw, 4.55rem);
  line-height: 1.01;
  text-wrap: balance;
}

.home .hs-hero-lead {
  max-width: 580px;
  margin-top: 18px;
  font-size: clamp(.95rem, 1.1vw, 1.08rem);
  line-height: 1.58;
}

.home .hs-trust-row {
  gap: 11px 15px;
  margin-top: 20px;
}

.home .hs-home-funnel {
  min-width: 0;
  margin: 0;
  scroll-margin-top: 100px;
}

.home .hs-home-calc__panel--funnel {
  --hs-cro-base: #0b0914;
  --hs-cro-panel: rgba(21, 18, 38, .8);
  --hs-cro-border: rgba(46, 41, 78, .5);
  --hs-cro-input: rgba(26, 22, 48, .8);
  --hs-cro-input-border: #342d59;
  --hs-cro-text: #f1f5f9;
  --hs-cro-label: #94a3b8;
  --hs-cro-amber: #f39c12;
  --hs-cro-gold: #f1c40f;
  --hs-cro-purple: #8e44ad;
  --hs-cro-purple-light: #9b59b6;
  --hs-cro-pink: #ec4899;
  --hs-cro-magenta: #d946ef;
  --hs-cro-hover: #251f42;
  display: block;
  min-height: 0;
  border: 1px solid var(--hs-cro-border);
  border-radius: 23px;
  background-color: var(--hs-cro-base);
  background: var(--hs-cro-panel);
  box-shadow: 0 24px 70px rgba(2, 8, 28, .34), inset 0 1px 0 rgba(255, 255, 255, .08);
  -webkit-backdrop-filter: blur(12px) saturate(1.12);
  backdrop-filter: blur(12px) saturate(1.12);
}

.home .hs-home-calc__panel--funnel::before { opacity: .55; }

.home .hs-home-funnel__content {
  padding: clamp(17px, 2.2vw, 27px);
}

.hs-home-funnel__tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 0 0 19px;
  padding: 5px;
  border: 1px solid var(--hs-cro-border);
  border-radius: 15px;
  background: rgba(11, 9, 20, .72);
}

.hs-home-funnel__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 43px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 11px;
  gap: 7px;
  color: var(--hs-cro-label);
  background: #1a1630;
  font: inherit;
  font-size: clamp(.69rem, .86vw, .83rem);
  font-weight: 740;
  line-height: 1.28;
  text-align: center;
  cursor: pointer;
  transition: color .18s ease, background .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hs-home-funnel__tab:hover { color: var(--hs-cro-text); background: var(--hs-cro-hover); }
.hs-home-funnel__tab.is-active {
  color: var(--hs-cro-text);
  border-color: var(--hs-cro-border);
  background: #1a1630;
  box-shadow: 0 4px 13px rgba(2,6,23,.28);
}
.hs-home-funnel__tab[data-hs-home-tab="person"].is-active {
  color: #fff;
  border-color: rgba(155, 89, 182, .7);
  background: linear-gradient(100deg, var(--hs-cro-purple), var(--hs-cro-purple-light));
  box-shadow: 0 8px 20px rgba(142, 68, 173, .25);
}
.hs-home-funnel__tab[data-hs-home-tab="dog"].is-active {
  color: #fff;
  border-color: rgba(236, 72, 153, .55);
  background: linear-gradient(100deg, var(--hs-cro-pink), var(--hs-cro-magenta));
  box-shadow: 0 8px 22px rgba(217, 70, 239, .22);
}
.hs-home-funnel__tab-label { min-width: 0; }
.hs-home-funnel__badge {
  flex: 0 0 auto;
  padding: 3px 6px;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(110deg, var(--hs-cro-pink), var(--hs-cro-purple));
  font-size: .57rem;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1.1;
  box-shadow: 0 3px 10px rgba(217, 70, 239, .2);
}
.hs-home-funnel__tab:focus-visible { outline: 3px solid rgba(112,83,141,.34); outline-offset: 2px; }
.hs-home-funnel__panel[hidden] { display: none !important; }
.home .hs-home-funnel .hs-home-calc__form { gap: 11px; }
.home .hs-home-funnel .hs-home-calc__fields { gap: 10px 12px; }
.home .hs-home-funnel .hs-home-calc__field { gap: 5px; }
.home .hs-home-funnel .hs-home-calc__eyebrow { color: #fbbf24; }
.home .hs-home-funnel .hs-home-calc__content h2 { color: var(--hs-cro-text); }
.home .hs-home-funnel .hs-home-calc__lead { color: var(--hs-cro-label); }
.home .hs-home-funnel .hs-home-calc__field > label:not(.hs-home-calc__unknown) { color: var(--hs-cro-label); font-size: .70rem; }
.home .hs-home-funnel .hs-home-calc__field input:not([type="checkbox"], [type="radio"]),
.home .hs-home-funnel .hs-home-calc__field select {
  min-height: 43px;
  padding: 8px 11px;
  border: 1px solid var(--hs-cro-input-border);
  border-radius: 11px;
  color: var(--hs-cro-text);
  background: var(--hs-cro-input);
  color-scheme: dark;
  font-size: 16px;
}
.home .hs-home-funnel .hs-home-calc__field input::placeholder { color: #94a3b8; opacity: .78; }
.home .hs-home-funnel .hs-home-calc__field input:focus,
.home .hs-home-funnel .hs-home-calc__field select:focus { border-color: var(--hs-cro-purple-light); background: var(--hs-cro-input); box-shadow: 0 0 15px rgba(155, 89, 182, .3); outline: none; }
.home .hs-home-funnel .hs-home-calc__field small { color: var(--hs-cro-label); font-size: .64rem; }
.home .hs-home-funnel .hs-home-dog-breed-hint { display: block; margin-top: .35rem; font-size: .72rem; line-height: 1.4; }
.home .hs-home-funnel .hs-home-calc__unknown { color: var(--hs-cro-text); }
.home .hs-home-funnel .hs-home-calc__unknown input { accent-color: var(--hs-cro-gold); }
.hs-home-calc__fields--dog-owner,
.hs-home-calc__fields--dog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hs-home-calc__field--wide { grid-column: 1 / -1; }
.hs-home-funnel__dog-fields {
  padding-top: 12px;
  border-top: 1px solid rgba(104,82,122,.14);
}
.hs-home-funnel__progress[hidden],
.hs-home-funnel__step[hidden],
.hs-home-funnel__step-nav[hidden] { display: none !important; }
.home .hs-home-funnel [data-hs-home-back][hidden],
.home .hs-home-funnel [data-hs-home-next][hidden],
.home .hs-home-funnel form[data-hs-home-calc] > [type="submit"][hidden],
.home .hs-home-funnel form[data-hs-home-dog-calc] > [type="submit"][hidden],
.home .hs-home-funnel [data-hs-home-step-note][hidden] { display: none !important; }
.home .hs-home-funnel__progress { margin: 0 0 17px; }
.hs-home-funnel__progress > p {
  margin: 0 0 8px;
  color: var(--hs-cro-label);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .025em;
}
.hs-home-funnel__progress-track {
  height: 5px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(148,163,184,.20);
}
.hs-home-funnel__progress-track > span {
  display: block;
  width: 0;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--hs-cro-amber), var(--hs-cro-gold), var(--hs-cro-amber));
  transition: width .24s ease;
}
.home .hs-home-funnel form[data-hs-home-dog-calc] .hs-home-funnel__progress-track > span { background: linear-gradient(90deg, var(--hs-cro-pink), var(--hs-cro-magenta)); }
.home .hs-home-funnel__step {
  display: grid;
  gap: 12px;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}
.hs-home-funnel__step > legend {
  display: block;
  width: 100%;
  margin: 0 0 2px;
  padding: 0;
  color: var(--hs-cro-gold);
  background: linear-gradient(90deg, var(--hs-cro-amber), var(--hs-cro-gold), var(--hs-cro-amber));
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: clamp(.92rem, 1.15vw, 1.04rem);
  font-weight: 760;
  line-height: 1.35;
}
.hs-home-funnel__step > legend:focus { outline: none; }
.hs-home-funnel__step > legend:focus-visible { outline: 2px solid rgba(112,83,141,.45); outline-offset: 4px; border-radius: 3px; }
.home .hs-home-funnel .hs-home-funnel__step-nav {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: 9px;
  margin-top: 2px;
}
.hs-home-funnel__step-nav[data-first-step="true"] { grid-template-columns: 1fr; }
.hs-home-funnel__step-nav[data-last-step="true"] { grid-template-columns: 1fr; }
.home .hs-home-funnel .hs-home-funnel__back {
  min-width: 0;
  min-height: 48px;
  padding: 10px 14px;
  border: 1px solid var(--hs-cro-input-border);
  border-radius: 11px;
  color: var(--hs-cro-label);
  background: #1a1630;
  font: inherit;
  font-size: .78rem;
  font-weight: 700;
  cursor: pointer;
}
.home .hs-home-funnel .hs-home-funnel__back:hover { color: var(--hs-cro-text); background: var(--hs-cro-hover); border-color: var(--hs-cro-purple-light); }
.home .hs-home-funnel .hs-home-funnel__back:focus-visible,
.home .hs-home-funnel .hs-home-funnel__next:focus-visible { outline: 3px solid rgba(112,83,141,.34); outline-offset: 2px; }
.home .hs-home-funnel .hs-home-funnel__next { margin-top: 0; }
.home .hs-home-funnel form[data-hs-home-calc] .hs-home-calc__submit {
  border-color: rgba(155, 89, 182, .68);
  color: #fff;
  background: linear-gradient(100deg, var(--hs-cro-purple), var(--hs-cro-purple-light));
  box-shadow: 0 10px 23px rgba(142, 68, 173, .25), inset 0 1px 0 rgba(255,255,255,.18);
}
.home .hs-home-funnel form[data-hs-home-dog-calc] .hs-home-calc__submit {
  border-color: rgba(236, 72, 153, .55);
  color: #fff;
  background: linear-gradient(100deg, var(--hs-cro-pink), var(--hs-cro-magenta));
  box-shadow: 0 10px 23px rgba(217, 70, 239, .22), inset 0 1px 0 rgba(255,255,255,.18);
}
.home .hs-home-funnel form[data-hs-home-calc] .hs-home-funnel__next { background: linear-gradient(100deg, var(--hs-cro-purple), var(--hs-cro-purple-light)); }
.home .hs-home-funnel form[data-hs-home-dog-calc] .hs-home-funnel__next { background: linear-gradient(100deg, var(--hs-cro-pink), var(--hs-cro-magenta)); }
.home .hs-home-funnel .hs-home-calc__submit:hover:not(:disabled) { filter: brightness(1.08); }
.home .hs-home-funnel .hs-home-calc__note { color: #94a3b8; }
.home .hs-home-funnel .hs-home-calc__error { color: #fda4af; }
.home .hs-home-funnel .hs-home-calc__submit {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  margin-top: 3px;
  padding-inline: 15px;
  font-size: .76rem;
  letter-spacing: .015em;
}
.home .hs-home-funnel .hs-home-calc__note {
  font-size: .66rem;
  line-height: 1.48;
}

@media (max-width: 980px) {
  .home .hs-hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
    padding-block: 26px 32px;
  }
  .home .hs-hero-copy {
    width: min(100%, 760px);
    padding: 0 8px;
  }
  .home .hs-hero h1 { max-width: 740px; font-size: clamp(2.5rem, 6vw, 4rem); }
  .home .hs-hero-lead { max-width: 760px; }
  .home .hs-home-funnel { width: min(100%, 780px); justify-self: center; }
}

@media (max-width: 760px) {
  .home .hs-hero-shell,
  .home .hs-hero { min-height: 0 !important; }
  .home .hs-hero { gap: 15px; padding: 27px 0 30px; }
  .home .hs-hero-copy { padding: 0 8px; }
  .home .hs-hero h1 { font-size: clamp(2.12rem, 9vw, 3.3rem); }
  .home .hs-hero-lead { max-width: 100%; margin-top: 13px; font-size: .91rem; }
  .home .hs-trust-row { margin-top: 15px; }
  .home .hs-home-funnel { width: 100%; }
  .home .hs-home-funnel__content { padding: 16px; }
  .hs-home-funnel__tabs { margin-bottom: 14px; }
  .hs-home-funnel__tab { min-height: 44px; padding: 7px 6px; font-size: .72rem; }
}

@media (max-width: 520px) {
  .home .hs-home-funnel__content { padding: 13px; }
  .home .hs-home-calc__panel--funnel { background: rgba(21, 18, 38, .8); }
  .home .hs-home-funnel .hs-home-calc__fields,
  .hs-home-calc__fields--dog-owner,
  .hs-home-calc__fields--dog { grid-template-columns: 1fr; }
  .hs-home-calc__field--wide { grid-column: auto; }
  .home .hs-home-funnel__progress { margin-bottom: 15px; }
  .home .hs-home-funnel__step { gap: 11px; }
  .hs-home-funnel__step > legend { font-size: .96rem; }
  .home .hs-home-funnel .hs-home-funnel__step-nav { grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 8px; }
  .home .hs-home-funnel .hs-home-funnel__back { min-height: 52px; font-size: .82rem; }
  .home .hs-home-funnel .hs-home-calc__field input:not([type="checkbox"], [type="radio"]),
  .home .hs-home-funnel .hs-home-calc__field select { min-height: 46px; }
  .home .hs-home-funnel .hs-home-calc__submit { min-height: 52px; font-size: .72rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hs-home-funnel__tab { transition: none; }
  .hs-home-funnel__progress-track > span { transition: none; }
}

/* Configurable homepage modules: one vertical flow makes section ordering
   predictable while preserving the existing PHP-rendered content. */
.home .hs-home-content-flow {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
}
.home .hs-home-content-flow > * { width: 100%; }
.home .hs-content-side { display: grid; }

.home .hs-home-how,
.home .hs-home-faq,
.home .hs-home-methodology {
  color: #f1f5f9;
  border: 1px solid rgba(46, 41, 78, .65);
  background: rgba(21, 18, 38, .84);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
}
.home .hs-home-how h2,
.home .hs-home-faq h2,
.home .hs-home-methodology h2 { color: #f8fafc; }
.home .hs-home-how__lead { max-width: 720px; color: #cbd5e1; }
.home .hs-home-methodology {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, .9fr);
  align-items: center;
  gap: clamp(14px, 2.4vw, 28px);
  padding: clamp(17px, 2.6vw, 28px);
}
.home .hs-home-methodology .hs-eyebrow { margin: 0 0 7px; color: #fbbf24; font-size: .72rem; letter-spacing: .12em; }
.home .hs-home-methodology h2 { margin: 0 0 8px; font-size: clamp(1.25rem, 2.1vw, 1.7rem); }
.home .hs-home-methodology__lead { max-width: 66ch; margin: 0; color: #cbd5e1; font-size: .95rem; line-height: 1.6; }
.home .hs-home-methodology__details { min-width: 0; padding: 14px 16px; border: 1px solid rgba(155, 89, 182, .3); border-radius: 15px; background: rgba(26, 22, 48, .58); }
.home .hs-home-methodology__details summary { color: #f1f5f9; font-weight: 650; cursor: pointer; }
.home .hs-home-methodology__details summary::marker { color: #fbbf24; }
.home .hs-home-methodology__body { padding-top: 8px; }
.home .hs-home-methodology__body p { margin: 8px 0 0; color: #cbd5e1; font-size: .86rem; line-height: 1.58; }
.home .hs-home-how__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 0;
  padding: 0;
  list-style: none;
}
.home .hs-home-how__steps li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(155, 89, 182, .25);
  border-radius: 16px;
  background: rgba(26, 22, 48, .65);
}
.home .hs-home-how__number {
  display: grid;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid rgba(243, 156, 18, .45);
  border-radius: 50%;
  color: #fbbf24;
  font-weight: 700;
}
.home .hs-home-how__steps h3 { margin: 1px 0 5px; color: #f8fafc; font-size: 1rem; }
.home .hs-home-how__steps p { margin: 0; color: #cbd5e1; font-size: .88rem; line-height: 1.55; }

/* 1.9.29.5 — improve contrast in the three report steps on any page backdrop. */
.home .hs-home-how {
  color: #f7f3ff;
  border-color: rgba(196, 166, 235, .5);
  background: rgba(11, 9, 20, .97);
  box-shadow: 0 16px 38px rgba(5, 3, 14, .28);
}
.home .hs-home-how h2,
.home .hs-home-how__steps h3 {
  color: #fff;
  opacity: 1;
  mix-blend-mode: normal;
}
.home .hs-home-how__lead {
  color: #e8e1f3;
  font-size: 1rem;
  line-height: 1.6;
  opacity: 1;
}
.home .hs-home-how__steps li {
  border-color: rgba(192, 157, 228, .52);
  background: linear-gradient(145deg, rgba(45, 34, 67, .99), rgba(29, 23, 45, .99));
  box-shadow: 0 8px 22px rgba(5, 3, 14, .24);
}
.home .hs-home-how__number {
  color: #21152b;
  border-color: #ffe08a;
  background: #fbbf24;
  font-size: .9rem;
  line-height: 1;
  box-shadow: 0 0 0 3px rgba(251, 191, 36, .14);
}
.home .hs-home-how__steps h3 {
  margin-bottom: 6px;
  font-size: 1.08rem;
  line-height: 1.35;
}
.home .hs-home-how__steps p {
  color: #f0ebf7;
  font-size: .96rem;
  line-height: 1.62;
  opacity: 1;
  mix-blend-mode: normal;
}

.home .hs-home-report-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(243, 156, 18, .3);
  border-radius: 20px;
  color: #f1f5f9;
  background: linear-gradient(115deg, rgba(21, 18, 38, .96), rgba(39, 25, 61, .91));
  box-shadow: 0 18px 50px rgba(9, 7, 20, .2);
}
.home .hs-home-report-preview .hs-eyebrow { margin-bottom: 7px; color: #fbbf24; }
.home .hs-home-report-preview h2 { margin: 0 0 8px; color: #fff; font-size: clamp(1.3rem, 2.2vw, 1.8rem); }
.home .hs-home-report-preview p:not(.hs-eyebrow) { max-width: 660px; margin: 0; color: #cbd5e1; line-height: 1.55; }
.home .hs-home-report-preview .hs-btn { flex: 0 0 auto; min-height: 48px; }

.home .hs-home-social-proof {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 16px;
  padding: 18px 22px;
  border: 1px solid rgba(243, 156, 18, .26);
  border-radius: 18px;
  color: #f1f5f9;
  background: linear-gradient(105deg, rgba(21, 18, 38, .88), rgba(32, 25, 54, .76));
}
.home .hs-home-social-proof__count { display: flex; align-items: center; gap: 16px; }
.home .hs-home-social-proof__spark { color: #fbbf24; font-size: 1.7rem; }
.home .hs-home-social-proof__count h2 { margin: 0 0 4px; color: #f8fafc; font-size: 1.15rem; }
.home .hs-home-social-proof strong { margin-inline-end: 10px; color: #fbbf24; font-size: 1.7rem; line-height: 1; }
.home .hs-home-social-proof span:not(.hs-home-social-proof__spark) { color: #e2e8f0; font-size: .9rem; }
.home .hs-home-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.home .hs-home-review { min-width: 0; padding: 16px; border: 1px solid rgba(148, 163, 184, .17); border-radius: 15px; background: rgba(26, 22, 48, .62); }
.home .hs-home-review__rating { margin: 0 0 8px; color: #fbbf24; letter-spacing: .08em; }
.home .hs-home-review blockquote { margin: 0; color: #e2e8f0; font-size: .91rem; line-height: 1.62; }
.home .hs-home-review__byline { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 14px 0 0; color: #94a3b8; font-size: .78rem; }
.home .hs-home-review__byline strong { margin: 0; color: #f8fafc; font-size: .82rem; }

.home .hs-home-faq__items { display: grid; gap: 8px; margin-top: 16px; }
.home .hs-home-faq__item {
  border: 1px solid rgba(148, 163, 184, .18);
  border-radius: 13px;
  background: rgba(26, 22, 48, .55);
}
.home .hs-home-faq__item summary {
  position: relative;
  min-height: 48px;
  padding: 14px 42px 14px 15px;
  color: #f8fafc;
  cursor: pointer;
  font-weight: 650;
  list-style: none;
}
.home .hs-home-faq__item summary::-webkit-details-marker { display: none; }
.home .hs-home-faq__item summary::after { content: '+'; position: absolute; inset-inline-end: 15px; color: #fbbf24; font-size: 1.2rem; }
.home .hs-home-faq__item[open] summary::after { content: '−'; }
.home .hs-home-faq__item p { margin: 0; padding: 0 15px 15px; color: #cbd5e1; font-size: .92rem; line-height: 1.6; }

.home .hs-home-sticky-cta { display: none; }

@media (max-width: 760px) {
  .home .hs-hero-shell,
  .home .hs-hero { min-height: 0 !important; }
  .home .hs-hero-shell { padding: 0 !important; }
  .home .hs-hero { align-content: start; gap: 10px; padding: 14px 0 18px !important; }
  .home .hs-hero-copy { width: 100%; margin: 0; padding: 0 8px !important; }
  .home .hs-hero-message { margin: 0; }
  .home .hs-hero-message .hs-eyebrow { margin-bottom: 8px; }
  .home .hs-hero h1 { margin-bottom: 0; }
  .home .hs-hero-lead { margin-top: 9px; }
  .home .hs-trust-row { margin-top: 10px; }
  .home .hs-home-funnel { width: 100%; margin: 0 !important; }
  .home .hs-home-calc__panel--funnel { min-height: 0 !important; }
  .home .hs-home-content-flow { padding-block-start: 0 !important; }
  .home .hs-home-how__steps { grid-template-columns: 1fr; gap: 8px; margin-top: 12px; }
  .home .hs-home-how { padding: 18px 16px; }
  .home .hs-home-how__steps li { gap: 11px; padding: 14px; }
  .home .hs-home-how__steps h3 { font-size: 1.02rem; }
  .home .hs-home-how__steps p { font-size: .96rem; line-height: 1.6; }
  .home .hs-home-report-preview { align-items: stretch; flex-direction: column; gap: 14px; padding: 18px; }
  .home .hs-home-report-preview .hs-btn { width: 100%; justify-content: center; }
  .home .hs-home-social-proof { gap: 11px; padding: 14px; }
  .home .hs-home-social-proof strong { font-size: 1.45rem; }
  .home .hs-home-methodology { grid-template-columns: 1fr; gap: 13px; padding: 16px; }
  .home .hs-home-methodology__details { padding: 13px; }
  .home .hs-home-reviews { display: grid; grid-auto-columns: minmax(84%, 1fr); grid-auto-flow: column; grid-template-columns: none; gap: 9px; overflow-x: auto; padding: 0 0 5px; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
  .home .hs-home-review { scroll-snap-align: start; padding: 13px; }
  .home .hs-home-sticky-cta {
    position: fixed;
    z-index: 500;
    inset-inline: max(12px, env(safe-area-inset-left, 0px)) max(12px, env(safe-area-inset-right, 0px));
    bottom: calc(10px + env(safe-area-inset-bottom, 0px));
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    width: min(100% - 24px, 520px);
    min-height: 54px;
    margin-inline: auto;
    padding: 11px 18px;
    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(100deg, #8e44ad, #9b59b6);
    box-shadow: 0 12px 32px rgba(8, 6, 20, .42), 0 0 20px rgba(155, 89, 182, .2);
    font-size: .94rem;
    font-weight: 750;
    text-decoration: none;
    touch-action: manipulation;
  }
  .home .hs-home-sticky-cta:active { transform: translateY(1px); }
  .home .hs-home-sticky-cta span:last-child { color: #fbbf24; font-size: 1.15rem; }
  .home.hs-home-sticky-cta-enabled .hs-proof { margin-bottom: 76px; }
}

@media (prefers-reduced-motion: reduce) {
  .home .hs-home-sticky-cta { scroll-behavior: auto; transition: none; }
}

/* 1.9.29.6 — enforce readable light surfaces in homepage information cards.
   The full-scene selector above can turn .hs-card white while older section
   rules still paint their copy for a dark glass surface. Keep the existing
   layout and only align foreground, background, borders and accordion states. */
.home .hs-home-how,
.home .hs-home-faq,
.home .hs-home-methodology,
.home .hs-page-backdrop--full-scene ~ main .hs-home-how,
.home .hs-page-backdrop--full-scene ~ main .hs-home-faq,
.home .hs-page-backdrop--full-scene ~ main .hs-home-methodology {
  color: #334155;
  border-color: #e2e8f0;
  background: #ffffff;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  box-shadow: 0 16px 38px rgba(15, 23, 42, .10);
}
.home .hs-home-how h2,
.home .hs-home-faq h2,
.home .hs-home-methodology h2,
.home .hs-home-how__steps h3 {
  color: #0f172a;
}
.home .hs-home-how__lead,
.home .hs-home-how__steps p,
.home .hs-home-methodology__lead,
.home .hs-home-methodology__body p,
.home .hs-home-faq__item p {
  color: #334155;
  opacity: 1;
  mix-blend-mode: normal;
}
.home .hs-home-methodology .hs-eyebrow {
  color: #64748b;
}
.home .hs-home-how__steps li {
  border-color: #cbd5e1;
  background: #f8fafc;
  box-shadow: 0 4px 14px rgba(15, 23, 42, .05);
}
.home .hs-home-how__number {
  color: #6d28d9;
  border-color: #c4b5fd;
  background: #f5f3ff;
  box-shadow: 0 0 0 3px rgba(124, 58, 237, .08);
}
.home .hs-home-methodology__details,
.home .hs-home-faq__item {
  color: #334155;
  border-color: #cbd5e1;
  background: #f1f5f9;
}
.home .hs-home-methodology__details summary,
.home .hs-home-faq__item summary {
  color: #1e1b4b;
  font-weight: 700;
}
.home .hs-home-methodology__details summary::marker,
.home .hs-home-faq__item summary::marker,
.home .hs-home-faq__item summary::after {
  color: #7c3aed;
}
.home .hs-home-methodology__body p,
.home .hs-home-faq__item p {
  color: #334155;
}
.home .hs-home-how small,
.home .hs-home-faq small,
.home .hs-home-methodology small {
  color: #475569;
}
