/* The house front hall is the Gallery: narrow plan, oak walls, blue-and-gold barrel vault. */
.g-head{color:#fff2d9;background:linear-gradient(#24160c80,transparent);text-shadow:0 1px 3px #0008;}
.g-head a,.g-prints,.g-insta{color:inherit;}
.ceiling{visibility:hidden;}
.house-vault,.house-vault-end{pointer-events:none;backface-visibility:visible;}
.house-vault-end{background:url('hall-gallery/ceiling.jpg') center/300% 100%;}
.wall,.wall.side{background:url('hall-gallery/side.jpg') center/100% 100%;}
.wall.back{background:url('hall-gallery/blue-end-wall.jpg') top/100% 106.4%;}
.wall.front{background:url('hall-gallery/back-fourth.jpg') top/100% 104.9%;}
.wall::after,.house-cornice{display:none;}
.wall-text,.wall-text .dates,.tag,.tag .what,.tag .note,.tag a{color:#fff1da;text-shadow:0 1px 2px #301a0e70;}
.wall-text .artist{font-size:18px;}
.wall-text h1,.wall-text h2{font-size:64px;}
.wall-text .dates{font-size:18px;}
.wall-text .statement{font-size:24px;line-height:1.5;}
.wall .tag{font-size:18px;line-height:1.45;}
.floor{background:linear-gradient(#30231112,#ffffff08 35%,#30231125),url('photo/house-oak.jpg') 0 0/300px 300px repeat,#b27c42;}
.floor .refl{opacity:.08;}
.floor .sheen{opacity:.2;}
.hall-vestibule-entry{position:absolute;left:210px;top:122px;width:296px;height:432px;pointer-events:auto;cursor:pointer;background:none;border:0;}
.hall-vestibule-entry:focus-visible{outline:3px solid #ebce80;outline-offset:8px;}

.hall-works-menu{position:relative;pointer-events:auto;}
.hall-works-menu summary{cursor:pointer;list-style:none;padding:6px 0;}
.hall-works-menu summary::after{content:' ▾';font-size:.7em;}
.hall-works-menu>div{position:absolute;right:0;top:100%;display:grid;min-width:160px;padding:7px 14px;background:#f5ead8f5;color:#332619;text-shadow:none;box-shadow:0 4px 16px #0005;border-radius:3px;}
.hall-works-menu button{border:0;background:none;color:inherit;text-align:left;font:inherit;font-size:13px;padding:9px 0;white-space:nowrap;cursor:pointer;}
@media(max-width:820px){.g-head{padding:15px 16px;font-size:12px;}.g-nav{gap:15px;}.g-insta{display:none;}}

/* Engineered gilt and distressed timber frames; print edges meet the moulding. */
.wall .frame{padding:0;--mat:0px;background:#241b12;background-clip:content-box;border-color:transparent;box-shadow:2px 5px 8px #1e120a70,0 1px 2px #0006;}
.wall .frame[data-frame="gilded"]{border-image-source:url('frames/gilded-engineered.webp');border-image-slice:16%;border-image-repeat:stretch;}
.wall .frame[data-frame="distressed"]{border-image-source:url('frames/wood-engineered.webp');border-image-slice:18%;border-image-repeat:stretch;}
.wall .frame img{filter:none;}
.wall .frame::after{content:'';position:absolute;inset:calc(-1 * var(--mould));background:rgb(0 0 0 / calc(1 - var(--room-light,.84) * .94));pointer-events:none;}
.wall .tag{text-align:center;align-items:center;}
.wall .tag a{align-self:center;}
.print-info .frame-credit{font-size:12px;margin-top:24px;}


/* Mirror the right material so opposing panels share the same longitudinal centres. */
.wall.right{background:none;}
.wall.right::before{content:"";position:absolute;inset:0;background:url('hall-gallery/side.jpg') center/100% 100%;transform:scaleX(-1);pointer-events:none;}

.wall-text{z-index:1;}
.wall-text .artist{font-size:26px;margin-bottom:22px;}
.wall-text h1,.wall-text h2{font-size:72px;line-height:1.15;margin-bottom:24px;}
.wall-text .dates{font-size:27px;line-height:1.5;margin-bottom:28px;}
.wall-direction{font-size:28px;line-height:1.5;margin:0 0 36px;color:#ead5a1;}
.wall-text .statement{font-size:36px;line-height:1.55;}
.wall-text .statement p{margin:0 0 30px;}
.wall .tag{padding:0;background:none;color:#fff1da;text-shadow:0 1px 2px #301a0e70;font-size:26px;line-height:1.45;text-align:left;align-items:flex-start;border:0;box-shadow:none;}
.wall .tag .what,.wall .tag .note,.wall .tag a{color:inherit;text-shadow:none;}
.wall .tag .what{font-size:28px;}
.wall .tag .note{font-size:23px;margin-top:14px;}
.wall .tag a{align-self:auto;}
.wall .frame:focus-visible,.wall-text:focus-visible{outline:1px solid #ebce80;outline-offset:2px;}

.wall-text .artist{margin:0 0 18px;}
.wall-text h1,.wall-text h2,.wall-text.small-text h2{font-size:72px;line-height:1.15;margin:0 0 20px;}
.wall-text .dates{font-size:25px;line-height:1.5;margin:0 0 22px;}
.wall-direction{margin:0 0 26px;}
.wall-text .statement{display:block;margin:0;font-size:36px;line-height:1.5;}
.wall-text .statement p{margin:0 0 34px;}
.wall .tag{background:none!important;box-shadow:none!important;padding:0!important;}

.vestibule-signature{position:absolute;left:37.155%;top:43.04%;width:6.077%;height:14.78%;object-fit:contain;pointer-events:none;user-select:none;opacity:.9;}

/* One narrow gilded cornice; the vault itself is plain blue plaster. */
.house-vault-end{background:url('hall-gallery/ceiling.jpg') center/220% 100%;}
.wall.back{background-size:112% 106.4%;background-position:center top;}
.house-cornice{display:block;position:absolute;inset:0 0 auto;height:61px;overflow:hidden;background:#58616a;pointer-events:none;z-index:1;border-top:1px solid #786c4d;border-bottom:2px solid #746343;}
.house-cornice::before{content:"";position:absolute;left:0;top:61px;width:61px;height:var(--cornice-run);transform-origin:0 0;transform:rotate(-90deg);background:url('hall-gallery/ceiling.jpg') left top/450.89px 901.78px repeat-y;}
.house-corner-strip{position:absolute;top:61px;bottom:0;width:10px;z-index:1;pointer-events:none;background:linear-gradient(90deg,#4f2c1c99,#9d603438,#40231799),url('hall-gallery/side.jpg') left center/1800px 560px;box-shadow:inset -1px 0 2px #26140a66;}

.wall-text .artist{font-size:24px;margin-bottom:14px;}
.wall-text h1,.wall-text h2,.wall-text.small-text h2{font-size:64px;margin-bottom:16px;}
.wall-text .dates{font-size:23px;margin-bottom:18px;}
.wall-direction{font-size:26px;margin-bottom:22px;}
.wall-text .statement{font-size:32px;line-height:1.48;}
.wall-text .statement p{margin-bottom:28px;}

.exhibition-artist{position:absolute;left:35%;top:18.5%;width:30%;margin:0;color:#fff1da;text-align:center;font-size:9px;line-height:1.4;text-shadow:0 1px 2px #301a0e70;pointer-events:none;}

/* Gallery wall lettering remains physically modest; detailed information lives in the reader. */
.wall .tag{font-size:16px;line-height:1.5;}
.wall .tag .what{font-size:19px;}
.wall .tag .note{font-size:14px;margin-top:7px;}
.wall .print-note h2{font-size:28px;line-height:1.2;margin-bottom:18px;}
.wall .print-note .statement{font-size:22px;line-height:1.5;}
.wall .print-note .statement p{margin-bottom:20px;}
.hint-details{display:block;margin-top:4px;}
.hint-details[hidden]{display:none;}
.viewer{height:100dvh;}
.viewer .stage-v{height:100%;overflow:hidden;display:flex;align-items:center;justify-content:center;padding-top:20px;}
.viewer #v-img{max-height:100%;max-width:100%;}
.viewer .bar{align-items:flex-start;}
.viewer-info{flex:1;min-width:0;}
.viewer-info>p{margin:0 0 12px;line-height:1.45;}
.viewer-info-actions{display:flex;gap:20px;align-items:center;font-size:14px;}
.viewer-info-actions button{font:inherit;border:0;background:none;color:inherit;padding:5px 0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.viewer-info-actions a{color:inherit;text-underline-offset:3px;}
#v-details-panel{max-height:28dvh;overflow:auto;overscroll-behavior:contain;font-size:16px;line-height:1.6;padding:15px 0 4px;}
#v-details-panel[hidden]{display:none;}
#v-details-panel .viewer-artist{margin:0 0 12px;}
#v-details-copy span{display:block;}
#v-details-copy .note{margin-top:12px;}
#v-details-copy a{color:inherit;text-underline-offset:3px;}
.exhibition-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;border:0;margin:0;background:#eee9df;color:#332f28;padding:90px 26px 60px;overflow:auto;overscroll-behavior:contain;}
.exhibition-viewer article{max-width:680px;margin:0 auto;}
.exhibition-viewer h1{font-size:clamp(32px,5vw,48px);line-height:1.2;font-weight:500;margin:14px 0 20px;}
.exhibition-viewer .reader-artist,#exhibition-dates{font-size:14px;line-height:1.5;}
#exhibition-copy{font-size:19px;line-height:1.7;margin-top:36px;}
#exhibition-copy p{margin:0 0 24px;}
#exhibition-close{position:fixed;right:24px;top:20px;min-height:44px;padding:8px 17px;border:1px solid #766b5b;background:#eee9dff2;color:inherit;font:inherit;cursor:pointer;}
html.text-reader-open .hall,html.text-reader-open .hall *{visibility:hidden!important;}
@media(max-width:820px){.viewer .bar{gap:14px;padding:16px 20px max(16px,env(safe-area-inset-bottom));}.viewer-info{width:100%;}.viewer .ctl{width:100%;}#exhibition-copy{font-size:17px;}.g-hint{max-width:calc(100vw - 135px);}}

.exhibition-identity{position:absolute;left:120px;top:88px;width:1440px;transform:scale(.3333);transform-origin:0 0;text-align:center;color:#fff1da;text-shadow:0 1px 2px #301a0e70;pointer-events:none;}
.exhibition-identity h1{margin:0;font-size:112px;line-height:1.1;font-weight:500;letter-spacing:-.025em;}
.exhibition-identity p{margin:18px 0 0;font-size:74px;line-height:1.2;font-weight:400;}
.wall-text:not(.print-note) .statement{font-size:26px;line-height:1.5;}
.wall-text:not(.print-note) h1,.wall-text:not(.print-note) h2{font-size:52px;}
.wall-text .statement p{margin-bottom:22px;}
.gallery-dock{position:fixed;z-index:14;bottom:max(16px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:22px;padding:11px 17px;border:1px solid #ffffff32;border-radius:4px;background:#ede6d8e8;color:#3f3529;box-shadow:0 2px 12px #26190e20;font-size:12px;white-space:nowrap;}
.dock-brand{font:16px Georgia,'Times New Roman',serif;}
.gallery-dock button{font:inherit;border:0;border-bottom:1px solid #8a7655;background:none;color:inherit;padding:3px 0;cursor:pointer;}
.gallery-dock a{color:#66594a;text-decoration:none;font-size:11px;}
.gallery-dock a:hover{text-decoration:underline;text-underline-offset:3px;}
.g-head .g-name,.g-head .g-insta{display:none;}
.g-head{justify-content:flex-end;}
.g-hint,.room-zoom{bottom:max(76px,calc(env(safe-area-inset-bottom) + 60px));}
@media(max-width:500px){.gallery-dock{gap:16px;padding:11px 13px;font-size:11px;}.dock-brand{font-size:14px;}.gallery-dock a{font-size:10px;}}

.gallery-dock #gallery-dock-home{font-size:inherit;color:inherit;border-bottom:1px solid #8a7655;padding:3px 0;text-decoration:none;}
.viewer :focus-visible{outline:2px solid #e8d9bb;outline-offset:4px;}

/* The exhibition heading sits inside the painted field, aligned to the copy below. */
.exhibition-identity{left:84px;top:120px;width:1584px;color:#d8ccb5;opacity:.9;text-shadow:none;}
.exhibition-identity h1{font-size:96px;font-weight:400;letter-spacing:.005em;line-height:1.12;}
.exhibition-identity p{font-size:46px;letter-spacing:.06em;line-height:1.2;margin-top:16px;}

/* Continue the side-wall oak profiles across the blue painted infill. */
.wall.back{background-size:112% 128%;background-position:center -6px;}
.house-oak-crown,.house-oak-base{position:absolute;left:0;right:0;z-index:1;pointer-events:none;background-image:url('hall-gallery/side.jpg');background-size:1640px 560px;background-repeat:repeat-x;}
.house-oak-crown{top:61px;height:34px;background-position:0 -61px;}
.house-oak-base{bottom:0;height:56px;background-position:0 bottom;}

.wall-text{user-select:none;touch-action:none;}
.reading-wall .wall-text{cursor:grab;}
.reading-wall.grabbing .wall-text{cursor:grabbing;}

/* One bar at the top: name on the left, Works, Prints and Instagram on the right. The bottom keeps only the room controls. */
.gallery-dock{display:none;}
.g-head{justify-content:space-between;align-items:center;}
.g-head .g-name{display:block;font:17px Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:.005em;}
.g-head .g-insta{display:block;order:3;color:inherit;opacity:.85;}
.g-head .hall-works-menu{order:1;}
.g-head .g-prints{order:2;}
.g-hint,.room-zoom{bottom:max(16px,calc(env(safe-area-inset-bottom) + 8px));}
@media(max-width:820px){.g-head .g-name{font-size:15px;}.g-head .g-insta{display:block;}}
@media(max-width:380px){.g-head{padding:14px 12px;}.g-head .g-name{font-size:14px;}.g-nav{gap:12px;}}

/* A quiet scrim keeps navigation readable over the gilded frieze. */
.g-head{background:linear-gradient(to bottom,#17120ec9 0%,#17120e73 48%,#17120e00 100%);padding-bottom:24px;text-shadow:0 1px 2px #0009;}
.g-head .g-insta{opacity:1;}
