/* Supplemental shelves live below the illustrated hall, never over its parchment. */
.section-content { width:min(1120px,calc(100% - 3rem)); box-sizing:border-box; margin:2rem auto 4rem; padding:clamp(1.2rem,3vw,2.5rem); color:#573b26; background:radial-gradient(ellipse at 40% 0,#fff2ce,#eddbb4); border:1px solid #a47b42; outline:1px solid #c6a56c; outline-offset:5px; box-shadow:inset 0 0 0 4px #f8e8c6,0 8px 22px #6b4b2520; }
.section-content[hidden],.section-content [hidden] { display:none; }
.section-content-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; border-bottom:1px solid #ba975d; margin-bottom:1.7rem; padding-bottom:1rem; }
.section-content-heading h2 { margin:0; font-family:'STKaiti','KaiTi',serif; font-size:clamp(1.6rem,3vw,2rem); font-weight:600; color:#75422b; letter-spacing:.08em; }
.section-content-heading a { display:inline-flex; align-items:center; min-height:44px; color:#79502e; text-underline-offset:5px; }
.section-content-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.6rem; }
.section-content-card { min-width:0; }
.section-content-open { display:block; width:100%; padding:0; border:0; background:transparent; color:inherit; cursor:pointer; font:inherit; }
.section-content-cover { position:relative; display:grid; place-items:center; aspect-ratio:16/9; background:#eedbb5; border:1px solid #9c7542; box-shadow:0 3px 7px #6b4b2520; overflow:hidden; }
.section-content-cover img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center top; min-width:0; min-height:0; }
.section-content-cover>span { color:#633d25; font-family:'STKaiti','KaiTi',serif; font-size:1.8rem; letter-spacing:.15em; }
.section-content-copy { text-align:center; padding:1rem .35rem .6rem; }
.section-content-copy h3 { font-size:1.12rem; line-height:1.5; margin:0 0 .45rem; color:#633d25; overflow-wrap:anywhere; }
.section-content-copy p { font-size:.9rem; line-height:1.8; margin:0; overflow-wrap:anywhere; }
.section-content-access-label { display:inline-block; font-size:.82rem; color:#87422c; margin-top:.7rem; }
.section-content-open:hover .section-content-cover { border-color:#873e2a; box-shadow:inset 0 0 0 2px #f5dba3,0 5px 10px #6b4b2535; }
.section-content-open:active { transform:translateY(1px); }
.section-content-open:disabled { cursor:wait; }
.section-content-open:focus-visible,.section-content a:focus-visible,.section-content-dialog :is(button,a,textarea):focus-visible { outline:3px solid #8a3e2c; outline-offset:4px; }
.section-content-feedback { border-left:3px solid #8a3e2c; padding:.8rem 1rem; line-height:1.7; background:#f7e9cc; }
.section-content-dialog { width:min(880px,calc(100vw - 2rem)); max-height:calc(100dvh - 2rem); box-sizing:border-box; overflow:auto; border:4px double #a77d40; padding:clamp(1rem,3vw,2rem); color:#573b26; background:radial-gradient(ellipse at 50% 0,#fff3d5,#ecd7ac); box-shadow:0 18px 65px #0d211c88; }
.section-content-dialog::backdrop { background:#102c26cc; }
.section-content-dialog-top { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-bottom:1rem; margin-bottom:1rem; border-bottom:1px solid #b18a50; }
.section-content-dialog-top>span { color:#775631; font-size:.85rem; letter-spacing:.12em; }
.section-content-dialog-top button,.section-content-dialog .voyage-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; box-sizing:border-box; padding:.6rem 1.1rem; border:1px solid #9a713f; border-radius:3px; background:linear-gradient(#efdbab,#dbb777); color:#513b23; text-decoration:none; font:inherit; cursor:pointer; }
.section-content-dialog .voyage-button:hover,.section-content-dialog-top button:hover { background:#f1dcaa; }
.section-content-dialog .voyage-button:disabled { cursor:default; opacity:.7; }
@media(max-width:800px) { .section-content-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(max-width:480px) { .section-content{width:calc(100% - 2rem);padding:1rem;margin:1.5rem auto 3rem;}.section-content-grid{grid-template-columns:minmax(0,1fr);gap:1.3rem;}.section-content-heading{margin-bottom:1.3rem;}.section-content-dialog{width:calc(100vw - 1.2rem);padding:1rem;} }
@media(prefers-reduced-motion:no-preference) { .section-content-open,.section-content-cover{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;} }
