:root {
  --sinastria-ink: #183b36;
  --sinastria-muted: #61716c;
  --sinastria-wine: #744656;
  --sinastria-wine-dark: #603746;
  --sinastria-gold: #c59b55;
  --sinastria-paper: #f8f6f0;
  --sinastria-card: #fdfdfb;
  --sinastria-line: #d6dad4;
  --sinastria-soft: #f0eee7;
}

.sinastria-page {
  width: min(1360px, calc(100% - 48px));
  margin: 0 auto;
  padding: 72px 0 96px;
}

.sinastria-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, .65fr);
  align-items: end;
  gap: 48px;
  margin-bottom: 40px;
}

.sinastria-eyebrow {
  margin: 0 0 12px;
  color: var(--sinastria-wine);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.sinastria-hero h1 {
  grid-column: 1;
  margin: 0;
  font-family: Literata, Georgia, serif;
  font-size: clamp(48px, 6.5vw, 92px);
  font-weight: 600;
  line-height: .98;
  letter-spacing: -.055em;
}

.sinastria-hero h1 span { color: var(--sinastria-wine); }

.sinastria-hero > p:last-child {
  grid-column: 2;
  margin: 0 0 6px;
  color: var(--sinastria-muted);
  font-size: 18px;
  line-height: 1.55;
}

.sinastria-calculator {
  overflow: visible;
  border: 1px solid var(--sinastria-line);
  border-radius: 20px;
  background: var(--sinastria-card);
}

.sinastria-calculator-method {
  margin: 0;
  padding: 20px 32px 0;
  color: var(--sinastria-muted);
  font-size: 13px;
  line-height: 1.5;
}

.sinastria-form { padding: 18px 32px 32px; }

.sinastria-people-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}

.sinastria-person {
  min-width: 0;
  margin: 0;
  padding: 28px;
  border: 1px solid var(--sinastria-line);
  border-radius: 14px;
  background: #fff;
}

.sinastria-person > legend {
  padding: 0 10px;
  color: var(--sinastria-ink);
  font-family: Literata, Georgia, serif;
  font-size: 30px;
  font-weight: 600;
}

.sinastria-person > p {
  margin: -2px 0 24px;
  color: var(--sinastria-muted);
}

.sinastria-person label,
.sinastria-time,
.sinastria-location { display: block; }

.sinastria-person label > span:first-child,
.sinastria-gender > legend,
.sinastria-time details label > span {
  display: block;
  margin-bottom: 8px;
  color: #41534e;
  font-size: 13px;
  font-weight: 600;
}

.sinastria-person input:not([type="radio"]):not([type="checkbox"]),
.sinastria-person select {
  box-sizing: border-box;
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid #c7cec7;
  border-radius: 9px;
  color: var(--sinastria-ink);
  background: #fff;
  font: 500 16px/1.2 Inter, system-ui, sans-serif;
}

.sinastria-person > label,
.sinastria-gender,
.sinastria-time,
.sinastria-location { margin: 0 0 20px; }

.sinastria-gender {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
}

.sinastria-gender > legend {
  float: left;
  width: 100%;
}

.sinastria-gender label { margin: 0; }
.sinastria-gender input { position: absolute; opacity: 0; }

.sinastria-gender label > span {
  display: grid;
  place-items: center;
  width: 46px;
  height: 38px;
  margin: 0;
  border: 1px solid #c7cec7;
  border-radius: 999px;
  color: var(--sinastria-muted);
  cursor: pointer;
}

.sinastria-gender input:checked + span {
  border-color: var(--sinastria-wine);
  color: #fff;
  background: var(--sinastria-wine);
}

.sinastria-gender input:focus-visible + span,
.sinastria-person input:focus-visible,
.sinastria-person select:focus-visible,
.sinastria-form button:focus-visible,
.sinastria-result button:focus-visible,
.sinastria-result summary:focus-visible,
.sinastria-chart-tabs button:focus-visible {
  outline: 3px solid rgba(197, 155, 85, .42);
  outline-offset: 2px;
}

.sinastria-unknown {
  display: flex !important;
  align-items: center;
  gap: 9px;
  margin: 10px 0 0;
  color: var(--sinastria-muted);
  font-size: 14px;
}

.sinastria-unknown input { width: 18px; height: 18px; accent-color: var(--sinastria-wine); }
.sinastria-unknown span { margin: 0 !important; font-weight: 500 !important; }

.sinastria-time details { margin-top: 12px; }
.sinastria-time summary { color: var(--sinastria-wine); cursor: pointer; font-size: 14px; font-weight: 500; }
.sinastria-time details label { margin: 12px 0 0; }

.sinastria-location { position: relative; margin-bottom: 0; }
.sinastria-location > p { min-height: 18px; margin: 6px 2px 0; color: var(--sinastria-muted); font-size: 12px; }
.sinastria-location > p[data-resolved="true"] { color: #39705e; }

.sinastria-location .compat-location-results {
  position: absolute;
  z-index: 40;
  top: calc(100% - 15px);
  right: 0;
  left: 0;
  max-height: 260px;
  overflow-y: auto;
  padding: 6px;
  border: 1px solid var(--sinastria-line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(24, 59, 54, .16);
}

.sinastria-location .compat-location-results button {
  display: flex;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-radius: 7px;
  color: var(--sinastria-ink);
  background: transparent;
  text-align: left;
  cursor: pointer;
  flex-direction: column;
}

.sinastria-location .compat-location-results button:hover,
.sinastria-location .compat-location-results button[aria-selected="true"] { background: #f2f5f1; }
.sinastria-location .compat-location-results small { margin-top: 3px; color: var(--sinastria-muted); }
.sinastria-location .compat-location-message { margin: 8px; color: var(--sinastria-muted); font-size: 13px; }

.sinastria-form-action {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2px 24px;
  padding: 28px 0 0;
}

.sinastria-form-action > span { font-weight: 600; }
.sinastria-form-action > small { grid-row: 2; color: var(--sinastria-muted); }
.sinastria-form-action button,
.sinastria-save-cta {
  grid-column: 2;
  grid-row: 1 / span 2;
  min-height: 52px;
  padding: 0 24px;
  border: 0;
  border-radius: 9px;
  color: #fff;
  background: var(--sinastria-wine);
  font: 600 16px/1.2 Inter, system-ui, sans-serif;
  cursor: pointer;
}

.sinastria-form-action button:hover,
.sinastria-save-cta:hover { background: var(--sinastria-wine-dark); }
.sinastria-form-action button:disabled { opacity: .55; cursor: wait; }
.sinastria-form-action [role="status"] { grid-column: 1 / -1; margin: 14px 0 0; color: #8c3d42; }

.sinastria-result { padding: 34px; }
.sinastria-form[hidden] + .sinastria-result { display: block; }

.sinastria-result-head,
.sinastria-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.sinastria-result-head { margin-bottom: 26px; }
.sinastria-result-head h2,
.sinastria-section-head h3 {
  margin: 0;
  font-family: Literata, Georgia, serif;
  font-weight: 600;
  letter-spacing: -.025em;
}

.sinastria-result-head h2 { font-size: clamp(32px, 4vw, 52px); }
.sinastria-section-head h3 { font-size: 28px; }
.sinastria-result-head > button {
  padding: 10px 14px;
  border: 1px solid #c7cec7;
  border-radius: 8px;
  color: var(--sinastria-ink);
  background: #fff;
  font: 500 14px/1.2 Inter, sans-serif;
  cursor: pointer;
}

.sinastria-result-section {
  padding: 30px 0;
  border-top: 1px solid var(--sinastria-line);
}

.sinastria-chart-tabs { display: none; }
.sinastria-charts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.sinastria-chart-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--sinastria-line);
  border-radius: 12px;
  background: #fdfdfc;
}

.sinastria-chart-card > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding: 15px 16px;
  border-bottom: 1px solid #e8ebe5;
}

.sinastria-chart-card h3 { margin: 0; font-size: 17px; font-weight: 600; }
.sinastria-chart-card header p { margin: 0; color: var(--sinastria-muted); font-size: 13px; text-align: right; }
.sinastria-chart-card .chart-toolbar { display: none !important; }
.sinastria-chart-card .chart-panel { width: 100% !important; min-width: 0 !important; border: 0; border-radius: 0; }
.sinastria-chart-card .chart-fit-container { box-sizing: border-box; width: 100% !important; height: auto !important; min-height: 0 !important; padding: 0; aspect-ratio: 1 / 1; }
.sinastria-chart-card .chart-stage { width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important; margin: 0; transform: none !important; }
.sinastria-chart-card [data-chart-data-message] { font-family: Inter, sans-serif; }

.sinastria-chart-unavailable {
  display: grid;
  min-height: 330px;
  place-items: center;
  padding: 28px;
  color: var(--sinastria-muted);
  text-align: center;
}

.sinastria-metrics {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 16px;
}

.sinastria-metric {
  padding: 22px;
  border: 1px solid var(--sinastria-line);
  border-radius: 12px;
  background: #fff;
}

.sinastria-metric span { color: var(--sinastria-muted); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.sinastria-metric strong { display: block; margin: 8px 0; font: 600 30px/1.1 Literata, Georgia, serif; }
.sinastria-metric p { margin: 0; color: var(--sinastria-muted); line-height: 1.5; }
.sinastria-metric details { margin-top: 16px; }
.sinastria-metric summary { color: var(--sinastria-wine); cursor: pointer; font-weight: 500; }
.sinastria-kuta-list { display: grid; gap: 8px; margin-top: 14px; }
.sinastria-kuta-list div { display: grid; grid-template-columns: minmax(120px, 1fr) auto; gap: 8px 16px; padding: 10px 0; border-top: 1px solid #e8ebe5; }
.sinastria-kuta-list small { grid-column: 1 / -1; color: var(--sinastria-muted); }

.sinastria-summary-copy { max-width: 920px; }
.sinastria-summary-copy p { margin: 10px 0 0; color: #314641; font-size: 17px; line-height: 1.55; }
.sinastria-summary-copy a { color: var(--sinastria-wine); }

.sinastria-graha-list { margin-top: 18px; border: 1px solid var(--sinastria-line); border-radius: 12px; overflow: clip; }
.sinastria-graha-heading,
.sinastria-graha-row {
  display: grid;
  grid-template-columns: minmax(130px, .6fr) minmax(100px, .5fr) minmax(0, 2fr);
  align-items: start;
  gap: 18px;
}

.sinastria-graha-heading {
  padding: 12px 16px;
  color: var(--sinastria-muted);
  background: #fafaf8;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.sinastria-graha-detail { border-top: 1px solid #e8ebe5; }
.sinastria-graha-detail:first-of-type { border-top: 0; }
.sinastria-graha-detail > summary { list-style: none; cursor: pointer; }
.sinastria-graha-detail > summary::-webkit-details-marker { display: none; }
.sinastria-graha-row { padding: 16px; }
.sinastria-graha-row > span { min-width: 0; }
.sinastria-graha-name { display: flex; align-items: center; gap: 9px; font-weight: 600; }
.sinastria-graha-name::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--sinastria-wine); }
.sinastria-aspect { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: var(--sinastria-soft); font-size: 13px; font-weight: 600; }
.sinastria-aspect[data-tone="support"] { color: #285e4e; background: #e4f0e7; }
.sinastria-aspect[data-tone="attention"] { color: #8b4447; background: #f3e5e2; }
.sinastria-graha-meaning { color: #314641; line-height: 1.45; }
.sinastria-graha-positions { color: var(--sinastria-muted); font-size: 14px; line-height: 1.45; }
.sinastria-graha-basis { padding: 0 16px 18px 41px; color: var(--sinastria-muted); font-size: 14px; line-height: 1.5; }
.sinastria-graha-basis p { margin: 7px 0; }

.sinastria-overlays {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.sinastria-overlay-card { min-width: 0; overflow: hidden; border: 1px solid var(--sinastria-line); border-radius: 12px; }
.sinastria-overlay-card h4 { margin: 0; padding: 15px 16px; background: #fafaf8; font-size: 16px; font-weight: 600; }
.sinastria-overlay-card table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.sinastria-overlay-card th,
.sinastria-overlay-card td { padding: 11px 12px; border-top: 1px solid #e8ebe5; text-align: left; vertical-align: top; }
.sinastria-overlay-card thead th { color: var(--sinastria-muted); font-size: 12px; font-weight: 600; }
.sinastria-overlay-card tbody th { font-size: 14px; font-weight: 500; }
.sinastria-overlay-card td:nth-child(2), .sinastria-overlay-card th:nth-child(2) { width: 44px; text-align: center; }
.sinastria-house-pill { display: inline-grid; min-width: 26px; min-height: 26px; place-items: center; border-radius: 6px; background: #f1eadc; font-weight: 600; }
.sinastria-overlay-card td:last-child { color: var(--sinastria-muted); font-size: 13px; line-height: 1.4; }
.sinastria-node-contact { display: block; margin-top: 5px; color: var(--sinastria-ink); font-size: 12px; }
.sinastria-help { position: relative; }
.sinastria-help summary { display: grid; width: 26px; height: 26px; place-items: center; border: 1px solid #b9c1bb; border-radius: 50%; list-style: none; cursor: pointer; }
.sinastria-help summary::-webkit-details-marker { display: none; }
.sinastria-help div { position: absolute; z-index: 5; top: 34px; right: 0; width: min(330px, 78vw); padding: 14px; border: 1px solid var(--sinastria-line); border-radius: 9px; background: #fff; box-shadow: 0 12px 30px rgba(24, 59, 54, .14); color: var(--sinastria-muted); font-size: 13px; line-height: 1.45; }

.sinastria-conversion { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 24px; align-items: center; padding: 26px; border-radius: 14px; color: #fff; background: var(--sinastria-ink); }
.sinastria-conversion h3 { margin: 0; font: 600 25px/1.15 Literata, Georgia, serif; }
.sinastria-conversion p { margin: 0; color: rgba(255,255,255,.74); }
.sinastria-save-cta { grid-column: 2; grid-row: 1 / span 2; display: inline-flex; align-items: center; text-decoration: none; }
.sinastria-own-link { color: #fff; font-weight: 500; }

.sinastria-support {
  display: grid;
  grid-template-columns: minmax(240px, .65fr) minmax(0, 1fr);
  gap: 48px;
  margin: 64px 0;
  padding: 34px 0;
  border-top: 1px solid var(--sinastria-line);
  border-bottom: 1px solid var(--sinastria-line);
}

.sinastria-support h2 { margin: 0; font: 600 30px/1.1 Literata, Georgia, serif; }
.sinastria-support > div:first-child > p:last-child { margin: 0; color: var(--sinastria-muted); font-size: 17px; line-height: 1.55; }
.sinastria-support { align-items: center; }
.sinastria-socials { margin-top: 72px; }

.sinastria-seo,
.sinastria-reading,
.sinastria-faq {
  width: min(100%, 980px);
  margin: 72px auto 0;
}

.sinastria-seo > section {
  padding: 34px clamp(20px, 3vw, 36px);
  border-top: 1px solid var(--sinastria-line);
}

.sinastria-seo h2,
.sinastria-reading h2,
.sinastria-faq h2 {
  margin: 0 0 18px;
  color: var(--sinastria-ink);
  font: 600 30px/1.16 Literata, Georgia, serif;
  letter-spacing: -.02em;
}

.sinastria-seo p,
.sinastria-methodology p,
.sinastria-faq details p {
  max-width: 78ch;
  margin: 12px 0 0;
  color: #41534e;
  font-size: 17px;
  line-height: 1.68;
}

.sinastria-seo > section > :is(h2, p, details) {
  max-width: min(850px, 100%);
  margin-inline: auto;
}

.sinastria-seo-note {
  padding-left: 18px;
  border-left: 3px solid #d8b875;
  color: var(--sinastria-muted) !important;
}

.sinastria-methodology {
  margin-top: 22px;
  border: 1px solid var(--sinastria-line);
  border-radius: 10px;
  background: var(--sinastria-card);
}

.sinastria-methodology summary,
.sinastria-faq summary {
  padding: 17px 20px;
  color: var(--sinastria-ink);
  cursor: pointer;
  font-weight: 600;
}

.sinastria-methodology > div { padding: 0 20px 20px; }
.sinastria-methodology code { overflow-wrap: anywhere; font-size: .88em; }
.sinastria-methodology a,
.sinastria-reading a { color: var(--sinastria-wine); }

.sinastria-reading nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.sinastria-reading nav a {
  display: flex;
  min-width: 0;
  padding: 16px 18px;
  border: 1px solid var(--sinastria-line);
  border-radius: 10px;
  background: var(--sinastria-card);
  text-decoration: none;
  flex-direction: column;
}

.sinastria-reading nav a:hover { border-color: #aeb8b0; }
.sinastria-reading nav strong { color: var(--sinastria-ink); font-weight: 600; }
.sinastria-reading nav span { margin-top: 5px; color: var(--sinastria-muted); font-size: 14px; line-height: 1.45; }

.sinastria-faq > div {
  border-top: 1px solid var(--sinastria-line);
}

.sinastria-faq details { border-bottom: 1px solid var(--sinastria-line); }
.sinastria-faq details p { padding: 0 20px 20px; margin: 0; }
.sinastria-faq summary::marker { color: var(--sinastria-wine); }

@media (max-width: 900px) {
  .sinastria-page { width: min(100% - 28px, 720px); padding-top: 44px; }
  .sinastria-hero { grid-template-columns: 1fr; gap: 20px; }
  .sinastria-hero > p:last-child { grid-column: 1; }
  .sinastria-people-form,
  .sinastria-metrics,
  .sinastria-overlays { grid-template-columns: 1fr; }
  .sinastria-calculator-method { padding: 18px 20px 0; }
  .sinastria-form { padding: 16px 20px 20px; }
  .sinastria-person { padding: 22px; }
  .sinastria-result { padding: 24px; }
  .sinastria-graha-heading { display: none; }
  .sinastria-graha-row { grid-template-columns: 1fr; gap: 8px; }
  .sinastria-graha-row > span::before { content: attr(data-label); display: block; margin-bottom: 3px; color: var(--sinastria-muted); font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
  .sinastria-graha-name::before { width: 6px; height: 6px; margin-top: 2px; }
  .sinastria-graha-basis { padding-left: 16px; }
}

@media (max-width: 620px) {
  .sinastria-page { width: calc(100% - 20px); padding: 28px 0 64px; }
  .sinastria-hero { margin-bottom: 26px; }
  .sinastria-hero h1 { font-size: clamp(39px, 12.2vw, 56px); }
  .sinastria-hero > p:last-child { font-size: 16px; }
  .sinastria-calculator { border-radius: 14px; }
  .sinastria-calculator-method { padding: 15px 12px 0; }
  .sinastria-form { padding: 12px; }
  .sinastria-person { padding: 17px; }
  .sinastria-person > legend { font-size: 24px; }
  .sinastria-form-action { grid-template-columns: 1fr; gap: 4px; padding: 20px 5px 4px; }
  .sinastria-form-action > small { grid-row: auto; }
  .sinastria-form-action button { grid-column: 1; grid-row: auto; width: 100%; margin-top: 14px; }
  .sinastria-result { padding: 17px 12px; }
  .sinastria-result-head { align-items: flex-start; flex-direction: column; }
  .sinastria-chart-tabs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 6px; margin-bottom: 8px; }
  .sinastria-chart-tabs button { min-height: 42px; border: 1px solid var(--sinastria-line); border-radius: 8px; color: var(--sinastria-muted); background: #fff; font: 500 14px/1.2 Inter, sans-serif; }
  .sinastria-chart-tabs button[aria-selected="true"] { border-color: var(--sinastria-wine); color: #fff; background: var(--sinastria-wine); }
  .sinastria-charts { display: block; }
  .sinastria-chart-card[hidden] { display: none; }
  .sinastria-chart-unavailable { min-height: 250px; }
  .sinastria-result-section { padding: 24px 0; }
  .sinastria-section-head { align-items: flex-start; }
  .sinastria-section-head h3 { font-size: 23px; }
  .sinastria-conversion { grid-template-columns: 1fr; padding: 20px; }
  .sinastria-save-cta { grid-column: 1; grid-row: auto; justify-content: center; margin-top: 12px; }
  .sinastria-support { grid-template-columns: 1fr; gap: 18px; margin: 42px 0; padding: 26px 0; }
  .sinastria-seo,
  .sinastria-reading,
  .sinastria-faq { margin-top: 48px; }
  .sinastria-seo > section { padding: 26px 16px; }
  .sinastria-seo h2,
  .sinastria-reading h2,
  .sinastria-faq h2 { font-size: 25px; }
  .sinastria-seo p,
  .sinastria-methodology p,
  .sinastria-faq details p { font-size: 16px; }
  .sinastria-reading nav { grid-template-columns: 1fr; }
  .sinastria-methodology summary,
  .sinastria-faq summary { padding-right: 14px; padding-left: 14px; }
  .sinastria-methodology > div,
  .sinastria-faq details p { padding-right: 14px; padding-left: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .sinastria-page { scroll-behavior: auto; }
}

/* Service layout: preserve the chart and interpretation components. */
.sinastria-page { width:min(1200px,calc(100% - 48px)); padding:32px 0 64px; }
.sinastria-hero { display:block; margin-bottom:24px; }
.sinastria-hero h1 { max-width:980px; font-size:clamp(30px,3.5vw,48px); line-height:1.15; letter-spacing:-.035em; }
.sinastria-hero > .sinastria-hero-copy { margin:14px 0 8px; max-width:850px; color:var(--sinastria-ink); font-size:17px; line-height:1.5; }
.sinastria-hero > .sinastria-hero-method { margin:0; color:var(--sinastria-muted); font-size:13px; line-height:1.5; }
.sinastria-form { padding:24px; }
.sinastria-people-form { gap:32px; }
.sinastria-person { border:0; border-radius:0; padding:0; background:transparent; }
.sinastria-person + .sinastria-person { border-left:1px solid var(--sinastria-line); padding-left:32px; }
.sinastria-person > legend { padding:0; margin:0 0 18px; font-size:24px; line-height:1.3; }
.sinastria-person-identity { display:grid; grid-template-columns:minmax(0,1fr) 110px; gap:16px; margin-bottom:16px; }
.sinastria-person-birth { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:16px; margin-bottom:16px; }
.sinastria-person label > span:first-child, .sinastria-gender > legend { font-weight:400; margin-bottom:7px; }
.sinastria-person input:not([type=radio]):not([type=checkbox]), .sinastria-person select { min-height:46px; font-weight:400; }
.sinastria-gender { margin:0; min-width:0; flex-wrap:wrap; align-content:start; gap:6px; }
.sinastria-gender legend { float:none; padding:0; }
.sinastria-gender label > span { width:46px; height:44px; border-radius:8px; }
.sinastria-gender input:checked + span { background:var(--sinastria-ink); border-color:var(--sinastria-ink); }
.sinastria-time { margin-bottom:16px; }
.sinastria-accuracy { display:flex; flex-wrap:wrap; gap:6px; margin:0; padding:0; border:0; }
.sinastria-accuracy legend { padding:0; margin-bottom:7px; font-size:13px; color:#41534e; }
.sinastria-accuracy label { position:relative; }
.sinastria-accuracy input { position:absolute; opacity:0; }
.sinastria-accuracy label > span { margin:0 !important; padding:9px 14px; border:1px solid #c7cec7; border-radius:8px; color:var(--sinastria-ink); font-size:14px; cursor:pointer; }
.sinastria-accuracy input:checked + span { background:var(--sinastria-ink); color:white; border-color:var(--sinastria-ink); }
.sinastria-accuracy input:focus-visible + span { outline:3px solid #c59b55; outline-offset:3px; }
.sinastria-person .sinastria-interval { margin-top:12px; }
.sinastria-interval small, .sinastria-time-note { display:block; margin:6px 0 0; color:var(--sinastria-muted); font-size:12px; line-height:1.5; }
.sinastria-location { margin:0; }
.sinastria-form-action { display:flex; flex-direction:column; align-items:center; gap:7px; margin-top:24px; padding-top:20px; border-top:1px solid var(--sinastria-line); }
.sinastria-form-action button { order:0; min-height:48px; margin:0; background:var(--sinastria-ink); }
.sinastria-form-action span, .sinastria-form-action small { font-weight:400; font-size:13px; color:var(--sinastria-muted); }
.sinastria-form-action [data-sinastria-status] { margin:0; }
.sinastria-person .sinastria-field-error { color:#a52b35; font-size:12px; font-weight:400; margin:6px 0 0; line-height:1.5; }
.sinastria-gender .sinastria-field-error { flex-basis:100%; }
.sinastria-person [aria-invalid=true] { border-color:#a52b35 !important; }
.sinastria-gender input[aria-invalid=true] + span { border-color:#a52b35; }
.sinastria-person input:disabled { background:#eeeee8; color:#61716c; }
.sinastria-result { scroll-margin-top:90px; }
.sinastria-result h2, .sinastria-result h3, .sinastria-result-intro h2, .sinastria-socials h2, .sinastria-support h2 { font-family:Literata,Georgia,serif; }
.sinastria-result p, .sinastria-result td, .sinastria-graha-meaning { font-weight:400; }
.sinastria-overlay-card > p { padding:0 20px; font-size:13px; color:var(--sinastria-muted); }
.sinastria-result-intro { margin:28px 0; max-width:850px; }
.sinastria-result-intro h2 { font-size:24px; margin:0 0 10px; }
.sinastria-result-intro p { font-size:15px; line-height:1.65; color:var(--sinastria-muted); margin:0; }
.sinastria-seo, .sinastria-reading, .sinastria-faq, .sinastria-socials, .sinastria-support { margin-top:36px; }
.sinastria-support { display:block; padding:0; border:0; background:transparent; }
.sinastria-page [hidden] { display:none !important; }
@media(max-width:760px) {
 .sinastria-page { width:calc(100% - 32px); padding-top:24px; }
 .sinastria-form { padding:20px; }
 .sinastria-people-form { grid-template-columns:1fr; gap:24px; }
 .sinastria-person + .sinastria-person { border-left:0; border-top:1px solid var(--sinastria-line); padding:24px 0 0; }
 .sinastria-person > legend { font-size:22px; }
 .sinastria-person-identity { grid-template-columns:minmax(0,1fr) 104px; gap:12px; }
 .sinastria-person-birth { gap:12px; }
 .sinastria-accuracy label > span { padding:9px 11px; }
 .sinastria-form-action button { width:100%; font-size:15px; padding-inline:8px; }
 .sinastria-hero h1 { font-size:32px; }
 .sinastria-hero > .sinastria-hero-copy { font-size:15px; }
 .sinastria-result { padding-inline:16px; }
}
@media(prefers-reduced-motion:reduce) { .sinastria-page { scroll-behavior:auto; } }
/* Fixed site navigation must not cover the page title. */
.sinastria-page { padding-top:104px; }
.sinastria-hero > .sinastria-hero-copy, .sinastria-hero > .sinastria-hero-method { font-weight:400; }
@media(max-width:760px) { .sinastria-page { padding-top:96px; } }

/* Explicit text/action children prevent grid auto-placement from sizing CTA column by body copy. */
.sinastria-conversion { grid-template-columns:minmax(0,1fr) minmax(240px,320px); gap:28px; align-items:start; }
.sinastria-conversion-copy, .sinastria-conversion-action { min-width:0; }
.sinastria-conversion-copy h3 { max-width:24ch; line-height:1.3; margin:0 0 12px; }
.sinastria-conversion-copy p { max-width:52ch; line-height:1.6; }
.sinastria-conversion-action { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.sinastria-conversion-action .sinastria-save-cta { grid-column:auto; grid-row:auto; width:auto; max-width:100%; box-sizing:border-box; white-space:normal; justify-content:center; padding:14px 20px; background:#fff; color:#183b36; font-size:14px; line-height:1.5; }
.sinastria-conversion-action p { font-size:12px; line-height:1.55; }
.sinastria-metrics { display:block; max-width:850px; }
.sinastria-metric { padding:20px; background:#f3f4ed; }
.sinastria-metric > strong { font-size:26px; }
.sinastria-vedha-note { font-size:14px; margin:14px 0; color:#41534e; }
.sinastria-vedha-note a, .sinastria-result-method a { color:#27675b; }
.sinastria-result-method { margin:16px 0 0; font-size:14px; line-height:1.65; }
.sinastria-result-method summary { cursor:pointer; color:#27675b; }
.sinastria-result-method > div { max-width:75ch; padding-top:12px; }
.sinastria-summary-copy { max-width:75ch; }
.sinastria-pair-observation { margin-top:20px; }
.sinastria-pair-observation h4 { margin:0 0 8px; font:500 16px/1.5 Inter,system-ui,sans-serif; }
.sinastria-pair-observation small { color:#61716c; font-size:12px; }
.sinastria-overlay-card th small { display:block; font-weight:400; font-size:11px; overflow-wrap:anywhere; }
.sinastria-overlays { grid-template-columns:1fr; }
.sinastria-overlay-card td, .sinastria-overlay-card th { overflow-wrap:anywhere; }
.sinastria-house-pill { white-space:nowrap; }
@media(max-width:760px) {
 .sinastria-conversion { grid-template-columns:1fr; gap:18px; }
 .sinastria-conversion h3 { font-size:24px; }
 .sinastria-overlay-card thead { display:none; }
 .sinastria-overlay-card tr { display:grid; grid-template-columns:1fr; padding:12px; border-bottom:1px solid #d6dad4; }
 .sinastria-overlay-card td, .sinastria-overlay-card th { border:0; padding:4px; }
 .sinastria-overlay-card td:nth-child(3)::before { content:'Какую тему затрагивает: '; color:#61716c; }
 .sinastria-overlay-card td:nth-child(4)::before { content:'Как трактуется сочетание: '; color:#61716c; }
}

/* Catalog release: shared typography, compact illustrated hero, readable tables. */
.sinastria-page{padding-top:106px}
.sinastria-hero{grid-template-columns:minmax(0,1.65fr) minmax(220px,.7fr);align-items:center;gap:32px;margin-bottom:26px}
.sinastria-hero-copy{min-width:0}.sinastria-hero h1{font-size:clamp(36px,4.1vw,58px);line-height:1.07;letter-spacing:-.035em;max-width:900px}
.sinastria-hero-lead{margin:16px 0 0;max-width:760px;font-size:18px;line-height:1.55;color:var(--sinastria-muted)}
.sinastria-hero-art{display:block;width:100%;height:auto;max-height:190px;object-fit:contain}
.sinastria-form{padding-top:16px}.sinastria-person{padding:20px}.sinastria-person>p{margin-bottom:16px}
.sinastria-unknown{font-size:13px;margin:4px 0 10px!important}.sinastria-unknown>span{margin:0!important;font-weight:400!important}
.sinastria-interval{border:0;padding:0;margin:0;font-size:12px;color:var(--sinastria-muted)}.sinastria-interval>summary{cursor:pointer;margin-bottom:6px}.sinastria-interval[open]>label{max-width:280px}.sinastria-interval small{display:block;margin-top:8px;line-height:1.5}
.sinastria-form-action{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.sinastria-form-action [data-sinastria-status]{flex-basis:100%;margin:0}
.sinastria-catalog-note{max-width:78ch;margin:10px 0 18px;color:var(--sinastria-muted);font-size:13px;line-height:1.55;font-weight:400}
.sinastria-graha-heading,.sinastria-graha-row{grid-template-columns:110px 116px minmax(0,1fr);gap:18px;align-items:start}
.sinastria-graha-row{display:grid;border-top:1px solid var(--sinastria-line);padding:20px 0;min-width:0}
.sinastria-graha-meaning{margin:0;color:var(--sinastria-ink);font-size:15px;font-weight:400;line-height:1.75;white-space:normal;overflow-wrap:anywhere;max-width:85ch}
.sinastria-overlays{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}
.sinastria-overlay-card{min-width:0;overflow:visible}.sinastria-overlay-card h4{line-height:1.4;overflow-wrap:anywhere}
.sinastria-overlay-card table{table-layout:fixed;width:100%;border-collapse:collapse;box-sizing:border-box}
.sinastria-col-graha{width:110px}.sinastria-col-house{width:85px}
.sinastria-overlay-card th,.sinastria-overlay-card td{box-sizing:border-box;vertical-align:top;padding:17px 12px;white-space:normal;overflow-wrap:anywhere;max-width:none}
.sinastria-overlay-card td:nth-child(2){width:85px}.sinastria-overlay-card td:nth-child(3){width:auto;font-weight:400;color:var(--sinastria-ink);font-size:15px;line-height:1.7}
.sinastria-overlay-card td p{margin:0;max-width:85ch;font-weight:400}
.sinastria-node-contacts{margin-top:14px;padding-top:12px;border-top:1px solid var(--sinastria-line)}
.sinastria-node-contact{display:block;margin:12px 0 0;max-width:100%;white-space:normal;color:var(--sinastria-ink)}.sinastria-node-contact strong{display:block;font-weight:500}.sinastria-node-contact small{display:block;margin:4px 0 7px;color:var(--sinastria-muted)}.sinastria-node-contact p{font-weight:400}
@media(max-width:760px){.sinastria-page{padding-top:90px}.sinastria-hero{grid-template-columns:minmax(0,1fr);gap:10px;position:relative;margin-bottom:18px}.sinastria-hero h1{font-size:37px;padding-right:0}.sinastria-hero-lead{font-size:15px;margin-top:12px;max-width:36ch}.sinastria-hero-art{width:156px;max-height:82px;justify-self:end;margin-top:-5px}.sinastria-graha-heading{display:none}.sinastria-graha-row{grid-template-columns:minmax(0,1fr);gap:9px;padding:18px 0}.sinastria-graha-row>span:before,.sinastria-graha-row>p:before{display:block;content:attr(data-label);margin-bottom:5px;font-size:11px;color:var(--sinastria-muted);font-weight:500}.sinastria-graha-meaning{font-size:14px;line-height:1.7}.sinastria-overlay-card table,.sinastria-overlay-card tbody,.sinastria-overlay-card tr{display:block;width:100%}.sinastria-overlay-card colgroup,.sinastria-overlay-card thead{display:none}.sinastria-overlay-card tr{padding:16px 0;border-top:1px solid var(--sinastria-line)}.sinastria-overlay-card th,.sinastria-overlay-card td,.sinastria-overlay-card td:nth-child(2),.sinastria-overlay-card td:nth-child(3){display:block;width:100%;border:0;padding:5px 0;min-width:0}.sinastria-overlay-card td[data-label]:before{content:attr(data-label);display:block;font-size:11px;font-weight:500;color:var(--sinastria-muted);margin-bottom:5px}.sinastria-overlay-card td:nth-child(3){font-size:14px}.sinastria-overlays{gap:20px}}
.sinastria-hero{display:grid}.sinastria-hero-copy{grid-column:1}.sinastria-hero-art{grid-column:2;grid-row:1}
@media(max-width:760px){.sinastria-hero-art{grid-column:1;grid-row:auto}}

@media(max-width:760px){.sinastria-overlay-card th,.sinastria-overlay-card td{text-align:left}}

/* Supplied overlay catalog: titles, paragraphs, separate contacts. */
.sinastria-overlay-caption{display:block;font-weight:500;margin:0 0 6px;color:var(--sinastria-ink,#183b36)}.sinastria-node-contact small,.sinastria-supplements small{display:block;margin:4px 0 10px}.sinastria-supplements{margin-top:20px}.sinastria-supplements article{padding:18px 0;border-top:1px solid #d6dad4}.sinastria-supplements p{font-weight:400;max-width:90ch;line-height:1.7;margin:0}.sinastria-section-head p{font-weight:400;max-width:90ch;line-height:1.6}

/* Supplied sign relations and accessible graha help. */

.vs-relations-intro{margin:22px 0;padding:0}.vs-relations-intro h3,.vs-relations-block h3{margin:0 0 10px;font-size:23px}.vs-relations-intro p,.vs-relations-block header>p{font-weight:400;line-height:1.65;max-width:90ch;margin:0 0 12px}.vs-relation-title{display:block;font-weight:500;margin:0 0 6px}.vs-graha-topic{display:block;font-weight:400;font-size:12px;line-height:1.5;margin-top:7px;color:#61716c}.vs-graha-help-link{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:500;text-align:left;text-decoration:underline;text-decoration-color:#b5bfba;text-underline-offset:3px;cursor:pointer}.vs-graha-help-link:focus-visible{outline:2px solid #657f71;outline-offset:4px}.vs-graha-help{margin:8px 0 16px;font-size:14px}.vs-graha-help>summary{width:fit-content;color:#61716c;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.vs-graha-help>div{padding:14px 16px;border:1px solid #d6dad4;border-radius:8px;margin-top:12px;max-width:90ch}.vs-graha-help details{margin:12px 0}.vs-graha-help p{font-weight:400;line-height:1.7}.vs-relations-method{font-size:12px;line-height:1.6;color:#61716c;font-weight:400;max-width:90ch}.vs-relation-copy{min-width:0}.vs-relation-copy p{margin:0 0 14px;font-weight:400;color:#183b36;line-height:1.7}.vs-relation-copy p:last-child{margin-bottom:0}.vs-relations-block .vs-relation-row,.compat-app .vs-relations-block .vs-relation-row{display:grid;grid-template-columns:145px 90px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid #d6dad4;align-items:start;min-width:0}.vs-relation-heading{display:grid;grid-template-columns:145px 90px minmax(0,1fr);gap:16px;font-size:12px;color:#61716c;margin:20px 0 10px}.vs-relation-row>span,.vs-relation-row p{overflow-wrap:anywhere;min-width:0}
@media(max-width:760px){.vs-relations-block .vs-relation-row,.compat-app .vs-relations-block .vs-relation-row{grid-template-columns:minmax(0,1fr);gap:10px;padding:18px 0}.vs-relation-heading{display:none}.vs-relation-copy{font-size:14px}.vs-relation-row>span:before{content:attr(data-label);display:block;font-size:11px;color:#61716c;margin-bottom:5px;font-weight:400}.vs-relations-intro h3,.vs-relations-block h3{font-size:22px}}

/* RC306: readable complete interpretations and compact mobile house labels. */
.sinastria-graha-meaning,.sinastria-overlay-card td:nth-child(3)>p,.sinastria-node-contact p,.sinastria-supplements p{max-inline-size:68ch}
.sinastria-node-contact{font-size:15px;line-height:1.7}
.sinastria-node-contact small{font-size:12px;line-height:1.5}
@media(max-width:760px){
 .sinastria-overlay-card td:nth-child(2){text-align:left;padding-block:3px 6px}
 .sinastria-overlay-card td:nth-child(2)[data-label]::before{display:inline;content:'Дом: ';margin:0 6px 0 0}
 .sinastria-node-contact{font-size:15px;line-height:1.7}
}

.sinastria-overlay-card .sinastria-node-contact p{max-width:68ch;max-inline-size:68ch}

/* Production shell compatibility: keep the approved compact social links scoped to Sinastria. */
/* Explicit service-page variant; the default community remains unchanged. */
.sinastria-page .community-section--compact { padding:24px; border:1px solid #d6dad4; border-radius:16px; background:#fdfdfb; color:#183b36; }
.sinastria-page .community-section--compact .community-heading { margin:0 0 18px; }
.sinastria-page .community-section--compact .community-heading h2 { margin:0; color:#183b36; font-family:Literata,Georgia,serif; font-size:28px; }
.sinastria-page .community-section--compact .community-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sinastria-page .community-section--compact .community-card { display:flex; align-items:center; gap:12px; padding:16px; min-width:0; background:#f5f5ef; border:1px solid #d6dad4; border-radius:12px; color:#183b36; text-decoration:none; }
.sinastria-page .community-section--compact .community-card:hover { background:#eaf0e9; }
.sinastria-page .community-section--compact .community-card:focus-visible { outline:3px solid #c59b55; outline-offset:3px; }
.sinastria-page .community-section--compact .community-card-icon { flex:0 0 32px; height:32px; display:grid; place-items:center; border-radius:8px; background:#183b36; color:white; font:600 15px/1 Inter,system-ui,sans-serif; }
.sinastria-page .community-section--compact .community-card-copy { display:flex; flex:1; align-items:center; gap:8px; padding:0; min-height:0; }
.sinastria-page .community-section--compact .community-card-copy strong { display:block; font:500 16px/1.4 Inter,system-ui,sans-serif; }
.sinastria-page .community-section--compact .community-card-copy small { display:block; margin-top:4px; color:#61716c; font:400 12px/1.5 Inter,system-ui,sans-serif; }
.sinastria-page .community-section--compact .community-card-arrow { font-size:18px; color:#183b36; }
@media(max-width:760px) { .sinastria-page .community-section--compact { padding:20px; } .sinastria-page .community-section--compact .community-grid { grid-template-columns:1fr; gap:10px; } }
.sinastria-page .community-section--compact::before { display:none; }
.sinastria-page .community-section--compact .community-card { min-height:0; height:auto; box-shadow:none; }
.sinastria-page .community-section--compact .community-card-copy strong { color:#183b36; }
.sinastria-page .community-section--compact .community-card-arrow { width:auto; height:auto; border:0; background:transparent; }
.sinastria-page .community-section--compact [data-sinastria-social=telegram] { background:#edf7fb; border-color:#cce4ee; }
.sinastria-page .community-section--compact [data-sinastria-social=youtube] { background:#fff0eb; border-color:#f1d5cc; }
.sinastria-page .community-section--compact [data-sinastria-social=vk] { background:#edf2fc; border-color:#d2def3; }
.sinastria-page .community-section--compact [data-sinastria-social=telegram] .community-card-icon { color:#247d9f; background:transparent; }
.sinastria-page .community-section--compact [data-sinastria-social=youtube] .community-card-icon { color:#c75543; background:transparent; }
.sinastria-page .community-section--compact [data-sinastria-social=vk] .community-card-icon { color:#386bb5; background:transparent; }
.sinastria-page .community-section--compact .community-card-icon svg { width:26px; height:26px; }
