/*
 * Jyotisya consumer spine
 * ------------------------
 * A restrained editorial layer over the existing calculation product.
 * The underlying chart, panchanga, Ask, compatibility, account, and report
 * behavior remains unchanged; this file controls hierarchy and disclosure.
 */

:root {
  --simple-rule: var(--jyotisya-rule);
  --simple-rule-strong: var(--jyotisya-rule-strong);
  --simple-max: 1180px;
}

/* Keep the header on one row when the optional account action becomes ready. */
.site-header {
  grid-template-areas: "brand primary status account";
  grid-template-columns: auto minmax(360px, 1fr) auto auto;
  column-gap: clamp(10px, 1.8vw, 24px);
}

.site-header > .brand {
  grid-area: brand;
}

.site-header > #primary-navigation,
.site-header > .experience-top-nav {
  grid-area: primary;
  justify-self: center;
}

.site-header > .header-status {
  grid-area: status;
}

.site-header > .header-status:not(.is-error) {
  display: none;
}

.site-header > .account-button {
  grid-area: account;
  width: auto;
  max-width: max-content;
  justify-self: end;
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-control-line);
  background: transparent;
}

.site-header > .account-button:hover,
.site-header > .account-button:focus-visible {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold);
  background: var(--jyotisya-gold);
}

/* Six durable destinations after calculation: Today, Horoscope, Chart, Ask,
   Match, and Learn. Forecast tracking remains a contextual advanced route. */
body.has-calculated-report .experience-top-nav > [data-report-action="home"],
body.has-calculated-report .experience-top-nav > [data-report-action="calendar"],
body.has-calculated-report .experience-top-nav > [data-report-action="forecast"],
body.has-calculated-report .answer-home-nav > [data-answer-action="home"],
body.has-calculated-report .answer-home-nav > [data-answer-action="forecast"] {
  display: none;
}

body.has-calculated-report .answer-home-nav {
  position: sticky;
  top: calc(var(--site-header-offset) + 8px);
  z-index: 24;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  width: min(940px, calc(100% - 32px));
  max-width: none;
  margin: 0 auto 14px;
  padding: 5px;
  color: var(--jyotisya-copy);
  border: 1px solid var(--jyotisya-rule-strong);
  border-radius: 16px;
  background: color-mix(in srgb, var(--jyotisya-night-raised) 94%, transparent);
  box-shadow:
    0 14px 34px
    color-mix(in srgb, var(--jyotisya-night) 38%, transparent);
  backdrop-filter: blur(18px);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
}

body.has-calculated-report .answer-home-nav::-webkit-scrollbar {
  display: none;
}

body.has-calculated-report .answer-home-nav button {
  min-width: 0;
  min-height: 44px;
  padding: 8px 10px;
  color: var(--jyotisya-copy);
  border: 0;
  border-radius: 11px;
  background: transparent;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}

body.has-calculated-report .answer-home-nav button:is(
  .is-active,
  [aria-current="location"],
  :hover,
  :focus-visible
) {
  color: var(--jyotisya-ink-on-accent);
  background: var(--jyotisya-gold);
}

body.has-calculated-report .answer-home-nav button:focus-visible {
  outline: 2px solid var(--jyotisya-gold-light);
  outline-offset: 2px;
}

body.has-calculated-report .site-header > .header-status:not(.is-error) {
  display: none;
}

.answer-chart-subviews {
  min-height: 56px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid var(--simple-rule);
  background: transparent;
}

.answer-chart-subviews button {
  min-height: 44px;
  padding: 10px 16px;
  color: var(--jyotisya-gold-light);
  border-color: var(--jyotisya-control-line);
  background: transparent;
}

.answer-chart-subviews button:hover,
.answer-chart-subviews button:focus-visible {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold-light);
  background: var(--jyotisya-gold-light);
}

.form-step.has-professional-report.is-visible {
  display: flex;
  flex-direction: column;
}

.form-step.has-professional-report > .review-layout {
  display: none;
}

.form-step.has-professional-report > .validation-preview-panel,
.form-step.has-professional-report > .private-session-panel,
.form-step.has-professional-report > .calculation-gate,
.form-step.has-professional-report > .form-actions {
  display: none;
}

.form-step.has-professional-report > .answer-home { order: 1; }
.form-step.has-professional-report > .professional-report-reader { order: 2; }
.form-step.has-professional-report > .validation-preview-panel { order: 3; }
.form-step.has-professional-report > .private-session-panel { order: 4; }
.form-step.has-professional-report > .calculation-gate { order: 5; }
.form-step.has-professional-report > .form-actions { order: 6; }

.professional-report-reader[hidden] {
  display: none;
}

.answer-progressive-disclosure {
  margin: clamp(20px, 4vw, 40px) 0 0;
  border-top: 1px solid color-mix(in srgb, var(--ink) 18%, transparent);
}

.answer-progressive-disclosure > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 2px;
  color: var(--ink);
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.answer-progressive-disclosure > summary::after {
  content: "+";
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.answer-progressive-disclosure[open] > summary::after {
  content: "−";
}

.answer-progressive-disclosure > summary:focus-visible {
  outline: 3px solid var(--saffron);
  outline-offset: 4px;
}

/* Keep the post-calculation product spine in the header on desktop. The
   legacy wide-screen side rail competes with the reading and can overlap its
   first heading when viewport or font metrics shift. */
@media (min-width: 1240px) {
  body.has-calculated-report .experience-top-nav:not([hidden]) {
    position: static;
    inset: auto;
    z-index: auto;
    flex-direction: row;
    align-items: center;
    gap: 2px;
    width: auto;
    max-height: none;
    overflow: visible;
    padding: 4px;
    border-radius: 999px;
    box-shadow: none;
    backdrop-filter: none;
  }

  body.has-calculated-report .experience-top-nav :is(button, .nav-link) {
    padding: 7px 13px;
    text-align: center;
    border-radius: 999px;
    font-size: 12px;
  }

  body.has-calculated-report #main > .view {
    padding-left: clamp(20px, 5vw, 72px);
  }
}

/* Landing: one focal promise and one birth-moment action. */
#view-home {
  background:
    linear-gradient(122deg, transparent 0 44%, color-mix(in srgb, var(--jyotisya-gold) 5.5%, transparent) 44.1% 44.2%, transparent 44.3%),
    linear-gradient(14deg, transparent 0 70%, color-mix(in srgb, var(--jyotisya-ink) 3.5%, transparent) 70.1% 70.2%, transparent 70.3%),
    radial-gradient(920px 560px at 84% 2%, color-mix(in srgb, var(--jyotisya-celestial) 20%, transparent), transparent 68%),
    linear-gradient(180deg, var(--jyotisya-night-soft) 0%, var(--jyotisya-night) 100%);
}

#view-home::before {
  opacity: 0.08;
  background-size: 32px 32px;
}

#view-home .hero {
  display: block;
  width: min(var(--simple-max), 100%);
  min-height: min(720px, calc(100vh - 76px));
  padding-top: clamp(20px, 3vh, 34px);
  padding-bottom: clamp(58px, 8vh, 88px);
}

#view-home .hero-copy {
  width: 100%;
  max-width: none;
}

#view-home .hero h1 {
  max-width: 900px;
  margin-top: 10px;
  font-size: clamp(52px, 5.8vw, 72px);
  line-height: 0.92;
}

#view-home .hero-lede {
  max-width: 850px;
  margin-top: 13px;
  color: var(--jyotisya-copy);
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.55;
}

.quick-chart-form {
  position: relative;
  width: 100%;
  margin-top: clamp(22px, 2.3vw, 28px);
  padding: clamp(18px, 2vw, 23px) 0 22px;
  border-top: 1px solid var(--simple-rule-strong);
  border-bottom: 1px solid var(--simple-rule);
}

.quick-chart-sentence {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px 11px;
  color: var(--jyotisya-ink);
  font-family: var(--serif);
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 430;
  line-height: 1.45;
  letter-spacing: -0.015em;
}

.quick-chart-control {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  border-bottom: 1px solid var(--jyotisya-control-line);
  transition: border-color 160ms ease, opacity 160ms ease;
}

.quick-chart-control:focus-within {
  border-bottom-color: var(--jyotisya-gold);
}

.quick-chart-control input {
  width: 100%;
  min-width: 0;
  height: 46px;
  padding: 1px 4px 0;
  border: 0;
  border-radius: 0;
  outline: 0;
  color: var(--jyotisya-ink);
  background: transparent;
  box-shadow: none;
  font-family: var(--sans);
  font-size: clamp(17px, 1.8vw, 22px);
  font-weight: 470;
  letter-spacing: -0.01em;
}

.quick-chart-control input::placeholder {
  color: var(--jyotisya-subtle);
  opacity: 1;
}

.quick-chart-control input[type="date"],
.quick-chart-control input[type="time"] {
  color-scheme: dark;
}

.quick-chart-place-control {
  flex: 1 1 310px;
  max-width: 430px;
}

.quick-chart-date-control {
  flex: 0 1 190px;
  width: 190px;
}

.quick-chart-time-control {
  flex: 0 1 155px;
  width: 155px;
}

.quick-chart-email-sentence {
  margin-top: 14px;
}

.quick-time-evidence {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px;
  margin-top: 13px;
  color: var(--jyotisya-muted);
  font-size: 14px;
  line-height: 1.5;
}

.quick-time-evidence select {
  min-height: 44px;
  padding: 8px 30px 8px 9px;
  border: 0;
  border-bottom: 1px solid var(--jyotisya-control-line);
  border-radius: 0;
  color: var(--jyotisya-ink);
  background-color: transparent;
  font: inherit;
}

.quick-time-evidence select:focus-visible {
  outline: 2px solid var(--jyotisya-gold);
  outline-offset: 3px;
}

.quick-time-note {
  max-width: 760px;
  margin: 7px 0 0;
  color: var(--jyotisya-subtle);
  font-size: 14px;
  line-height: 1.5;
}

.quick-chart-email-control {
  flex: 1 1 320px;
  max-width: 470px;
}

.quick-chart-control input:disabled {
  cursor: not-allowed;
  opacity: 0.58;
}

.quick-chart-email-sentence[hidden],
.quick-email-note[hidden] {
  display: none;
}

.quick-place-results {
  position: relative;
  z-index: 4;
  display: grid;
  width: min(610px, 100%);
  max-height: 310px;
  margin: 12px 0 0 188px;
  overflow-y: auto;
  border: 1px solid var(--jyotisya-control-line);
  background: var(--jyotisya-surface);
  box-shadow: 0 20px 50px rgba(1, 3, 12, 0.42);
}

.quick-place-results[hidden] {
  display: none;
}

.quick-place-option {
  display: grid;
  align-content: center;
  gap: 4px;
  width: 100%;
  min-height: 54px;
  padding: 13px 16px;
  border: 0;
  border-bottom: 1px solid var(--jyotisya-rule);
  color: var(--jyotisya-ink);
  background: transparent;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.quick-place-option:last-child {
  border-bottom: 0;
}

.quick-place-option:hover,
.quick-place-option:focus-visible,
.quick-place-option[aria-selected="true"] {
  outline: 0;
  background: rgba(212, 175, 106, 0.12);
}

.quick-place-option strong {
  font-size: 15px;
  font-weight: 680;
}

.quick-place-option span,
.quick-place-empty {
  color: var(--jyotisya-muted);
  font-size: 14px;
  line-height: 1.45;
}

.quick-place-empty {
  margin: 0;
  padding: 15px 16px;
}

.quick-chart-consent {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  width: fit-content;
  min-height: 44px;
  padding-block: 5px;
  color: var(--jyotisya-muted);
  font-size: 14px;
  line-height: 1.45;
  cursor: pointer;
}

.quick-chart-consent {
  max-width: 760px;
  margin-top: 12px;
}

.quick-chart-consent input {
  flex: 0 0 20px;
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--jyotisya-gold);
}

.quick-email-note {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--jyotisya-subtle);
  font-size: 14px;
  line-height: 1.55;
}

.quick-chart-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
  margin-top: 16px;
}

.quick-chart-actions .button {
  min-height: 52px;
  padding-inline: 24px;
}

.quick-sample-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--jyotisya-gold-light);
  font-size: 14px;
  font-weight: 650;
  text-decoration: none;
}

.quick-sample-link:hover,
.quick-sample-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.quick-chart-status {
  min-height: 20px;
  max-width: 760px;
  margin: 13px 0 0;
  color: var(--jyotisya-muted);
  font-size: 14px;
  line-height: 1.5;
}

.quick-chart-status:empty {
  min-height: 0;
  margin-top: 0;
}

.quick-chart-status[data-tone="ready"] {
  color: var(--jyotisya-green-light);
}

.quick-chart-status[data-tone="warning"],
.quick-chart-status[data-tone="error"] {
  color: var(--jyotisya-warning);
}

.quick-email-handoff {
  display: grid;
  gap: 4px;
  width: min(100%, 860px);
  margin: 0 auto 24px;
  padding: 14px 16px;
  border: 1px solid rgba(212, 175, 106, 0.34);
  color: var(--jyotisya-copy);
  background: rgba(212, 175, 106, 0.08);
  font-size: 14px;
  line-height: 1.5;
}

.quick-email-handoff strong {
  color: var(--jyotisya-gold-light);
  font-size: 14px;
}

.quick-chart-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  max-width: 910px;
  margin: 26px 0 0;
  padding: 0;
  list-style: none;
}

.quick-chart-proof li {
  display: flex;
  align-items: center;
  gap: 11px;
  min-height: 40px;
  padding-right: 22px;
  color: var(--jyotisya-subtle);
  font-size: 14px;
  line-height: 1.35;
}

.quick-chart-proof strong {
  display: grid;
  flex: 0 0 27px;
  width: 27px;
  height: 27px;
  place-items: center;
  border: 1px solid rgba(212, 175, 106, 0.38);
  border-radius: 50%;
  color: var(--jyotisya-gold-light);
  font-size: 12px;
}

#view-home .hero-transaction-note {
  margin-top: 22px;
  color: var(--jyotisya-subtle);
  font-size: 14px;
}

#view-home .hero-transaction-note a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.landing-section-intro {
  max-width: var(--simple-max);
  padding: clamp(72px, 9vw, 118px) 0 30px;
  border-top: 1px solid var(--simple-rule);
}

.landing-section-intro h2 {
  max-width: 740px;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(40px, 5.2vw, 68px);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: -0.025em;
}

.landing-section-intro > p:last-child {
  max-width: 560px;
  margin: 18px 0 0;
  color: var(--jyotisya-muted);
  font-size: 15px;
}

.experience-layers {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(28px, 5vw, 72px);
  max-width: var(--simple-max);
  padding-bottom: clamp(82px, 10vw, 132px);
}

.experience-layers article,
.experience-layers article:hover,
.experience-layers article:focus-within {
  min-height: 0;
  padding: 24px 0 0;
  border: 0;
  border-top: 1px solid var(--simple-rule-strong);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
}

.experience-layers h2 {
  max-width: 13ch;
  margin-top: 18px;
  font-size: clamp(26px, 2.6vw, 36px);
  line-height: 1.02;
}

.experience-layers p {
  max-width: 34ch;
  font-size: 14px;
  line-height: 1.65;
}

.landing-today-bridge {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(36px, 8vw, 120px);
  max-width: var(--simple-max);
  padding: clamp(48px, 7vw, 82px) 0;
  border-top: 1px solid var(--simple-rule);
  border-bottom: 1px solid var(--simple-rule);
}

.landing-today-bridge h2 {
  max-width: 12ch;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(36px, 4.3vw, 58px);
  font-weight: 500;
  line-height: 0.98;
}

.landing-today-bridge > div:last-child {
  align-self: end;
}

.landing-today-bridge > div:last-child > p {
  max-width: 620px;
  margin: 0 0 24px;
  color: var(--jyotisya-copy);
  font-size: 15px;
  line-height: 1.7;
}

.landing-today-bridge .button {
  width: fit-content;
}

.landing-trust-panel {
  max-width: var(--simple-max);
  margin-top: clamp(78px, 10vw, 132px);
  padding: clamp(46px, 6vw, 78px) 0;
  border: 0;
  border-top: 1px solid var(--simple-rule);
  border-bottom: 1px solid var(--simple-rule);
  border-radius: 0;
  background: transparent;
}

.landing-trust-panel h2 {
  max-width: 13ch;
  font-size: clamp(38px, 4.6vw, 62px);
  line-height: 0.98;
}

.landing-text-link {
  display: inline-block;
  margin-top: 20px;
  color: var(--jyotisya-gold-light);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}

.landing-text-link:hover,
.landing-text-link:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.landing-evidence-chain b,
.landing-evidence-chain b:hover {
  padding: 7px 0;
  border: 0;
  border-bottom: 1px solid rgba(212, 175, 106, 0.48);
  border-radius: 0;
  background: transparent;
  transform: none;
}

.landing-evidence-example blockquote {
  margin-top: 26px;
  padding: 0 0 0 20px;
  border-radius: 0;
  background: transparent;
  font-size: clamp(21px, 2.1vw, 28px);
}

.landing-method-strip {
  max-width: var(--simple-max);
  justify-content: flex-start;
  padding: 30px 0;
  border-bottom: 1px solid var(--simple-rule);
}

.landing-faq {
  width: min(860px, 100%);
  max-width: none;
  margin-top: clamp(82px, 10vw, 126px);
  padding: 0;
}

.landing-faq h2 {
  font-size: clamp(38px, 4.5vw, 58px);
}

.landing-faq details {
  margin: 0;
  border: 0;
  border-top: 1px solid var(--simple-rule);
  border-radius: 0;
  background: transparent;
}

.landing-faq details:last-child {
  border-bottom: 1px solid var(--simple-rule);
}

.landing-faq details[open] {
  border-color: var(--simple-rule-strong);
}

.landing-faq summary {
  padding: 20px 44px 20px 0;
}

.landing-faq details p {
  max-width: 720px;
  padding: 0 40px 22px 0;
}

.landing-final-cta {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 40px;
  max-width: var(--simple-max);
  margin-top: clamp(92px, 12vw, 150px);
  padding: clamp(52px, 7vw, 84px) 0;
  border-top: 1px solid var(--simple-rule-strong);
}

.landing-final-cta h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(46px, 6.2vw, 82px);
  font-weight: 500;
  line-height: 0.94;
}

.landing-final-cta > div:first-child > p:last-child {
  max-width: 590px;
  margin: 20px 0 0;
  color: var(--jyotisya-muted);
  font-size: 15px;
}

.landing-final-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

/* Intake: keep the conversation light and let the form itself carry focus. */
.conversation-entry-welcome img {
  display: none;
}

.conversation-entry-welcome {
  margin-bottom: clamp(34px, 6vh, 64px);
}

.conversation-entry-welcome h2 {
  font-size: clamp(44px, 6vw, 68px);
}

#match-form.is-single-intake:not([data-single-intake-step="1"]) {
  padding-right: 0;
  padding-left: 0;
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

#match-form.is-single-intake .person-card {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  background: transparent;
}

#match-form.is-single-intake .single-intake-progress {
  max-width: 860px;
  padding-bottom: 18px;
  border-bottom: 1px solid rgba(236, 235, 225, 0.12);
}

/* The complete report remains available, but its shell should not introduce
   another heavy rounded container before the answer. */
body.has-calculated-report .answer-home {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
  box-shadow: none;
}

/* `/evidence` is the concise explanation; `/library` retains the complete
   source and release ledger for readers who deliberately open the deep layer. */
.evidence-library-bridge {
  display: none;
}

body.is-evidence-route .knowledge-coverage {
  display: none;
}

body.is-evidence-route .evidence-library-bridge {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 36px;
  margin: clamp(36px, 6vw, 72px) 0;
  padding: clamp(32px, 5vw, 56px) 0;
  border-top: 1px solid var(--simple-rule);
  border-bottom: 1px solid var(--simple-rule);
}

.evidence-library-bridge h2 {
  max-width: 16ch;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(32px, 4.1vw, 52px);
  font-weight: 500;
  line-height: 1;
}

.evidence-library-bridge p:last-child {
  max-width: 680px;
  color: var(--jyotisya-muted);
  line-height: 1.65;
}

@media (max-width: 1180px) {
  .site-header {
    grid-template-areas: "brand primary account";
    grid-template-columns: auto minmax(0, 1fr) auto;
  }

  .site-header > .header-status:not(.is-error) {
    display: none;
  }
}

@media (max-width: 820px) {
  .site-header,
  body.has-calculated-report .site-header,
  body.is-single-intake-active .site-header {
    grid-template-areas:
      "brand account"
      "primary primary";
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 10px;
    min-height: 68px;
    padding: 10px 20px 12px;
  }

  .site-header > #primary-navigation {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    margin: 0;
    padding: 4px;
    overflow: visible;
    border-radius: 16px;
    box-shadow: none;
    -webkit-mask-image: none;
    mask-image: none;
  }

  .site-header > #primary-navigation .nav-link {
    min-width: 0;
    padding: 8px 4px;
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
  }

  .site-header > .account-button {
    max-width: 160px;
    padding: 8px 11px;
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
  }

  body.is-single-intake-active .site-header > #primary-navigation {
    display: none;
  }

  /* Keep the calculated mobile header quiet and avoid the legacy section
     label colliding with the wordmark. */
  body.has-calculated-report .site-header {
    grid-template-areas: "brand account";
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 64px;
  }

  body.has-calculated-report .site-header > .experience-top-nav,
  body.has-calculated-report .site-header > .header-section-label,
  body.has-calculated-report .site-header > .header-status {
    display: none;
  }

  body.has-calculated-report .site-header > .brand,
  body.has-calculated-report .site-header > .brand > span,
  body.has-calculated-report .site-header > .brand strong {
    min-width: max-content;
    white-space: nowrap;
  }

  #view-home .hero {
    min-height: 0;
    padding-top: 64px;
  }

  .quick-place-results {
    margin-left: 0;
  }

  .quick-chart-proof {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .experience-layers,
  .landing-today-bridge,
  .landing-trust-panel,
  .landing-final-cta,
  body.is-evidence-route .evidence-library-bridge {
    grid-template-columns: 1fr;
  }

  .landing-section-intro,
  .experience-layers,
  .landing-today-bridge,
  .landing-trust-panel,
  .landing-method-strip,
  .landing-final-cta {
    width: calc(100% - 32px);
  }

  .experience-layers {
    gap: 32px;
  }

  .experience-layers h2 {
    max-width: none;
  }

  .landing-final-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 620px) {
  .site-header .brand strong {
    font-size: 20px;
  }

  .site-header .brand small {
    display: none;
  }

  .site-header > .account-button {
    max-width: 145px;
  }

  #view-home .hero {
    width: calc(100% - 32px);
    padding-top: 36px;
    padding-bottom: 72px;
  }

  #view-home .hero h1 {
    font-size: clamp(48px, 13vw, 62px);
  }

  #view-home .hero-lede {
    font-size: 16px;
  }

  .quick-chart-form {
    margin-top: 24px;
    padding-top: 20px;
  }

  .quick-chart-sentence {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 10px 12px;
    font-size: 25px;
    line-height: 1.35;
  }

  .quick-chart-sentence > span:last-child:not(.quick-chart-control) {
    display: none;
  }

  .quick-chart-control,
  .quick-chart-place-control,
  .quick-chart-date-control,
  .quick-chart-time-control,
  .quick-chart-email-control {
    width: 100%;
    max-width: none;
  }

  .quick-chart-control input {
    font-size: 16px;
  }

  .quick-chart-email-sentence {
    margin-top: 25px;
  }

  .quick-time-evidence {
    display: grid;
    grid-template-columns: max-content minmax(0, 1fr);
    align-items: center;
  }

  .quick-time-evidence select {
    width: 100%;
    min-width: 0;
  }

  .quick-time-evidence > span:last-child {
    display: none;
  }

  .quick-chart-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .quick-chart-actions .button {
    width: 100%;
    text-align: center;
  }

  .quick-sample-link {
    text-align: center;
  }

  .quick-chart-proof li {
    padding-right: 0;
  }

  #view-home .hero-actions,
  .landing-final-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  #view-home .hero .button,
  .landing-final-actions .button {
    width: 100%;
    text-align: center;
  }

  .landing-section-intro {
    padding-top: 68px;
  }

  .landing-today-bridge,
  .landing-trust-panel {
    padding-top: 46px;
    padding-bottom: 46px;
  }

  .landing-method-strip {
    align-items: flex-start;
    gap: 10px;
  }

  .landing-faq {
    width: calc(100% - 32px);
  }

  .landing-final-cta {
    margin-top: 80px;
  }

  .conversation-entry-welcome h2 {
    font-size: clamp(40px, 12vw, 54px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .experience-layers article,
  .landing-evidence-chain b {
    transition: none;
  }
}

/* The simplified journey keeps the same touch-target standard after chart
   calculation, even where the older report stylesheet defines smaller pills. */
body.has-calculated-report .experience-top-nav :is(button, .nav-link),
.answer-qa-suggestions button,
.answer-qa-more-suggestions button,
.answer-qa-quick-actions button,
.answer-qa-turn-suggestions button,
.answer-qa-memory-panel button,
.answer-qa-feedback-controls button,
.answer-qa-audio button,
.horoscope-period-tabs button,
.account-button {
  min-height: 44px;
}

.answer-qa-feedback-controls button,
.answer-qa-audio button {
  width: 44px;
  min-width: 44px;
  height: 44px;
}

.answer-qa-composer-row > .answer-qa-tool {
  width: 44px;
  min-width: 44px;
  height: 44px;
}

.answer-chart-professional {
  margin-top: 24px;
}

/* Carry the same readable, finger-sized interaction contract into the
   secondary report tools instead of letting the expert surfaces regress to
   desktop-only micro controls. */
#primary-navigation .nav-link,
.outlook-tabs button,
.answer-chart-subviews button,
.answer-explorer-controls button,
.answer-text-button,
.answer-glossary-related button,
.answer-qa-tools .answer-qa-language,
.answer-qa-tools .answer-qa-depth,
.back-to-top {
  min-height: 44px;
}

#primary-navigation .nav-link,
.answer-text-button,
.answer-qa-more-suggestions > summary,
.answer-qa-context-panel > summary,
.answer-qa-memory-panel > summary,
.answer-qa-privacy > summary,
.answer-qa-story-details > summary,
.answer-qa-reasoning-details > summary,
.answer-qa-grounded-more > summary,
.answer-qa-citations summary,
.answer-glossary-card > details > summary {
  display: inline-flex;
  align-items: center;
}

.answer-qa-more-suggestions > summary,
.answer-qa-context-panel > summary,
.answer-qa-memory-panel > summary,
.answer-qa-privacy > summary,
.answer-qa-story-details > summary,
.answer-qa-reasoning-details > summary,
.answer-qa-grounded-more > summary,
.answer-qa-citations summary,
.answer-glossary-card > details > summary {
  min-height: 44px;
}

.answer-qa-memory-panel input {
  min-height: 44px;
}

.answer-qa-memory-panel form label:has(input[type="checkbox"]) {
  display: flex;
  min-height: 44px;
  align-items: center;
}

.answer-transit-axis > div {
  height: 30px;
}

/* Professional typography and contrast contract
   -------------------------------------------------------------------------
   The public journey and calculated workspace share one type system:
   Cormorant Garamond for editorial headings, Albert Sans for every control
   and reading surface. Secondary copy never drops below the approved muted
   palette and functional text never relies on opacity for legibility. */
body.is-home-view,
body.has-calculated-report {
  color-scheme: dark;
  color: var(--jyotisya-ink);
  background-color: var(--jyotisya-night);
  font-family: var(--font-body);
}

:is(body.is-home-view, body.has-calculated-report) :is(button, input, select, textarea) {
  font-family: var(--font-body);
}

:is(#view-home, body.has-calculated-report .answer-home) :is(h1, h2, h3),
:is(body.is-home-view, body.has-calculated-report) .brand strong {
  font-family: var(--font-display);
}

.site-header .brand small {
  color: var(--jyotisya-gold);
  font-size: 12px;
}

body.has-calculated-report .experience-top-nav :is(button, .nav-link) {
  min-height: 44px;
  padding: 7px 13px;
  color: var(--jyotisya-muted);
  border: 0;
  border-radius: 999px;
  background: transparent;
  box-shadow: none;
  cursor: pointer;
  font-size: 13px;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}

body.has-calculated-report .experience-top-nav :is(button, .nav-link):hover,
body.has-calculated-report .experience-top-nav :is(button, .nav-link):focus-visible,
body.has-calculated-report .experience-top-nav :is(button, .nav-link)[aria-current="page"],
body.has-calculated-report .experience-top-nav :is(button, .nav-link).is-active {
  color: var(--jyotisya-ink-on-accent);
  background: var(--jyotisya-gold);
  box-shadow: 0 5px 18px color-mix(in srgb, var(--jyotisya-gold) 20%, transparent);
}

body.has-calculated-report .answer-home .answer-qa :is(
  p,
  li,
  dt,
  dd,
  label,
  textarea,
  input,
  select
) {
  font-size: clamp(14px, 0.82rem + 0.15vw, 16px);
  line-height: 1.58;
}

body.has-calculated-report .answer-home .answer-qa :is(button, summary) {
  font-size: clamp(13px, 0.78rem + 0.1vw, 14px);
  line-height: 1.45;
}

body.has-calculated-report .answer-home .answer-qa :is(
  .answer-qa-turn-suggestions > span,
  .answer-qa-turn-suggestions > small,
  .answer-qa-audio-status,
  .answer-qa-feedback > span,
  .answer-qa-feedback > small,
  .answer-qa-meaning-path > span,
  .answer-qa-evidence-groups > span,
  .answer-qa-evidence-groups li span,
  .answer-qa-context-panel,
  .answer-qa-memory,
  .answer-qa-memory-panel,
  .answer-qa-privacy,
  .answer-qa-conversation-state
) {
  color: var(--jyotisya-muted);
  font-size: 12px;
  line-height: 1.5;
}

body.has-calculated-report .answer-home .answer-qa-head > span,
body.has-calculated-report .answer-home .answer-qa-status,
body.has-calculated-report .answer-home .answer-personal-story > span {
  color: var(--jyotisya-gold);
  font-size: 12px;
  line-height: 1.45;
}

body.has-calculated-report .answer-home .answer-qa-memory :is(span, b) {
  font-size: 12px;
  line-height: 1.5;
}

body.has-calculated-report .answer-home .answer-qa-memory > span {
  color: var(--jyotisya-muted);
}

body.has-calculated-report .answer-home .answer-qa :is(
  .answer-qa-focused strong,
  .answer-qa-meaning-grid strong,
  .answer-qa-development-map strong,
  .answer-personal-story strong,
  .answer-qa-boundaries strong,
  .answer-qa-reasoning-details strong,
  .answer-qa-evidence-groups strong
) {
  font-size: 13px;
  line-height: 1.4;
}

body.has-calculated-report .answer-home .answer-qa-context-panel > summary,
body.has-calculated-report .answer-home .answer-qa-memory b {
  color: var(--jyotisya-ink);
}

body.has-calculated-report .answer-home .answer-qa-composer-row > .button {
  font-size: 0;
}

body.has-calculated-report .answer-home :is(
  .periodic-outlook,
  .answer-current-chapter,
  .answer-chart-explorer,
  .answer-planning,
  .answer-life-map
) :is(p, li) {
  color: var(--jyotisya-copy);
  font-size: clamp(14px, 0.84rem + 0.12vw, 16px);
  line-height: 1.62;
}

body.has-calculated-report .answer-home :is(
  .periodic-outlook,
  .answer-current-chapter,
  .answer-chart-explorer,
  .answer-planning,
  .answer-life-map
) :is(small, .outlook-basis, .answer-section-note) {
  color: var(--jyotisya-muted);
  font-size: 12px;
  line-height: 1.5;
}

.site-footer {
  color: var(--jyotisya-muted);
  font-size: 12px;
}

.site-footer :is(span, a) {
  font-size: 12px;
}

.answer-transit-axis span {
  font-size: 12px;
}

.answer-transit-row > div {
  height: 50px;
}

.answer-transit-band {
  top: 3px;
  height: 44px;
  font-size: 12px;
}

.answer-explorer-legend,
.answer-glossary-card > footer > span {
  font-size: 12px;
}

.answer-glossary-card > details summary {
  font-size: 12px;
}

.answer-glossary-related button {
  padding: 8px 11px;
  font-size: 12px;
}

/* Calculated-workspace legibility floor
   -------------------------------------------------------------------------
   These are functional labels, dates, facts and explanations—not ornamental
   microtype. Keep them at 12px or larger and let layouts gain space instead
   of shrinking the information. Print-report typography remains isolated. */
body.has-calculated-report .answer-home :is(
  .card-kicker,
  .answer-confidence small,
  .answer-sample-notice strong,
  .answer-summary > span,
  .answer-inner-outer > header > span,
  .answer-strength-challenge > header > span,
  .answer-defining-patterns > div:first-child > span,
  .answer-current-chapter > div:first-child > span,
  .answer-transit-timing > header > span,
  .answer-chart-explorer > header > span,
  .answer-planning > div:first-child > span,
  .answer-life-map > header > span,
  .answer-explore > div:first-child > span,
  .answer-qa > div:first-child > span,
  .answer-sensitivity-notice > span,
  .answer-pattern-grid article > span
) {
  font-size: 12px;
  line-height: 1.45;
}

body.has-calculated-report .answer-home :is(
  .answer-explorer-controls button,
  .answer-explorer-timeline > div:first-child span,
  .answer-explorer-timeline button span,
  .answer-explorer-chips span,
  .answer-reading-mode > div:first-child > span,
  .answer-reading-mode > div:first-child > p,
  .answer-reading-mode button small,
  .answer-life-question-index a,
  .answer-topic-what strong,
  .answer-topic-card > span,
  .answer-personal-story-arc strong,
  .answer-personal-story-next strong
) {
  font-size: 12px;
  line-height: 1.45;
}

body.has-calculated-report .answer-home :is(
  .chart-house-selector,
  .chart-house-selector strong,
  .chart-sign-cell header,
  .answer-explorer-house-button,
  .answer-explorer-house-button span,
  .answer-explorer-house-button strong,
  .graha-placement,
  .graha-placement strong,
  .graha-placement span,
  .graha-placement sup,
  .south-chart-center small
) {
  font-size: 12px;
}

body.has-calculated-report .answer-home :is(
  .chart-inspector-eyebrow,
  .chart-inspector-orientation,
  .chart-inspector-facts dt,
  .chart-inspector-facts dd,
  .chart-inspector-links > strong,
  .chart-inspector-links p,
  .chart-inspector-links button,
  .chart-inspector-source > span,
  .chart-inspector-source code,
  .chart-visual-legend span,
  .chart-visual-legend strong,
  .chart-accessible-data summary,
  .chart-accessible-data table,
  .chart-evidence-strip dt,
  .chart-evidence-strip dd,
  .chart-evidence-strip code,
  .chart-layout-button,
  .chart-authority-pill
) {
  font-size: 12px;
  line-height: 1.45;
}

body.has-calculated-report .answer-home :is(
  .answer-explorer-inspector > span,
  .answer-report-controls > div > span
) {
  font-size: 12px;
  line-height: 1.45;
}

body.has-calculated-report .answer-home :is(
  .answer-inner-outer-bridge > article > span,
  .answer-inner-outer-meaning > span,
  .answer-inner-outer-bridge article > strong,
  .answer-inner-outer-meaning > p,
  .answer-inner-outer-integration strong,
  .answer-strength-challenge-labels,
  .answer-strength-challenge-rows .is-quality > span,
  .answer-strength-challenge-rows strong,
  .answer-strength-challenge-rows p,
  .answer-defining-brief > strong,
  .answer-defining-brief li > strong,
  .answer-defining-brief li > span,
  .answer-quick-facts span
) {
  font-size: 12px;
  line-height: 1.5;
}

body.has-calculated-report .answer-home :is(
  .answer-evidence-trace-section > span,
  .answer-evidence-trace-section code,
  .answer-evidence-trace-hash,
  .answer-evidence-flow-map > span,
  .answer-personal-story > span,
  .answer-evidence-flow-stages > section > strong,
  .answer-evidence-flow-node,
  .answer-evidence-flow-inspector > span,
  .answer-evidence-flow-inspector > small,
  .answer-evidence-flow-lineage summary,
  .answer-highlight > span,
  .answer-highlight > p,
  .answer-highlight > ul,
  .answer-insight-list li > strong,
  .answer-insight-list li > p,
  .answer-priority-briefing > header > span,
  .answer-priority-grid > article > header > span
) {
  font-size: 12px;
  line-height: 1.5;
}

body.has-calculated-report .answer-home :is(
  .answer-glossary > header span:first-child,
  .answer-glossary-authority strong,
  .answer-glossary-controls > label,
  .answer-glossary-count,
  .answer-glossary-card > header span,
  .answer-glossary-card > header small,
  .answer-glossary-aliases,
  .answer-glossary-card > aside strong,
  .answer-glossary-card > aside p,
  .answer-glossary-card > details p,
  .answer-glossary-card > details summary,
  .answer-glossary-card > footer > span,
  .answer-glossary-related button
) {
  font-size: 12px;
  line-height: 1.5;
}

body.has-calculated-report .answer-home .answer-glossary-authority span {
  font-size: 12px !important;
  line-height: 1.5;
}

/* Calculated outlook theme contract
   -------------------------------------------------------------------------
   The contextual Today outlook is release-gated from primary navigation, but
   it must still honor the same night-canvas and selected-state contract before
   it can be promoted. All status treatments use shared semantic palette roles. */
body.has-calculated-report .answer-home .periodic-outlook {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-night-layer);
}

body.has-calculated-report .answer-home .periodic-outlook :is(
  h3,
  h4,
  .outlook-headline,
  .outlook-item header strong,
  .goodday-row strong
) {
  color: var(--jyotisya-ink);
}

.periodic-outlook-sign {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
  gap: 10px clamp(24px, 5vw, 72px);
  margin: 0 0 clamp(28px, 4vw, 44px);
  padding: clamp(24px, 4vw, 42px);
  border: 1px solid var(--jyotisya-rule-strong);
  background:
    radial-gradient(
      circle at 10% 10%,
      color-mix(in srgb, var(--jyotisya-gold) 16%, transparent),
      transparent 38%
    ),
    var(--jyotisya-surface-raised);
}

.periodic-outlook-sign > .card-kicker,
.periodic-outlook-sign > h3,
.periodic-outlook-sign > .periodic-outlook-sign-intro {
  grid-column: 1;
}

.periodic-outlook-sign > h3 {
  margin: 2px 0 0;
  font-size: clamp(34px, 5vw, 62px);
  line-height: 1;
}

.periodic-outlook-sign-intro {
  max-width: 60ch;
  margin: 8px 0 0;
  color: var(--jyotisya-copy);
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.6;
}

.periodic-outlook-sign > dl {
  display: grid;
  grid-column: 2;
  grid-row: 1 / span 3;
  align-content: center;
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--jyotisya-rule);
}

.periodic-outlook-sign > dl > div {
  display: grid;
  gap: 4px;
  padding: 14px 0;
  border-bottom: 1px solid var(--jyotisya-rule);
}

.periodic-outlook-sign dt {
  color: var(--jyotisya-muted);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.3;
  text-transform: uppercase;
}

.periodic-outlook-sign dd {
  margin: 0;
  color: var(--jyotisya-ink);
  font-size: 16px;
  font-weight: 650;
  line-height: 1.4;
}

.periodic-outlook-intro {
  max-width: 72ch;
  margin: 10px 0 0;
  color: var(--jyotisya-copy);
  font-size: clamp(15px, 1.4vw, 18px);
  line-height: 1.65;
}

.periodic-outlook-asof {
  margin: 10px 0 0;
  color: var(--jyotisya-muted);
  font-size: 12px;
  letter-spacing: 0.04em;
}

.outlook-stream {
  display: grid;
  gap: 0;
  margin-top: clamp(24px, 4vw, 42px);
}

.outlook-window {
  padding: clamp(24px, 3.5vw, 38px) 0;
  border-top: 1px solid var(--jyotisya-rule);
  scroll-margin-top: calc(var(--site-header-offset) + 12px);
}

.outlook-window:first-child {
  padding-top: 0;
  border-top: 0;
}

.outlook-window > h4 {
  margin: 0 0 12px;
  font-family: var(--font-display);
  font-size: clamp(26px, 3vw, 38px);
  font-weight: 500;
  line-height: 1.05;
}

body.has-calculated-report .answer-home :is(.outlook-item, .goodday-row) {
  color: var(--jyotisya-copy);
  border-color: var(--jyotisya-rule);
  background: transparent;
}

body.has-calculated-report .answer-home :is(
  .outlook-guidance,
  .outlook-basis,
  .outlook-note,
  .goodday-row small
) {
  color: var(--jyotisya-muted);
}

body.has-calculated-report .answer-home :is(
  .outlook-sensitivity,
  .goodday-badge
) {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  padding-block: 6px;
  font-size: 12px;
  line-height: 1.35;
}

body.has-calculated-report .answer-home :is(
  .outlook-sensitivity.is-stable
) {
  color: var(--jyotisya-green-light);
  background: color-mix(in srgb, var(--jyotisya-green-mid) 18%, transparent);
}

body.has-calculated-report .answer-home .outlook-sensitivity.is-time_sensitive {
  color: var(--jyotisya-warning);
  background: color-mix(in srgb, var(--jyotisya-gold) 18%, transparent);
}

body.has-calculated-report .answer-home .goodday-badge {
  color: var(--jyotisya-gold-light);
  background: color-mix(in srgb, var(--jyotisya-gold) 14%, transparent);
}

/* Each major destination remains in the document so the post-birth journey is
   readable by scrolling alone. Navigation only anchors into this spine. */
body.has-calculated-report .answer-destination-panel {
  display: block;
  border-top: 1px solid var(--jyotisya-rule-strong);
}

body.has-calculated-report #answer-today {
  border-top: 0;
}

/* Chart explorer theme contract
   -------------------------------------------------------------------------
   This workspace lives on the night canvas, so every default surface uses
   the dark palette. Gold is reserved for selection and always carries the
   dedicated dark accent ink. This prevents legacy paper treatments from
   combining with light-on-dark text roles. */
.answer-chart-explorer :is(
  .answer-explorer-controls,
  .answer-explorer-timeline
) {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-night-layer);
}

.answer-chart-explorer .answer-explorer-controls button {
  color: var(--jyotisya-copy);
  border-color: transparent;
  background: transparent;
  font-size: 13px;
}

.answer-chart-explorer .answer-explorer-controls button:hover,
.answer-chart-explorer .answer-explorer-controls button:focus-visible {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-control-line);
  background: color-mix(in srgb, var(--jyotisya-gold) 12%, transparent);
}

.answer-chart-explorer .answer-explorer-controls button:is(
  .is-active,
  [aria-selected="true"]
) {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold);
  background: var(--jyotisya-gold);
}

.answer-chart-explorer .answer-explorer-controls button:focus-visible,
.answer-chart-explorer .answer-explorer-timeline button:focus-visible {
  outline: 2px solid var(--jyotisya-gold-light);
  outline-offset: 2px;
}

.answer-chart-explorer .answer-explorer-timeline > div:first-child strong {
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
  font-size: clamp(22px, 1.25rem + 0.35vw, 27px);
  font-weight: 500;
  line-height: 1.18;
}

.answer-chart-explorer .answer-explorer-timeline > div:first-child span {
  color: var(--jyotisya-muted);
  font-size: 13px;
}

.answer-chart-explorer .answer-explorer-timeline button {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-rule);
  border-left-color: var(--jyotisya-gold);
  background: var(--jyotisya-surface-raised);
}

.answer-chart-explorer .answer-explorer-timeline button strong {
  color: var(--jyotisya-ink);
  font-family: var(--font-body);
  font-size: clamp(17px, 1rem + 0.18vw, 20px);
  font-weight: 600;
  line-height: 1.25;
}

.answer-chart-explorer .answer-explorer-timeline button span {
  color: var(--jyotisya-muted);
  font-size: 13px;
  opacity: 1;
}

.answer-chart-explorer .answer-explorer-timeline button:hover,
.answer-chart-explorer .answer-explorer-timeline button:focus-visible {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-control-line);
  border-left-color: var(--jyotisya-gold);
  background: var(--jyotisya-night-raised);
}

.answer-chart-explorer .answer-explorer-timeline button:is(
  .is-active,
  [aria-pressed="true"]
) {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold);
  background: var(--jyotisya-gold);
}

.answer-chart-explorer .answer-explorer-timeline button:is(
  .is-active,
  [aria-pressed="true"]
) :is(strong, span) {
  color: var(--jyotisya-ink-on-accent);
}

.answer-chart-explorer .answer-explorer-inspector > span,
.answer-chart-explorer .answer-explorer-chips > span {
  color: var(--jyotisya-gold-light);
}

.answer-chart-explorer .answer-explorer-inspector > h4 {
  color: var(--jyotisya-ink);
}

.answer-chart-explorer .answer-explorer-inspector > p {
  color: var(--jyotisya-copy);
}

.answer-chart-explorer .answer-explorer-inspector > .answer-explorer-meaning {
  gap: 10px;
  color: var(--jyotisya-ink);
  border: 1px solid var(--jyotisya-rule);
  border-radius: 12px;
  background: var(--jyotisya-surface-raised);
}

.answer-chart-explorer .answer-explorer-meaning h5 {
  margin: 0;
  color: var(--jyotisya-gold-light);
  font-family: var(--font-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}

.answer-chart-explorer .answer-explorer-meaning h5:not(:first-child) {
  margin-top: 12px;
}

.answer-chart-explorer .answer-explorer-meaning p {
  margin: 0;
  color: var(--jyotisya-copy);
  font-size: clamp(15px, 0.9rem + 0.12vw, 16px);
  line-height: 1.62;
}

.answer-chart-explorer .answer-explorer-inspector > .answer-explorer-ask {
  display: inline-flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  margin-top: 16px;
  padding: 11px 14px;
  color: var(--jyotisya-ink-on-accent);
  border: 1px solid var(--jyotisya-gold);
  border-radius: 10px;
  background: var(--jyotisya-gold);
}

.answer-chart-explorer .answer-explorer-inspector > .answer-explorer-ask:hover,
.answer-chart-explorer .answer-explorer-inspector > .answer-explorer-ask:focus-visible {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold-light);
  background: var(--jyotisya-gold-light);
  outline: 2px solid var(--jyotisya-gold-light);
  outline-offset: 2px;
}

.answer-chart-explorer .answer-explorer-inspector > .answer-text-button:not(
  .answer-explorer-ask
) {
  min-height: 44px;
  margin-top: 8px;
  padding: 9px 0;
  color: var(--jyotisya-gold-light);
  border: 0;
  background: transparent;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--jyotisya-gold-light) 44%, transparent);
  text-underline-offset: 3px;
}

/* Timeline contract: the map uses distinct palette bands, while its inspector
   stays on the same night surfaces as the rest of the calculated report. */
body.has-calculated-report .answer-home .answer-transit-inspector {
  color: var(--jyotisya-ink);
  border: 1px solid var(--jyotisya-rule);
  background: var(--jyotisya-night-layer);
}

body.has-calculated-report .answer-home .answer-transit-inspector > span {
  color: var(--jyotisya-gold-light);
}

body.has-calculated-report .answer-home .answer-transit-inspector h4 {
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
}

body.has-calculated-report .answer-home .answer-transit-inspector > small {
  color: var(--jyotisya-muted);
}

body.has-calculated-report .answer-home .answer-transit-inspector > section {
  color: var(--jyotisya-ink);
  border: 1px solid var(--jyotisya-rule);
  background: var(--jyotisya-surface-raised);
}

body.has-calculated-report .answer-home
  .answer-transit-inspector > section strong {
  color: var(--jyotisya-gold-light);
  font-family: var(--font-body);
  font-size: 15px;
  line-height: 1.4;
}

body.has-calculated-report .answer-home
  .answer-transit-inspector > section p {
  color: var(--jyotisya-copy);
  font-size: 14px;
  line-height: 1.55;
}

body.has-calculated-report .answer-home
  .answer-transit-inspector .answer-evidence-drawer {
  color: var(--jyotisya-copy);
}

body.has-calculated-report .answer-home .answer-transit-band.is-dasha {
  color: var(--jyotisya-ink);
  background: var(--jyotisya-teal);
}

body.has-calculated-report .answer-home
  .answer-transit-row:nth-of-type(3) .answer-transit-band.is-dasha {
  color: var(--jyotisya-ink-on-accent);
  background: var(--jyotisya-green-mid);
}

body.has-calculated-report .answer-home
  .answer-transit-row:nth-of-type(4) .answer-transit-band.is-dasha {
  color: var(--jyotisya-ink);
  background: var(--jyotisya-celestial-mid);
}

body.has-calculated-report .answer-home .answer-transit-band.is-jupiter {
  color: var(--jyotisya-ink-on-accent);
  background: var(--jyotisya-gold);
}

body.has-calculated-report .answer-home .answer-transit-band.is-saturn {
  color: var(--jyotisya-ink);
  background: var(--jyotisya-celestial-deep);
}

body.has-calculated-report .answer-home .answer-transit-band.is-rahu {
  color: var(--jyotisya-ink);
  background: var(--jyotisya-celestial-soft);
}

body.has-calculated-report .answer-home .answer-transit-band.is-ketu {
  color: var(--jyotisya-ink);
  background: var(--jyotisya-saffron-deep);
}

body.has-calculated-report .answer-home .answer-transit-band:hover,
body.has-calculated-report .answer-home .answer-transit-band:focus-visible,
body.has-calculated-report .answer-home .answer-transit-band.is-active {
  outline: 2px solid var(--jyotisya-gold-light);
  outline-offset: 1px;
  filter: none;
}

/* Life-area contract: controls, index links and explanatory cards use the
   same default/hover/selected language as Chart and Timeline. */
body.has-calculated-report .answer-home .answer-life-map-controls button {
  color: var(--jyotisya-copy);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-surface-raised);
}

body.has-calculated-report .answer-home
  .answer-life-map-controls button strong {
  color: var(--jyotisya-ink);
}

body.has-calculated-report .answer-home
  .answer-life-map-controls button small {
  color: var(--jyotisya-muted);
  font-size: 12px;
  opacity: 1;
}

body.has-calculated-report .answer-home
  .answer-life-map-controls button .answer-life-map-control-reliability {
  color: var(--jyotisya-gold-light);
  opacity: 1;
}

body.has-calculated-report .answer-home
  .answer-life-map-controls button:hover,
body.has-calculated-report .answer-home
  .answer-life-map-controls button:focus-visible,
body.has-calculated-report .answer-home
  .answer-life-map-controls button.is-active {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold);
  background: var(--jyotisya-gold);
}

body.has-calculated-report .answer-home
  .answer-life-map-controls button:is(:hover, :focus-visible, .is-active)
  :is(strong, small, .answer-life-map-control-reliability) {
  color: var(--jyotisya-ink-on-accent);
}

body.has-calculated-report .answer-home
  .answer-life-map-controls button:focus-visible {
  outline: 2px solid var(--jyotisya-gold-light);
  outline-offset: 2px;
}

body.has-calculated-report .answer-home .answer-life-question-index {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-night-layer);
}

body.has-calculated-report .answer-home .answer-life-question-index a {
  color: var(--jyotisya-copy);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-surface-raised);
}

body.has-calculated-report .answer-home .answer-life-question-index a:hover,
body.has-calculated-report .answer-home
  .answer-life-question-index a:focus-visible {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold);
  background: var(--jyotisya-gold);
  outline: 2px solid var(--jyotisya-gold-light);
  outline-offset: 2px;
}

body.has-calculated-report .answer-home .answer-topic-card {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-surface-raised);
}

body.has-calculated-report .answer-home .answer-topic-what {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-night-layer);
}

body.has-calculated-report .answer-home .answer-topic-what strong {
  color: var(--jyotisya-gold-light);
  font-size: 14px;
  line-height: 1.4;
}

body.has-calculated-report .answer-home .answer-topic-what p {
  color: var(--jyotisya-copy);
  font-size: 14px;
  line-height: 1.55;
}

body.has-calculated-report .answer-home .answer-topic-card aside {
  color: var(--jyotisya-ink);
  background: color-mix(in srgb, var(--jyotisya-gold) 8%, transparent);
}

body.has-calculated-report .answer-home .answer-topic-card aside p {
  color: var(--jyotisya-copy);
}

body.has-calculated-report .answer-home
  .answer-topic-card .answer-topic-direct {
  background: color-mix(in srgb, var(--jyotisya-saffron-soft) 7%, transparent);
}

body.has-calculated-report .answer-home
  .answer-topic-card .answer-topic-reliability {
  background: color-mix(in srgb, var(--jyotisya-green) 9%, transparent);
}

body.has-calculated-report .answer-home
  .answer-topic-card .answer-topic-reliability.is-sensitive {
  background: color-mix(in srgb, var(--jyotisya-saffron-soft) 8%, transparent);
}

/* Professional chart surface contract
   -------------------------------------------------------------------------
   The interactive chart is part of the same night workspace as the explorer.
   Keep every surrounding control and evidence surface explicit so legacy
   paper-card styles cannot combine with the report's light text roles. */
body.has-calculated-report .answer-home .professional-chart-card {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-rule-strong);
  background:
    radial-gradient(
      circle at 88% 7%,
      color-mix(in srgb, var(--jyotisya-gold) 10%, transparent),
      transparent 13rem
    ),
    var(--jyotisya-night-layer);
}

body.has-calculated-report .answer-home .professional-chart-card .card-kicker {
  color: var(--jyotisya-gold-light);
  font-family: var(--font-body);
}

body.has-calculated-report .answer-home .professional-chart-card h4 {
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
}

body.has-calculated-report .answer-home .chart-authority-pill {
  color: var(--jyotisya-gold-light);
  border-color: var(--jyotisya-control-line);
  background: var(--jyotisya-surface-raised);
  font-family: var(--font-body);
}

body.has-calculated-report .answer-home .chart-authority-pill:is(
  .is-validation,
  .is-abstained
) {
  color: var(--jyotisya-gold-light);
  border-color: var(--jyotisya-control-line);
  background: var(--jyotisya-surface-raised);
}

body.has-calculated-report .answer-home .chart-layout-controls {
  gap: 2px;
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-surface-raised);
}

body.has-calculated-report .answer-home .chart-layout-button {
  min-height: 44px;
  padding: 8px 11px;
  color: var(--jyotisya-copy);
  border: 1px solid transparent;
  background: transparent;
  font-family: var(--font-body);
}

body.has-calculated-report .answer-home .chart-layout-button:hover,
body.has-calculated-report .answer-home .chart-layout-button:focus-visible {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-control-line);
  background: color-mix(in srgb, var(--jyotisya-gold) 12%, transparent);
}

body.has-calculated-report .answer-home .chart-layout-button:focus-visible {
  outline: 2px solid var(--jyotisya-gold-light);
  outline-offset: 2px;
}

body.has-calculated-report .answer-home .chart-layout-button:is(
  .is-active,
  [aria-pressed="true"]
) {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold);
  background: var(--jyotisya-gold);
}

body.has-calculated-report .answer-home .chart-layout-button:disabled {
  color: var(--jyotisya-muted);
  background: transparent;
}

body.has-calculated-report .answer-home .south-chart-center > span {
  color: var(--jyotisya-ink-on-accent);
  background: var(--jyotisya-gold);
}

body.has-calculated-report .answer-home :is(
  .professional-chart-card .graha-placement.is-selected,
  .professional-chart-card .graha-placement[aria-pressed="true"],
  .answer-explorer-chart .graha-placement.is-evidence-focus
) {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold);
  background: var(--jyotisya-gold);
}

body.has-calculated-report .answer-home :is(
  .professional-chart-card .graha-placement.is-selected,
  .professional-chart-card .graha-placement[aria-pressed="true"],
  .answer-explorer-chart .graha-placement.is-evidence-focus
) :is(strong, span, sup) {
  color: var(--jyotisya-ink-on-accent);
}

body.has-calculated-report .answer-home .chart-inspector {
  color: var(--jyotisya-ink);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-surface-raised);
}

body.has-calculated-report .answer-home .chart-inspector-eyebrow {
  color: var(--jyotisya-gold-light);
  font-family: var(--font-body);
}

body.has-calculated-report .answer-home .chart-inspector > strong {
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
}

body.has-calculated-report .answer-home .chart-inspector-orientation,
body.has-calculated-report .answer-home .chart-inspector-links p {
  color: var(--jyotisya-copy);
}

body.has-calculated-report .answer-home :is(
  .chart-inspector-facts div,
  .chart-inspector-links,
  .chart-accessible-data,
  .chart-evidence-strip
) {
  border-color: var(--jyotisya-rule);
}

body.has-calculated-report .answer-home :is(
  .chart-inspector-facts dt,
  .chart-inspector-source > span,
  .chart-accessible-data caption,
  .chart-evidence-strip dt
) {
  color: var(--jyotisya-muted);
}

body.has-calculated-report .answer-home :is(
  .chart-inspector-facts dd,
  .chart-inspector-links > strong,
  .chart-evidence-strip dd
) {
  color: var(--jyotisya-ink);
}

body.has-calculated-report .answer-home .chart-inspector-links button {
  min-height: 44px;
  padding: 8px 10px;
  color: var(--jyotisya-gold-light);
  border-color: var(--jyotisya-control-line);
  background: var(--jyotisya-night-layer);
  font-family: var(--font-body);
}

body.has-calculated-report .answer-home .chart-inspector-links button:hover,
body.has-calculated-report .answer-home .chart-inspector-links button:focus-visible {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold);
  background: var(--jyotisya-gold);
  outline: 2px solid var(--jyotisya-gold-light);
  outline-offset: 2px;
}

body.has-calculated-report .answer-home :is(
  .chart-inspector-source code,
  .chart-accessible-data summary,
  .chart-evidence-strip code
) {
  color: var(--jyotisya-gold-light);
}

body.has-calculated-report .answer-home .chart-visual-legend span {
  color: var(--jyotisya-copy);
  border: 1px solid var(--jyotisya-rule);
  background: var(--jyotisya-surface-raised);
}

body.has-calculated-report .answer-home .chart-visual-legend strong {
  color: var(--jyotisya-gold-light);
  border: 1px solid var(--jyotisya-control-line);
  background: color-mix(in srgb, var(--jyotisya-gold) 10%, transparent);
}

body.has-calculated-report .answer-home .chart-accessible-data table {
  color: var(--jyotisya-copy);
}

body.has-calculated-report .answer-home .chart-accessible-data :is(th, td) {
  border-color: var(--jyotisya-rule);
}

body.has-calculated-report .answer-home .chart-accessible-data th {
  color: var(--jyotisya-ink);
  background: var(--jyotisya-night-raised);
}

body.has-calculated-report .answer-home .chart-accessible-data td {
  color: var(--jyotisya-copy);
  background: transparent;
}

body.has-calculated-report .answer-home .professional-chart-card
  .circular-house-segment {
  fill: color-mix(in srgb, var(--chart-gold) 7%, var(--chart-surface));
  stroke: var(--chart-line-soft);
}

body.has-calculated-report .answer-home .professional-chart-card
  .circular-house-segment:is(:hover, :focus-visible, .is-selected) {
  fill: color-mix(in srgb, var(--chart-gold) 24%, var(--chart-surface));
  stroke: var(--chart-gold);
}

body.has-calculated-report .answer-home .professional-chart-card
  .circular-house-label {
  fill: var(--chart-ink);
  font-size: 12px;
}

body.has-calculated-report .answer-home .professional-chart-card
  .circular-placement-leader {
  stroke: var(--chart-line-soft);
}

body.has-calculated-report .answer-home .professional-chart-card
  .circular-placement-marker {
  fill: var(--chart-surface-raised);
  stroke: var(--chart-gold);
}

body.has-calculated-report .answer-home .professional-chart-card
  .circular-placement-label {
  fill: var(--chart-ink);
  font-size: 12px;
}

body.has-calculated-report .answer-home .professional-chart-card
  .circular-placement-target:is(:hover, :focus-visible, .is-selected)
  .circular-placement-marker {
  fill: var(--chart-gold);
  stroke: var(--chart-gold-strong);
}

body.has-calculated-report .answer-home .professional-chart-card
  .circular-placement-target:is(:hover, :focus-visible, .is-selected)
  .circular-placement-label {
  fill: var(--jyotisya-ink-on-accent);
}

body.has-calculated-report .answer-home .professional-chart-card :is(
  .circular-chart-center-title,
  .circular-chart-center-copy
) {
  fill: var(--jyotisya-ink-on-accent);
}

body.has-calculated-report .answer-home .professional-chart-card
  .circular-chart-center-copy {
  font-size: 12px;
}

body.has-calculated-report .answer-home .answer-report-controls
  .button-danger-subtle {
  color: var(--jyotisya-danger);
  border-color: color-mix(in srgb, var(--jyotisya-danger) 46%, transparent);
  background: color-mix(in srgb, var(--jyotisya-danger) 8%, transparent);
}

body.has-calculated-report .answer-home .answer-report-controls
  .button-danger-subtle:hover,
body.has-calculated-report .answer-home .answer-report-controls
  .button-danger-subtle:focus-visible {
  color: var(--jyotisya-danger);
  border-color: var(--jyotisya-danger);
  background: color-mix(in srgb, var(--jyotisya-danger) 16%, transparent);
  outline: 2px solid var(--jyotisya-danger);
  outline-offset: 2px;
}

body.has-calculated-report .answer-home .answer-report-delete-confirmation
  .button-danger {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-danger);
  background: var(--jyotisya-danger);
}

/* Match uses the light paper theme. Explicitly bind its surfaces and text to
   the shared light-palette roles so dark-workspace helpers cannot wash out.
   A retained chart keeps the calculated shell while Match is open, so the
   explicit compatibility state must win over that night-theme inheritance. */
body:not(.is-single-intake-active):is(
  :not(.has-calculated-report),
  .is-compatibility-workspace
) #view-match {
  color: var(--jyotisya-paper-ink);
  background: var(--jyotisya-paper);
}

body:not(.is-single-intake-active):is(
  :not(.has-calculated-report),
  .is-compatibility-workspace
) #view-match :is(
  .page-orientation,
  .person-card,
  .review-panel,
  .validation-preview-panel,
  .private-session-panel,
  .calculation-gate
) {
  color: var(--jyotisya-paper-ink);
  border-color: var(--jyotisya-paper-line);
  background: var(--jyotisya-paper-surface);
}

body:not(.is-single-intake-active):is(
  :not(.has-calculated-report),
  .is-compatibility-workspace
) #view-match :is(
  .page-orientation p,
  .role-choice label,
  .role-choice small,
  .field small,
  .birth-time-source summary span,
  .conversation-intake-assistant p
) {
  color: var(--jyotisya-paper-copy);
}

body:not(.is-single-intake-active):is(
  :not(.has-calculated-report),
  .is-compatibility-workspace
) #view-match :is(
  .foundation-banner,
  .demo-warning
) {
  color: var(--jyotisya-paper-ink);
  border-color: var(--jyotisya-paper-line);
  background: var(--jyotisya-paper-deep);
}

body:not(.is-single-intake-active):is(
  :not(.has-calculated-report),
  .is-compatibility-workspace
) #view-match :is(
  .field input,
  .field select,
  .derived-place-summary select
) {
  color: var(--jyotisya-paper-ink);
  border-color: var(--jyotisya-paper-line-strong);
  background: var(--jyotisya-paper-surface);
}

body:not(.is-single-intake-active):is(
  :not(.has-calculated-report),
  .is-compatibility-workspace
) #view-match :is(
  .eyebrow,
  .stepper span,
  .page-orientation span,
  .role-choice small,
  .card-kicker,
  .private-pill,
  .field > span,
  .field > small,
  .derived-place-summary > span,
  .derived-place-summary > small,
  .birth-time-source summary span
) {
  font-size: 12px;
  line-height: 1.45;
}

body:not(.is-single-intake-active):is(
  :not(.has-calculated-report),
  .is-compatibility-workspace
) #view-match :is(
  #method-description,
  #calculation-gate-copy,
  .validation-preview-panel > .muted,
  #private-session-description
) {
  color: var(--jyotisya-paper-copy);
}

body:not(.is-single-intake-active):is(
  :not(.has-calculated-report),
  .is-compatibility-workspace
) #view-match .form-actions .button-secondary {
  color: var(--jyotisya-paper-ink);
  border-color: var(--jyotisya-paper-line-strong);
  background: var(--jyotisya-paper-surface);
}

/* Tracked-question pages also keep the calculated shell. Their hero remains
   intentionally dark; only the light paper controls and result surfaces use
   the paper text roles. */
body.has-calculated-report #view-forecast :is(
  .forecast-mode-tabs,
  .forecast-empty-state,
  .forecast-question-card,
  .forecast-result
) {
  color: var(--jyotisya-paper-ink);
  border-color: var(--jyotisya-paper-line);
  background: var(--jyotisya-paper-surface);
}

body.has-calculated-report #view-forecast :is(
  .forecast-empty-state > p:not(.card-kicker),
  .forecast-question-card > label,
  .forecast-response > p,
  .forecast-result .muted
) {
  color: var(--jyotisya-paper-copy);
}

.private-session-panel .card-kicker,
.calculation-gate .card-kicker,
.forecast-result .card-kicker {
  font-size: 12px;
  line-height: 1.45;
}

/* Shipping utility labels never fall below the compact 12px reading floor.
   These cover the public landing, evidence, and shared footer surfaces; the
   chart-dense workspaces are governed by the calculated floor above. */
body :is(
  .eyebrow,
  .card-kicker,
  .page-orientation span,
  .experience-layers article > span,
  .landing-evidence-example > span,
  .quick-chart-proof strong
),
body footer > span,
body .footer-inline-link {
  font-size: 12px;
  line-height: 1.45;
}

/* Give interactive charts enough room to honor the legibility floor. */
@media (max-width: 1279px) {
  body.has-calculated-report .answer-explorer-workspace,
  body.has-calculated-report .professional-chart-body {
    grid-template-columns: minmax(0, 1fr);
  }

  body.has-calculated-report .answer-explorer-chart,
  body.has-calculated-report .professional-chart-body > :first-child {
    width: min(100%, 680px);
    justify-self: center;
  }
}

@media (max-width: 760px) {
  #view-match .stepper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
  }

  #view-match .stepper li {
    min-width: 0;
    gap: 6px;
    padding: 12px 4px;
    font-size: 12px;
    line-height: 1.25;
  }

  #view-match .stepper li > span:first-child {
    flex: 0 0 24px;
  }

  /* Degrees remain available from the tap target's accessible name and the
     selected-detail panel; the compact chart itself keeps readable symbols. */
  body.has-calculated-report .answer-home .south-indian-chart .graha-placement > span {
    display: none;
  }
}

/* Persistent product navigation
   -------------------------------------------------------------------------
   The brand plus Today / Chart / Ask / Match is the site's durable wayfinding
   spine. It stays at the top on every app state and never hands mobile users
   off to a bottom-only control. The measured header height is written by
   app.js so focus, anchors and programmatic destination scrolling always
   clear the real rendered header rather than a breakpoint-specific estimate. */
:root {
  --site-header-offset: 76px;
}

html {
  scroll-padding-top: calc(var(--site-header-offset) + 12px);
}

.site-header[data-site-header] {
  position: sticky;
  z-index: 90;
  top: 0;
  isolation: isolate;
  color: var(--jyotisya-ink);
  padding-top: max(12px, env(safe-area-inset-top));
  padding-right: max(clamp(20px, 5vw, 72px), env(safe-area-inset-right));
  padding-left: max(clamp(20px, 5vw, 72px), env(safe-area-inset-left));
  border-bottom-color: color-mix(in srgb, var(--jyotisya-ink) 10%, transparent);
  background: color-mix(in srgb, var(--jyotisya-night) 96%, transparent);
  box-shadow: 0 10px 32px color-mix(in srgb, var(--jyotisya-night) 20%, transparent);
  backdrop-filter: blur(18px);
}

.site-header[data-site-header] > .brand,
.site-header[data-site-header] > .brand strong {
  color: var(--jyotisya-ink);
}

.site-header[data-site-header] > .header-section-label {
  display: none;
}

.site-header[data-site-header] > #primary-navigation {
  border-color: color-mix(in srgb, var(--jyotisya-ink) 12%, transparent);
  background: color-mix(in srgb, var(--jyotisya-ink) 3.5%, transparent);
}

.site-header[data-site-header] > #primary-navigation .nav-link {
  color: var(--jyotisya-muted);
  background: transparent;
  box-shadow: none;
}

.site-header[data-site-header]
  > #primary-navigation
  .nav-link:is(:hover, :focus-visible, .is-active, [aria-current="page"]) {
  color: var(--jyotisya-ink-on-accent);
  background: var(--jyotisya-gold);
  box-shadow: 0 5px 18px color-mix(in srgb, var(--jyotisya-gold) 20%, transparent);
}

body.is-home-view .site-header[data-site-header] {
  grid-template-areas: "brand primary account";
  grid-template-columns: auto minmax(0, 1fr) auto;
}

body.is-home-view .site-header[data-site-header] > #primary-navigation,
body.is-single-intake-active .site-header[data-site-header] > #primary-navigation {
  display: flex;
}

.site-header[data-site-header] :is(
  #primary-navigation .nav-link,
  .experience-top-nav button,
  .experience-top-nav .nav-link
) {
  min-height: 44px;
}

body.has-calculated-report .experience-top-nav:not([hidden]) {
  width: min(100%, 620px);
  max-height: none;
  overflow: visible;
  border: 1px solid color-mix(in srgb, var(--jyotisya-ink) 12%, transparent);
  border-radius: 999px;
}

body.has-calculated-report .experience-top-nav:not([hidden]) :is(button, .nav-link) {
  display: inline-flex;
  flex: 1 1 0;
  min-width: 0;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.site-header[data-site-header] :is(
  #primary-navigation .nav-link,
  .experience-top-nav button,
  .experience-top-nav .nav-link
):focus-visible {
  outline: 3px solid var(--jyotisya-green-light);
  outline-offset: 2px;
}

body.has-calculated-report.is-compatibility-workspace
  #view-match
  > .workspace-heading {
  display: flex;
}

body.has-calculated-report {
  padding-bottom: 0;
}

body.has-calculated-report #view-match {
  padding-right: clamp(20px, 3vw, 36px);
  padding-left: clamp(20px, 3vw, 36px);
}

body.is-report-book-open .answer-home-nav {
  display: none !important;
}

:is(
  #view-match,
  .answer-destination-panel,
  .answer-progressive-disclosure,
  [data-report-section],
  .answer-topic-card,
  .answer-glossary-card
) {
  /* The document's scroll-padding already clears the measured site header.
     This margin only reserves the secondary reading rail; including the
     header here as well makes Firefox add the same sticky layer twice. */
  scroll-margin-top: 72px;
}

@media (max-width: 820px) {
  .site-header[data-site-header],
  body.is-home-view .site-header[data-site-header],
  body.has-calculated-report .site-header[data-site-header],
  body.is-single-intake-active .site-header[data-site-header] {
    grid-template-areas:
      "brand account"
      "primary primary";
    grid-template-columns: minmax(0, 1fr) auto;
    row-gap: 8px;
    min-height: 0;
    padding: max(8px, env(safe-area-inset-top))
      max(12px, env(safe-area-inset-right))
      10px
      max(12px, env(safe-area-inset-left));
  }

  .site-header[data-site-header] > #primary-navigation,
  body.is-home-view .site-header[data-site-header] > #primary-navigation,
  body.is-single-intake-active .site-header[data-site-header] > #primary-navigation,
  body.has-calculated-report .site-header[data-site-header] > .experience-top-nav:not([hidden]) {
    display: grid;
    grid-area: primary;
    grid-template-columns:
      minmax(44px, 1fr)
      minmax(64px, 1.4fr)
      repeat(4, minmax(44px, 1fr));
    justify-self: stretch;
    width: 100%;
    margin: 0;
    padding: 3px;
    overflow: visible;
    border-radius: 16px;
  }

  body.has-calculated-report .site-header[data-site-header] > .experience-top-nav:not([hidden]) {
    border-color: color-mix(in srgb, var(--jyotisya-ink) 12%, transparent);
    background: color-mix(in srgb, var(--jyotisya-night-raised) 82%, transparent);
  }

  .site-header[data-site-header] > #primary-navigation .nav-link,
  body.has-calculated-report .site-header[data-site-header]
    > .experience-top-nav
    :is(button, .nav-link) {
    min-width: 0;
    min-height: 44px;
    padding: 8px 4px;
    border-radius: 13px;
    font-size: 12px;
    line-height: 1.15;
    text-align: center;
  }

  body.has-calculated-report .site-header[data-site-header]
    > .experience-top-nav,
  body.has-calculated-report .site-header[data-site-header]
    > .header-section-label,
  body.has-calculated-report .site-header[data-site-header]
    > .header-status {
    align-self: stretch;
  }

  body.has-calculated-report .site-header[data-site-header]
    > .header-section-label,
  body.has-calculated-report .site-header[data-site-header]
    > .header-status {
    display: none;
  }

  body.has-calculated-report.is-compact-navigation
    .site-header[data-site-header] {
    grid-template-areas: "primary";
    grid-template-columns: minmax(0, 1fr);
    row-gap: 0;
    padding-top: max(6px, env(safe-area-inset-top));
    padding-bottom: 6px;
  }

  body.has-calculated-report.is-compact-navigation
    .site-header[data-site-header]
    > :is(.brand, .account-button) {
    display: none;
  }
}

@media (max-width: 380px) {
  .site-header[data-site-header] > #primary-navigation .nav-link,
  body.has-calculated-report .site-header[data-site-header]
    > .experience-top-nav
    :is(button, .nav-link) {
    font-size: 12px;
  }
}

/* Once a chart exists, the personalized six-item navigation replaces the
   public links. Keep the public grid out of the same mobile header area so
   the two label sets can never overlap. */
body.has-calculated-report .site-header[data-site-header] > #primary-navigation {
  display: none;
}

/* Guided report chapters
   -------------------------------------------------------------------------
   Each destination now follows the same editorial rhythm: name the chapter,
   give the useful meaning, make the action visible, then offer technical
   evidence as optional depth. All roles come from the calculated-report
   palette so the hierarchy stays legible on the night canvas. */
body.has-calculated-report .answer-destination-panel {
  min-height: 0;
}

body.has-calculated-report .answer-section-lead {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(170px, auto);
  align-items: center;
  gap: clamp(16px, 2.5vw, 30px);
  padding: clamp(22px, 3vw, 34px) clamp(18px, 3vw, 36px);
  color: var(--jyotisya-ink);
  border-bottom: 1px solid var(--jyotisya-rule-strong);
  background:
    radial-gradient(
      circle at 100% 0,
      color-mix(in srgb, var(--jyotisya-gold) 11%, transparent),
      transparent 24rem
    ),
    var(--jyotisya-night-layer);
}

.answer-section-marker {
  display: grid;
  align-content: start;
  align-self: stretch;
  min-width: 54px;
  padding-right: 16px;
  border-right: 1px solid var(--jyotisya-rule-strong);
}

.answer-section-marker > span {
  color: var(--jyotisya-gold-light);
  font-family: var(--font-display);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 0.9;
}

.answer-section-marker > small,
.answer-section-lead > div:nth-child(2) > span,
.answer-section-lead > aside > span,
.answer-section-continuation > span:first-child,
.answer-story-preview-meaning > span,
.outlook-window-summary article > span,
.answer-chart-orientation article > span {
  color: var(--jyotisya-gold-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.13em;
  line-height: 1.4;
  text-transform: uppercase;
}

.answer-section-marker > small {
  margin-top: 8px;
  color: var(--jyotisya-muted);
}

.answer-section-lead h2 {
  max-width: 18ch;
  margin: 5px 0 8px;
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 500;
  letter-spacing: -0.035em;
  line-height: 0.94;
}

.answer-section-lead p {
  max-width: 66ch;
  margin: 0;
  color: var(--jyotisya-copy);
  font-size: clamp(15px, 1.25vw, 17px);
  line-height: 1.55;
}

.answer-section-lead > aside {
  display: grid;
  align-content: end;
  gap: 7px;
  min-height: 0;
  padding: 10px 0 2px 18px;
  color: var(--jyotisya-ink);
  border-left: 1px solid var(--jyotisya-rule);
}

.answer-section-lead > aside > strong {
  max-width: 20ch;
  color: var(--jyotisya-ink);
  font-size: 15px;
  line-height: 1.45;
}

.answer-section-continuation {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 5px 18px;
  padding: 24px clamp(18px, 3vw, 36px) 30px;
  color: var(--jyotisya-ink);
  border-top: 1px solid var(--jyotisya-rule);
  background: var(--jyotisya-night-layer);
}

.answer-section-continuation > span:first-child {
  grid-column: 1;
}

.answer-section-continuation > strong {
  grid-column: 1;
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
  font-size: clamp(20px, 2.4vw, 30px);
  font-weight: 500;
}

.answer-section-continuation-arrow {
  grid-column: 2;
  grid-row: 1 / 3;
  color: var(--jyotisya-gold-light);
  font-family: var(--font-display);
  font-size: 34px;
}

body.has-calculated-report .answer-home .answer-personal-story-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin-top: 18px;
  color: var(--jyotisya-ink);
  border-top: 1px solid var(--jyotisya-rule);
  border-bottom: 1px solid var(--jyotisya-rule);
  background: var(--jyotisya-night-layer);
}

.answer-personal-story-preview > div,
.answer-personal-story-preview > aside {
  min-width: 0;
  margin: 0;
  padding: 18px;
}

body.has-calculated-report
  .answer-home
  .answer-personal-story-preview
  > aside {
  border: 0;
  border-left: 1px solid var(--jyotisya-rule);
  background: color-mix(in srgb, var(--jyotisya-green) 8%, transparent);
}

.answer-personal-story-preview p {
  margin: 7px 0 0;
  color: var(--jyotisya-copy);
  font-size: 15px;
  line-height: 1.65;
}

.answer-story-preview-action > strong {
  color: var(--jyotisya-green-light);
  font-size: 14px;
}

.answer-personal-story-preview > blockquote {
  grid-column: 1 / -1;
  margin: 0;
  padding: 16px 18px;
  color: var(--jyotisya-copy);
  border-top: 1px solid var(--jyotisya-rule);
  background: color-mix(in srgb, var(--jyotisya-gold) 6%, transparent);
  font-size: 15px;
  line-height: 1.6;
}

body.has-calculated-report
  .answer-home
  :is(
    .answer-priority-depth,
    .answer-topic-more,
    .outlook-window-details,
    .answer-today-depth,
    .answer-life-map-depth,
    .answer-timeline-depth
  ) {
  color: var(--jyotisya-ink);
  border-top: 1px solid var(--jyotisya-rule);
}

body.has-calculated-report
  .answer-home
  :is(
    .answer-priority-depth,
    .answer-topic-more,
    .outlook-window-details,
    .answer-today-depth,
    .answer-life-map-depth,
    .answer-timeline-depth
  )
  > summary {
  position: relative;
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 2px;
  color: var(--jyotisya-gold-light);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
}

body.has-calculated-report
  .answer-home
  :is(
    .answer-priority-depth,
    .answer-topic-more,
    .outlook-window-details,
    .answer-today-depth,
    .answer-life-map-depth,
    .answer-timeline-depth
  )
  > summary::-webkit-details-marker {
  display: none;
}

body.has-calculated-report
  .answer-home
  :is(
    .answer-priority-depth,
    .answer-topic-more,
    .outlook-window-details,
    .answer-today-depth,
    .answer-life-map-depth,
    .answer-timeline-depth
  )
  > summary::after {
  flex: 0 0 auto;
  content: "+";
  color: var(--jyotisya-gold-light);
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 400;
}

body.has-calculated-report
  .answer-home
  :is(
    .answer-priority-depth,
    .answer-topic-more,
    .outlook-window-details,
    .answer-today-depth,
    .answer-life-map-depth,
    .answer-timeline-depth
  )[open]
  > summary::after {
  content: "−";
}

body.has-calculated-report
  .answer-home
  :is(
    .answer-priority-depth,
    .answer-topic-more,
    .outlook-window-details,
    .answer-today-depth,
    .answer-life-map-depth,
    .answer-timeline-depth
  )
  > summary:focus-visible {
  outline: 3px solid var(--jyotisya-green-light);
  outline-offset: 3px;
}

body.has-calculated-report .answer-home .answer-topic-card {
  min-height: 0;
}

body.has-calculated-report .answer-home .answer-topic-card.is-preview {
  padding: clamp(16px, 2vw, 22px);
}

body.has-calculated-report
  .answer-home
  .answer-topic-card.is-preview
  .answer-personal-story-preview {
  margin-top: 12px;
}

body.has-calculated-report
  .answer-home
  .answer-topic-card.is-preview
  .answer-topic-reliability {
  margin-top: 10px;
  padding: 10px 12px;
}

body.has-calculated-report
  .answer-home
  .answer-topic-card.is-preview
  .answer-topic-reliability
  p {
  font-size: 13px;
  line-height: 1.45;
}

.answer-topic-more {
  margin-top: auto;
}

.answer-topic-more-body {
  padding-bottom: 4px;
}

.answer-priority-depth {
  margin-top: 18px;
}

body.has-calculated-report .answer-home .answer-today-depth,
body.has-calculated-report .answer-home .answer-life-map-depth,
body.has-calculated-report .answer-home .answer-timeline-depth {
  margin: 0;
  padding: 0 clamp(18px, 3vw, 36px) clamp(24px, 4vw, 42px);
  border-top: 1px solid var(--jyotisya-rule);
}

body.has-calculated-report .answer-home .answer-today-depth > summary,
body.has-calculated-report .answer-home .answer-life-map-depth > summary,
body.has-calculated-report .answer-home .answer-timeline-depth > summary {
  min-height: 64px;
  font-size: 16px;
}

.answer-timeline-depth > .answer-transit-timing {
  margin: 0;
}

.answer-life-map-depth > .answer-life-map {
  margin: 0;
}

.outlook-window-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0 14px;
}

.outlook-window-summary article {
  min-width: 0;
  padding: 16px 16px 18px;
  color: var(--jyotisya-ink);
  border-top: 3px solid var(--jyotisya-gold);
  background: var(--jyotisya-surface-raised);
}

.outlook-window-summary article.is-action {
  border-top-color: var(--jyotisya-green-light);
}

.outlook-window-summary article > strong {
  display: block;
  margin-top: 8px;
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 500;
  line-height: 1.25;
}

.outlook-window-summary article > p {
  margin: 8px 0 0;
  color: var(--jyotisya-copy);
  font-size: 14px;
  line-height: 1.55;
}

.outlook-window-details {
  margin-top: 4px;
}

.outlook-meaning-boundary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(24px, 4vw, 40px);
  overflow: hidden;
  border: 1px solid var(--jyotisya-rule);
  background: var(--jyotisya-rule);
}

.outlook-meaning-boundary > div {
  min-width: 0;
  padding: 16px;
  color: var(--jyotisya-ink);
  background: var(--jyotisya-surface-raised);
}

.outlook-meaning-boundary span,
.outlook-feed-label {
  display: block;
  color: var(--jyotisya-gold-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.outlook-meaning-boundary strong {
  display: block;
  margin-top: 8px;
  color: var(--jyotisya-ink);
  font-size: 15px;
  line-height: 1.35;
}

.outlook-meaning-boundary p {
  margin: 7px 0 0;
  color: var(--jyotisya-copy);
  font-size: 13px;
  line-height: 1.55;
}

.outlook-standing-context {
  margin-top: clamp(28px, 5vw, 52px);
  padding: clamp(22px, 3.5vw, 36px);
  border: 1px solid var(--jyotisya-rule-strong);
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, var(--jyotisya-gold) 9%, transparent),
      transparent 42%
    ),
    var(--jyotisya-surface);
}

.outlook-standing-context > h4 {
  margin: 8px 0 0;
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
  font-size: clamp(25px, 3vw, 38px);
  font-weight: 500;
  line-height: 1.1;
}

.outlook-standing-context > .outlook-headline {
  max-width: 72ch;
  margin: 12px 0 0;
  color: var(--jyotisya-copy);
  font-size: 15px;
  line-height: 1.6;
}

.outlook-standing-limit {
  max-width: 72ch;
  margin: 8px 0 0;
  color: var(--jyotisya-muted);
  font-size: 13px;
  line-height: 1.55;
}

.outlook-standing-items {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 22px;
  border: 1px solid var(--jyotisya-rule);
  background: var(--jyotisya-rule);
}

body.has-calculated-report .answer-home .outlook-item {
  min-width: 0;
  padding: clamp(16px, 2.4vw, 22px);
  color: var(--jyotisya-copy);
  border: 0;
  background: var(--jyotisya-night-layer);
}

body.has-calculated-report .answer-home .outlook-items {
  display: grid;
  gap: 1px;
  border: 1px solid var(--jyotisya-rule);
  background: var(--jyotisya-rule);
}

.outlook-items.is-compact-feed {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.outlook-item header {
  align-items: flex-start;
  gap: 10px;
}

.outlook-item header strong {
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
  font-size: 19px;
  font-weight: 500;
  line-height: 1.25;
}

.outlook-life-area {
  flex-basis: 100%;
  color: var(--jyotisya-gold-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.45;
}

.outlook-item .outlook-theme {
  margin: 12px 0 0;
  color: var(--jyotisya-copy);
  font-size: 14px;
  line-height: 1.6;
}

.outlook-item-orientation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0 0;
}

.outlook-item-orientation > div {
  min-width: 0;
  padding-left: 12px;
  border-left: 2px solid var(--jyotisya-rule-strong);
}

.outlook-item-orientation dt {
  color: var(--jyotisya-gold-light);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.outlook-item-orientation dd {
  margin: 6px 0 0;
  color: var(--jyotisya-copy);
  font-size: 13px;
  line-height: 1.55;
}

.outlook-item .outlook-basis {
  display: block;
  margin-top: 16px;
  color: var(--jyotisya-muted);
  font-size: 12px;
  line-height: 1.5;
}

.outlook-item.is-compact {
  padding: 14px 16px;
}

.outlook-item.is-compact header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 6px 10px;
}

.outlook-item.is-compact header strong {
  font-size: 16px;
  line-height: 1.3;
}

.outlook-item.is-compact .outlook-sensitivity {
  min-height: 30px;
  padding: 4px 8px;
  font-size: 12px;
}

.outlook-item.is-compact .outlook-life-area {
  grid-column: 1 / -1;
}

.outlook-compact-use {
  margin: 9px 0 0;
  color: var(--jyotisya-copy);
  font-size: 13px;
  line-height: 1.48;
}

.outlook-item.is-compact .outlook-basis {
  margin-top: 8px;
  font-size: 12px;
  line-height: 1.4;
}

.outlook-ledger-note {
  margin: 10px 0 0;
  color: var(--jyotisya-muted);
  font-size: 12px;
  line-height: 1.5;
}

.outlook-summary-use {
  display: block;
  margin-top: 8px;
  color: var(--jyotisya-muted);
  font-size: 12px;
  line-height: 1.45;
}

.outlook-calendar-depth {
  padding-block: 18px;
  border-top: 1px solid var(--jyotisya-rule);
}

.outlook-calendar-depth > summary {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: var(--jyotisya-gold-light);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  list-style: none;
}

.outlook-calendar-depth > summary::-webkit-details-marker {
  display: none;
}

.outlook-calendar-depth > summary::after {
  flex: 0 0 auto;
  content: "+";
  font-family: var(--font-display);
  font-size: 24px;
  font-weight: 400;
}

.outlook-calendar-depth[open] > summary::after {
  content: "−";
}

.outlook-calendar-depth > summary:focus-visible {
  outline: 3px solid var(--jyotisya-green-light);
  outline-offset: 3px;
}

.outlook-calendar-depth > .outlook-good-days {
  padding-bottom: 0;
}

.outlook-range {
  margin: -6px 0 0;
  color: var(--jyotisya-muted);
  font-size: 13px;
  line-height: 1.5;
}

.outlook-feed-label {
  margin: 18px 0 10px;
}

.outlook-empty {
  margin: 14px 0 0;
  padding: 16px;
  color: var(--jyotisya-copy);
  border-left: 3px solid var(--jyotisya-gold);
  background: color-mix(
    in srgb,
    var(--jyotisya-surface-raised) 82%,
    transparent
  );
  font-size: 14px;
  line-height: 1.6;
}

.report-authority-boundary.is-session-warning {
  margin: 0;
  color: var(--jyotisya-copy);
  border-left-color: var(--jyotisya-warning);
  background: color-mix(
    in srgb,
    var(--jyotisya-warning) 11%,
    var(--jyotisya-surface)
  );
}

.report-authority-boundary.is-session-warning > span {
  color: var(--jyotisya-warning);
}

.report-authority-boundary.is-session-warning > strong {
  color: var(--jyotisya-ink);
}

@media (max-width: 820px) {
  .outlook-standing-items,
  .outlook-items.is-compact-feed {
    grid-template-columns: 1fr;
  }

  .outlook-meaning-boundary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .outlook-item-orientation {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .outlook-window {
    padding-block: 22px;
  }

  .outlook-window-summary {
    gap: 8px;
    margin-block: 14px 10px;
  }

  .outlook-window-summary article {
    padding: 12px 13px 14px;
  }

  .outlook-window-summary article > strong {
    margin-top: 6px;
    font-size: 16px;
  }

  .outlook-window-summary article > p {
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.45;
  }

  .outlook-meaning-boundary > div {
    padding: 12px;
  }

  .outlook-meaning-boundary strong {
    margin-top: 5px;
    font-size: 13px;
  }

  .outlook-meaning-boundary p {
    display: none;
  }

  .outlook-standing-context {
    padding: 18px 14px;
  }

  .outlook-standing-items {
    margin-top: 16px;
  }

  body.has-calculated-report .answer-home .outlook-item.is-compact {
    padding: 10px 12px;
  }

  .outlook-item.is-compact .outlook-sensitivity {
    min-height: 26px;
    padding: 3px 7px;
  }

  .outlook-compact-use {
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.4;
  }

  .outlook-empty {
    margin-top: 8px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 1.45;
  }

  body.has-calculated-report
    .answer-home
    .answer-topic-card.is-preview
    .answer-personal-story-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.has-calculated-report
    .answer-home
    .answer-topic-card.is-preview
    .answer-personal-story-preview
    p {
    font-size: 13px;
    line-height: 1.45;
  }

  body.has-calculated-report
    .answer-home
    .answer-topic-card.is-preview
    .answer-personal-story-preview
    > aside {
    border-top: 0;
    border-left: 1px solid var(--jyotisya-rule);
  }

  body.has-calculated-report
    .answer-home
    .answer-topic-card.is-preview
    .answer-topic-more
    > summary {
    min-height: 44px;
    padding-block: 10px;
    font-size: 13px;
  }
}

.goodday-toggle {
  min-height: 48px;
  margin-top: 14px;
  padding: 11px 16px;
  color: var(--jyotisya-gold-light);
  border: 1px solid var(--jyotisya-rule-strong);
  border-radius: 999px;
  background: transparent;
  cursor: pointer;
  font: 700 14px/1.4 var(--font-ui);
}

.goodday-toggle:hover,
.goodday-toggle:focus-visible {
  color: var(--jyotisya-ink-on-accent);
  border-color: var(--jyotisya-gold);
  background: var(--jyotisya-gold);
  outline: 3px solid var(--jyotisya-green-light);
  outline-offset: 3px;
}

.answer-how-it-works {
  padding: clamp(26px, 4vw, 44px);
  border: 1px solid var(--jyotisya-rule);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--jyotisya-gold) 9%, transparent), transparent 44%),
    var(--jyotisya-surface);
}

.answer-how-it-works > header {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(280px, 0.55fr);
  gap: 12px clamp(28px, 5vw, 72px);
  align-items: end;
}

.answer-how-it-works > header .card-kicker,
.answer-how-it-works > header h3 {
  grid-column: 1;
}

.answer-how-it-works > header h3 {
  margin: 8px 0 0;
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
  font-size: clamp(28px, 3.5vw, 44px);
  font-weight: 500;
  line-height: 1.05;
}

.answer-how-it-works > header > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  margin: 0;
  color: var(--jyotisya-copy);
  font-size: 15px;
  line-height: 1.65;
}

.answer-how-it-works > ol {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 26px 0 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--jyotisya-rule);
  background: var(--jyotisya-rule);
  list-style: none;
}

.answer-how-it-works > ol > li {
  min-width: 0;
  margin: 0;
}

.answer-how-it-works article {
  height: 100%;
  min-width: 0;
  padding: 16px 17px 18px;
  color: var(--jyotisya-ink);
  background: var(--jyotisya-surface-raised);
}

.answer-how-it-works article > span {
  display: block;
  color: var(--jyotisya-gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
}

.answer-how-it-works article > h4 {
  margin: 9px 0 0;
  color: var(--jyotisya-ink);
  font-family: var(--font-display);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.05;
}

.answer-how-it-works article > strong {
  display: block;
  margin-top: 8px;
  color: var(--jyotisya-gold-light);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.answer-how-it-works article > p {
  margin: 8px 0 0;
  color: var(--jyotisya-copy);
  font-size: 13px;
  line-height: 1.48;
}

.answer-how-it-works-formula {
  display: flex;
  gap: 12px 24px;
  align-items: center;
  justify-content: space-between;
  min-height: 62px;
  padding: 13px 16px;
  color: var(--jyotisya-ink);
  border-right: 1px solid var(--jyotisya-rule);
  border-bottom: 1px solid var(--jyotisya-rule);
  border-left: 1px solid var(--jyotisya-rule);
}

.answer-how-it-works-formula > strong {
  font-family: var(--font-display);
  font-size: 18px;
  font-weight: 500;
}

.answer-how-it-works-formula > span {
  color: var(--jyotisya-green-light);
  font-size: 12px;
  font-weight: 700;
  text-align: right;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.answer-how-it-works > nav {
  display: flex;
  gap: 10px 24px;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 18px;
}

.answer-how-it-works > nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--jyotisya-gold-light);
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.answer-how-it-works > nav a:last-child {
  color: var(--jyotisya-copy);
}

.answer-how-it-works > nav a:hover,
.answer-how-it-works > nav a:focus-visible {
  color: var(--jyotisya-ink);
  text-decoration: underline;
  text-underline-offset: 5px;
}

@media (max-width: 900px) {
  body.has-calculated-report .answer-section-lead {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .answer-section-lead > aside {
    grid-column: 2;
    min-height: 0;
    padding: 4px 0 0;
    border-left: 0;
  }

  .answer-how-it-works > header {
    grid-template-columns: 1fr;
  }

  .answer-how-it-works > header > p:last-child {
    grid-column: 1;
    grid-row: auto;
  }

  .answer-how-it-works > ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  body.has-calculated-report .site-header[data-site-header] {
    grid-template-areas:
      "brand account"
      "primary primary";
  }

  body.has-calculated-report .site-header[data-site-header]
    > .header-section-label {
    display: none;
  }

  body.has-calculated-report .site-header[data-site-header] > .header-status {
    display: none;
  }

  body.has-calculated-report .answer-section-lead {
    grid-template-columns: 1fr;
    gap: 12px;
    padding-top: 24px;
  }

  body.has-calculated-report .answer-home-nav {
    display: flex;
    top: var(--site-header-offset);
    gap: 2px;
    width: calc(100% - 20px);
    margin-bottom: 10px;
    padding: 3px;
    border-radius: 14px;
    scroll-padding-inline: 8px;
    scroll-snap-type: x proximity;
  }

  body.has-calculated-report .answer-home-nav button {
    flex: 1 0 78px;
    min-width: 78px;
    padding-right: 8px;
    padding-left: 8px;
    scroll-snap-align: center;
  }

  body.has-calculated-report .back-to-top {
    display: none;
  }

  body.has-calculated-report .answer-qa-controls {
    bottom: 0;
    padding-bottom: max(8px, env(safe-area-inset-bottom));
  }

  .answer-section-marker {
    grid-template-columns: auto auto;
    align-items: baseline;
    justify-content: start;
    gap: 8px;
    min-width: 0;
    padding: 0 0 14px;
    border-right: 0;
    border-bottom: 1px solid var(--jyotisya-rule);
  }

  .answer-section-marker > span {
    font-size: 28px;
  }

  .answer-section-marker > small {
    margin-top: 0;
  }

  .answer-section-lead > aside {
    display: none;
  }

  .answer-section-lead h2 {
    font-size: clamp(34px, 12vw, 50px);
  }

  body.has-calculated-report .answer-home .answer-personal-story-preview,
  .outlook-window-summary {
    grid-template-columns: 1fr;
  }

  .periodic-outlook-sign {
    grid-template-columns: 1fr;
    gap: 4px;
    margin-bottom: 18px;
    padding: 16px 14px;
  }

  .periodic-outlook-sign > .card-kicker,
  .periodic-outlook-sign > h3,
  .periodic-outlook-sign > .periodic-outlook-sign-intro,
  .periodic-outlook-sign > dl {
    grid-column: 1;
    grid-row: auto;
  }

  .periodic-outlook-sign > dl {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 8px;
  }

  .periodic-outlook-sign > dl > div {
    min-width: 0;
    padding: 8px 8px 8px 0;
  }

  .periodic-outlook-sign > h3 {
    font-size: clamp(32px, 10vw, 42px);
  }

  .periodic-outlook-sign-intro {
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.45;
  }

  body.has-calculated-report
    .answer-home
    .periodic-outlook
    > .card-kicker {
    display: none;
  }

  body.has-calculated-report
    .answer-home
    .periodic-outlook
    > .periodic-outlook-intro {
    margin-top: 8px;
    font-size: 14px;
    line-height: 1.5;
  }

  body.has-calculated-report
    .answer-home
    .answer-personal-story-preview
    > aside {
    border-top: 1px solid var(--jyotisya-rule);
    border-left: 0;
  }

  .answer-how-it-works {
    padding: 18px 12px;
  }

  .answer-how-it-works > header > p:last-child {
    font-size: 14px;
    line-height: 1.5;
  }

  .answer-how-it-works > ol {
    grid-template-columns: 1fr;
    margin-top: 18px;
  }

  .answer-how-it-works article {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 2px 8px;
    padding: 11px 12px;
  }

  .answer-how-it-works article > span {
    grid-row: 1 / span 3;
    padding-top: 5px;
  }

  .answer-how-it-works article > h4,
  .answer-how-it-works article > strong,
  .answer-how-it-works article > p {
    grid-column: 2;
  }

  .answer-how-it-works article > h4,
  .answer-how-it-works article > strong {
    margin-top: 0;
  }

  .answer-how-it-works article > h4 {
    font-size: 20px;
  }

  .answer-how-it-works article > p {
    font-size: 14px;
    line-height: 1.4;
  }

  .answer-how-it-works-formula {
    display: none;
  }

  .answer-how-it-works > nav {
    gap: 6px 18px;
    margin-top: 8px;
  }

  .answer-how-it-works > nav a {
    font-size: 13px;
  }

  body.has-calculated-report .answer-home .answer-topic-card {
    padding: 12px;
  }

  body.has-calculated-report .answer-home .answer-topic-card > span {
    display: none;
  }

  body.has-calculated-report .answer-home .answer-topic-card h4 {
    margin: 0 0 8px;
    font-size: 22px;
  }

  body.has-calculated-report .answer-home .answer-topic-card .answer-topic-what {
    display: none;
  }

  body.has-calculated-report
    .answer-home
    .answer-topic-card
    .answer-personal-story-preview {
    margin-top: 10px;
  }

  .answer-topic-card .answer-personal-story-preview > div,
  .answer-topic-card .answer-personal-story-preview > aside {
    padding: 12px;
  }

  body.has-calculated-report
    .answer-home
    .answer-topic-card
    .answer-topic-reliability {
    margin-top: 10px;
    padding: 9px 12px;
  }

  .answer-topic-card .answer-topic-reliability p {
    font-size: 14px;
    line-height: 1.45;
  }

  body.has-calculated-report .answer-home .answer-topic-grid {
    gap: 10px;
  }

  body.has-calculated-report
    .answer-home
    .answer-topic-card.is-preview
    .answer-topic-reliability {
    display: none;
  }

  .answer-section-continuation {
    padding-bottom: 26px;
  }

  body.has-calculated-report :is(
    .answer-pattern-grid,
    .answer-planning-grid
  ) {
    grid-template-columns: 1fr;
  }

  body.has-calculated-report :is(
    .answer-pattern-grid,
    .answer-planning-grid
  ) article {
    min-height: 0;
  }
}

@media (min-width: 821px) and (max-width: 1050px) {
  body.has-calculated-report :is(
    .answer-pattern-grid,
    .answer-planning-grid
  ) article {
    min-height: 0;
  }

  body.has-calculated-report :is(
    .answer-pattern-grid,
    .answer-planning-grid
  ) article:last-child:nth-child(odd) {
    grid-column: 1 / -1;
  }
}

/* Customer value first
   -------------------------------------------------------------------------
   A calculated chart opens with the personalized answer—not report chrome.
   Theme, action and timing lead; confidence, methodology and the full
   synthesis remain available immediately below as progressive depth. */
body.has-calculated-report .answer-home-header {
  display: block;
  padding: clamp(22px, 3vw, 34px) clamp(18px, 3vw, 36px) 18px;
}

body.has-calculated-report .answer-home-header h2 {
  max-width: 20ch;
  font-size: clamp(34px, 4.2vw, 54px);
  line-height: 1;
}

body.has-calculated-report .answer-home-header p:not(.card-kicker) {
  margin-top: 10px;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-today-briefing {
  display: grid;
  grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.28fr);
  grid-template-rows: auto 1fr;
  align-items: start;
  gap: 14px clamp(22px, 3vw, 42px);
  margin: 0;
  padding: clamp(24px, 3vw, 36px) clamp(18px, 3vw, 36px);
  border: 0;
  border-bottom: 1px solid var(--jyotisya-rule);
  border-radius: 0;
  background:
    radial-gradient(
      circle at 90% 0,
      color-mix(in srgb, var(--jyotisya-gold) 18%, transparent),
      transparent 22rem
    ),
    var(--jyotisya-night-layer);
  box-shadow: none;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-today-briefing
  > header {
  grid-column: 1;
  grid-row: 1;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-today-briefing
  > header
  h3 {
  max-width: 14ch;
  font-size: clamp(32px, 3.2vw, 42px);
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-today-briefing
  > header
  p {
  font-size: 14px;
  line-height: 1.5;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-today-briefing
  > div {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: start;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-today-briefing
  article {
  display: grid;
  align-content: start;
  min-height: 190px;
  padding: 15px;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-today-briefing
  > footer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  grid-column: 1;
  grid-row: 2;
  align-self: end;
  width: 100%;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-today-briefing
  > footer
  .button {
  justify-content: center;
  width: auto;
  min-height: 44px;
  padding: 10px 14px;
  font-size: 13px;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-today-briefing
  > footer
  .button-secondary {
  color: var(--jyotisya-gold-light);
  border: 0;
  background: transparent;
  box-shadow: none;
  text-decoration: underline;
  text-underline-offset: 4px;
  white-space: nowrap;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-sample-notice {
  margin: 14px clamp(18px, 3vw, 36px) 0;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-priority-briefing {
  border-top: 0;
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-confidence-disclosure {
  margin: 0;
  padding: 0 clamp(18px, 3vw, 36px);
  border-top: 1px solid var(--jyotisya-rule);
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-confidence-disclosure
  > summary {
  color: var(--jyotisya-copy);
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-confidence-disclosure
  > .answer-confidence {
  grid-template-columns: auto auto minmax(0, 1fr);
  align-items: baseline;
  min-width: 0;
  gap: 6px 14px;
  margin: 0 0 18px;
  padding: 14px 16px;
  color: var(--jyotisya-copy);
  border-color: var(--jyotisya-rule);
  background: var(--jyotisya-night-layer);
}

body.has-calculated-report
  #answer-today.is-value-first
  > .answer-confidence-disclosure
  > .answer-confidence
  small {
  max-width: none;
}

body.has-calculated-report .answer-destination-panel:focus {
  outline: none;
}

body.has-calculated-report .answer-destination-panel:focus-visible {
  outline: 2px solid var(--jyotisya-gold);
  outline-offset: -2px;
}

@media (max-width: 1050px) {
  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    > :is(header, div, footer) {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 540px) {
  body.has-calculated-report .answer-home-header {
    padding: 20px 16px 14px;
  }

  body.has-calculated-report .answer-home-header h2 {
    font-size: clamp(34px, 10.5vw, 42px);
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing {
    gap: 12px;
    padding: 20px 16px 22px;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    > header
    h3 {
    margin-bottom: 0;
    font-size: clamp(30px, 9.5vw, 38px);
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    > header
    p {
    display: none;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    > div {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    > footer {
    display: grid;
    grid-template-columns: 1fr;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    > footer
    .button {
    width: 100%;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    article {
    grid-template-columns: 68px minmax(0, 1fr);
    min-height: 0;
    padding: 13px 0;
    border: 0;
    border-top: 1px solid var(--jyotisya-rule);
    border-radius: 0;
    background: transparent;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    article:first-child {
    border-top: 0;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    article
    > span {
    grid-column: 1;
    grid-row: 1 / 3;
    padding-top: 3px;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    article
    > :is(strong, p) {
    grid-column: 2;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    article
    > strong {
    margin-top: 0;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-today-briefing
    article
    > p {
    margin-top: 5px;
    font-size: 14px;
    line-height: 1.45;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-confidence-disclosure
    > .answer-confidence {
    grid-template-columns: auto 1fr;
  }

  body.has-calculated-report
    #answer-today.is-value-first
    > .answer-confidence-disclosure
    > .answer-confidence
    small {
    grid-column: 1 / -1;
  }
}
