.chapter-directory { display:grid; grid-template-columns:1fr 1.7fr; gap:60px; padding:44px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); scroll-margin-top:25px; }
.chapter-directory>div>p:last-child { font-size:27px; line-height:1.2; letter-spacing:-.8px; margin-top:15px; }
.chapter-directory em { font-family:var(--serif); font-weight:400; }
.chapter-directory nav { display:grid; grid-template-columns:repeat(3,1fr); align-content:center; gap:22px 26px; }
.chapter-directory nav a { font-size:14px; display:flex; gap:12px; align-items:center; }
.chapter-directory nav a:hover { color:var(--accent-ink); }
.chapter-directory nav span { font-size:11px; color:var(--coral); }
.new-section { scroll-margin-top:20px; }
.new-section :is(h2, h3, p, button, input) { overflow-wrap:break-word; }
.chapter-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:40px; margin-bottom:55px; }
.new-section h2 { margin-top:24px; }
.chapter-heading>p { font-size:16px; color:var(--muted); line-height:1.8; }
.small-heading { font-size:11px; letter-spacing:1.5px; font-weight:550; }
.new-section .section-note { font-size:12px; line-height:1.7; color:var(--muted); }
.atlas-layout { display:grid; grid-template-columns:1.35fr 1fr; gap:60px; align-items:center; }
.atlas-art { min-width:0; height:550px; position:relative; background:var(--soft); border-radius:8px; overflow:hidden; display:grid; align-items:center; }
.atlas-art img { width:100%; height:100%; object-fit:contain; max-height:480px; padding-top:15px; }
.atlas-plate { position:absolute; left:28px; top:24px; font-size:10px; letter-spacing:1.7px; color:var(--muted); z-index:1; }
.atlas-art figcaption { position:absolute; bottom:25px; left:28px; right:28px; display:flex; align-items:baseline; justify-content:space-between; z-index:1; }
.atlas-art figcaption>span:first-child { font-size:11px; letter-spacing:1px; }
.atlas-art figcaption>span:last-child { font:italic 35px/1 var(--serif); letter-spacing:-1px; }
.atlas-index>.small-heading { color:var(--muted); margin-bottom:22px; }
.atlas-groups { display:grid; grid-template-columns:1fr 1fr; column-gap:20px; }
.atlas-groups button { display:flex; align-items:center; gap:10px; padding:12px 0; min-height:49px; border-bottom:1px solid var(--line); background:transparent; font-size:14px; text-align:left; }
.atlas-groups button>span { color:var(--muted); font-size:10px; min-width:18px; }
.atlas-groups button[aria-pressed=true] { color:var(--accent-ink); border-bottom-color:var(--coral); }
.atlas-groups button[aria-pressed=true]>span { color:var(--accent-ink); }
.atlas-groups button:hover { color:var(--accent-ink); }
.atlas-selection { display:flex; align-items:flex-start; gap:16px; margin:26px 0 17px; }
.selection-cross { font-size:29px; color:var(--coral); line-height:1.1; }
.atlas-selection strong { font-size:17px; font-weight:500; display:block; }
.atlas-selection p>span { font-size:13px; color:var(--muted); display:block; margin-top:5px; }
.session-section { background:var(--soft); }
.session-layout { display:grid; grid-template-columns:.9fr 1.2fr; gap:90px; align-items:center; }
.session-story>p:not(.eyebrow):not(.section-note) { max-width:390px; font-size:16px; color:var(--muted); line-height:1.85; margin:26px 0; }
.session-editor { display:flex; align-items:center; justify-content:space-between; padding:20px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); max-width:390px; margin:34px 0 16px; font-size:14px; }
.session-stepper { display:flex; gap:8px; align-items:center; background:var(--card); padding:3px; border-radius:30px; }
.session-stepper button { background:transparent; width:40px; height:40px; border-radius:50%; font-size:21px; }
.session-stepper button:hover { background:var(--soft); }
.session-stepper button:disabled { opacity:.35; cursor:default; }
.session-stepper output { min-width:25px; text-align:center; font-size:19px; font-variant-numeric:tabular-nums; }
.session-canvas { padding:28px; background:var(--card); box-shadow:0 18px 60px #222d430b; border-radius:10px; min-width:0; }
.session-canvas-top { display:flex; justify-content:space-between; gap:20px; padding-bottom:20px; align-items:center; border-bottom:1px solid var(--line); }
.session-date { font-size:10px; color:var(--muted); letter-spacing:1px; }
.session-movement { background:transparent; width:100%; display:grid; grid-template-columns:20px 116px 1fr 24px; gap:10px; align-items:center; text-align:left; padding:16px 0; border-bottom:1px solid var(--line); }
.movement-order { font-size:11px; color:var(--muted); }
.session-movement img { width:116px; height:104px; object-fit:contain; transition:transform .3s; }
.session-movement:hover img { transform:scale(1.06); }
.session-movement-copy { min-width:0; }
.session-movement strong { font-size:15px; line-height:1.4; font-weight:500; display:block; }
.session-movement small { display:block; font-size:12px; margin-top:8px; color:var(--muted); }
.session-check { border:1px solid var(--coral); border-radius:50%; height:24px; width:24px; color:var(--bg); background:var(--accent-ink); display:grid; place-items:center; font-size:12px; }
.session-movement[aria-pressed=false] .session-check { background:transparent; color:transparent; border-color:var(--muted); }
.session-movement[aria-pressed=false] :is(img, .session-movement-copy) { opacity:.45; }
.session-total { display:flex; align-items:center; gap:20px; padding-top:24px; }
.session-total p { display:flex; flex-direction:column; }
.session-total strong { font-size:32px; letter-spacing:-1px; font-weight:450; line-height:1.2; font-variant-numeric:tabular-nums; }
.session-total p>span { font-size:11px; color:var(--muted); margin-top:6px; }
.total-divider { width:1px; height:34px; background:var(--line); }
.session-signoff { margin-left:auto; font:italic 17px/1.3 var(--serif); text-align:right; }
.perspective-section { background:var(--soft); }
.perspective-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.perspective-card { background:var(--card); border:1px solid var(--line); padding:23px; min-width:0; overflow:hidden; border-radius:5px; display:flex; flex-direction:column; }
.perspective-card-label { display:flex; justify-content:space-between; font-size:10px; letter-spacing:1.3px; color:var(--muted); }
.balance-visual { height:290px; position:relative; display:flex; align-items:center; }
.perspective-number { font-size:117px; line-height:1; letter-spacing:-7px; font-weight:350; }
.balance-visual .perspective-number { position:relative; z-index:1; }
.balance-visual img { position:absolute; right:-35px; top:12px; height:275px; width:210px; object-fit:contain; }
.perspective-card-copy { margin-top:auto; }
.perspective-card h3 { font-size:22px; letter-spacing:-.7px; line-height:1.3; margin:12px 0; }
.perspective-card p { font-size:14px; color:var(--muted); line-height:1.8; }
.perspective-card-copy>span { font-size:9px; letter-spacing:1px; display:block; margin-top:25px; padding-top:18px; border-top:1px solid var(--line); color:var(--muted); }
.strength-baseline { height:290px; display:flex; flex-direction:column; justify-content:center; }
.baseline-eyebrow { font-size:9px; color:var(--muted); letter-spacing:1.1px; margin-bottom:18px; }
.strength-baseline .perspective-number { font-size:104px; }
.baseline-period { color:var(--coral); }
.baseline-rule { margin-top:23px; border-top:1px solid var(--line); position:relative; }
.baseline-rule i { position:absolute; left:1px; top:-4px; width:7px; height:7px; background:var(--coral); border-radius:50%; }
.baseline-rule>span { font-size:8px; color:var(--muted); letter-spacing:1px; display:block; margin-top:9px; }
.history-leaves { height:290px; position:relative; margin:0 5px; }
.history-leaf { background:var(--bg); border:1px solid var(--line); border-radius:4px; position:absolute; width:90%; height:200px; top:36px; left:3%; padding:17px; transform:rotate(-8deg); box-shadow:0 10px 20px #1923330a; }
.history-leaf>span { display:block; font-size:8px; color:var(--muted); letter-spacing:.8px; }
.history-leaf i { display:block; height:1px; width:80%; background:var(--line); margin-top:23px; }
.history-leaf:nth-child(2) { top:45px; left:8%; transform:rotate(5deg); }
.history-leaf:nth-child(3) { top:58px; left:5%; transform:none; background:var(--card); }
.history-leaf strong { font-size:25px; font-weight:450; line-height:1.12; display:block; margin-top:26px; letter-spacing:-.8px; }
.history-leaf strong em { font:italic 27px/1.1 var(--serif); }
.history-leaf>.leaf-footer { position:absolute; bottom:16px; font-size:7px; }
.perspective-note { color:var(--muted); font-size:12px; line-height:1.7; margin-top:25px; }
.custom-layout { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.custom-story>p:not(.eyebrow) { font-size:16px; line-height:1.8; color:var(--muted); max-width:400px; margin-top:25px; }
.custom-art { height:280px; position:relative; margin-top:15px; }
.custom-art img { height:100%; width:100%; object-fit:contain; }
.custom-art>span { position:absolute; left:0; bottom:30px; font-size:9px; letter-spacing:1.8px; line-height:1.8; color:var(--muted); }
.custom-workbench { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:34px; box-shadow:0 16px 55px #252c4208; min-width:0; }
.custom-workbench-top { display:flex; justify-content:space-between; border-bottom:1px solid var(--line); padding-bottom:22px; margin-bottom:25px; color:var(--muted); }
.custom-workbench-top>span:last-child { color:var(--coral); }
.field-label { font-size:14px; display:block; margin-bottom:11px; }
#custom-study-name { width:100%; min-width:0; font:16px/1.4 var(--sans); color:var(--ink); padding:15px; background:var(--bg); border:1px solid var(--line); border-radius:7px; }
#custom-study-name:focus-visible { outline:2px solid var(--coral); outline-offset:3px; }
#custom-study-name::placeholder { color:var(--muted); opacity:1; }
#custom-study-form fieldset { border:0; padding:0; margin:26px 0; min-width:0; }
#custom-study-form legend { font-size:14px; padding:0; margin-bottom:13px; }
.custom-muscles { display:flex; flex-wrap:wrap; gap:8px; }
.custom-muscles label { position:relative; }
.custom-muscles input { position:absolute; width:1px; height:1px; opacity:0; }
.custom-muscles label>span { display:block; border:1px solid var(--line); padding:9px 12px; border-radius:22px; font-size:12px; cursor:pointer; min-height:39px; }
.custom-muscles input:checked+span { border-color:var(--coral); color:var(--accent-ink); background:color-mix(in srgb,var(--coral) 10%,transparent); }
.custom-muscles input:focus-visible+span { outline:2px solid var(--coral); outline-offset:3px; }
#custom-study-form>.button { width:100%; }
.custom-error { font-size:13px; color:var(--accent-ink); margin:12px 0; }
.custom-result { display:flex; gap:13px; align-items:flex-start; border:1px solid var(--line); background:var(--bg); padding:17px; border-radius:8px; margin-top:22px; }
.result-mark { color:var(--accent-ink); font-size:16px; }
.custom-result>div { min-width:0; }
.custom-result small { font-size:8px; letter-spacing:1.2px; color:var(--muted); }
.custom-result strong { font-size:18px; font-weight:500; display:block; margin-top:6px; overflow-wrap:anywhere; }
.custom-result p { font-size:12px; color:var(--muted); margin-top:6px; }
.custom-workbench>.section-note { margin-top:22px; }
.questions-section { border-top:1px solid var(--line); }
.questions-layout { display:grid; grid-template-columns:.9fr 1.3fr; gap:95px; }
.questions-intro>p:not(.eyebrow) { margin-top:25px; color:var(--muted); font-size:16px; }
.questions-endmark { display:block; font:italic 92px/1 var(--serif); color:var(--coral); margin-top:55px; }
.question-list { border-top:1px solid var(--line); }
.question-list details { border-bottom:1px solid var(--line); }
.question-list summary { list-style:none; display:flex; align-items:center; gap:17px; min-height:87px; padding:22px 0; font-size:16px; line-height:1.5; cursor:pointer; }
.question-list summary::-webkit-details-marker { display:none; }
.question-number { color:var(--muted); font-size:10px; }
.question-symbol { font-size:22px; font-weight:300; margin-left:auto; color:var(--accent-ink); transition:transform .2s; }
.question-list details[open] .question-symbol { transform:rotate(45deg); }
.question-list details[open] summary { color:var(--accent-ink); }
.question-list details>p { font-size:15px; line-height:1.85; color:var(--muted); padding:0 25px 27px 31px; }
@media (max-width:1100px) {
  .atlas-layout, .session-layout, .custom-layout, .questions-layout { gap:45px; }
  .atlas-art { height:520px; }
  .session-canvas { padding:22px; }
  .session-movement { grid-template-columns:17px 82px 1fr 23px; gap:8px; }
  .session-movement img { width:82px; height:105px; }
  .session-movement strong { font-size:14px; }
  .perspective-card { padding:18px; }
  .perspective-number { font-size:96px; }
  .strength-baseline .perspective-number { font-size:88px; }
  .balance-visual img { right:-45px; width:180px; }
  .perspective-card h3 { font-size:20px; }
  .history-leaf { padding:13px; }
  .history-leaf strong { font-size:23px; }
  .history-leaf strong em { font-size:25px; }
  .custom-workbench { padding:25px; }
}
@media (max-width:800px) {
  .chapter-directory { grid-template-columns:1fr; gap:28px; padding:33px 0; }
  .chapter-directory nav { gap:19px 12px; }
  .chapter-directory nav a { font-size:13px; gap:8px; }
  .chapter-heading { display:block; margin-bottom:35px; }
  .chapter-heading>p { font-size:15px; margin-top:23px; }
  .atlas-layout, .session-layout, .custom-layout, .questions-layout { grid-template-columns:1fr; gap:37px; }
  .atlas-art { height:470px; }
  .atlas-groups { column-gap:22px; }
  .atlas-groups button { font-size:15px; }
  .session-story>p:not(.eyebrow):not(.section-note), .session-editor, .custom-story>p:not(.eyebrow) { max-width:none; }
  .session-movement { grid-template-columns:20px 105px 1fr 24px; gap:12px; }
  .session-movement img { width:105px; height:105px; }
  .session-movement strong { font-size:15px; }
  .perspective-grid { grid-template-columns:1fr; gap:20px; }
  .perspective-card { display:grid; grid-template-columns:1fr 1fr; column-gap:25px; align-items:center; padding:23px; }
  .perspective-card-label { grid-column:1/-1; }
  .perspective-card-copy { margin:0; }
  .perspective-card h3 { font-size:23px; }
  .balance-visual, .strength-baseline, .history-leaves { height:250px; }
  .balance-visual img { height:230px; right:-5px; }
  .perspective-number { font-size:108px; }
  .strength-baseline .perspective-number { font-size:97px; }
  .history-leaves { margin:0; }
  .history-leaf { height:183px; }
  .custom-art { height:270px; }
  .questions-endmark { display:none; }
  .question-list summary { font-size:16px; }
}
@media (max-width:480px) {
  .chapter-directory nav { grid-template-columns:1fr 1fr; row-gap:22px; }
  .chapter-directory nav a { font-size:13px; }
  .atlas-art { height:360px; }
  .atlas-plate { left:20px; top:20px; font-size:8px; }
  .atlas-art figcaption { left:20px; right:20px; bottom:20px; }
  .atlas-art figcaption>span:last-child { font-size:29px; }
  .atlas-groups button { font-size:14px; gap:8px; }
  .atlas-groups { column-gap:18px; }
  .session-canvas { padding:19px; }
  .session-movement { grid-template-columns:13px 78px 1fr 22px; gap:8px; }
  .session-movement img { width:78px; height:110px; }
  .session-movement strong { font-size:13px; }
  .session-movement small { font-size:11px; }
  .session-check { width:22px; height:22px; }
  .session-signoff { font-size:15px; max-width:110px; }
  .session-total { gap:14px; }
  .session-total strong { font-size:29px; }
  .session-total p>span { font-size:10px; }
  .perspective-card { grid-template-columns:1fr; padding:26px; }
  .perspective-card h3 { font-size:26px; }
  .perspective-card p { font-size:15px; }
  .balance-visual, .strength-baseline, .history-leaves { height:275px; }
  .balance-visual img { height:260px; width:190px; right:0; }
  .perspective-number { font-size:120px; }
  .strength-baseline .perspective-number { font-size:112px; }
  .history-leaves { max-width:290px; width:100%; justify-self:center; }
  .history-leaf { height:195px; }
  .history-leaf strong { font-size:28px; }
  .history-leaf strong em { font-size:31px; }
  .custom-workbench { padding:23px; }
  .custom-muscles { gap:7px; }
  .custom-muscles label>span { font-size:11px; padding:9px 11px; }
  .custom-art>span { font-size:8px; bottom:10px; }
  .question-list summary { gap:12px; font-size:15px; min-height:84px; }
  .question-list details>p { font-size:14px; padding-left:25px; padding-right:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .new-section *, .new-section *:before { transition:none!important; }
}
