/* Shared compact rhythm. Content and controls stay in normal document flow. */
.zodiaro-theme { --section-space: clamp(2rem, 3.4vw, 4rem); --section-gap: clamp(1.75rem, 4vw, 4rem); }
.zodiaro-theme #main-content.section,
.zodiaro-theme #main-content .section { padding-block: var(--section-space); }
.zodiaro-theme #main-content .section-heading { margin-bottom: 1.75rem; }
.zodiaro-theme #main-content h1 { margin-bottom: 1rem; }
.zodiaro-theme #main-content .section-heading h2,
.zodiaro-theme #main-content :is(.seo-method__grid, .seo-copy-grid, .seo-split-copy, .seo-faq-grid, .explainer-grid, .content-cta, .element-guide, .method-ledger__layout) h2 {
  font-size: clamp(2.15rem, 3.7vw, 3.6rem); line-height: 1.04;
}
.zodiaro-theme #main-content :is(.section-heading, .content-cta) > p:last-child { margin-bottom: 0; }
.zodiaro-theme #main-content :is(.editorial-intro, .explainer-grid, .about-hero, .sign-story, .seo-method__grid, .seo-copy-grid, .seo-split-copy, .seo-faq-grid, .element-guide, .chart-table-layout, .pricing-faq__inner, .personalized-today__inner) { gap: var(--section-gap); }
.zodiaro-theme #main-content :is(.page-title, .period-tabs) { margin-bottom: 1.75rem; }
.zodiaro-theme #main-content > :is(.page-hero--light, .reading-hero, .results-hero, .compatibility-hero) { min-height: 0; }
.zodiaro-theme #main-content .page-hero--light { padding-block: var(--section-space); }
.zodiaro-theme #main-content :is(.reading-hero__inner, .sign-hero__inner, .results-hero__inner, .compatibility-hero__inner) { min-height: 0; padding-block: var(--section-space); gap: var(--section-gap); }
.zodiaro-theme #main-content:not(.zodiaro-home) :is(.reading-hero, .sign-hero, .about-hero, .page-hero--light, .compatibility-hero, .results-hero, .page-title) h1 { font-size: clamp(2.65rem, 5vw, 4.75rem); line-height: 1.02; }
.zodiaro-theme #main-content .pricing-hero { min-height: 0; }
.zodiaro-theme #main-content .pricing-hero__inner { padding-block: clamp(3rem, 5vw, 5rem); }
.zodiaro-theme #main-content .pricing-hero h1 { font-size: clamp(3rem, 5.5vw, 5rem); }
.zodiaro-theme #main-content .period-cards > a { min-height: 250px; padding: clamp(1.5rem, 3vw, 2.5rem); }
.zodiaro-theme #main-content .period-cards h2 { font-size: clamp(2.15rem, 3.7vw, 3.6rem); }
.zodiaro-theme #main-content .plan-card { min-height: 0; padding: clamp(1.5rem, 3vw, 2.5rem); }
.zodiaro-theme #main-content .about-image img { height: clamp(220px, 28vw, 380px); }
.zodiaro-theme #main-content.article-page { padding-block: var(--section-space); }
.zodiaro-theme #main-content .article-hero { padding-bottom: 1.75rem; }
.zodiaro-theme #main-content .article-feature { margin-bottom: 2rem; }
.zodiaro-theme #main-content .article-footer { margin-top: 2rem; padding-top: 1.75rem; }
.zodiaro-theme #main-content .account-shell { min-height: 0; padding-block: var(--section-space); }
.zodiaro-theme #main-content .account-dashboard { padding-block: var(--section-space); }
.zodiaro-theme #main-content :is(.account-library, .account-activity, .member-activation, .guidance-preferences, .account-privacy, .account-celestial-tools) { padding: clamp(1.25rem, 3vw, 3rem); gap: var(--section-gap); }
.zodiaro-theme #main-content .account-intro { min-height: 0; padding: clamp(1.5rem, 3vw, 3rem); gap: 1.25rem; }
.zodiaro-theme #main-content .account-intro h1 { font-size: clamp(2.8rem, 4.5vw, 4.5rem); }
.zodiaro-theme #main-content .account-auth { min-height: 0; }
.zodiaro-theme #main-content .account-auth__panel { padding: clamp(1.25rem, 2.8vw, 2.5rem); }
.zodiaro-theme #main-content .account-auth h2 { font-size: clamp(2.15rem, 3.4vw, 3rem); }
.zodiaro-theme #main-content .account-card { min-height: 0; }
.zodiaro-theme #main-content.not-found { min-height: 480px; padding-block: var(--section-space); }
.zodiaro-theme #main-content :is(.chart-loading, .chart-error) { min-height: 480px; padding-block: var(--section-space); }

/* Shrink grid children to their track, not to an unbroken label or form value. */
.zodiaro-theme #main-content :is(.wrap, .wrap--narrow, section, article, aside, header, form, fieldset),
.zodiaro-theme #main-content :is([class*="__grid"], [class$="-grid"], [class$="-layout"], [class$="__inner"], .section-heading--split, .account-auth, .account-shell) > *,
.zodiaro-theme .site-footer__top > * { min-width: 0; }
.zodiaro-theme #main-content :is(input, select, textarea) { min-width: 0; max-width: 100%; }
.zodiaro-theme #main-content :is(h1, h2, h3, p, a, label, summary),
.zodiaro-theme .site-footer :is(p, a) { overflow-wrap: break-word; }
.zodiaro-theme #main-content .button { max-width: 100%; white-space: normal; text-align: center; }
.zodiaro-theme .site-footer { padding-top: var(--section-space); }
.zodiaro-theme .site-footer__top { padding-bottom: var(--section-space); gap: var(--section-gap); }
.zodiaro-theme .site-footer__bottom { gap: 1rem 2rem; }

/* Compact rhythm for tool guides, with independently orbiting celestial details. */
.seo-tool-page > .section,
.horoscope-hub > .section { padding-block: clamp(2rem, 3.4vw, 4rem); }
.seo-tool-page .section-heading,
.horoscope-hub .section-heading { margin-bottom: 1.75rem; }
.seo-tool-page > .section h2 { font-size: clamp(2.15rem, 3.7vw, 3.6rem); line-height: 1.04; }
.seo-tool-page .seo-direct-answer > .section-heading { margin-bottom: 0; }
.seo-tool-page .section-heading > p:last-child,
.seo-tool-page .seo-copy-grid > div > p:last-child,
.seo-tool-page .seo-split-copy > div > p:last-child { margin-bottom: 0; }
.seo-tool-page .seo-method__grid,
.seo-tool-page .seo-copy-grid,
.seo-tool-page .seo-split-copy,
.seo-tool-page .seo-faq-grid { gap: clamp(2rem, 5vw, 5rem); }
.seo-tool-page .big-three-seo-grid,
.seo-tool-page .calculator-directory,
.seo-tool-page .calculator-sign-library__grid,
.seo-tool-page .seo-table-wrap,
.seo-tool-page .seo-next-paths__grid { margin-top: 1.75rem; }
.seo-tool-page .big-three-seo-card { min-height: 0; padding: clamp(1.5rem, 2.2vw, 2rem); }
.seo-tool-page .big-three-seo-card__icon { margin-bottom: 1.5rem; }
.seo-tool-page .big-three-seo-card h3 { font-size: clamp(1.65rem, 2.2vw, 2.15rem); }
.seo-tool-page .calculator-card { min-height: 330px; padding: 1.75rem; }
.seo-tool-page .calculator-card__symbol { margin-bottom: 1.5rem; }
.seo-tool-page .seo-next-paths__grid > a { min-height: 240px; padding: 1.6rem; }
.seo-tool-page .seo-next-paths__grid h3 { margin-top: 1.4rem; }
.seo-tool-page .seo-disclaimer { margin-top: 1.5rem; }

/* Orbiting markers never rotate the readable symbol or the section copy. */
.editorial-section .eyebrow > .editorial-orbit {
  position: relative; display: inline-block; flex: 0 0 26px; width: 26px; height: 26px;
  margin: 0; border: 1px solid currentColor; border-radius: 50%; background: none;
}
.editorial-orbit > i,
.editorial-orbiting::after {
  position: absolute; inset: -5px; border: 1px solid rgba(184,139,69,.32); border-top-color: var(--gold);
  border-radius: 50%; background: radial-gradient(circle at 50% 3px, var(--gold) 0 2.5px, transparent 3px);
  animation: editorial-orbit-turn var(--editorial-orbit-duration, 12s) linear infinite;
  animation-play-state: paused; pointer-events: none; content: "";
}
.editorial-orbit > i { inset: 3px; }
.editorial-orbit::after { position: absolute; inset: 8px; border-radius: 50%; background: currentColor; content: ""; }
.editorial-orbiting { position: relative; }
.has-celestial-motion .is-celestial-active .editorial-orbit > i,
.has-celestial-motion .is-celestial-active .editorial-orbiting::after { animation-play-state: running; }
.editorial-motion-control.celestial-motion-toggle {
  position: relative; inset: auto; margin-top: 1rem; transform: none; box-shadow: none;
  border-color: rgba(184,139,69,.4); background: transparent; color: var(--gold-dark);
}
.dark-section .editorial-motion-control.celestial-motion-toggle,
:is(.seo-tool-hero, .calculator-hub__hero, .reading-hero, .pricing-hero, .compatibility-hero, .account-intro, .not-found) .editorial-motion-control.celestial-motion-toggle { color: var(--paper); }
.editorial-motion-control.celestial-motion-toggle { max-width: 100%; white-space: normal; }
.editorial-motion-control.celestial-motion-toggle:hover,
.editorial-motion-control.celestial-motion-toggle:focus-visible { background: rgba(184,139,69,.12); }
.editorial-motion-control .ui-icon { color: var(--gold); }
.editorial-section .seo-steps > li { position: relative; }
.editorial-section .seo-steps > li::after {
  position: absolute; bottom: -1px; left: 0; width: 100%; height: 1px; background: var(--gold);
  transform: scaleX(0); transform-origin: left; opacity: .6; content: "";
  transition: transform 900ms ease;
}
.editorial-section .seo-steps > li.is-editorial-revealed::after { transform: scaleX(1); }

/* The forecast replaces the painted moon with one complete rotating moon. */
.forecast-motion-hero { display: flex; align-items: center; justify-content: center; min-height: 380px; padding-block: 3rem 4.5rem; }
.forecast-motion-hero .page-hero__art { background-image: url("../images/dark-celestial-banner-clean.webp"); }
.has-celestial-motion .forecast-motion-hero .page-hero__art::before { display: none; }
.forecast-motion-hero .page-hero__inner { z-index: 2; max-width: 800px; }
.forecast-motion-hero h1 { margin-bottom: 1.1rem; font-size: clamp(2.8rem, 5vw, 4.5rem); }
.forecast-motion-hero .page-hero__inner > p:last-child { margin-bottom: 0; }
.forecast-orrery { position: absolute; z-index: 1; top: 50%; right: 1.5%; width: clamp(180px, 23vw, 320px); aspect-ratio: 1; transform: translateY(-50%); pointer-events: none; }
.forecast-orrery .celestial-moon { inset: 16%; width: auto; transform: none; }
.forecast-orrery .planetary-orbit { border-color: rgba(219,193,142,.36); }
.forecast-orrery .planetary-system--compact .planetary-orbit--1 { --orbit-size: 75%; --orbit-duration: 12s; }
.forecast-orrery .planetary-system--compact .planetary-orbit--2 { --orbit-size: 96%; --orbit-duration: 22s; }
.forecast-orrery .planetary-system--compact .planetary-orbit--3 { --orbit-size: 118%; --orbit-duration: 32s; }
.forecast-orrery .planetary-system--compact .planetary-orbit--4 { --orbit-size: 140%; --orbit-duration: 44s; }
.forecast-motion-hero .celestial-motion-toggle--scene { bottom: 1rem; }
.motion-paused .editorial-orbit > i,
.motion-paused .editorial-orbiting::after,
.editorial-document-hidden .editorial-orbit > i,
.editorial-document-hidden .editorial-orbiting::after,
.editorial-document-hidden .forecast-orrery * { animation-play-state: paused !important; }
.editorial-section :is(.reading-sign__orbit, .sign-hero__orbit) { animation: editorial-orbit-turn 24s linear infinite; animation-play-state: paused; }
.has-celestial-motion .is-celestial-active :is(.reading-sign__orbit, .sign-hero__orbit) { animation-play-state: running; }
.editorial-section .sign-hero__orbit--inner { animation-direction: reverse; animation-duration: 36s; }
.motion-paused :is(.reading-sign__orbit, .sign-hero__orbit),
.editorial-document-hidden :is(.reading-sign__orbit, .sign-hero__orbit) { animation-play-state: paused !important; }

@keyframes editorial-orbit-turn { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
@media (max-width: 980px) {
  body.zodiaro-theme { overflow-x: clip; }
  .zodiaro-theme .menu-toggle { display: block; }
  .zodiaro-theme .site-nav {
    position: fixed;
    inset: 70px 0 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 2rem 1.5rem 3rem;
    background: var(--ivory);
    transform: translateX(100%);
    transition: transform 240ms ease;
    overflow-y: auto;
  }
  .admin-bar.zodiaro-theme .site-nav { inset-block-start: 102px; }
  .zodiaro-theme .site-nav.is-open { transform: translateX(0); }
  .zodiaro-theme .site-nav__list,
  .zodiaro-theme .site-nav ul { display: block; }
  .zodiaro-theme .site-nav li { border-bottom: 1px solid var(--line); }
  .zodiaro-theme .site-nav li a:not(.button) { display: block; padding: 1rem 0; font-family: var(--display); font-size: 1.6rem; font-weight: 600; letter-spacing: -.02em; text-transform: none; }
  .zodiaro-theme .header-account { padding: 1rem 0; }
  .zodiaro-theme .site-nav .button { margin-top: 1rem; }
  .zodiaro-theme .menu-toggle[aria-expanded="true"] .menu-toggle__lines i:first-child { transform: translateY(3.5px) rotate(45deg); }
  .zodiaro-theme .menu-toggle[aria-expanded="true"] .menu-toggle__lines i:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .forecast-orrery { right: -3%; opacity: .48; }
  .forecast-motion-hero .page-hero__inner { max-width: 700px; }
  .zodiaro-theme #main-content .account-shell { grid-template-columns: minmax(0, 1fr); }
  .zodiaro-theme #main-content .account-intro .brand { margin-bottom: 1rem; }
  .zodiaro-theme #main-content .account-intro__marks { padding-top: .75rem; }
  .zodiaro-theme #main-content :is(.reading-hero__inner, .sign-hero__inner) { grid-template-columns: minmax(0, 1fr) minmax(180px, .5fr); }
}
@media (max-width: 860px) {
  .admin-bar.zodiaro-theme .site-nav { inset-block-start: 116px; }
  .zodiaro-theme #main-content .chart-story__stage { padding-block: 0 1rem; }
  .zodiaro-theme #main-content .chart-story__chapters article { padding-block: 1.5rem; }
  .zodiaro-theme #main-content .daily-sky { min-height: 0; }
  .zodiaro-theme #main-content .daily-sky__inner { padding-block: var(--section-space); }
}
@media (max-width: 640px) {
  .zodiaro-theme { --section-space: 2rem; --section-gap: 1.75rem; }
  .zodiaro-theme :is(.wrap, .wrap--narrow, .hero__inner) { max-width: calc(100% - 40px); }
  .zodiaro-theme #main-content .section-heading { margin-bottom: 1.5rem; }
  .zodiaro-theme #main-content :is(.reading-hero__inner, .sign-hero__inner, .section-heading--split, .page-title--split) { grid-template-columns: minmax(0, 1fr); gap: 1.5rem; }
  .zodiaro-theme #main-content :is(.reading-sign, .sign-hero__symbol) { width: min(190px, 100%); margin-inline: auto; order: -1; }
  .zodiaro-theme #main-content .sign-hero__symbol .zodiac-emblem { width: 100px; height: 100px; }
  .zodiaro-theme #main-content .reading-sign .zodiac-emblem { width: 90px; height: 90px; }
  .zodiaro-theme #main-content .horoscope-toolbar { flex-direction: column; align-items: stretch; gap: 1rem; }
  .zodiaro-theme #main-content .horoscope-toolbar label { flex-wrap: wrap; }
  .zodiaro-theme #main-content .period-tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; overflow: visible; padding: 0; }
  .zodiaro-theme #main-content .period-tabs a { min-width: 0; min-height: 44px; padding-inline: .5rem; }
  .zodiaro-theme #main-content .period-cards > a { min-height: 0; }
  .zodiaro-theme #main-content :is(.feature-table__head, .feature-table__row) { min-width: 0; grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr)); }
  .zodiaro-theme #main-content :is(.feature-table__head, .feature-table__row) > * { min-width: 0; padding: .85rem .5rem; overflow-wrap: anywhere; }
  .zodiaro-theme #main-content .feature-table__row > span:first-child { font-size: 1.1rem; }
  .zodiaro-theme #main-content :is(.feature-table__row > span:not(:first-child), .feature-table__row > strong) { flex-wrap: wrap; gap: .3rem; }
  .zodiaro-theme #main-content :is(.account-shell, .account-dashboard) { width: calc(100% - 24px); }
  .zodiaro-theme #main-content .account-dashboard__header { flex-wrap: wrap; padding: 1.25rem; }
  .zodiaro-theme #main-content .account-dashboard__header h1 { font-size: 2.8rem; }
  .zodiaro-theme #main-content .account-dashboard__header .brand { display: none; }
  .zodiaro-theme #main-content .account-dashboard__grid .account-card:last-child h2 { font-size: clamp(1.35rem, 6.2vw, 1.65rem); overflow-wrap: anywhere; }
  .zodiaro-theme #main-content .account-auth { grid-template-columns: minmax(0, 1fr); }
  .zodiaro-theme #main-content .account-intro { gap: .85rem; }
  .zodiaro-theme #main-content .account-intro > * { margin-block: 0; }
  .zodiaro-theme #main-content .account-intro .brand { margin-bottom: .5rem; }
  .zodiaro-theme #main-content .account-intro .editorial-motion-control { margin-top: .5rem; }
  .zodiaro-theme #main-content .account-auth__panel + .account-auth__panel { border-left: 0; border-top: 1px solid var(--line); }
  .zodiaro-theme #main-content .premium-accordion__item.is-active > div { max-height: none; }
  .zodiaro-theme #main-content :is(.element-guide__grid article, .trait-grid article) { padding: 1.25rem; }
  .zodiaro-theme #main-content .sign-tile { gap: .6rem; padding: .9rem .65rem; }
  .zodiaro-theme #main-content .sign-tile strong { font-size: 1.15rem; }
  .zodiaro-theme #main-content .sign-grid--compact .sign-tile strong { font-size: .65rem; }
  .zodiaro-theme #main-content .sign-tile .zodiac-emblem { width: 38px; height: 38px; flex: 0 0 38px; }
  .zodiaro-theme #main-content .phone { width: min(300px, 100%); }
  .zodiaro-theme .site-footer__top { grid-template-columns: minmax(0, 1fr); }
  .zodiaro-theme .footer-action { grid-column: auto; }
  .zodiaro-theme .site-footer__bottom ul { flex-wrap: wrap; gap: .75rem 1.25rem; }
  .seo-tool-page > .section, .horoscope-hub > .section { padding-block: 2rem; }
  .seo-tool-page .section-heading { margin-bottom: 1.5rem; }
  .seo-tool-page .calculator-card { min-height: 0; padding: 1.5rem; }
  .seo-tool-page .seo-method__grid, .seo-tool-page .seo-copy-grid,
  .seo-tool-page .seo-split-copy, .seo-tool-page .seo-faq-grid { gap: 1.75rem; }
  .forecast-motion-hero { min-height: 350px; padding-block: 2.25rem 4.75rem; }
  .forecast-motion-hero h1 { font-size: 2.8rem; }
  .forecast-orrery { top: 35%; right: -12%; width: 180px; opacity: .3; }
}
@media (prefers-reduced-motion: reduce) {
  .editorial-orbit > i, .editorial-orbiting::after,
  .editorial-section :is(.reading-sign__orbit, .sign-hero__orbit) { animation: none !important; }
  .editorial-section .seo-steps > li::after { transition: none; transform: none; }
}
