/* Obra v3: installation canvas, not a carousel */
.gallery-page{background:#eeefe9;min-height:calc(100svh - 74px);padding:0!important;max-width:none!important}
.gallery-intro{min-height:110px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px clamp(20px,4vw,64px);border-bottom:1px solid #d6d9d0}
.gallery-intro h1{font-family:Georgia,serif;font-size:clamp(34px,4.6vw,66px);font-weight:400;line-height:1;margin:0;color:#203b31}
.eyebrow{font-size:10px;letter-spacing:.26em;margin:0 0 8px;color:#738379}.gallery-instructions{display:flex;align-items:center;gap:18px;color:#516359;font-size:13px;max-width:370px;line-height:1.5}
.gallery-arrows{white-space:nowrap;display:flex;gap:7px}.gallery-arrows button{background:transparent;border:1px solid #b7c5ba;color:#315346;border-radius:50%;width:39px;height:39px;cursor:pointer}
.gallery-arrows button:hover,.gallery-arrows button:focus-visible{background:#d3dfd5}
.gallery-viewport{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-inline:contain;height:calc(100svh - 214px);min-height:360px;background:#e2e7e2}
.gallery-viewport::-webkit-scrollbar{display:none}.gallery-canvas{position:relative;width:max-content;height:100%;max-width:none}
.gallery-image{display:block;height:100%;width:auto;max-width:none;user-select:none}
.work-hit{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);z-index:2;border-radius:8px;cursor:pointer;outline-offset:3px}
.work-hit:hover,.work-hit:focus-visible{outline:2px solid rgba(255,255,255,.93);background:rgba(255,255,255,.09);box-shadow:0 0 0 4px rgba(31,56,45,.12)}
.sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}
.gallery-footnote{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:10px clamp(20px,4vw,64px);min-height:52px;color:#607267;font-size:11px;letter-spacing:.035em}
.gallery-progress{height:2px;background:#c8d1c7;width:100px;flex-shrink:0}.gallery-progress i{height:100%;background:#57735f;display:block;width:20%;transform-origin:left}
.book-detail{min-height:85svh;background:#f2f3ed;padding:clamp(25px,5vw,80px);color:#23392e}.book-detail .back{display:inline-block;color:#576d5f;text-decoration:none;margin-bottom:40px;font-size:13px}
.book-detail-grid{display:grid;grid-template-columns:minmax(180px,320px) minmax(240px,540px);gap:clamp(25px,7vw,125px);align-items:center;max-width:1000px;margin:auto;min-height:60svh}
.book-detail-cover{width:100%;height:auto;object-fit:contain;box-shadow:0 20px 50px #19271f23}.book-detail h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,84px);line-height:1.08}.book-detail .meta{letter-spacing:.22em;text-transform:uppercase;font-size:11px;color:#698072}
.book-detail .coming{font-family:Georgia,serif;font-size:clamp(17px,2vw,22px);line-height:1.6;margin-top:35px;color:#506257}
@media(max-width:760px){.gallery-intro{min-height:90px;padding:12px 17px;align-items:center}.gallery-intro h1{font-size:37px}.gallery-instructions{max-width:170px;font-size:11px;gap:7px}.gallery-instructions>span:first-child{display:none}.gallery-arrows button{width:36px;height:36px}.gallery-viewport{height:calc(100svh - 196px);min-height:400px}.gallery-footnote{padding:9px 15px;font-size:10px}.book-detail-grid{grid-template-columns:1fr}.book-detail-cover{max-width:270px;margin:auto}.book-detail h1{font-size:42px}}
@media(prefers-reduced-motion:reduce){.gallery-viewport{scroll-behavior:auto}}

/* v3.1: smaller museum-label toolbar; artwork fills the mobile viewport */
.gallery-intro{min-height:64px;padding:9px clamp(16px,2.6vw,38px);background:rgba(249,249,244,.77);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(75,97,83,.12)}
.gallery-intro h1{font-family:Georgia,serif;font-size:clamp(25px,3.2vw,40px);font-weight:400;letter-spacing:-.025em;line-height:1.1}
.gallery-intro .eyebrow{font-size:8px;letter-spacing:.22em;margin-bottom:4px;opacity:.75}
.gallery-instructions{gap:9px;font-size:11px;color:#66756b;font-weight:400}
.gallery-arrows{gap:6px}
.gallery-arrows button{width:29px;height:29px;border-radius:50%;font-family:Georgia,serif;font-size:21px;line-height:1;background:rgba(255,255,255,.38);border:1px solid rgba(65,91,75,.24);color:#496153;transition:background .15s,border-color .15s}
.gallery-arrows button:hover,.gallery-arrows button:focus-visible{background:rgba(219,229,219,.7);border-color:#8a9e8e}
.gallery-viewport{height:calc(100svh - 161px);min-height:360px}
.gallery-footnote{min-height:38px;padding:5px clamp(16px,2.6vw,38px);font-size:9px;opacity:.76}
@media(max-width:760px){
 .gallery-intro{min-height:55px;padding:7px 15px;gap:10px}
 .gallery-intro h1{font-size:26px}
 .gallery-intro .eyebrow{font-size:7px;margin-bottom:2px}
 .gallery-instructions{max-width:none}
 .gallery-arrows button{width:28px;height:28px;font-size:20px}
 .gallery-viewport{height:calc(100svh - 142px);min-height:350px}
 .gallery-footnote{min-height:30px;padding:4px 14px;font-size:9px}
}
