/* The main reading is continuous prose; technical profiles remain an optional appendix. */
.syn-report { overflow-anchor: none; }
.synastry-app .story-section::before { inset-inline: max(-32px, -4%); }
.reading-intro { max-width: 930px; margin: 0 auto; }
.reading-intro .summary { max-width: 42em; margin: 0 auto; color: #c9d2d7; font: 19px/1.95 var(--serif); text-wrap: pretty; }
.reading-synthesis { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 30px; margin-top: 38px; padding-top: 25px; border-top: 1px solid #c7bfa52a; text-align: left; }
.reading-synthesis article { min-width: 0; padding-left: 17px; border-left: 1px solid #d9c39955; }
.reading-synthesis article:nth-child(2) { border-left-color: #9fcfe354; }
.reading-synthesis article:nth-child(3) { border-left-color: #dfb1c154; }
.reading-synthesis small { display: block; margin-bottom: 9px; color: #d6c29d; font-size: 10px; line-height: 1.8; letter-spacing: .06em; }
.reading-synthesis article:nth-child(2) small { color: #a8cedf; }
.reading-synthesis article:nth-child(3) small { color: #d9b6c5; }
.reading-synthesis p { margin: 0; color: #c1cdd6; font-size: 14px; line-height: 1.9; }

.depth-reading.reading-chapter { margin-top: 0; padding-top: 0; border-top: 0; }
.depth-reading.reading-chapter::before { display: none; }
.reading-layout { display: grid; grid-template-columns: minmax(0, .98fr) minmax(0, 1.02fr); gap: clamp(36px, 5vw, 66px); align-items: start; }
.reading-layout > * { min-width: 0; }
.reading-visual-column { position: relative; width: 100%; }
.reading-visual-column .depth-visual { margin: 0; }
.reading-visual-column .visual-caption { grid-template-columns: minmax(0, 1fr); gap: 7px; padding-top: 17px; }
.reading-visual-column .visual-kicker, .reading-visual-column .visual-line { grid-column: 1; }
.reading-visual-column .visual-controls { grid-column: 1; grid-row: auto; width: 100%; max-width: none; margin-top: 8px; gap: 8px; }
.reading-visual-column .visual-controls button { flex: 1 1 0; max-width: none; min-width: 0; }
.reading-visual-column .visual-caption .visual-line { color: #d1d6d7; font: 18px/1.8 var(--serif); }
.reading-visual-column .visual-caption .visual-kicker { font-size: 9px; letter-spacing: .12em; }

.consultation {
  --reading-accent: #e5c99c;
  --reading-a: #acd8e6;
  --reading-b: #e2b6c6;
  position: relative;
  min-width: 0;
  overflow-wrap: anywhere;
  scroll-margin-block-start: 16px;
}
.consultation[data-reading-body="Venus"] { --reading-accent: #e1b7c7; }
.consultation[data-reading-body="Mercury"] { --reading-accent: #acd8e6; }
.consultation[data-reading-body="Moon"] { --reading-accent: #c9c5e3; }
.consultation[data-reading-body="Mars"] { --reading-accent: #e3bd98; }
.consultation[data-reading-body="Sun"] { max-width: 900px; margin: 42px auto 0; padding-top: 31px; border-top: 1px solid #d3c29e33; }
.consultation p { margin: 0 0 21px; color: #c2ced6; font: 15px/1.95 var(--sans); text-wrap: pretty; }
.consultation h3, .consultation h4 { font-weight: 400; color: #e9dfce; }
.consultation-prose { max-width: 46em; }
.consultation-prose > p:first-child { margin-bottom: 24px; color: #eee2ce; font: 22px/1.9 var(--serif); }
.consultation-prose > p:last-child { margin-bottom: 0; }
.consultation-prose strong { color: #e7d8bd; font-weight: 500; }
.consultation-prose em { color: #c9deea; font-style: normal; }
.consultation-perspectives { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; margin-top: 31px; padding-top: 24px; border-top: 1px solid #b9c6ce24; }
.consultation-perspectives article { position: relative; min-width: 0; padding-left: 16px; border-left: 1px solid #a3d7e94d; }
.consultation-perspectives article + article { border-left-color: #e6b4c44d; }
.consultation-perspectives small { display: block; margin-bottom: 8px; color: var(--reading-a); font: 18px/1.6 var(--serif); }
.consultation-perspectives article + article small { color: var(--reading-b); }
.consultation-perspectives p { margin: 0; color: #b9c8d2; font-size: 14px; line-height: 1.95; }
.reading-layout .consultation-perspectives { grid-template-columns: minmax(0, 1fr); gap: 23px; }
.consultation-scene { position: relative; margin-top: 30px; padding-top: 24px; border-top: 1px solid #b9c6ce24; }
.consultation-scene > small { display: block; margin-bottom: 12px; color: var(--reading-accent); font-size: 10px; line-height: 1.8; letter-spacing: .07em; }
.consultation-scene h4 { margin: 0 0 14px; font: 23px/1.65 var(--serif); text-wrap: pretty; }
.consultation-scene p { margin-bottom: 0; color: #bccbd5; font-size: 14px; line-height: 1.95; }
.consultation-bridge { margin-top: 19px; padding-left: 15px; border-left: 1px solid #c6baa45c; }
.consultation-bridge > small { display: block; margin-bottom: 8px; color: var(--reading-accent); font-size: 10px; line-height: 1.8; letter-spacing: .05em; }
.consultation-bridge > p { color: #d7d8cf; }
.consultation-question { position: relative; margin-top: 27px; padding: 21px 0 0 20px; border-top: 1px solid #d3c29e2b; }
.consultation-question::before { content: '✦'; position: absolute; top: 29px; left: 0; color: var(--reading-accent); font: 9px/1 var(--serif); }
.consultation-question p { margin: 0; color: #e4d3b7; font: 22px/1.8 var(--serif); }
.consultation-evidence { margin-top: 21px; border-top: 1px solid #b9c6ce1e; }
.consultation-evidence > summary { min-height: 44px; padding: 12px 0; color: #9fb4c2; cursor: pointer; font-size: 11px; line-height: 1.8; }
.consultation-evidence > summary::marker { color: var(--reading-accent); font-size: 9px; }
.consultation-evidence ul { margin: 5px 0 0; padding: 0 0 0 17px; color: #9bafbe; font-size: 12px; line-height: 1.9; }
.consultation-evidence li { margin-bottom: 9px; padding-left: 3px; }
.consultation-evidence li::marker { color: #b4bfba70; }
.consultation-evidence p { margin: 5px 0 14px; color: #9bafbe; font-size: 12px; }
[data-evidence-jump] { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 44px; min-height: 44px; max-width: 100%; padding: 10px 13px; border: 1px solid #d1bd963d; border-radius: 3px; background: #d1bd9605; color: #cdbd9f; font-size: 11px; line-height: 1.7; white-space: normal; overflow-wrap: anywhere; }
[data-evidence-jump]:hover { background: #d1bd9610; border-color: #d1bd966b; color: #e8d5b4; }
[data-evidence-jump]:focus-visible, .consultation-evidence summary:focus-visible, .reading-archive summary:focus-visible { outline: 2px solid #a3d7e9; outline-offset: 4px; }
.consultation [data-evidence-jump] { margin-top: 13px; }
.clue-read-link { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; max-width: 100%; margin-top: 17px; padding: 10px 13px; border: 1px solid #cfbc9645; border-radius: 3px; color: #e1cba8; background: #d9c7a308; font: 12px/1.75 var(--sans); text-decoration: none; overflow-wrap: anywhere; }
.clue-read-link:hover { color: #f2dfbc; border-color: #d7c29b77; background: #d9c7a313; }
.clue-read-link:focus-visible { outline: 2px solid #a3d7e9; outline-offset: 4px; }

.reading-archive { margin-top: 35px; border-block: 1px solid #c8bea22d; }
.reading-archive > summary { position: relative; display: block; min-height: 60px; padding: 17px 30px 17px 0; color: #b6c4ce; font: 17px/1.65 var(--serif); cursor: pointer; list-style: none; }
.reading-archive > summary::-webkit-details-marker { display: none; }
.reading-archive > summary::after { content: '+'; position: absolute; right: 5px; top: 50%; transform: translateY(-50%); color: #cdbb99; font: 22px/1 var(--serif); }
.reading-archive[open] > summary::after { content: '−'; }
.reading-archive > summary small { display: block; margin-top: 3px; color: #879eaf; font: 10px/1.8 var(--sans); }
.reading-archive > :not(summary) { margin-top: 23px; margin-bottom: 26px; }
.reading-archive .depth-reading { padding-top: 0; border-top: 0; }
.reading-archive .depth-reading::before { display: none; }
.reading-archive .depth-person h4 { font-size: 22px; }
.reading-archive .depth-person p { font-size: 14px; }
.reading-archive .depth-portrait { opacity: .85; }

.reading-closing { position: relative; max-width: 790px; margin: 0 auto 38px; }
.reading-closing > p { margin-bottom: 21px; color: #c3cfd7; font: 16px/1.95 var(--sans); }
.reading-closing > p:first-child { color: #e9ddc8; font: 24px/1.9 var(--serif); }
.closing-watch { position: relative; margin-top: 25px; padding: 1px 0 1px 19px; border-left: 1px solid #a3d7e95c; }
.closing-watch small { display: block; margin-bottom: 8px; color: #a8d0e0; font-size: 10px; line-height: 1.8; letter-spacing: .05em; }
.reading-closing .closing-watch p, .reading-closing p.closing-watch { margin: 0; color: #bfced8; font: 15px/1.95 var(--sans); }

/* Scroll changes only light and ornament, leaving every sentence fully visible. */
.consultation[data-visual-kind="detail"]::before { content: ''; position: absolute; top: -12px; left: 0; width: 50px; height: 1px; background: var(--reading-accent); opacity: calc(.25 + var(--visual-progress) * .75); transform-origin: left; transform: scaleX(calc(.2 + var(--visual-progress) * .8)); }
.consultation-prose > p[data-visual-kind="detail"] { position: relative; }
.consultation-prose > p[data-visual-kind="detail"]::before { content: ''; position: absolute; top: -9px; left: 0; width: 25px; height: 1px; background: linear-gradient(90deg, var(--reading-accent), transparent); transform-origin: left; transform: scaleX(calc(.15 + var(--visual-progress) * .85)); opacity: calc(.25 + var(--visual-progress) * .75); }
.consultation-perspectives[data-visual-kind="detail"] article::before,
.consultation-perspectives article[data-visual-kind="detail"]::before { content: ''; position: absolute; top: 0; bottom: 0; left: -1px; width: 1px; pointer-events: none; background: linear-gradient(var(--reading-a), transparent); transform-origin: top; transform: scaleY(calc(.2 + var(--visual-progress) * .8)); opacity: calc(.35 + var(--visual-progress) * .65); }
.consultation-perspectives[data-visual-kind="detail"] article + article::before,
.consultation-perspectives article[data-visual-kind="detail"] + article::before { background: linear-gradient(var(--reading-b), transparent); }
.consultation-scene[data-visual-kind="detail"]::before { content: ''; position: absolute; top: -1px; left: 0; width: 100%; height: 1px; pointer-events: none; background: linear-gradient(90deg, var(--reading-accent), transparent 80%); transform-origin: left; transform: scaleX(calc(.1 + var(--visual-progress) * .9)); opacity: calc(.3 + var(--visual-progress) * .7); }
.consultation-scene[data-visual-kind="detail"]::after { content: ''; position: absolute; top: -3px; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--reading-accent); box-shadow: 0 0 9px #e0ca9d55; opacity: calc(.3 + var(--visual-progress) * .7); }
.consultation-question[data-visual-kind="detail"]::before { opacity: calc(.4 + var(--visual-progress) * .6); text-shadow: 0 0 10px #dec49966; }
.consultation-question[data-visual-kind="detail"]::after { content: ''; position: absolute; top: -1px; left: 0; width: 100%; height: 1px; background: linear-gradient(90deg, var(--reading-accent), transparent); transform-origin: left; transform: scaleX(calc(.12 + var(--visual-progress) * .88)); opacity: calc(.3 + var(--visual-progress) * .7); }
.reading-synthesis article[data-visual-kind="detail"] { position: relative; }
.reading-synthesis article[data-visual-kind="detail"]::before { content: ''; position: absolute; top: 0; left: -1px; bottom: 0; width: 1px; background: linear-gradient(#e3cda6, transparent); transform-origin: top; transform: scaleY(calc(.2 + var(--visual-progress) * .8)); }
.closing-watch[data-visual-kind="detail"]::before { content: ''; position: absolute; left: -1px; top: 0; bottom: 0; width: 1px; background: linear-gradient(#acd8e6, #d9c19a, transparent); transform-origin: top; transform: scaleY(calc(.2 + var(--visual-progress) * .8)); opacity: calc(.4 + var(--visual-progress) * .6); }

@media (min-width: 981px) and (min-height: 740px) {
  .reading-visual-column { position: sticky; top: 146px; }
}

@media (max-width: 980px) {
  .reading-layout { gap: 32px; }
  .reading-intro .summary { font-size: 18px; }
  .reading-synthesis { gap: 23px; }
  .consultation-prose > p:first-child { font-size: 21px; }
  .consultation p { font-size: 14px; }
}

@media (max-width: 900px) {
  .reading-layout { grid-template-columns: minmax(0, 1fr); gap: 33px; }
  .reading-visual-column { max-width: 620px; margin: 0 auto; }
  .reading-visual-column .visual-controls { max-width: 420px; }
  .reading-layout .consultation { max-width: 680px; margin-inline: auto; }
  .reading-layout .consultation-prose { max-width: none; }
  .reading-layout .consultation-perspectives { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
  .reading-intro .summary { font-size: 17px; line-height: 1.95; }
  .reading-synthesis { grid-template-columns: minmax(0, 1fr); gap: 21px; margin-top: 28px; padding-top: 24px; }
  .reading-synthesis article { padding-left: 14px; }
  .reading-synthesis small { margin-bottom: 7px; font-size: 10px; }
  .reading-synthesis p { font-size: 13px; line-height: 1.9; }
  .depth-reading.reading-chapter { margin-top: 0; padding-top: 0; }
  .reading-layout { gap: 30px; }
  .reading-visual-column { max-width: none; }
  .reading-visual-column .visual-caption { padding-top: 15px; }
  .reading-visual-column .visual-caption .visual-line { font-size: 17px; line-height: 1.8; }
  .reading-visual-column .visual-controls { max-width: none; gap: 7px; margin-top: 8px; }
  .reading-layout .consultation { width: 100%; max-width: none; }
  .consultation[data-reading-body="Sun"] { margin-top: 31px; padding-top: 26px; }
  .consultation p { margin-bottom: 20px; font-size: 15px; line-height: 1.95; }
  .consultation-prose > p:first-child { margin-bottom: 23px; font: 21px/1.9 var(--serif); }
  .consultation-prose > p:last-child { margin-bottom: 0; }
  .consultation-perspectives, .reading-layout .consultation-perspectives { grid-template-columns: minmax(0, 1fr); gap: 22px; margin-top: 27px; padding-top: 23px; }
  .consultation-perspectives article { padding-left: 14px; }
  .consultation-perspectives small { margin-bottom: 7px; font-size: 18px; }
  .consultation-perspectives p { margin: 0; font-size: 14px; line-height: 1.95; }
  .consultation-scene { margin-top: 27px; padding-top: 23px; }
  .consultation-scene h4 { margin-bottom: 12px; font-size: 22px; line-height: 1.65; }
  .consultation-scene p { margin-bottom: 0; font-size: 14px; }
  .consultation-question { margin-top: 24px; padding: 20px 0 0 17px; }
  .consultation-question p { margin: 0; font: 21px/1.85 var(--serif); }
  .consultation-question::before { top: 28px; font-size: 8px; }
  .consultation-evidence { margin-top: 19px; }
  .consultation-evidence ul { font-size: 12px; padding-left: 15px; }
  .consultation-evidence p { font-size: 12px; }
  .reading-archive { margin-top: 29px; }
  .reading-archive > summary { min-height: 58px; padding-block: 16px; font-size: 16px; }
  .reading-archive > :not(summary) { margin-top: 21px; margin-bottom: 24px; }
  .reading-closing { margin-bottom: 31px; }
  .reading-closing > p { font-size: 15px; }
  .reading-closing > p:first-child { font-size: 23px; line-height: 1.9; }
  .closing-watch { margin-top: 22px; padding-left: 16px; }
  .reading-closing .closing-watch p, .reading-closing p.closing-watch { font-size: 14px; }
}

@media (max-width: 380px) {
  .reading-intro .summary { font-size: 16px; }
  .reading-visual-column .visual-controls { gap: 6px; }
  .consultation-prose > p:first-child { font-size: 20px; }
  .consultation-scene h4 { font-size: 21px; }
  .consultation-question p { font-size: 20px; }
  .reading-closing > p:first-child { font-size: 22px; }
}

@media (prefers-reduced-motion: reduce) {
  .consultation [data-visual-kind="detail"], .consultation[data-visual-kind="detail"], .reading-synthesis [data-visual-kind="detail"], .closing-watch[data-visual-kind="detail"] { --visual-progress: 1 !important; }
  .consultation *, .consultation::before, .consultation::after, .reading-closing *, .reading-synthesis * { animation: none !important; transition: none !important; }
}
