/* The undercroft beneath the chapel. Inherits the Order's palette from house.css; no new colors. */
.hidden-door{color:inherit;text-decoration:none;cursor:text}
.hidden-door:hover{cursor:pointer}
.hidden-door:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.scratched{font-size:.85rem;font-style:normal;opacity:.72;margin-top:-.4rem;letter-spacing:.01em}
.stacks-main .reading-intro{max-width:650px}
.advisory{font-family:var(--label);font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;border-left:3px solid var(--accent);padding:4px 0 4px 14px;margin:0 0 40px}
.shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;margin:40px 0 60px}
.spine{display:flex;flex-direction:column;gap:10px;background:var(--green);border-top:4px solid var(--accent);padding:30px 24px;min-height:220px;text-decoration:none}
.spine-title{font-family:var(--serif);font-size:2.1rem;line-height:1.1}
.spine-note{font-size:.95rem;margin-top:auto}
a.spine:hover .spine-title{color:var(--accent)}
.spine.cart{opacity:.6;border-top-style:dashed}
.contents{list-style:none;padding:0;margin:0 0 30px;max-width:760px;counter-reset:none}
.contents a{display:flex;gap:20px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);text-decoration:none;font-family:var(--serif);font-size:1.3rem}
.contents a:hover{color:var(--accent)}
.toc-number{font-family:var(--label);font-size:.75rem;letter-spacing:.12em;min-width:2.2em}
.machine-copy{font-size:.95rem}.machine-copy a{color:var(--accent)}
.chapter{max-width:40rem;margin:0 auto}
.chapter-heading{padding-bottom:30px;margin-bottom:40px;border-bottom:1px solid var(--line)}
.chapter-heading h1{font-size:clamp(2.4rem,5vw,4.4rem)}
.manuscript{font-size:1.12rem;line-height:1.85}
.manuscript p{margin-bottom:1.1em}
.manuscript h2{font-size:1.5rem;letter-spacing:.02em;margin:2.4em 0 1em;font-family:var(--label);text-transform:uppercase}
.manuscript strong{font-family:var(--label);font-size:.88em;letter-spacing:.04em}
.scene-break{border:0;text-align:center;margin:2.4em 0;height:1.4em}
.scene-break::after{content:"✦  ✦  ✦";color:var(--accent);letter-spacing:.4em}
.stack-doors{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:960px;margin:70px auto 0}
.stack-door{display:flex;flex-direction:column;gap:6px;padding:26px 24px;border-top:1px solid var(--line);text-decoration:none}
.stack-door.onward{text-align:right;align-items:flex-end}
.stack-door .eyebrow{margin:0;color:var(--accent)}
.stack-door-title{font-family:var(--serif);font-size:1.5rem;line-height:1.25}
.stack-door:hover .stack-door-title{color:var(--accent)}
@media(max-width:800px){.stack-doors{grid-template-columns:1fr}.stack-door.onward{text-align:left;align-items:flex-start}.manuscript{font-size:1.05rem}}
.shelf-label{font-size:2rem;margin-top:10px}
.spine.record{border-top-style:double;border-top-width:6px}
.credits{list-style:none;padding:0;margin:0 0 24px;font-size:.95rem;line-height:1.6}
.lyrics .manuscript{font-family:var(--serif);font-size:1.18rem;line-height:1.7}
.liner-note{font-family:var(--label);font-size:.85rem;letter-spacing:.02em;border-left:3px solid var(--accent);padding:4px 0 4px 14px;margin-bottom:2.2em}
.stanza{margin-bottom:1.6em}
.section-tag{display:block;font-family:var(--label);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);margin-bottom:.35em}
.cue{display:inline-block;font-family:var(--label);font-size:.82rem;font-style:italic;opacity:.8}
