/* Repairs shared by the standalone HTML exports. */
/* Standalone state pages do not all include Bootstrap's accessibility helper. */
.sr-only {
  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;
}
a[aria-disabled="true"], button[data-static-unavailable] { cursor: default; }
a[data-static-unavailable] { opacity: .55; }
.page-zodiac-compatibility .zcn-sign-card h3 a { color: inherit; text-decoration: none; }
.page-zodiac-compatibility .zcn-sign-card h3 a:hover,
.page-zodiac-compatibility .zcn-sign-card h3 a:focus-visible { text-decoration: underline; }
.page-expert-page .pc-page { width: 100%; min-width: 0; max-width: 100%; }
.apn-answer-head { display: block; }
.nb-account-body,
body:has([data-helper-bot]),
.page-expert-picker-details,
.page-chatroom-notify.c76-page-body,
.page-aura-reading.prn-body { min-width: 0; width: 100%; max-width: 100%; }
.page-end-or-stay .endstay,
.page-no-matching-experts .empty { width: 100%; max-width: 100%; }
html body.page-psychics,
html body.page-expert-picker-details:has(.expert-picker-details:not([hidden])),
html body.page-psychic-reading,
.page-psychics .ps-page,
.page-psychic-margo-lover .pc-page,
.page-psychic-mia-jacomo .pc-page,
.page-mia-jacomo .pc-page,
.page-favorites .fv-page { min-width: 0; width: 100%; max-width: 100%; }
.page-expert-picker-details .expert-picker-details,
.page-expert-picker-details .expert-picker-details__frame { width: 100%; max-width: 100%; }
.page-helper-bot .hb-page,
.page-chatroom-notify .c76-page,
.page-chatroom-notify .c76-frame,
.page-chatroom-notify .c76-bg { max-width: 100%; }
.page-404 .ne404-footer__links { max-width: 100%; }
.page-phone-psychic.phone-page .pp-shell,
.page-phone-psychic.phone-page .site-header > .container,
.page-phone-psychic.phone-page .pp-hero > .container { max-width: 100%; }
/* The source hides cluster children with artificial ID specificity. Override
   only this replacement picture; keep the original desktop avatar layout. */
.page-all-psychics .apn-hero-cluster > .apn-responsive-cluster { display: block !important; width: 320px; height: 400px; }
.page-all-psychics .apn-responsive-cluster > img { display: block; width: 100%; height: 100%; }
@media (min-width: 769px) {
  .page-all-psychics .apn-hero-cluster > .apn-responsive-cluster { width: 426px; height: 533px; }
}
@media (min-width: 1200px) {
  .page-all-psychics .apn-hero-cluster > .apn-responsive-cluster { display: none !important; }
}
.page-psychic-reading .prn-page section.prn-faq-section,
.page-psychic-reading .prn-page section.prn-hero-section,
.page-psychic-reading .prn-page section.prn-experts-section,
.page-psychic-reading .prn-page section.prn-clients-section,
.page-psychic-reading .prn-page section.prn-trust-section,
.page-psychic-reading .prn-page section.prn-transform,
.page-psychic-reading .prn-page section.prn-tailored,
.page-psychic-reading .prn-page footer.site-footer { width: 100%; max-width: 100%; }
.page-profile .nb-periods { height: 44px; align-items: center; }
.page-profile .nb-periods button { min-height: 44px; display: inline-flex; align-items: center; padding-inline: 4px; }
.page-profile .nb-card-open { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; }
.page-chatroom-notify .c76-chat-actions { min-height: 44px; }
.page-chatroom-notify .c76-chat-action,
.page-chatroom-notify .c76-chat-action:last-child { width: 44px; height: 44px; display: grid; place-items: center; }
@media (max-width: 767px) {
  /* Match the portrait to its 46px grid track; the source touch-target
     override shrinks the track while leaving a 64px portrait over the name. */
  .page-psychics .ps-card__avatar { width: 46px; height: 46px; }
}
@media (max-width: 991.98px) {
  .page-psychic-reading .site-header__nav > .navbar-toggler { box-sizing: border-box; display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0; border: 0; }
  .page-psychic-reading .navbar-toggler-icon { width: 24px; height: 14px; }
}
@media (max-width: 575.98px) {
  .page-faq .nb-account-layout, .page-faq .nb-faq { width: 100%; max-width: 100%; }
  .page-helper-bot .hb-page { width: 100%; max-width: 100%; }
  .page-helper-bot .hb-composer { left: 0; width: 100%; max-width: 100%; }
  .page-profile .nb-periods { gap: 0; justify-content: space-between; }
}

/* Responsive round 2: scoped portability repairs for the two signup pages. */
@media (max-width: 640px) {
  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2),
  body.page-signup-step-2.na-auth-page--step2 {
    height: auto;
    min-height: 100vh;
    min-height: 100dvh;
    overflow-x: hidden;
    overflow-y: auto;
  }
}

/* Keep the 480px source composition, but center its parts in narrower viewports. */
@media (max-width: 480px) {
  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-stage,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-stage {
    --panel-x: 0px;
    --panel-w: 100vw;
  }

  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-page__panel,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-page__panel {
    width: 100%;
  }

  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-form__title,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-form__title {
    width: min(400px, calc(100vw - 24px));
    margin-left: auto;
    margin-right: auto;
  }

  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-form__subtitle,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-form__subtitle {
    width: min(305px, calc(100vw - 24px));
    margin-left: auto;
    margin-right: auto;
  }

  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-field-wrap,
  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-pills,
  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-row,
  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-btn,
  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-divider,
  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-social,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-field-wrap,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-pills,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-row,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-btn,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-divider,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-social,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-step2-stack {
    width: min(295px, calc(100vw - 26px));
    margin-left: auto;
    margin-right: auto;
  }

  body.page-signup-step-2.na-auth-page--step2 .na-auth-checks {
    margin-left: auto;
    margin-right: auto;
  }

  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-page__links,
  body.page-signup-step-2.na-auth-page--step2 .na-auth-page__links {
    left: auto;
    right: 10px;
  }

  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-pills {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-row--triple {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 320px) {
  body.page-signup-create.na-auth-page--create:not(.na-auth-page--step2) .na-auth-form__title {
    width: min(260px, calc(100vw - 24px));
  }
}

/* Responsive round 2: scoped repairs for the Taurus compatibility page. */
@media (min-width: 361px) and (max-width: 480px) {
  .page-taurus-compatibility .tc-header__language,
  .page-taurus-compatibility .tc-theme-switch {
    display: none;
  }

  .page-taurus-compatibility .tc-header__menu {
    width: 24px;
  }

  .page-taurus-compatibility .tc-header__menu span {
    width: 23px;
  }

  .page-taurus-compatibility .tc-logo img {
    width: 98px;
    height: auto;
  }

  .page-taurus-compatibility .tc-header__actions {
    font-size: 13px;
  }

  .page-taurus-compatibility .tc-hero {
    height: 1050px;
  }

  .page-taurus-compatibility .tc-hero__copy {
    width: calc(100% - 66px);
  }

  .page-taurus-compatibility .tc-hero h1 {
    width: 100%;
  }

  .page-taurus-compatibility .tc-hero__art {
    top: 212px;
  }

  .page-taurus-compatibility .tc-hero__text {
    margin-top: 330px;
  }
}

@media (min-width: 361px) and (max-width: 640px) {
  .page-taurus-compatibility .tc-sign-grid,
  .page-taurus-compatibility .tc-sign-grid--best {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .page-taurus-compatibility .tc-sign-card {
    min-width: 0;
  }

  .page-taurus-compatibility .tc-sign-card h3 {
    overflow-wrap: anywhere;
  }

  .page-taurus-compatibility .tc-video h2 {
    width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 360px) {
  .page-taurus-compatibility .tc-video h2 {
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

/* The source video heading stays 1014px wide below desktop. */
@media (max-width: 1199px) {
  .page-taurus-compatibility .tc-video h2 {
    width: 100%;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

/* Home's 1200 composition otherwise survives one pixel past its tablet layout. */
@media (min-width: 768px) and (max-width: 992px) {
  .page-index .topics-section__promos {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
  }

  .page-index .topics-section__promo-card,
  .page-index .topics-section__promo-inner {
    min-width: 0;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .page-index .site-footer__inner-top {
    grid-template-columns: 142px minmax(0, 1fr);
    gap: clamp(24px, 4vw, 50px);
  }

  .page-index .site-footer__col-right {
    min-width: 0;
    max-width: none;
    flex-wrap: wrap;
  }

  .page-index .site-footer__col-menu {
    flex: 1 1 calc((100% - 40px) / 3);
    width: auto;
    min-width: 0;
  }

  .page-index .site-footer__col-menu a {
    overflow-wrap: anywhere;
  }
}

/* The 499px source title must be allowed to fit its mobile container. */
@media (max-width: 480px) {
  .page-all-psychics .apn-love__title {
    width: 100%;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

/* Aura and Palm mobile footers outgrow their fixed source-frame heights. */
@media (max-width: 575.98px) {
  body.page-aura-reading .aura-page .site-footer,
  body.page-palm-reading .palm-page .site-footer {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible;
  }

  body.page-aura-reading .aura-page .site-footer .container,
  body.page-aura-reading .aura-page .site-footer__inner,
  body.page-palm-reading .palm-page .site-footer .container,
  body.page-palm-reading .palm-page .site-footer__inner {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }

  body.page-aura-reading .aura-page .site-footer__inner-bottom,
  body.page-palm-reading .palm-page .site-footer__inner-bottom {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: min(295px, calc(100% - 32px));
    margin: 40px auto 0 !important;
    padding: 28px 0 13px !important;
    transform: none !important;
    text-align: center;
  }
}

/* Blog banner: one fluid frame replaces the export's viewport/fixed-width
   background and absolute coordinates at each authored breakpoint. */
body.page-blog .page-article > .container {
  width: 100%;
  max-width: none;
  padding: 0;
}

body.page-blog .blog-promo {
  --blog-banner-gutter: clamp(16px, 2.5vw, 40px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(20px, 3vw, 36px);
  box-sizing: border-box;
  width: min(1200px, calc(100% - 2 * var(--blog-banner-gutter)));
  height: auto;
  min-height: 200px;
  margin: 0 auto 50px;
  padding: clamp(24px, 3vw, 32px) clamp(24px, 6vw, 80px);
  overflow: hidden;
  border-radius: clamp(25px, 3vw, 40px);
  background: #2b1e73;
}

body.page-blog .blog-promo::before {
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  transform: none;
}

body.page-blog .blog-promo__content,
body.page-blog .blog-promo__action {
  position: relative;
  inset: auto;
  min-width: 0;
}

body.page-blog .blog-promo__title {
  width: auto;
  max-width: 415px;
  margin-bottom: clamp(12px, 1.3vw, 16px);
  font-size: clamp(21px, 2.8vw, 34px);
  line-height: 1.15;
  word-break: normal;
}

body.page-blog .blog-promo__text {
  max-width: 489px;
  line-height: 1.5;
}

body.page-blog .blog-promo__btn {
  width: 208px;
  max-width: 100%;
  min-height: 60px;
  height: auto;
  padding: 12px 16px;
  font-size: clamp(13px, 1.6vw, 19px);
  line-height: 1.35;
  white-space: normal;
  text-align: center;
}

@media (max-width: 704px) {
  body.page-blog .blog-promo {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 28px;
    min-height: 280px;
    margin-bottom: 0;
  }

  body.page-blog .blog-promo__action {
    width: 100%;
  }

  body.page-blog .blog-promo__btn {
    width: 100%;
    max-width: 244px;
    min-height: 50px;
  }
}

/* Account-only responsive repairs for the 2026-09-30 review.
   Loaded after the page-owned account styles. Desktop geometry is untouched. */

@media (max-width: 767px) {
  /* Modal fixtures lock the document while their exported canvas is taller than
     a short phone. Let the document remain the single scroll surface. */
  html.nebula-modal-open,
  html.nebula-modal-open body,
  body:has(.card-error),
  body:has(.card-details),
  body:has(.checkout-review),
  body:has(.consultation-completed:not([hidden])),
  body:has(.consultation-review),
  body:has(.discount-offer),
  body:has(.expert-picker-details:not([hidden])),
  body:has(.expert-picker-generic:not([hidden])),
  body:has(.expert-picker-trial:not([hidden])),
  body:has(.expert-unavailable),
  body:has(.followup-offer),
  body:has(.insufficient-credits:not([hidden])),
  body:has(.notify-destination),
  body:has(.one-click),
  body:has(.payment-error),
  body:has(.reconnect-grace:not([hidden])),
  body:has(.continuation-topup),
  body:has(.top-up-start:not([hidden])) {
    overflow-x: hidden;
    overflow-y: auto;
  }
}

@media (min-width: 321px) and (max-width: 767px) {

  :is(
    .card-error,
    .card-error__frame,
    .card-details,
    .card-details__frame,
    .checkout-review,
    .checkout-review__frame,
    .consultation-completed,
    .consultation-completed__frame,
    .consultation-review,
    .consultation-review__frame,
    .discount-offer,
    .discount-offer__frame,
    .expert-picker-details,
    .expert-picker-details__frame,
    .expert-picker-generic,
    .expert-picker-generic__frame,
    .expert-picker-trial,
    .expert-picker-trial__frame,
    .expert-unavailable,
    .expert-unavailable__frame,
    .followup-offer,
    .followup-offer__frame,
    .insufficient-credits,
    .insufficient-credits__frame,
    .notify-destination,
    .notify-destination__frame,
    .one-click,
    .one-click__frame,
    .payment-error,
    .payment-error__frame,
    .reconnect-grace,
    .reconnect-grace__frame,
    .continuation-topup,
    .continuation-topup__frame,
    .top-up-start,
    .top-up-start__frame
  ) {
    overflow: visible;
  }

  :is(
    .card-error__modal,
    .card-details__modal,
    .checkout-review__modal,
    .consultation-completed__modal,
    .consultation-review__modal,
    .discount-offer__modal,
    .expert-picker-details__modal,
    .expert-picker-generic__modal,
    .expert-picker-trial__modal,
    .expert-unavailable__modal,
    .followup-offer__modal,
    .insufficient-credits__modal,
    .notify-destination__modal,
    .one-click__modal,
    .payment-error__modal,
    .reconnect-grace__modal,
    .continuation-topup__modal,
    .top-up-start__modal
  ) {
    left: 50%;
    width: calc(100% - 30px);
    max-width: 690px;
  }

  :is(
    .card-error__modal,
    .card-details__modal,
    .checkout-review__modal,
    .consultation-completed__modal,
    .consultation-review__modal,
    .discount-offer__modal,
    .expert-picker-details__modal,
    .expert-unavailable__modal,
    .followup-offer__modal,
    .insufficient-credits__modal,
    .notify-destination__modal,
    .one-click__modal,
    .payment-error__modal,
    .reconnect-grace__modal,
    .continuation-topup__modal,
    .top-up-start__modal
  ) {
    height: auto;
    min-height: 0;
    overflow: visible;
  }

  :is(
    .card-error__body,
    .card-details__body,
    .checkout-review__body,
    .consultation-completed__body,
    .consultation-review__body,
    .discount-offer__body,
    .expert-picker-details__body,
    .expert-unavailable__content,
    .followup-offer__body,
    .insufficient-credits__body,
    .notify-destination__body,
    .one-click__body,
    .payment-error__body,
    .reconnect-grace__body,
    .continuation-topup__body,
    .top-up-start__body
  ) {
    max-width: 100%;
  }

  :is(
    .card-error__message,
    .card-details__head,
    .checkout-review__head,
    .consultation-completed__flow,
    .consultation-completed__rating,
    .consultation-completed__prompt,
    .consultation-completed__primary-actions,
    .consultation-review__heading,
    .consultation-review__field,
    .consultation-review__actions,
    .discount-offer__head,
    .discount-offer__heading,
    .discount-offer__summary,
    .discount-offer__card,
    .expert-picker-details__intro,
    .selection-expert-card,
    .expert-unavailable__copy,
    .expert-unavailable__copy h1,
    .expert-unavailable__copy p,
    .expert-unavailable__choices,
    .expert-unavailable__buttons,
    .followup-offer__head,
    .followup-offer__heading,
    .followup-offer__card-wrap,
    .followup-offer__card,
    .insufficient-credits__heading,
    .insufficient-credits__visual,
    .insufficient-credits__visual p,
    .insufficient-credits__actions,
    .notify-destination__head,
    .notify-destination__options,
    .one-click__head,
    .one-click__heading,
    .one-click__actions,
    .payment-error__copy,
    .reconnect-grace__intro,
    .reconnect-grace__status,
    .reconnect-grace__progress,
    .reconnect-grace__actions,
    .continuation-topup__head,
    .continuation-topup__intro,
    .continuation-topup__packages,
    .continuation-topup__best-wrap,
    .continuation-topup__package,
    .top-up-start__heading,
    .top-up-start__packages,
    .top-up-start__best-wrap,
    .top-up-start__package
  ) {
    max-width: 100%;
  }

  :is(
    .card-details__buy,
    .checkout-review__buy,
    .notify-destination__option,
    .notify-destination__next
  ) {
    max-width: 100%;
  }

  .consultation-completed__body h1,
  .consultation-review__heading h1,
  .discount-offer__heading h1,
  .followup-offer__heading h1,
  .insufficient-credits__heading h1,
  .notify-destination__head h1,
  .payment-error__head h1,
  .reconnect-grace__intro h1,
  .continuation-topup__intro h1,
  .top-up-start__heading h1 {
    max-width: 100%;
    height: auto;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .selection-expert-card__profile {
    min-width: 0;
    grid-template-columns: minmax(100px, 120px) minmax(0, 1fr);
    gap: clamp(12px, 4vw, 30px);
  }

  .selection-expert-card__identity {
    min-width: 0;
  }

  .expert-picker-generic__intro,
  .expert-picker-trial__intro {
    width: calc(100% - 40px);
    max-width: 650px;
  }

  .expert-picker-generic__carousel,
  .expert-picker-trial__carousel {
    width: 100%;
  }

  .expert-choice.is-active,
  .trial-expert-choice.is-active {
    left: 50%;
    transform: translateX(-50%);
  }

  .picker-arrow--previous,
  .trial-picker-arrow--previous {
    left: 20px;
  }

  .picker-arrow--next,
  .trial-picker-arrow--next {
    right: 20px;
  }

  .expert-picker-trial__entitlement {
    max-width: calc(100% - 40px);
  }

  /* The compact card is already the page's intended narrow variant. Use it
     throughout phone widths instead of exposing the 470px desktop card. */
  .chat-details,
  .chat-details__scrim {
    min-height: 640px;
    height: auto;
    overflow: visible;
  }

  .expert-card--standard {
    display: none;
  }

  .expert-card--mobile {
    position: relative;
    display: block;
    left: auto;
    top: auto;
    width: calc(100% - 30px);
    max-width: 470px;
    min-height: 600px;
    height: auto;
    margin: 20px auto;
    padding: 22px;
    background: #fff;
  }

  .mobile-card__header {
    position: relative;
    height: 84px;
    display: flex;
    gap: 10px;
    align-items: flex-start;
  }

  .mobile-card__portrait {
    display: block;
    width: 80px;
    height: 80px;
    flex: 0 0 80px;
    border-radius: 50%;
    object-fit: cover;
  }

  .mobile-card__identity {
    min-width: 0;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
  }

  .mobile-card__identity h1 {
    margin: 0;
    padding-right: 22px;
    font-size: 18px;
    line-height: 22px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mobile-card__rating {
    height: 18px;
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .mobile-card__rating strong { font-size: 18px; line-height: 22px; }
  .mobile-card__rating img { width: 17px; height: 17px; }
  .mobile-card__rating span { color: #919191; font-size: 14px; line-height: 15px; white-space: nowrap; }
  .mobile-card__status { align-self: flex-start; margin: 0; padding: 4px 7px; font-size: 12px; line-height: 11px; }
  .mobile-card__favorite { position: absolute; right: 0; top: 3px; width: 18px; height: 17px; }

  .mobile-card__details {
    min-height: 450px;
    height: auto;
    margin-top: 22px;
    padding-top: 22px;
    border-top: 1px solid #ddd;
    display: flex;
    flex-direction: column;
    gap: 22px;
  }

  .mobile-card__categories { display: flex; align-content: flex-start; gap: 5px; flex-wrap: wrap; }
  .mobile-card__facts { display: flex; flex-direction: column; gap: 7px; }
  .mobile-card__facts p { margin: 0; display: flex; align-items: center; min-height: 18px; color: #6f6f6f; font-size: 14px; line-height: 18px; }
  .mobile-card__facts img { width: 16px; height: 16px; margin-right: 13px; object-fit: contain; flex-shrink: 0; }
  .mobile-card__facts b { color: #7653d9; font-weight: 500; }
  .mobile-card__bio { min-height: 0; flex: 1; margin: 0; overflow: visible; color: #101010; font-size: 14px; line-height: 23px; }

  /* Plans uses fixed-height samples in the source export. Allow wrapped copy
     to define the card height on phones and small tablets. */
  .page-plans .nb-plans-credit-sample {
    height: auto;
    min-height: 80px;
    max-width: 100%;
  }

  .page-plans .nb-plans-page,
  .page-plans .nb-notifications-layout,
  .page-plans .nb-plans-content {
    height: auto;
    min-height: 100dvh;
  }
}

@media (max-width: 576px) {
  .account-created {
    height: auto;
    min-height: 608px;
    overflow: visible;
  }

  .account-created__panel {
    left: 0;
    width: 100%;
    transform: none;
  }

  .account-created__panel h1 {
    width: calc(100% - 30px);
    max-width: 450px;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  :is(
    .card-error__modal,
    .card-details__modal,
    .checkout-review__modal,
    .consultation-completed__modal,
    .consultation-review__modal,
    .discount-offer__modal,
    .expert-picker-details__modal,
    .expert-picker-generic__modal,
    .expert-picker-trial__modal,
    .expert-unavailable__modal,
    .followup-offer__modal,
    .insufficient-credits__modal,
    .notify-destination__modal,
    .one-click__modal,
    .payment-error__modal,
    .reconnect-grace__modal,
    .continuation-topup__modal,
    .top-up-start__modal
  ) {
    max-width: 510px;
  }

  .card-details__head,
  .checkout-review__head {
    padding-inline: 20px;
  }

  .card-details__buy,
  .checkout-review__buy {
    width: calc(100% - 40px);
  }

  .card-details__providers button,
  .checkout-review__providers button {
    padding-inline: 10px;
  }

  .card-details__providers button:nth-child(3) span,
  .checkout-review__providers button:nth-child(3) span {
    display: none;
  }

  .card-details__saved,
  .checkout-review__saved {
    padding-left: 10px;
    padding-right: 38px;
  }

  .card-details__saved b,
  .checkout-review__saved b {
    min-width: 0;
    font-size: 14px;
  }

  .consultation-review__body,
  .notify-destination__body {
    padding-inline: 20px;
  }

  .expert-unavailable__content,
  .insufficient-credits__body {
    padding-inline: 20px;
  }

  .expert-unavailable__button {
    padding-inline: 12px;
  }

  .reconnect-grace__intro,
  .reconnect-grace__status,
  .reconnect-grace__progress {
    width: calc(100% - 40px);
  }

  .continuation-topup__intro,
  .continuation-topup__packages {
    width: calc(100% - 40px);
  }

  .top-up-start__packages {
    width: min(400px, 100%);
  }

  .continuation-topup__best-wrap,
  .continuation-topup__package,
  .top-up-start__best-wrap,
  .top-up-start__package {
    width: 100%;
  }

  .continuation-topup__status {
    max-width: 100%;
  }

  .continuation-topup__status p {
    flex: 1 1 auto;
    min-width: 0;
    max-width: 100%;
    text-align: center;
    white-space: normal;
  }

  .one-click__primary {
    width: min(400px, 100%);
    height: auto;
    min-height: 50px;
    white-space: normal;
  }

  .consultation-completed__prompt p {
    min-width: 0;
    max-width: calc(100% - 55px);
    white-space: normal;
  }

  .expert-picker-details__intro {
    height: auto;
    min-height: 0;
  }

  .page-plans .nb-plans-credit-sample {
    height: auto;
    min-height: 80px;
    max-width: 100%;
  }

  .page-plans .nb-plans-page,
  .page-plans .nb-notifications-layout,
  .page-plans .nb-plans-content {
    height: auto;
    min-height: 100dvh;
  }
}

@media (min-width: 321px) and (max-width: 576px) {
  :is(
    .expert-picker-generic__modal,
    .expert-picker-trial__modal,
    .expert-unavailable__modal
  ) {
    left: 50%;
    transform: translateX(-50%);
  }
}

@media (min-width: 321px) and (max-width: 520px) {
  .consultation-completed__primary-actions,
  .expert-unavailable__buttons {
    flex-direction: column;
  }

  .consultation-completed__ask,
  .consultation-completed__review,
  .expert-unavailable__button {
    width: 100%;
  }
}

@media (min-width: 321px) and (max-width: 400px) {

  .selection-expert-card {
    height: auto;
    min-height: 419px;
    overflow: visible;
  }

  .selection-expert-card__profile {
    height: auto;
    min-height: 120px;
    grid-template-columns: 100px minmax(0, 1fr);
  }

  .selection-expert-card__portrait-wrap,
  .selection-expert-card__portrait-wrap > picture,
  .selection-expert-card__portrait {
    width: 100px;
    height: 100px;
  }

  .selection-expert-card__rating {
    width: 100%;
    height: auto;
    display: grid;
    grid-template-columns: 18px auto minmax(0, 1fr);
    column-gap: 6px;
    row-gap: 2px;
    align-items: center;
  }

  .selection-expert-card__rating span {
    min-width: 0;
    margin-left: 0;
    white-space: normal;
  }

  .selection-expert-card__rating button {
    grid-column: 1 / -1;
    justify-self: start;
    margin: 0;
    line-height: 18px;
    white-space: normal;
  }

  .expert-picker-trial__modal {
    height: 800px;
  }

  .expert-picker-trial__entitlement {
    height: auto;
    min-height: 39px;
    white-space: normal;
  }

  .expert-picker-trial__carousel {
    top: 280px;
  }

  .expert-picker-trial__submit {
    top: 700px;
  }

  .expert-picker-generic__intro h1,
  .expert-picker-trial__intro :is(h1, h2) {
    font-size: 28px;
    line-height: 32px;
  }
}

@media (min-width: 768px) and (max-width: 992px) {
  html.nebula-modal-open:has(.expert-picker-trial:not([hidden])),
  html.nebula-modal-open:has(.reconnect-grace:not([hidden])),
  body:has(.expert-picker-generic:not([hidden])),
  body:has(.expert-picker-trial:not([hidden])),
  body:has(.reconnect-grace:not([hidden])) {
    overflow-x: hidden;
    overflow-y: auto;
  }

  .expert-picker-generic__modal,
  .expert-picker-trial__modal,
  .reconnect-grace__modal {
    left: 50%;
    width: calc(100% - 30px);
    max-width: 930px;
  }

  .expert-picker-generic__carousel,
  .expert-picker-trial__carousel {
    width: 100%;
  }

  .expert-choice.is-active,
  .trial-expert-choice.is-active {
    left: 50%;
    transform: translateX(-50%);
  }

  .expert-choice.is-before,
  .trial-expert-choice.is-before {
    left: 10px;
  }

  .expert-choice.is-after,
  .trial-expert-choice.is-after {
    left: auto;
    right: 10px;
  }
}

@media (max-width: 320px) {
  /* A 320px outer viewport has a 306px layout viewport when the fixture needs
     a vertical scrollbar. Source min-width:320px declarations must not make
     the account canvas 14px wider than that available layout width. */
  html:has(body[data-static-area="account"]),
  body[data-static-area="account"],
  .c76-page-body {
    min-width: 0 !important;
  }

  html.nebula-modal-open,
  html.nebula-modal-open body,
  body[data-static-area="account"] {
    overflow-x: visible;
  }

  body[data-static-area="account"] > main,
  .account-created,
  .card-error,
  .card-error__frame,
  .chat-details,
  .chat-details__scrim,
  .card-details,
  .card-details__frame,
  .checkout-review,
  .checkout-review__frame,
  .consultation-completed,
  .consultation-completed__frame,
  .consultation-review,
  .consultation-review__frame,
  .discount-offer,
  .discount-offer__frame,
  .expert-picker-generic,
  .expert-picker-generic__frame,
  .expert-picker-trial,
  .expert-picker-trial__frame,
  .expert-unavailable,
  .expert-unavailable__frame,
  .followup-offer,
  .followup-offer__frame,
  .insufficient-credits,
  .insufficient-credits__frame,
  .notify-destination,
  .notify-destination__frame,
  .one-click,
  .one-click__frame,
  .payment-error,
  .payment-error__frame,
  .reconnect-grace,
  .reconnect-grace__frame,
  .continuation-topup,
  .continuation-topup__frame,
  .top-up-start,
  .top-up-start__frame,
  .c76-page,
  .c76-frame,
  .c76-workspace,
  .c76-thread-panel {
    width: 100% !important;
    max-width: 100%;
  }

  .card-details__modal,
  .checkout-review__modal {
    left: 0;
    width: 100%;
    max-width: 100%;
    transform: none;
  }

  .nb-account-information-content,
  .nb-billing-content,
  .nb-consent-content,
  .nb-daily-content,
  .nb-messages-content,
  .nb-notifications-content,
  .nb-plans-content {
    width: 100%;
    max-width: 100%;
  }

  .c76-header {
    width: calc(100% - 30px);
  }

  .c76-ready-card {
    width: calc(100% - 30px);
    max-width: 290px;
  }

  .continuation-topup__packages,
  .continuation-topup__best-wrap,
  .continuation-topup__package,
  .top-up-start__packages,
  .top-up-start__best-wrap,
  .top-up-start__package {
    width: 250px;
  }
}

/* Public banner geometry repairs, 2026-10-02.
   This layer is appended after the page owners. It deliberately excludes auth,
   account routes and the shared consultation-banner components. */

:root {
  --banner-public-gutter: clamp(16px, 2.5vw, 40px);
  --banner-public-gutter-pair: clamp(32px, 5vw, 80px);
  --banner-public-rail: min(1200px, calc(100% - var(--banner-public-gutter-pair)));
}

/* Fluid rails replace Bootstrap-style jumps only inside audited large blocks. */
.page-index :is(.hero-section, .best-reading-section, .situation-section, .video-section) > .container,
.page-all-psychics .apn-maktaro-video > .container,
.page-psychic-reading :is(.prn-hero-section, .prn-transform, .prn-tailored) > .container,
.page-zodiac-compatibility .zcn-hero > .container {
  box-sizing: border-box;
  width: var(--banner-public-rail);
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}

/* B038: keep the article photograph raster, but give its frame one continuous rail. */
.page-blog-input .article-detail__inner {
  box-sizing: border-box;
  width: min(980px, calc(100% - var(--banner-public-gutter-pair)));
  max-width: none;
  margin-inline: auto;
}

/* B035: the frame inherits the fluid video rail instead of touching 769px edges. */
.page-all-psychics .apn-maktaro-video__frame {
  box-sizing: border-box;
  width: 100%;
  max-width: 930px;
  margin-inline: auto;
}

/* B029-B034: All Psychics keeps the breakpoint-specific portrait artwork and
   intentional advisor-carousel peek, while all headings, quote and offer copy
   use the real viewport rail. */
@media (min-width: 400px) and (max-width: 576.98px) {
  .page-all-psychics .apn-hero-copy {
    left: var(--banner-public-gutter);
    width: calc(100vw - var(--banner-public-gutter-pair));
    max-width: 510px;
  }

  .page-all-psychics .apn-hero .prn-hero-section__title,
  .page-all-psychics .apn-hero__accent {
    width: 100%;
    max-width: 100%;
  }

  .page-all-psychics .apn-search-shell {
    left: var(--banner-public-gutter);
    width: calc(100vw - var(--banner-public-gutter-pair));
    max-width: 510px;
  }

  .page-all-psychics .apn-search-card {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding-inline: clamp(16px, 5vw, 30px);
  }

  .page-all-psychics .apn-search-card__title,
  .page-all-psychics .apn-search-card__row:last-of-type .apn-search-card__chips {
    width: 100%;
    max-width: 100%;
  }

  .page-all-psychics .apn-search-card__chips {
    flex-wrap: wrap;
  }
}

@media (min-width: 400px) and (max-width: 768.98px) {
  .page-all-psychics .apn-online__head {
    box-sizing: border-box;
    width: var(--banner-public-rail);
    max-width: 690px;
    margin-inline: auto;
  }

  .page-all-psychics .apn-online__intro,
  .page-all-psychics .apn-online__titlebox,
  .page-all-psychics .apn-online__subtitle {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    transform: none;
  }

  .page-all-psychics .apn-online__title {
    min-width: 0;
    font-size: clamp(27px, 5.9vw, 34px);
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
}

.page-all-psychics .apn-maktaro-catalog__title {
  box-sizing: border-box;
  width: min(930px, calc(100vw - var(--banner-public-gutter-pair)));
  max-width: none;
  margin-inline: auto;
  overflow-wrap: anywhere;
}

@media (max-width: 1199.98px) {
  .page-all-psychics .apn-maktaro-proof > .container,
  .page-all-psychics .apn-affordable > .container {
    box-sizing: border-box;
    width: min(930px, calc(100% - var(--banner-public-gutter-pair)));
    max-width: none;
    margin-inline: auto;
    padding-inline: 0;
  }

  .page-all-psychics .apn-maktaro-proof__title {
    width: 100%;
    max-width: 100%;
    transform: none;
  }

  .page-all-psychics .apn-maktaro-proof__stats {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    transform: none;
  }

  .page-all-psychics .apn-maktaro-proof__stat {
    min-width: 0;
    transform: none !important;
  }

  .page-all-psychics .apn-maktaro-quote {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
  }

  .page-all-psychics .apn-maktaro-quote__text {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }

  .page-all-psychics .apn-affordable__title,
  .page-all-psychics .apn-affordable__row,
  .page-all-psychics .apn-affordable__points,
  .page-all-psychics .apn-affordable__point {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
  }

  .page-all-psychics .apn-affordable__title {
    font-size: clamp(30px, 6vw, 60px);
    line-height: 1.25;
    overflow-wrap: anywhere;
  }

  .page-all-psychics .apn-affordable__row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    column-gap: clamp(16px, 3vw, 30px);
  }

  .page-all-psychics .apn-affordable__art,
  .page-all-psychics .apn-affordable__art picture,
  .page-all-psychics .apn-affordable__art img {
    max-width: 100%;
    height: auto;
  }

  .page-all-psychics .apn-affordable__points {
    height: auto;
    min-height: 514px;
    padding-inline: clamp(20px, 4vw, 40px);
  }

  .page-all-psychics .apn-affordable__point {
    grid-template-columns: 40px minmax(0, 1fr);
    column-gap: clamp(12px, 3vw, 25px);
    height: auto;
  }

  .page-all-psychics .apn-affordable__text {
    width: 100%;
    height: auto;
    overflow: visible;
  }
}

@media (min-width: 769px) and (max-width: 1199.98px) {
  .page-all-psychics .apn-maktaro-proof__stats {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .page-all-psychics .apn-maktaro-quote__text {
    width: calc(100% - 135px);
  }
}

@media (max-width: 768.98px) {
  .page-all-psychics .apn-maktaro-proof {
    height: auto;
    min-height: 720px;
    padding-bottom: 40px;
  }

  .page-all-psychics .apn-maktaro-proof__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 12px;
  }

  .page-all-psychics .apn-maktaro-quote {
    height: auto;
    min-height: 277px;
    padding: 31px 26px 28px;
  }

  .page-all-psychics .apn-maktaro-quote__text br {
    display: none;
  }

  .page-all-psychics .apn-affordable__row {
    grid-template-columns: minmax(0, 1fr);
    height: auto;
  }

  .page-all-psychics .apn-affordable__points {
    min-height: 484px;
  }
}

/* B001: remove the four fixed canvases; let 404 copy determine block height. */
@media (max-width: 1100px) {
  .page-404 .ne404-shell {
    height: auto;
    min-height: 770px;
  }

  .page-404 .ne404-hero {
    position: relative;
    top: auto;
    left: auto;
    width: min(830px, calc(100% - var(--banner-public-gutter-pair)));
    height: auto;
    min-height: 0;
    margin-inline: auto;
    padding-top: clamp(99px, 14vw, 159px);
    padding-bottom: 60px;
    gap: clamp(32px, 6vw, 50px);
    transform: none;
  }

  .page-404 :is(.ne404-hero h1, .ne404-copy) {
    width: 100%;
    height: auto;
    flex-basis: auto;
  }

  .page-404 .ne404-art {
    width: min(677px, 112%);
    height: auto;
    aspect-ratio: 677 / 253;
    flex: 0 0 auto;
  }
}

@media (max-width: 600px) {
  .page-404 .ne404-shell { min-height: 720px; }
  .page-404 .ne404-hero { width: calc(100% - 32px); }
  .page-404 .ne404-hero h1 { margin-top: -10px; }

  /* The original 510/420px header and footer canvases caused document overflow
     immediately above the 380px mobile breakpoint. */
  .page-404 .ne404-header {
    width: calc(100% - 32px);
    max-width: 510px;
  }

  .page-404 .ne404-footer {
    box-sizing: border-box;
    width: 100%;
    padding-inline: var(--banner-public-gutter);
  }

  .page-404 .ne404-footer__links {
    box-sizing: border-box;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    max-width: 420px;
    column-gap: clamp(12px, 4vw, 25px);
  }
}

/* B051: use the compact stacked hero before the two-column canvas becomes too narrow. */
@media (min-width: 481px) and (max-width: 680px) {
  .page-index .hero-section > .container > .row {
    display: block;
    margin-inline: 0;
  }

  .page-index .hero-section > .container > .row > [class*="col-"] {
    width: 100%;
    max-width: none;
    padding-inline: 0;
  }

  .page-index .hero-section__media {
    justify-content: center !important;
  }

  .page-index .hero-media {
    width: min(298px, 100%);
    margin: 30px auto 0;
  }
}

/* B052-B054: the three promo cards stack before their fixed inner widths collide. */
@media (min-width: 481px) and (max-width: 680px) {
  .page-index .topics-section__promos {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-index .topics-section__promo-card,
  .page-index .topics-section__promo-inner,
  .page-index .topics-section__promo-card--wide .topics-section__promo-inner {
    min-width: 0;
    width: 100%;
  }

  .page-index .topics-section__promo-card .topics-section__promo-inner {
    flex-direction: row;
  }

  .page-index .topics-section__promo-icon {
    max-width: 100px;
  }
}

/* B042-B043: replace the 576px absolute canvases with flow at intermediate widths. */
@media (min-width: 361px) and (max-width: 767.98px) {
  .page-cheap-psychic :is(.cheap-hero__row, .cheap-need__row) {
    box-sizing: border-box;
    width: calc(100% - var(--banner-public-gutter-pair));
    max-width: 576px;
    height: auto;
    min-height: 0;
    margin-inline: auto;
    padding-inline: 0;
  }

  .page-cheap-psychic .cheap-hero__row {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 104px;
    padding-bottom: 64px;
  }

  .page-cheap-psychic .cheap-hero__copy,
  .page-cheap-psychic .cheap-need__copy {
    position: relative;
    inset: auto;
    width: 100%;
    max-width: none;
    text-align: center;
  }

  .page-cheap-psychic .cheap-hero__copy :is(h1, p),
  .page-cheap-psychic .cheap-need__copy :is(h2, ul, li, h3, p) {
    width: auto;
    max-width: 100%;
  }

  .page-cheap-psychic .cheap-hero__art,
  .page-cheap-psychic .cheap-need__art {
    position: relative;
    inset: auto;
    width: min(360px, 100%);
    height: auto;
    margin: 28px auto 0;
  }

  .page-cheap-psychic .cheap-hero__art img,
  .page-cheap-psychic .cheap-need__art img {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
    object-fit: contain;
  }

  .page-cheap-psychic .cheap-need {
    height: auto;
    min-height: 0;
    padding-block: 54px 70px;
  }

  .page-cheap-psychic .cheap-need__list {
    position: relative;
    inset: auto;
    margin-top: 38px;
    text-align: left;
  }
}

/* B049: keep the full-bleed gradient and make the content/card rails symmetric. */
.page-faq .faq-hero__inner {
  box-sizing: border-box;
  width: min(1110px, calc(100% - var(--banner-public-gutter-pair)));
  max-width: none;
}

@media (max-width: 767.98px) {
  .page-faq .faq-hero__kicker,
  .page-faq .faq-hero__title {
    width: auto;
    max-width: 100%;
    margin-inline: 0;
    overflow-wrap: anywhere;
  }

  .page-faq .faq-hero__cards {
    right: var(--banner-public-gutter);
    left: var(--banner-public-gutter);
    width: auto;
    transform: none;
  }

  .page-faq .faq-hero__headline,
  .page-faq .faq-hero__text {
    max-width: 100%;
  }
}

/* B064: continuous shell width prevents the 481px heading from exceeding the viewport. */
.page-phone-psychic :is(.pp-hero__row, .pp-scenarios__row, .pp-affordable__row) {
  box-sizing: border-box;
  max-width: 1200px;
}

@media (max-width: 767.98px) {
  .page-phone-psychic :is(.pp-hero__row, .pp-scenarios__row, .pp-affordable__row) {
    width: calc(100% - var(--banner-public-gutter-pair));
    margin-inline: auto;
    padding-inline: 0;
  }

  .page-phone-psychic .pp-reasons .pp-scenarios__copy,
  .page-phone-psychic .pp-reasons .pp-scenarios__copy h2 {
    width: 100%;
    max-width: 100%;
  }
}

/* B071-B073: fit the 576px Tarot composition to every intermediate viewport. */
@media (min-width: 481px) and (max-width: 767.98px) {
  .page-tarot-reading :is(.tarot-hero__row, .tarot-need__row, .tarot-click .tarot-shell) {
    box-sizing: border-box;
    width: calc(100% - var(--banner-public-gutter-pair));
    max-width: 576px;
    margin-inline: auto;
  }

  .page-tarot-reading .tarot-hero__copy h1,
  .page-tarot-reading .tarot-hero__text--default,
  .page-tarot-reading .tarot-need__copy,
  .page-tarot-reading .tarot-need h2,
  .page-tarot-reading .tarot-need__list,
  .page-tarot-reading .tarot-click__title-wrap {
    left: 0;
    width: 100%;
    max-width: 100%;
  }

  .page-tarot-reading .tarot-hero__art,
  .page-tarot-reading .tarot-need__art,
  .page-tarot-reading .tarot-click__art {
    left: 50%;
    max-width: 100%;
    transform: translateX(-50%);
  }

  .page-tarot-reading .tarot-need__list :is(li, h3, p) {
    max-width: 100%;
  }

  .page-tarot-reading .tarot-need__list :is(h3, p) {
    width: auto;
  }

  .page-tarot-reading .tarot-click__panel {
    left: 0;
    width: 100%;
  }

  .page-tarot-reading .tarot-click__card {
    left: 0;
    width: 100%;
    max-width: 100%;
  }

  .page-tarot-reading .tarot-click__card ul {
    box-sizing: border-box;
    left: 30px;
    width: calc(100% - 60px);
  }

  .page-tarot-reading .tarot-click__card li {
    width: 100%;
    max-width: 100%;
  }
}

/* B072 also used a 1015px heading inside the narrow 992px canvas. */
@media (min-width: 768px) and (max-width: 1199.98px) {
  .page-tarot-reading .tarot-need__copy {
    left: var(--banner-public-gutter);
    width: calc(100% - var(--banner-public-gutter-pair));
    max-width: 1015px;
  }

  .page-tarot-reading .tarot-need h2 {
    width: 100%;
    max-width: 100%;
  }
}

/* B062: continuous outer rail after the layout becomes one column; desktop stays capped. */
.page-palm-reading .palm-questions__row {
  box-sizing: border-box;
  width: var(--banner-public-rail);
  max-width: 1200px;
  margin-inline: auto;
}

/* B074: make the 510px Taurus copy a real fluid rail at 361-640px. */
@media (min-width: 361px) and (max-width: 640px) {
  .page-taurus-compatibility .tc-hero {
    height: auto;
    min-height: 900px;
  }

  .page-taurus-compatibility .tc-hero__copy {
    box-sizing: border-box;
    width: calc(100% - var(--banner-public-gutter-pair));
    max-width: 510px;
  }

  .page-taurus-compatibility .tc-hero__art {
    width: min(350px, calc(100% - 32px));
    height: auto;
    aspect-ratio: 350 / 305;
  }

  .page-taurus-compatibility .tc-hero__text {
    width: 100%;
    overflow-wrap: anywhere;
  }
}


/* Banner audit 2026-10-02: account and public-auth geometry repairs.
   This layer is appended after the page-owned and earlier static repair CSS. */

:is(
  .page-account-created,
  .page-discounted-refill-offer,
  .page-expert-picker-trial,
  .page-expert-wants-to-continue,
  .page-insufficient-credits,
  .page-one-click-top-up,
  .page-horoscope,
  .page-profile,
  .page-mia-jacomo,
  .page-psychic-margo-lover,
  .page-psychic-mia-jacomo,
  .page-psychics
) {
  --banner-account-gutter: clamp(15px, 5vw, 45px);
}

/* B002: keep the account-created card centered while the viewport crosses
   the exported 320/576/768/992 canvases. */
.page-account-created .account-created__panel {
  left: 50%;
  box-sizing: border-box;
  width: min(610px, calc(100% - var(--banner-account-gutter) - var(--banner-account-gutter)));
  max-width: none;
  transform: translateX(-50%);
  border-radius: clamp(24px, 5vw, 40px);
}

.page-account-created .account-created__panel h1,
.page-account-created .account-created__panel p {
  width: min(560px, calc(100% - 30px));
  max-width: 100%;
  overflow-wrap: anywhere;
}

.page-account-created .account-created__cta {
  width: min(300px, calc(100% - 30px));
  max-width: 100%;
}

/* B003/B004/B005/B010/B015 and the unopened B028 embed: replace abrupt
   fixed modal widths with one bounded rail. Visibility is deliberately not
   changed, so the embedded trial remains hidden until its real opener exists. */
:is(
  .discount-offer__modal,
  .followup-offer__modal,
  .insufficient-credits__modal,
  .one-click__modal
) {
  left: 50%;
  box-sizing: border-box;
  width: min(730px, calc(100% - var(--banner-account-gutter, clamp(15px, 5vw, 45px)) - var(--banner-account-gutter, clamp(15px, 5vw, 45px))));
  max-width: none;
}

.expert-picker-trial__modal {
  left: 50%;
  box-sizing: border-box;
  width: min(1000px, calc(100% - var(--banner-account-gutter, clamp(15px, 5vw, 45px)) - var(--banner-account-gutter, clamp(15px, 5vw, 45px))));
  max-width: none;
}

/* The 320px source rule used left:15px with no transform. Once the modal
   becomes fluid that coordinate must be replaced as a pair, otherwise the
   narrowed card starts at the viewport midpoint. Keep this scoped to the
   visible standalone fixture; the embedded B028 keeps its 2-axis centering. */
.page-expert-picker-trial .expert-picker-trial__modal {
  left: 50%;
  transform: translateX(-50%);
}

:is(
  .discount-offer__body,
  .discount-offer__head,
  .discount-offer__heading,
  .discount-offer__summary,
  .discount-offer__card,
  .followup-offer__body,
  .followup-offer__head,
  .followup-offer__heading,
  .followup-offer__card-wrap,
  .followup-offer__card,
  .insufficient-credits__body,
  .insufficient-credits__heading,
  .insufficient-credits__visual,
  .insufficient-credits__actions,
  .one-click__body,
  .one-click__head,
  .one-click__heading,
  .one-click__actions,
  .expert-picker-trial__intro,
  .expert-picker-trial__carousel
) {
  min-width: 0;
  max-width: 100%;
}

.followup-offer__body {
  box-sizing: border-box;
  padding-right: clamp(20px, 5vw, 40px);
  padding-left: clamp(20px, 5vw, 40px);
}

.followup-offer__heading p,
.followup-offer__deadline {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

/* B006/B009: a continuous page rail and content-defined hero height prevent
   the 401px zodiac/text collision without hiding overflow. */
.page-horoscope .nh-page {
  width: 100%;
  max-width: 1200px;
  padding-right: var(--banner-account-gutter);
  padding-left: var(--banner-account-gutter);
}

.page-horoscope .nh-hero {
  box-sizing: border-box;
  width: 100%;
  height: auto;
  min-height: 928px;
}

.page-horoscope .nh-video {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
}

@media (max-width: 800px) {
  .page-horoscope .nh-hero { min-height: 938px; }
}

@media (max-width: 650px) {
  .page-horoscope .nh-hero { min-height: 917px; }
}

@media (max-width: 480px) {
  .page-horoscope .nh-hero {
    min-height: 1320px;
    padding-right: 20px;
    padding-left: 20px;
  }

  .page-horoscope .nh-zodiac {
    width: min(100%, 300px);
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 10px;
  }

  .page-horoscope .nh-zodiac button {
    min-width: 0;
    height: 70px;
    padding-right: 4px;
    padding-left: 4px;
    font-size: 13px;
  }

  .page-horoscope .nh-today {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }
}

@media (max-width: 400px) {
  .page-horoscope .nh-hero { min-height: 1420px; }
}

/* B017/B018: preserve the profile/sidebar composition, but prevent fixed
   descendants from making its main column wider than the available rail. */
.page-profile :is(.nb-profile-content, .nb-affirmation, .nb-horoscope) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.page-profile :is(.nb-affirmation > div:first-child, .nb-horoscope__copy) {
  min-width: 0;
  max-width: 100%;
}

/* B011/B012/B019/B022/B023: center the expert hero/card on one fluid rail.
   Offer content remains inside its parent and retains all interaction hooks. */
:is(
  .page-mia-jacomo,
  .page-psychic-margo-lover,
  .page-psychic-mia-jacomo
) .pc-page {
  min-width: 0;
}

:is(
  .page-mia-jacomo,
  .page-psychic-margo-lover,
  .page-psychic-mia-jacomo
) .pc-container {
  width: min(1110px, calc(100% - var(--banner-account-gutter) - var(--banner-account-gutter)));
  max-width: none;
}

:is(
  .page-mia-jacomo,
  .page-psychic-mia-jacomo
) .pc-hero,
.page-psychic-margo-lover .pc-day-card {
  box-sizing: border-box;
  width: min(1030px, 100%);
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

:is(
  .page-mia-jacomo,
  .page-psychic-mia-jacomo
) :is(.pc-hero__top, .pc-hero__body, .pc-offer, .pc-offer__box),
.page-psychic-margo-lover :is(.pc-day-card__info, .pc-day-card__rating-panel) {
  min-width: 0;
  max-width: 100%;
}

/* B026/B027: remove the feature card's negative-width bleed and let the gift
   strip wrap inside the same continuous catalogue rail. */
.page-psychics .ps-page { min-width: 0; }

.page-psychics .ps-container {
  width: min(1110px, calc(100% - var(--banner-account-gutter) - var(--banner-account-gutter)));
  max-width: none;
}

.page-psychics .ps-offer {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

.page-psychics .ps-feature {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

.page-psychics :is(.ps-feature__body, .ps-feature__identity, .ps-feature__identity-copy) {
  min-width: 0;
  max-width: 100%;
}

/* B050/B058/B069/B070: contain auth frames and form rows. The only confirmed
   clip was login at 577-599px, where a 640px frame and coordinate-based menu
   extended beyond the viewport. */
:is(.page-login .login-frame, .page-forgot-password .forgot-frame) {
  width: min(1280px, 100%);
  max-width: 100%;
  margin-right: auto;
  margin-left: auto;
}

:is(.page-login .login-card-wrap, .page-forgot-password .forgot-card-wrap) {
  left: 50%;
  transform: translateX(-50%);
}

@media (max-width: 1100px) {
  :is(.page-login .login-menu-right, .page-forgot-password .forgot-menu-right) {
    left: auto;
    right: 0;
  }
}

:is(.page-login, .page-forgot-password) :is(
  .login-panel,
  .forgot-panel,
  .login-field,
  .forgot-field,
  .login-submit,
  .forgot-button
) {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 640px) {
  .page-login .login-menu {
    left: clamp(10px, 3vw, 20px);
    right: clamp(10px, 3vw, 20px);
  }

  .page-forgot-password .forgot-menu {
    left: clamp(10px, 3vw, 20px);
    right: clamp(10px, 3vw, 20px);
  }
}

@media (max-width: 680px) {
  /* The 640/960 signup exports keep a 400px title at a fixed x coordinate.
     Center only that copy rail; controls and panel artwork retain their
     authored size and are not globally scaled. */
  :is(.page-signup-create, .page-signup-step-2) .na-auth-form__title {
    left: 50%;
    width: min(400px, calc(100vw - 24px));
    margin-right: 0;
    margin-left: 0;
    transform: translateX(-50%);
  }
}

:is(.page-signup-create, .page-signup-step-2) :is(
  .na-auth-page__shell,
  .na-auth-page__panel,
  .na-auth-form,
  .na-auth-field-wrap,
  .na-auth-field,
  .na-auth-select,
  .na-auth-pills,
  .na-auth-row,
  .na-auth-btn,
  .na-auth-checks
) {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

/* Consultation uses one fluid frame and real HTML copy/CTA. */
:root {
  --banner-gutter: clamp(16px, 2.5vw, 40px);
  --banner-gutter-pair: clamp(32px, 5vw, 80px);
}
body[class*="page-"][class] :is(.pc-banner, .article-banner, .zcn-banner, .nh-banner, .nb-consultation-banner, .tc-banner__cta) {
  box-sizing: border-box;
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 356px);
  align-items: center;
  gap: 26px;
  width: min(1110px, calc(100% - var(--banner-gutter-pair)));
  max-width: none;
  height: auto;
  min-height: 200px;
  padding: clamp(24px, 3vw, 40px);
  margin-inline: auto;
  border-radius: clamp(25px, 3vw, 40px);
  isolation: isolate;
  color: #fff;
  background: #2c1b77;
  text-decoration: none;
}
body[class*="page-"][class] .nb-consultation-banner,
body[class*="page-"][class] .nh-banner,
body[class*="page-"][class] .article-banner { width: 100%; }
body[class*="page-"][class] .pc-container .pc-banner { width: min(1030px, 100%); }
.page-zodiac-compatibility .zcn-section--banner > .container {
  width: min(1110px, calc(100% - var(--banner-gutter-pair)));
  max-width: none;
  padding-inline: 0;
  margin-inline: auto;
}
.page-zodiac-compatibility .zcn-section--banner .zcn-banner { width: 100%; }
.page-blog-input .article-grid__inner {
  width: min(1110px, calc(100% - var(--banner-gutter-pair)));
  max-width: none;
}
body[class*="page-"][class] :is(.pc-banner, .article-banner, .zcn-banner, .nh-banner, .tc-banner__cta)::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  background: url("../banners/consultation-meditation.svg") 70% 46% / cover no-repeat;
  opacity: .2;
  transform: none;
  border-radius: inherit;
}
body[class*="page-"][class] :is(.pc-banner, .article-banner, .zcn-banner, .nh-banner, .tc-banner__cta)::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  background: url("../banners/consultation-hearts.svg") right 45% / cover no-repeat;
  opacity: .12;
  transform: none;
  border-radius: inherit;
}
body[class*="page-"][class] :is(.pc-banner, .article-banner, .zcn-banner, .nh-banner, .nb-consultation-banner, .tc-banner__cta) > div {
  box-sizing: border-box;
  position: relative;
  inset: auto;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  transform: none;
  margin: 0;
  flex: 1 1 auto;
  align-self: center;
}
body[class*="page-"][class] :is(.pc-banner strong, .article-banner .article-banner__title, .zcn-banner .zcn-banner__title, .nh-banner b, .nb-consultation-banner h2, .tc-banner__copy h2) {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(18px, 2.8vw, 34px);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: .01em;
  overflow-wrap: break-word;
}
body[class*="page-"][class] :is(.pc-banner small, .article-banner .article-banner__text, .zcn-banner .zcn-banner__copy, .nh-banner small, .nb-consultation-banner p, .tc-banner__copy p) {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  margin: 0;
  color: #fff;
  font-size: 14px;
  line-height: 1.45;
}
body[class*="page-"][class] :is(.pc-banner > a, .article-banner__button, .zcn-banner__cta, .nh-banner > a, .nb-consultation-banner > a, .tc-banner__button) {
  box-sizing: border-box;
  position: relative;
  inset: auto;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 356px;
  min-width: 0;
  height: auto;
  min-height: 60px;
  padding: 14px 18px;
  margin: 0;
  border-radius: 15px;
  background: #ffc478;
  color: #7653d9;
  font-size: clamp(13px, 1.6vw, 19px);
  font-weight: 500;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  justify-self: end;
}
body[class*="page-"][class] .tc-banner {
  box-sizing: border-box;
  height: auto;
  padding-block: 30px;
}
body[class*="page-"][class] .tc-banner__copy p span { color: #ffc478; }
body[class*="page-"][class] .zcn-banner { overflow: hidden; }
/* The export hid real copy under a raster containing the same text. Once the
   raster is replaced, explicitly restore the live copy and its rounded frame. */
body.page-zodiac-compatibility.zcn-page main > section.zcn-section--banner .zcn-banner {
  width: 100%; height: auto; min-height: 200px;
  padding: clamp(24px, 3vw, 40px);
  border-radius: clamp(25px, 3vw, 40px);
  background: #2c1b77;
}
body.page-zodiac-compatibility.zcn-page main > section.zcn-section--banner .zcn-banner > * { visibility: visible; }
body.page-zodiac-compatibility.zcn-page main > section.zcn-section--banner {
  height: auto; padding-block: 30px;
}
body.page-zodiac-compatibility.zcn-page main > section.zcn-section--banner > .container {
  width: min(1110px, calc(100% - var(--banner-gutter-pair)));
  max-width: none; height: auto; padding-inline: 0; margin-inline: auto;
}
body.page-zodiac-compatibility.zcn-page main > section.zcn-section--banner .zcn-banner::before,
body.page-zodiac-compatibility.zcn-page main > section.zcn-section--banner .zcn-banner::after { display: block; }
@media (max-width: 760px) {
  body[class*="page-"][class] :is(.pc-banner, .article-banner, .zcn-banner, .nh-banner, .nb-consultation-banner, .tc-banner__cta) {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    min-height: 240px;
  }
  body.page-zodiac-compatibility.zcn-page main > section.zcn-section--banner .zcn-banner { min-height: 240px; }
  body[class*="page-"][class] :is(.pc-banner > a, .article-banner__button, .zcn-banner__cta, .nh-banner > a, .nb-consultation-banner > a, .tc-banner__button) {
    justify-self: start;
    min-height: 50px;
    max-width: 293px;
    border-radius: 12px;
  }
}

/* Integration refinements for the audited parent rails. */
.page-expert-page { --banner-account-gutter: clamp(16px, 2.5vw, 40px); }
.page-expert-page .pc-container {
  width: min(1110px, calc(100% - var(--banner-gutter-pair)));
  max-width: none;
}
.page-expert-page .pc-hero {
  width: min(1030px, 100%);
  max-width: 100%;
  margin-inline: auto;
}
.page-psychic-reading .prn-hero-section__title {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: break-word;
}
/* Auth headings participate in flow. A translateX on a static heading moves
   it out of its card, so use auto margins instead of canvas coordinates. */
body.na-auth-page.na-auth-page--create.page-signup-create:not(.na-auth-page--step2) .na-auth-form__title,
body.na-auth-page.na-auth-page--step2.page-signup-step-2 .na-auth-form__title {
  position: static;
  left: auto;
  width: min(400px, calc(100% - 32px));
  max-width: 100%;
  margin-inline: auto;
  transform: none;
}
/* Exported transforms/fixed heights must be removed from these fluid rails. */
body.page-all-psychics .prn-page :is(.apn-maktaro-proof, .apn-affordable) {
  height: auto;
  min-height: 0;
}
body.page-all-psychics .prn-page :is(.apn-maktaro-catalog__title, .apn-affordable__title, .apn-online__title, .apn-online__subtitle) {
  transform: none;
  margin-left: 0;
  margin-right: 0;
  width: 100%;
  max-width: 100%;
  height: auto;
}
body.page-all-psychics .prn-page .apn-maktaro-catalog > .container {
  width: min(1110px, calc(100% - var(--banner-gutter-pair)));
  max-width: none;
  padding-inline: 0;
}
@media (max-width: 991.98px) {
  .page-horoscope .nh-zodiac { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
  .page-horoscope .nh-zodiac button { min-width: 0; max-width: 100%; font-size: 13px; padding-inline: 0; }
  .page-horoscope .nh-periods { flex-wrap: wrap; gap: 16px; font-size: 16px; }
}
@media (max-width: 650px) {
  .page-horoscope .nh-zodiac { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .page-horoscope .nh-zodiac { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 768.98px) {
  body.page-all-psychics .prn-page .apn-online__titlebox { padding-left: 80px; height: auto; }
  body.page-all-psychics .prn-page .apn-online__head { height: auto; }
  body.page-all-psychics .prn-page .apn-maktaro-proof__value { font-size: clamp(34px, 7vw, 60px); line-height: 1.2; }
  body.page-all-psychics .prn-page .apn-maktaro-proof__label { margin-top: 0; font-size: clamp(18px, 3.5vw, 26px); line-height: 1.4; }
  body.page-all-psychics .prn-page .apn-maktaro-quote { min-height: 0; }
}
@media (max-width: 399.98px) {
  body.page-all-psychics .apn-hero-copy,
  body.page-all-psychics .apn-search-shell { left: var(--banner-gutter); width: calc(100vw - var(--banner-gutter-pair)); }
  body.page-all-psychics .apn-hero-copy :is(h1,p),
  body.page-all-psychics .apn-search-card__title { width: 100%; max-width: 100%; }
  body.page-all-psychics .apn-search-card { width: 100%; max-width: 100%; }
  body.page-psychic-reading .prn-page .prn-hero-section__title { width: 100%; transform: none; margin-inline: 0; font-size: 36px; }
}
body:is(.page-discounted-refill-offer,.page-insufficient-credits,.page-one-click-top-up) {
  width: 100%;
  min-width: 0;
}
body:is(.page-discounted-refill-offer,.page-insufficient-credits,.page-one-click-top-up) :is(main,[class$="__frame"]) {
  width: 100%;
  min-width: 0;
  max-width: 100%;
}
body.page-404 :is(.ne404-header,.ne404-hero) { max-width: calc(100% - var(--banner-gutter-pair)); }
@media (min-width: 1101px) and (max-width: 1199.98px) {
  body.page-404 .ne404-footer__links { right: 24px; left: auto; max-width: calc(100% - 235px); }
}
@media (min-width: 481px) and (max-width: 680px) {
  .page-index .hero-media { height: 390px; }
}
body.page-tarot-reading .tarot-page .tarot-need__row,
body.page-tarot-reading .tarot-page .tarot-click .tarot-shell {
  width: min(1200px, calc(100% - var(--banner-gutter-pair)));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
body.page-tarot-reading .tarot-page .tarot-need__copy { left: 0; width: 100%; max-width: 100%; }
body.page-tarot-reading .tarot-page .tarot-need h2 { left: 0; width: min(1015px, 100%); max-width: 100%; }
body.page-tarot-reading .tarot-page .tarot-click__panel { left: 0; width: 100%; max-width: 100%; }
@media (max-width: 640px) {
  body.page-taurus-compatibility .tc-hero { height: auto; min-height: 900px; padding-top: 92px; padding-bottom: 40px; }
  body.page-taurus-compatibility .tc-hero__copy { position: relative; inset: auto; transform: none; width: calc(100% - var(--banner-gutter-pair)); max-width: 510px; margin-inline: auto; }
}
body.page-zodiac-compatibility .zcn-hero { height: auto; padding-bottom: 40px; }
/* Keep the 404 chrome inside the same rail when the full navigation is shown. */
@media (min-width: 1101px) {
  body.page-404 .ne404-header { grid-template-columns: 142px minmax(0, 1fr) 167px; gap: clamp(20px, 3vw, 50px); }
  body.page-404 .ne404-nav { gap: clamp(12px, 1.8vw, 30px); }
  body.page-404 .ne404-nav a { font-size: clamp(14px, 1.45vw, 18px); }
  body.page-404 .ne404-footer__links { min-width: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); }
  body.page-404 .ne404-footer__links section { width: auto; min-width: 0; }
}
body.page-404 .ne404-footer__bottom p { white-space: normal; overflow-wrap: anywhere; }
body.page-insufficient-credits[data-static-area="account"] { min-width: 0 !important; }
@media (max-width: 680px) {
  body.na-auth-page.na-auth-page--step2.page-signup-step-2 .na-auth-page__panel,
  body.na-auth-page.na-auth-page--create.page-signup-create:not(.na-auth-page--step2) .na-auth-page__panel {
    left: 50%; width: min(420px, calc(100% - 32px)); transform: translateX(-50%);
  }
  body.na-auth-page.page-signup-step-2 .na-auth-form,
  body.na-auth-page.page-signup-create .na-auth-form { width: 100%; }
  body.na-auth-page.na-auth-page--step2.page-signup-step-2 .na-auth-form__subtitle,
  body.na-auth-page.na-auth-page--create.page-signup-create:not(.na-auth-page--step2) .na-auth-form__subtitle {
    position: static; left: auto; transform: none;
    width: min(305px, calc(100% - 24px)); max-width: 100%; margin-inline: auto;
  }
  body.na-auth-page.page-signup-create .na-auth-form > :is(.na-auth-field-wrap,.na-auth-pills,.na-auth-row,.na-auth-btn,.na-auth-divider,.na-auth-social),
  body.na-auth-page.page-signup-step-2 .na-auth-form > :is(.na-auth-step2-stack,.na-auth-checks,.na-auth-btn) {
    width: min(295px, calc(100% - 24px)); max-width: 100%; min-width: 0; margin-inline: auto;
  }
  body.na-auth-page.page-signup-step-2 .na-auth-step2-stack .na-auth-field-wrap { width: 100%; max-width: 100%; margin-inline: 0; }
}
@media (max-width: 399.98px) {
  body.prn-body.page-all-psychics .prn-page .apn-hero > .container,
  body.prn-body.page-all-psychics .prn-page .apn-hero-shell { width: 100%; max-width: 100%; }
  body.page-all-psychics .apn-hero-copy,
  body.page-all-psychics .apn-search-shell { width: calc(100% - var(--banner-gutter-pair)); }
  body.page-all-psychics .apn-hero__accent { margin-left: 0; transform: none; }
}
body.prn-body.page-all-psychics .prn-page .apn-hero-copy h1,
body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog__title { width: 100%; max-width: 100%; min-width: 0; }
/* This catalog is a grid, unlike the online advisor carousels. Fit every
   visible card to its rail so intermediate widths never cut away a column. */
body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog { height: auto; min-height: 0; padding-bottom: 40px; }
body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog__grid {
  width: 100%; min-width: 0; max-width: 100%; transform: none;
  grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px;
}
body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog__grid > .apn-love-card { width: 100%; max-width: 100%; min-width: 0; }
body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog__grid :is(.apn-love-card__top,.apn-love-card__info,.apn-love-card__facts,.apn-love-card__desc,.apn-love-card__cta) { width: 100%; max-width: 100%; min-width: 0; }
body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog__grid .apn-love-card__identity { width: auto; max-width: 100%; min-width: 0; flex: 1 1 0; height: auto; }
body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog__grid .apn-love-card__name { width: 100%; max-width: 100%; height: auto; overflow-wrap: anywhere; }
body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog__grid .apn-love-card__meta { width: 100%; max-width: 100%; height: auto; flex-wrap: wrap; }
@media (max-width: 991.98px) {
  body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
  body.prn-body.page-all-psychics .prn-page .apn-maktaro-catalog__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 577px) and (max-width: 767.98px) {
  /* The source adds three unused :not(#id) selectors to force fixed height.
     Override only this interval where the live CTA is clipped. */
  body.page-palm-reading .palm-hero { height: auto !important; min-height: 740px !important; max-height: none !important; padding-bottom: 24px; }
}
@media (max-width: 1199.98px) {
  body.page-all-psychics .prn-page .apn-maktaro-proof > .container { height: auto; }
  body.page-all-psychics .prn-page .apn-maktaro-proof__value { font-size: clamp(34px, 6vw, 60px); line-height: 1.2; }
  body.page-all-psychics .prn-page .apn-maktaro-proof__label { font-size: clamp(18px, 3vw, 26px); margin-top: 0; line-height: 1.4; }
  body.page-all-psychics .prn-page .apn-maktaro-quote { height: auto; }
  body.page-tarot-reading .tarot-page .tarot-need h2 { left: 0; }
}
/* Blog advisor is a promo frame containing a carousel. Keep its peek while
   making the actual background/copy rail continuous. */
.page-blog .blog-advisor {
  box-sizing: border-box;
  width: min(1200px, calc(100% - var(--banner-gutter-pair)));
  padding-inline: clamp(20px, 3vw, 40px);
  margin-inline: auto;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
}
.page-blog .blog-advisor__copy,
.page-blog .blog-advisor__copy h2,
.page-blog .blog-advisor__list { min-width: 0; max-width: 100%; }
@media (max-width: 991.98px) {
  .page-blog .blog-advisor__copy h2,
  .page-blog .blog-advisor__list { width: 100%; }
  .page-blog .blog-advisor__experts { max-width: 100%; }
}

/* Confirmed block audit corrections, 2026-10-02. Scope is page owners. */
.page-all-psychics .site-footer,
.page-privacy-policy .site-footer,
.page-taurus-compatibility .tc-footer { background-color: #f1f1f1; }
.page-all-psychics .apn-faq-shot-hide { background-color: #f9faff; }
.page-phone-psychic .pp-reviews { background-color: #fff; }
.page-cheap-psychic .cheap-click { background-color: #f1f1f1; }
.page-zodiac-compatibility .zcn-section--elements { background-color: #f9faff; }

/* Several exported owners lock height and max-height with !important.
   Retain their authored min-height, but allow the frame to contain its rail. */
body.page-aura-reading main > :is(.aura-hero, .aura-psychic-cards, .aura-clients-love, .aura-best-online, .aura-answer),
body.page-palm-reading main > .palm-hero,
body.page-phone-psychic main > :is(.pp-hero, .pp-scenarios),
body.page-psychic-reading main > .prn-experts-section,
body.page-all-psychics main :is(.apn-reasons, .apn-reasons-shot-hide, .apn-online-host, .apn-answer-shot-hide),
body.page-blog-input .article-grid,
body.page-cheap-psychic main > :is(.cheap-hero, .cheap-need, .cheap-faq, .cheap-seo),
body.page-taurus-compatibility main > :is(.tc-chart, .tc-best, .tc-love, .tc-marriage, .tc-sex, .tc-friendship),
body.page-taurus-compatibility .tc-footer,
body.page-zodiac-compatibility main > .zcn-section {
  height: auto !important;
  max-height: none !important;
}

/* Preserve breathing room when content exceeds the design frame. */
body.page-cheap-psychic main > :is(.cheap-need, .cheap-faq, .cheap-seo),
body.page-taurus-compatibility main > :is(.tc-chart, .tc-best, .tc-love, .tc-marriage, .tc-sex, .tc-friendship),
body.page-zodiac-compatibility main > .zcn-section:not(.zcn-section--banner):not(.zcn-section--tight) {
  padding-bottom: clamp(32px, 4vw, 64px);
}

/* The inherited settings layout has a fixed height. FAQ content must define
   the panel and the layout height, including an expanded answer. */
.nb-faq-page .nb-account-layout { height: auto; }
.nb-faq-page .nb-faq { align-self: start; height: auto; }
.nb-faq-page .nb-notifications-sidebar { height: auto; }
@media (max-width: 767.98px) {
}

.nb-astrology-page :is(.nb-astrology-lead, .nb-astrology-fields) {
  width: 100%; min-width: 0; max-width: 100%;
}

/* Inner percent-height rails must follow growing FAQ/SEO content. */
.page-cheap-psychic :is(.cheap-faq, .cheap-seo) > .cheap-shell {
  height: auto;
}
.page-aura-reading .aura-answer > .aura-container { height: auto; }
.page-zodiac-compatibility .zcn-section--seo-content > .container { height: auto; }

/* Zodiac's exported frames must shrink as well as grow with their content.
   The hero and the internally positioned banner/element artwork keep their
   own design frames; only in-flow section and text wrappers are released. */
body.page-zodiac-compatibility main > .zcn-section,
body.page-zodiac-compatibility main > .zcn-section > .container {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
body.page-zodiac-compatibility main > .zcn-section:not(.zcn-section--banner):not([data-oracle-section="best-in-love-readings"]) {
  padding-bottom: clamp(24px, 3vw, 48px) !important;
}
body.page-zodiac-compatibility main > .zcn-section :is(.zcn-chart-copy, .zcn-elements-copy, .zcn-lower) {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
body.page-zodiac-compatibility main > .zcn-section :is(.zcn-chart-copy, .zcn-elements-copy) {
  overflow: visible !important;
}
body.page-zodiac-compatibility .zcn-section--seo-content .zcn-lower {
  align-items: start !important;
  align-content: start !important;
}

@media (min-width: 768px) and (max-width: 991.98px) {
  body.page-cheap-psychic .cheap-click .cheap-click__panel {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 992px) and (max-width: 1199.98px) {
  /* The source moves children down with transforms, which do not contribute
     to the parent's height. Move that vertical offset into real padding. */
  body.page-all-psychics .apn-reasons { padding-top: 102px !important; padding-bottom: 40px !important; }
  body.page-all-psychics .apn-reasons > :is(.apn-reasons__title, .apn-reasons__grid) {
    transform: translateX(-15px) !important;
  }
  body.page-all-psychics .apn-reasons > .apn-reasons__cta { transform: none !important; }
}

@media (max-width: 575.98px) {
  /* At 375px the inherited two-column sex introduction squeezes paragraphs
     into a narrow column. Use the same reading order as the 320px frame. */
  .page-taurus-compatibility .tc-sex__intro { display: flex; flex-direction: column; }
  .page-taurus-compatibility .tc-sex__intro > * { min-width: 0; max-width: 100%; }
  .page-taurus-compatibility .tc-sex__intro img { align-self: center; order: -1; }
  .page-taurus-compatibility .tc-love__topics > article { height: auto; }
}

/* Compact paragraph rhythm for Zodiac prose. Labels and card copy keep
   their component spacing; the final paragraph adds no trailing margin. */
body.page-zodiac-compatibility :is(.zcn-copy,.zcn-chart-copy,.zcn-elements-copy) > p {
  margin:0 0 16px !important;
}
@media(max-width:767.98px) {
  body.page-zodiac-compatibility :is(.zcn-copy,.zcn-chart-copy,.zcn-elements-copy) > p {
    margin-bottom:12px !important;
  }
}
body.page-zodiac-compatibility :is(.zcn-copy,.zcn-chart-copy,.zcn-elements-copy) > p:last-child {
  margin-bottom:0 !important;
}

/* 2026-10-07 approved rollout: normal prose, never form/control copy. */
body[class] .mkt-prose > p,
body[class] .mkt-disclosure__body p { margin:0 0 16px !important; }
body[class] .mkt-prose > p:last-child,
body[class] .mkt-disclosure__body p:last-child { margin-bottom:0 !important; }
@media(max-width:767.98px) {
  body[class] .mkt-prose > p,
  body[class] .mkt-disclosure__body p { margin-bottom:12px !important; }
  body[class] .mkt-prose > p:last-child,
  body[class] .mkt-disclosure__body p:last-child { margin-bottom:0 !important; }
}
/* Release only normal content canvases. Artwork, chat and dialog frames are
   deliberately outside these owner selectors. Natural height lets solid
   background paint follow the content rather than the exported Figma canvas. */
body.page-palm-reading main > :is(.palm-story,.palm-questions,.palm-seo) {
  height:auto !important; min-height:0 !important; max-height:none !important;
  padding-bottom:clamp(24px,4vw,55px) !important;
}
body[class] main.nb-account-page {
  height:auto !important; min-height:0 !important; max-height:none !important;
  padding-bottom:clamp(24px,4vw,55px) !important;
}
body.page-privacy-policy :is(.nb-policy-page,.nb-policy-panel) {
  height:auto !important; min-height:0 !important; max-height:none !important;
}
body[class] section[data-card-carousel]:not(.zcn-expert),
body[class] section[data-card-carousel] > :is(.container,.lov-shell,.aura-container,.pp-shell,.cheap-shell,.tarot-shell) {
  height:auto !important; min-height:0 !important; max-height:none !important;
}
body[class] section[data-card-carousel]:not(.zcn-expert) { padding-bottom:clamp(24px,4vw,55px) !important; }

/* Links expose the same cursor over their text, image and icon. Inactive
   links keep their routing guard/aria-disabled; only their cursor is unified. */
body a, body a *, body [role="link"], body [role="link"] * {
  cursor: pointer !important;
}
body a { pointer-events: auto !important; }
body :is(button, [role="button"]):not(:disabled):not([aria-disabled="true"]),
body :is(button, [role="button"]):not(:disabled):not([aria-disabled="true"]) *,
body summary, body summary *,
body :is(select, input[type="button"], input[type="submit"], input[type="reset"], input[type="checkbox"], input[type="radio"]):not(:disabled),
body label:has(> input:is([type="checkbox"], [type="radio"]):not(:disabled)),
body label:has(> input:is([type="checkbox"], [type="radio"]):not(:disabled)) span {
  cursor: pointer !important;
}
body button:is(:disabled, [aria-disabled="true"]),
body button:is(:disabled, [aria-disabled="true"]) * { cursor: default !important; }

/* Stable keyboard indication; outlines do not change the layout box. */
body :is(a[href], button, [role="button"], summary, select, input[type="checkbox"], input[type="radio"]):not(:disabled):not([aria-disabled="true"]):focus-visible {
  outline: 2px solid #673eda !important;
  outline-offset: 3px !important;
}

/* Text links, separate from menu links, CTAs and category chips. */
body :is(.site-footer__link, .blog-card__title a, .article-detail__toc a, .faq-support-intent):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  color: #673eda !important;
  text-decoration: underline !important;
  text-underline-offset: .15em;
}
body :is(.site-header__link, .tc-nav a, .ne404-nav a):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  color: #673eda !important; /* Figma menu 587:7759 */
  text-decoration: none !important;
}
body[data-static-area="account"] nav a,
body :is(.nb-logo, .c76-logo, .ne404-logo, .c76-chat-action, .c76-composer-tool, .c76-send-button, .hb-back, .nb-messages-back) {
  text-decoration: none !important;
}
body :is(.c-btn, .blog-advisor__cta, .lov-expert-card__cta, .aura-expert-card__cta, .pp-expert-card__cta, .cheap-expert-card__cta, .tc-banner__cta, .zcn-primary-cta, .blog-pagination__link) {
  text-decoration: none !important;
}

/* Categories: preserve the existing sizes and rounded shape. No filtering
   behavior is inferred from this link markup. */
body :is(a.blog-chip, a.article-detail__chip, a.article-card__tag) { text-decoration: none !important; color: #7653d9; }
body .blog-card__meta a {
  display: inline-flex; min-height: 16px; align-items: center; padding: 0 8px;
  border-radius: 6px; background: #f1ecff; color: #7653d9;
  text-decoration: none !important;
}
body :is(a.blog-chip, a.article-detail__chip, a.article-card__tag, .blog-card__meta a):is(:hover, :focus-visible) {
  background-color: #ede6ff !important;
  color: #673eda !important;
  text-decoration: none !important;
}

/* Figma outlined Find Psychic family 587:7791 -> 587:7788.
   Border widths stay unchanged; replace the invalid spread in drop-shadow
   with a box-shadow, which supports the authored 4px spread. */
body :is(.hero-section__btn, .lov-ghost-btn, .aura-ghost-btn, .palm-cta, .pp-ghost-btn, .blog-advisor__button, .article-related__cta-link, .ne404-cta, .cheap-ghost-btn, .tarot-ghost-btn):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  background-color: #a585ff !important; color: #fff !important;
  border-color: #a585ff !important; text-decoration: none !important;
  filter: none !important;
  box-shadow: 0 2px 5.6px 4px rgba(73,73,73,.45) !important;
}
body :is(.experts-section__link, .pc-text-link):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  color: #000 !important; text-decoration: none !important; /* 587:8204 */
}
body :is(.blog-promo__btn, .article-banner__button, .zcn-banner__cta, .steps-section__cta):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  background-color: #fff !important; color: #7653d9 !important;
  text-decoration: none !important; /* 587:8604; authored shadow preserved */
}
body .topics-section__card:not([aria-disabled="true"]):is(:hover, :focus-visible) {
  background-color: #fff !important; text-decoration: none !important;
  box-shadow: inset 0 0 0 2px #673eda !important; /* Figma 587:8510, inside stroke */
}

/* Sign up family: 289:1104, 1px inside stroke. */
body :is(.site-header__btn, .apn-signup-link, .login-signup, .forgot-signup):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  color: #a180ff !important; border-color: transparent !important;
  text-decoration: none !important; box-shadow: inset 0 0 0 1px #a180ff !important;
}
body :is(.site-header__btn, .apn-signup-link, .login-signup, .forgot-signup) { border-radius: 15px; }
body :is(.c-btn__icon--arrow, .site-header__btn--ghost-icon) {
  background: currentColor !important;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 8'%3E%3Cpath d='M14.35 4.04a.5.5 0 0 0 0-.71L11.17.15a.5.5 0 1 0-.71.7L13.29 3.68H0v1h13.29l-2.83 2.83a.5.5 0 0 0 .71.7z'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Authentication components. Keep errors and disabled states intact. */
body .na-auth-btn:not(.na-auth-btn--ghost):not(:disabled):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  background-color: #a585ff !important; color: #fff !important;
  text-decoration: none !important; box-shadow: 0 2px 5.6px 4px rgba(73,73,73,.45) !important;
}
body :is(.login-submit, .forgot-button):not(:disabled):is(:hover, :focus-visible) {
  background-color: #a585ff !important; color: #fff !important; text-decoration: none !important;
  box-shadow: 0 2px 5.6px 4px rgba(103,62,218,.45) !important; /* 267:1145 */
}
body :is(.forgot-cancel, .na-auth-btn--ghost):not([aria-disabled="true"]):is(:hover, :focus-visible) {
  background-color: #9a9a9a !important; color: #fff !important;
  text-decoration: none !important; box-shadow: 0 2px 5.6px 4px rgba(73,73,73,.45) !important;
}
body :is(.login-field, .forgot-field, .na-auth-field, .na-auth-select):not(:disabled):not([aria-invalid="true"]):hover:not(:focus) {
  border-color: #474747 !important; /* 569:6062 / 569:6082 / 579:6647 */
}
body :is(.login-field, .forgot-field, .na-auth-field):not(:disabled):not([aria-invalid="true"]):hover:not(:focus)::placeholder,
body .na-auth-select:not(:disabled):hover:not(:focus) {
  color: #474747 !important;
}
body :is(.login-social, .na-auth-social-btn):not(:disabled):is(:hover, :focus-visible) {
  background-color: #d4c5ff !important; box-shadow: 0 2px 5.6px 4px rgba(66,66,66,.45) !important;
}
.mkt-feedback {
  position:fixed;
  z-index:10020;
  inset:12px 16px auto;
  width:max-content;
  max-width:calc(100vw - 32px);
  margin:0 auto;
  padding:10px 16px;
  border:1px solid #dfd5ff;
  border-radius:12px;
  background:#fff;
  color:#342257;
  box-shadow:0 4px 18px rgba(74,43,132,.12);
  font:500 14px/1.4 Manrope,sans-serif;
  pointer-events:none;
}
.mkt-feedback[hidden] { display:none; }
.page-account-information [data-account-information-error] {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  border:0 !important;
  overflow:hidden;
  clip-path:inset(50%);
  white-space:nowrap !important;
}

/* Borders from the supplied MASTER MAP; source IDs are recorded in
   border-audit-20261003/confirmed-public.json and account-stroke-evidence.json. */

/* Article component643:6640, reused on Blog and BlogInput at every authored width. */
body.page-blog .blog-card,
body.page-blog-input .article-card {
  border: 1px solid #c8c8c8 !important;
  border-radius: 20px !important;
}
body.page-blog .blog-chip { border-radius: 12px !important; }
body.page-blog-input .article-related__cta-link {
  border: 2px solid #673eda !important;
  border-radius: 15px !important;
}
body.page-forgot-password .forgot-field { border-color: #673eda; }
body.page-zodiac-compatibility .zcn-expert__browse a { border-radius: 15px !important; }
body.page-blog .blog-advisor__button,
body.page-psychic-reading .experts-section__link,
body.page-aura-reading .aura-ghost-btn,
body.page-love-reading .lov-ghost-btn,
body.page-all-psychics .apn-maktaro-catalog__browse,
body.page-all-psychics .apn-reasons__cta .c-btn--primary {
  border: 2px solid #673eda !important;
  border-radius: 15px !important;
}
body.page-all-psychics .apn-maktaro-catalog__browse:is(:hover,:focus-visible) {
  border-color: #5f34d2 !important;
}

/* FAQ ASKED3: 1px only in the expanded state; closed cards have a fill.
   Every affected landing has the same44/33px authored corner sequence. */

/* Large editorial/SEO panels are ASKED6, distinct from short FAQ cards.
   Their open frame is2px; the grey collapsed previews have no visible stroke. */

/* Keep authored minimums, but let real copy increase an expanded frame. */

/* The mobile Phone projection had fixed card heights that cut the copy off.
   Use normal flow while retaining the authored two-line collapsed preview. */

/* Exact account visual owners; retain source-specific adaptive corners. */
body.page-account-created .account-created__panel { border: 1px solid #c9b5ff; border-radius:40px; }
body.page-profile .nb-affirmation[data-node-id="1303:27904"] {
  border: 1px solid #673eda;
  height: auto;
  min-height: 120px;
}
body.page-top-up-to-start .top-up-start__package { border-color: #ddceff; }
body.page-top-up-to-start .top-up-start__package.is-selected { border-color: #ffc944; }
body.page-expert-picker-details .selection-expert-card__categories {
  height: auto;
  min-height: 88px;
}
@media (max-width:576px) {
  body.page-account-created .account-created__panel { border-radius: 0; }
}

@media (max-width:991.98px) {
}
@media (max-width:767.98px) {
}
@media (max-width:575.98px) {
  /* Mobile component884:8949 draws a frame on collapsed reading previews.
     Home and Zodiac use different components and are deliberately excluded. */
}

/* Native replacement for Figma image node 635:6587. The immutable source is
   a bitmap, so the verified 12x12 matrix is rendered as an accessible table. */
.compat-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;
}

.zcn-page main > section[data-oracle-section="04-astrology-compatibility-chart"] .container{
  height:auto;
  width:calc(100% - 30px);
  max-width:1110px;
  padding-inline:0;
  background-image:none;
}
.zcn-page main > section[data-oracle-section="04-astrology-compatibility-chart"] .container > *{
  opacity:1;
}
.zcn-page .zcn-chart-wrap{
  width:100%;
  max-width:1110px;
  container-type:inline-size;
  container-name:zodiac-chart;
}
.zcn-page .zcn-chart-grid{
  width:100%;
  max-width:1110px;
  height:auto;
  min-height:0;
  overflow-x:auto;
  overflow-y:hidden;
  padding:0 0 10px;
  background:none;
  border-radius:24px 24px 0 0;
  -webkit-overflow-scrolling:touch;
}
.zcn-page .zcn-chart-table{
  visibility:visible;
  width:100%;
  min-width:500px;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  overflow:hidden;
  border-radius:24px 24px 0 0;
  background:#fbfbfc;
  color:#111116;
  font-family:"Manrope",Arial,sans-serif;
}
.zcn-page .zcn-chart-table th,
.zcn-page .zcn-chart-table td{
  box-sizing:border-box;
  padding:clamp(1px,.36cqw,4px);
  border-right:1px solid #e8e6f8;
  border-bottom:1px solid #e8e6f8;
  background:#fbfbfc;
  text-align:center;
  vertical-align:middle;
}
.zcn-page .zcn-chart-table tr > :first-child{
  width:clamp(78px,8.83cqw,98px);
  border-left:1px solid #e8e6f8;
}
.zcn-page .zcn-chart-table thead th{
  height:clamp(52px,6.13cqw,68px);
  border-top:1px solid #e8e6f8;
}
.zcn-page .zcn-chart-table tbody th,
.zcn-page .zcn-chart-table tbody td{
  height:clamp(38px,4.96cqw,55px);
}
.zcn-page .zcn-chart-table thead tr > :first-child{border-top-left-radius:24px}
.zcn-page .zcn-chart-table thead tr > :last-child{border-top-right-radius:24px}
.zcn-page .zcn-chart-head{
  position:relative;
  color:#111116;
  font-size:clamp(10px,1.27cqw,14px);
  font-weight:600;
  line-height:1.3;
}
.zcn-page .zcn-chart-head .zcn-sign-icon{
  display:block;
  width:clamp(18px,2.17cqw,24px);
  height:clamp(18px,2.17cqw,24px);
  margin:0 auto clamp(2px,.36cqw,4px);
  object-fit:contain;
}
.zcn-page .zcn-chart-sign{display:block;font-size:inherit;line-height:inherit;white-space:nowrap}
.zcn-page .zcn-chart-short{display:none;text-decoration:none;border:0;font-size:inherit;line-height:inherit}
.zcn-page .zcn-chart-data{width:auto}
.zcn-page .zcn-match{
  display:inline-grid;
  width:clamp(26px,3.43cqw,38px);
  height:clamp(26px,3.43cqw,38px);
  place-items:center;
}
.zcn-page .zcn-match-icon{
  display:block;
  width:clamp(24px,3.25cqw,36px);
  height:clamp(24px,3.25cqw,36px);
  object-fit:contain;
}
.zcn-page .zcn-chart-legend{
  display:flex;
  flex-wrap:wrap;
  min-height:64px;
  align-items:center;
  justify-content:center;
  gap:clamp(8px,4.33cqw,48px);
  margin:0;
  padding:13px clamp(14px,2.71cqw,30px) 15px;
  border-top:5px solid #111116;
  border-radius:0 0 24px 24px;
  background:#fbfbfc;
}
.zcn-page .zcn-chart-legend-item{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#111116;
  font-size:clamp(12px,1.54cqw,17px);
  font-weight:600;
  line-height:24px;
  white-space:nowrap;
}
.zcn-page .zcn-legend-icon{display:block;width:30px;height:30px;object-fit:contain}

/* Keep full row names; abbreviate only the narrow column labels. The full
   column name remains in the semantic header and the abbreviation title. */
@container zodiac-chart (max-width:799px){
  .zcn-page .zcn-chart-table thead .zcn-chart-sign{
    position:absolute;
    width:1px;
    height:1px;
    margin:-1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
  }
  .zcn-page .zcn-chart-table thead .zcn-chart-short{display:block}
}

.tc-chart-card{
  width:100%;
  min-width:0;
  max-width:100%;
  height:auto;
  overflow:visible;
  border-radius:18px;
}
.tc-chart-table-rail{
  width:100%;
  min-width:0;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  border-radius:0 0 18px 18px;
  -webkit-overflow-scrolling:touch;
}
.tc-chart-card table{
  width:530px;
  min-width:530px;
  height:auto;
  table-layout:fixed;
}
.tc-chart-card th,.tc-chart-card td{border-color:#e7e7e7}
.tc-chart-card tbody th,
.tc-chart-card th:first-child,
.tc-chart-card td:first-child{width:130px}
.tc-zodiac-glyph{display:inline-grid;width:22px;height:22px;place-items:center;vertical-align:middle}
.tc-sign-icon{display:block;width:20px;height:20px;object-fit:contain}
.tc-hearts{
  display:inline-grid;
  width:75px;
  height:16px;
  grid-template-columns:repeat(5,1fr);
  gap:1px;
  overflow:visible;
  vertical-align:middle;
}
.tc-hearts::before,.tc-hearts::after{content:none!important}
.tc-rating-heart{display:block;width:14px;height:14px;object-fit:contain}
.tc-rating-heart.is-inactive{filter:grayscale(1);opacity:.17}
.zcn-page .zcn-chart-grid:focus-visible,
.tc-chart-table-rail:focus-visible{outline:3px solid #673eda;outline-offset:3px}

@media (max-width:575.98px){
  .zcn-page .zcn-chart-grid{padding-bottom:12px}
  .zcn-page .zcn-chart-legend{flex-wrap:wrap;justify-content:flex-start;gap:8px 16px;padding:12px 14px 14px}
  .zcn-page .zcn-chart-legend-item{gap:6px;font-size:12px;line-height:18px}
  .zcn-page .zcn-legend-icon{width:22px;height:22px}
  .tc-chart-card thead th{font-size:11px;line-height:14px;white-space:normal}
}

/* Shared scroll geometry. Contents and existing menu controllers are retained. */
html[data-sticky-navigation]{
  --sticky-header-progress:0;
  --sticky-header-expanded:128px;
  --sticky-header-compact:64px;
  --sticky-header-content:1110px;
  --sticky-header-target-height:calc(var(--sticky-header-expanded) - (var(--sticky-header-expanded) - var(--sticky-header-compact))*var(--sticky-header-progress));
  scroll-padding-top:calc(var(--sticky-header-height,var(--sticky-header-expanded)) + 16px);
}
html[data-sticky-navigation="account"]{--sticky-header-expanded:80px;--sticky-header-compact:56px}
html[data-sticky-navigation][data-sticky-menu-open]{scroll-behavior:auto!important}
header[data-sticky-header]{
  position:fixed!important;
  inset:0 0 auto!important;
  left:0!important;
  width:100%!important;
  max-width:none!important;
  height:var(--sticky-header-target-height)!important;
  min-height:0!important;
  max-height:var(--sticky-header-target-height)!important;
  margin:0!important;
  padding-block:0!important;
  box-sizing:border-box;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  z-index:1030!important;
  background:rgba(255,255,255,.97)!important;
  backdrop-filter:none!important;
  border-bottom:1px solid transparent;
  transition:height .18s ease,max-height .18s ease,box-shadow .18s ease,border-color .18s ease;
}
header[data-sticky-header].is-scrolled{border-bottom-color:#e9e4f4;box-shadow:0 4px 16px rgba(43,24,76,.08)!important}
/* A transformed nav establishes a containing block for its fixed drawer.
   Release that transform while the shared mobile dialog owns the viewport. */
body.nav-open header[data-sticky-header] .site-header__nav{transform:none!important}
header[data-sticky-header] .site-header__nav [data-navigation-panel][aria-modal="true"]{
  inset:0!important;width:100vw!important;max-width:none!important;
  height:100dvh!important;min-height:100dvh!important;max-height:none!important;
}
header[data-sticky-header="account"]{z-index:80!important}
.sticky-header-space{height:var(--sticky-header-expanded);flex:none;pointer-events:none;transition:height .18s ease}
header[data-sticky-header].site-header > .container{height:auto!important}
header[data-sticky-header] .site-header__inner{height:auto!important;min-height:44px!important;align-items:center!important}
header[data-sticky-header] .navbar-toggler{min-width:44px;min-height:44px}
/* Explicitly keep the three Blog grid items on one row. Source auto-placement
   otherwise puts the left-hand menu on a second row after the centre logo. */
.page-blog header[data-sticky-header] .site-header__inner > :is(.site-header__logo,.site-header__nav,.site-header__actions){grid-row:1}
header[data-sticky-header]:is(.tc-header,.ne404-header,.nb-topbar){
  padding-inline:max(15px,calc((100% - var(--sticky-header-content))/2))!important;
}
header[data-sticky-header] .nb-account-menu{
  top:calc(100% + 8px);
  right:max(15px,calc((100% - var(--sticky-header-content))/2));
  max-height:calc(100dvh - var(--sticky-header-height,80px) - 24px);
  overflow-y:auto;
}
.tc-drawer{z-index:1040}
.ne404-mobile-nav{position:fixed;top:calc(var(--sticky-header-height,84px) + 8px);z-index:1031;max-height:calc(100dvh - var(--sticky-header-height,84px) - 24px);overflow-y:auto}
@media(max-width:1199.98px){
  html[data-sticky-navigation]{--sticky-header-content:930px}
  html[data-sticky-navigation="public"]{--sticky-header-expanded:80px;--sticky-header-compact:60px}
  header[data-sticky-header].tc-header .tc-logo{top:50%;transform:translate(-50%,-50%)}
  header[data-sticky-header].tc-header .tc-header__language{left:max(90px,calc((100% - var(--sticky-header-content))/2 + 75px))}
  .page-index header[data-sticky-header] .navbar-toggler{display:block}
  .page-index header[data-sticky-header] .navbar-collapse:not(.show){display:none!important}
  .page-index header[data-sticky-header] .navbar-collapse.show{display:block!important}
}
@media(max-width:991.98px){
  html[data-sticky-navigation]{--sticky-header-content:690px}
  html[data-sticky-navigation="public"]{--sticky-header-expanded:64px;--sticky-header-compact:56px}
  html[data-sticky-navigation="account"]{--sticky-header-expanded:72px}
  header[data-sticky-header] .nb-account-menu{top:calc(var(--sticky-header-height,72px) + 8px);right:16px}
}
/* 404 uses the source's 1100px navigation breakpoint, independent of Bootstrap. */
@media(max-width:1100px){
  header[data-sticky-header].ne404-header .ne404-logo{top:50%;transform:translate(-50%,-50%)}
  header[data-sticky-header].ne404-header :is(.ne404-menu,.ne404-language,.ne404-account){top:50%;transform:translateY(-50%)}
  header[data-sticky-header].ne404-header .ne404-menu{left:max(15px,calc((100% - var(--sticky-header-content))/2))}
  header[data-sticky-header].ne404-header .ne404-language{left:max(61px,calc((100% - var(--sticky-header-content))/2 + 60px))}
  header[data-sticky-header].ne404-header .ne404-account{right:max(15px,calc((100% - var(--sticky-header-content))/2))}
}
@media(max-width:767.98px){
  html[data-sticky-navigation]{--sticky-header-content:510px}
  html[data-sticky-navigation="public"]{--sticky-header-expanded:60px;--sticky-header-compact:52px}
}
@media(max-width:575.98px){
  html[data-sticky-navigation]{--sticky-header-content:calc(100% - 30px)}
  html[data-sticky-navigation="public"]{--sticky-header-expanded:56px;--sticky-header-compact:48px}
  html[data-sticky-navigation="account"]{--sticky-header-expanded:64px}
}
@media(prefers-reduced-motion:reduce){header[data-sticky-header],.sticky-header-space{transition:none}}

/* One outer content rail for the seven pages in the 2026-10-04 audit.
   Backgrounds remain full-width; columns and card padding remain local. */
body:is(.page-index,.page-all-psychics,.page-psychic-reading,.page-tarot-reading,.page-cheap-psychic,.page-palm-reading,.page-blog) {
  --aligned-content-width: min(1110px, calc(100% - var(--banner-public-gutter-pair)));
}

/* Bootstrap rows need their existing 15px container/column pairing. */
body:is(.page-index,.page-all-psychics,.page-psychic-reading,.page-tarot-reading,.page-cheap-psychic,.page-palm-reading) .container {
  box-sizing: border-box;
  width: calc(var(--aligned-content-width) + 30px) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding-inline: 15px !important;
}
body.page-index .video-section__inner {
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

/* Absolute-export sections need a real containing rail, not a static div. */
body.page-psychic-reading .prn-page :is(.prn-transform,.prn-tailored) {
  width: 100% !important;
  max-width: none !important;
  margin-inline: 0 !important;
}
body.page-psychic-reading .prn-page :is(.prn-reviews,.prn-trust,.prn-transform,.prn-tailored) > .container {
  position: relative;
  width: var(--aligned-content-width) !important;
  padding-inline: 0 !important;
}
body.page-psychic-reading .prn-page .prn-hero-section__content > * {
  left: 0 !important;
  max-width: 100% !important;
}
body.page-psychic-reading .prn-page :is(.prn-transform,.prn-tailored) h2,
body.page-psychic-reading .prn-page .prn-transform__list {
  left: 0 !important;
  max-width: 100% !important;
}
body.page-psychic-reading .prn-page .prn-faq-section > .container {
  position: relative;
  width: var(--aligned-content-width) !important;
  padding-inline: 0 !important;
}
body.page-psychic-reading .prn-page .prn-tailored__card {
  left: auto !important;
  right: 0 !important;
  max-width: 100% !important;
}
@media (max-width: 991.98px) {
  body.page-psychic-reading .prn-page .prn-tailored__card {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
  }
}

/* Catalog subframes had their own centered widths and negative margins. */
body.page-all-psychics .apn-hero-copy { left: 0 !important; max-width: 100% !important; }
body.page-all-psychics :is(.apn-maktaro-video__title,.apn-reasons,.apn-reasons__title,.apn-reasons__grid,.apn-clients,.apn-clients__head,.apn-clients__title,.apn-faq-section,.apn-faq__title) {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}
body.page-all-psychics .apn-maktaro-video__title { transform: none !important; }
body.page-all-psychics .apn-faq__title { left: 0 !important; transform: none !important; }
@media (min-width: 769px) and (max-width: 991.98px) {
  body.page-all-psychics .apn-reasons > :is(.apn-reasons__title,.apn-reasons__grid) { transform: translateY(95px) !important; }
}
@media (min-width: 992px) and (max-width: 1199.98px) {
  body.page-all-psychics .apn-reasons > :is(.apn-reasons__title,.apn-reasons__grid) { transform: none !important; }
}

/* Native exports use plain rails; their authored 45px is now the outer gap. */
body.page-tarot-reading .tarot-page .tarot-shell,
body.page-cheap-psychic .cheap-page .cheap-shell,
body.page-palm-reading .palm-page .palm-shell {
  box-sizing: border-box;
  position: relative;
  left: 0 !important;
  width: var(--aligned-content-width) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
body.page-tarot-reading .tarot-page :is(.tarot-click__title-wrap,.tarot-faq h2,.tarot-faq__list),
body.page-cheap-psychic .cheap-page :is(.cheap-hero__copy,.cheap-reviews h2,.cheap-reviews__rating,.cheap-reviews__grid,.cheap-trust h2,.cheap-trust__grid,.cheap-need__copy,.cheap-click__title-wrap,.cheap-click__panel),
body.page-palm-reading .palm-page :is(.palm-hero__copy,.palm-hero__actions) {
  left: 0 !important;
  right: auto !important;
  max-width: 100% !important;
}
body.page-tarot-reading .tarot-page .tarot-hero__copy > :is(h1,p),
body.page-cheap-psychic .cheap-page .cheap-hero__copy > :is(h1,p),
body.page-tarot-reading .tarot-page .tarot-reviews h2,
body.page-tarot-reading .tarot-page .tarot-shell > h2 {
  left: 0 !important;
  right: auto !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}
body.page-tarot-reading .tarot-page .tarot-shell > h2 { width: 100% !important; }
body.page-tarot-reading .tarot-page :is(.tarot-experts__grid,.tarot-reviews__grid,.tarot-trust__grid,.tarot-faq__list),
body.page-cheap-psychic .cheap-page :is(.cheap-experts__grid,.cheap-reviews__grid,.cheap-trust__grid,.cheap-click__panel),
body.page-palm-reading .palm-page .palm-story__card {
  width: 100% !important;
  max-width: 100% !important;
}
@media (min-width: 768px) {
  body.page-cheap-psychic .cheap-page .cheap-reviews__stars { left: 160px !important; }
  body.page-cheap-psychic .cheap-page .cheap-hero__art { left: 504px; }
  body.page-cheap-psychic .cheap-page .cheap-need__art { left: 587px; }
  body.page-palm-reading .palm-page .palm-hero__art { left: 570px; }
}
@media (min-width: 1200px) {
  body.page-palm-reading .palm-page .palm-questions__row {
    grid-template-columns: 540px minmax(0, 1fr);
  }
}
body.page-palm-reading .palm-page .palm-questions__card {
  box-sizing: border-box;
  min-width: 0;
  width: 100%;
}

/* Blog's section children are its rails, unlike the full-width wrapper. */
body.page-blog :is(.page-article__head,.blog-chips,.blog-grid,.blog-advisor) {
  box-sizing: border-box;
  width: var(--aligned-content-width) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
/* The rounded backdrop extends past the copy rail, keeping its inner breathing room. */
body.page-blog .blog-advisor {
  isolation: isolate;
  background: none;
}
body.page-blog .blog-advisor::before {
  content: "";
  position: absolute;
  inset-block: 0;
  left: 50%;
  width: min(1200px, calc(100% + var(--banner-public-gutter-pair)));
  transform: translateX(-50%);
  z-index: -1;
  border-radius: inherit;
  background: var(--blog-panel);
}
@media (max-width: 575.98px) {
  body.page-blog .blog-grid { grid-template-columns: minmax(0, 1fr) !important; }
  body.page-blog .blog-grid > .blog-card { min-width: 0; width: 100% !important; max-width: 100%; }
}

/* Zodiac: FAQ shares the authored heading rail at every breakpoint.
   Its separate editorial rail stays 980px on desktop, as in Figma. */
body.page-zodiac-compatibility { --zodiac-faq-width:1110px; }
body.page-zodiac-compatibility [data-oracle-section="01-answer"] .zcn-faq {
  width:var(--zodiac-faq-width) !important;
  max-width:calc(100vw - 32px) !important;
  margin-inline:auto !important;
  left:0 !important;
}
@media (max-width:1199.98px) { body.page-zodiac-compatibility { --zodiac-faq-width:930px; } }
@media (max-width:991.98px) { body.page-zodiac-compatibility { --zodiac-faq-width:690px; } }
@media (max-width:767.98px) { body.page-zodiac-compatibility { --zodiac-faq-width:510px; } }
@media (max-width:575.98px) { body.page-zodiac-compatibility { --zodiac-faq-width:288px; } }

/* Four public link groups. Keep the brand area compact and give navigation room. */
body footer.site-footer[data-footer-layout="four-columns"] {
  box-sizing: border-box;
  position: relative;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 56px 0 24px !important;
}
body footer.site-footer[data-footer-layout="four-columns"] > .container {
  box-sizing: border-box;
  width: min(1110px, calc(100% - var(--banner-public-gutter-pair))) !important;
  max-width: none !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
}
body footer.site-footer[data-footer-layout="four-columns"] :is(.container,.site-footer__inner,.site-footer__inner-top,.site-footer__inner-bottom,.site-footer__col-left,.site-footer__col-right,.site-footer__col-menu,.site-footer__appstores-links) {
  position: static !important;
  inset: auto !important;
  transform: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
}
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__inner-top {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 64px !important;
  width: 100% !important;
  height: auto !important;
}
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__col-left {
  width: 100% !important;
  min-width: 0;
}
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__col-right {
  display: grid !important;
  grid-template-columns: 1.1fr .9fr .85fr 1.3fr !important;
  align-items: start !important;
  gap: 32px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: auto !important;
}
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__col-menu {
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  flex: initial !important;
  grid-area: auto !important;
}
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__col-menu ul {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__col-menu li {
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__title { margin: 0 !important; }
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__inner-bottom {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 16px;
  width: 100% !important;
  margin-top: 40px !important;
  padding-top: 24px !important;
}
body footer.site-footer[data-footer-layout="four-columns"] .site-footer__copyright {
  width: auto !important;
  max-width: 100%;
  white-space: normal;
  text-align: center;
}
body footer.site-footer[data-footer-layout="four-columns"] :is(.site-footer__title,.site-footer__link) {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: break-word;
}
@media (max-width: 1199.98px) {
  body footer.site-footer[data-footer-layout="four-columns"] .site-footer__inner-top {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 40px !important;
  }
  body footer.site-footer[data-footer-layout="four-columns"] .site-footer__col-left {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  body footer.site-footer[data-footer-layout="four-columns"] .site-footer__appstores-links {
    display: flex !important;
    flex-direction: row !important;
    gap: 12px !important;
  }
}
@media (max-width: 767.98px) {
  body footer.site-footer[data-footer-layout="four-columns"] .site-footer__col-right {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 32px 24px !important;
  }
  body footer.site-footer[data-footer-layout="four-columns"] .site-footer__col-left {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 24px !important;
  }
}

/* User-requested uniform navigation appearance; missing routes remain guarded. */
body [data-navigation-text] {
  color: #111111 !important;
  opacity: 1 !important;
}
body :is(.site-header, .tc-header, .ne404-header, .site-footer, .tc-footer, .ne404-footer) a[data-static-unavailable] {
  opacity: 1 !important;
}
body [data-navigation-text]:is(:hover, :focus-visible) {
  color: #673eda !important;
  text-underline-offset: .15em;
}
body [data-navigation-text="header"]:is(:hover, :focus-visible) { text-decoration: none !important; }
body [data-navigation-text="footer"]:is(:hover, :focus-visible) { text-decoration: underline !important; }
/* The open drawer has the original dark background: every menu label is white. */
body.nav-open .site-header__offcanvas [data-navigation-text="header"],
body .site-header__offcanvas.show [data-navigation-text="header"] { color: #ffffff !important; }
body.nav-open .site-header__offcanvas [data-navigation-text="header"]:is(:hover, :focus-visible),
body .site-header__offcanvas.show [data-navigation-text="header"]:is(:hover, :focus-visible) { color: #d8c7ff !important; }
