*{box-sizing:border-box}body{margin:0;background:#f7f6f2;color:#282923;font-family:Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{background:none;border:0;color:inherit;font:inherit;cursor:pointer}button:hover,a:hover{color:#a33b32}button:focus-visible,a:focus-visible{outline:2px solid #a33b32;outline-offset:7px}header{height:95px;padding:0 4vw;display:flex;align-items:center;justify-content:space-between}.name{font-size:14px;letter-spacing:3px}.name small{font-size:10px;letter-spacing:3px;display:block;margin-top:7px}nav{display:flex;gap:30px;font-size:14px}.gallery{height:calc(100svh - 185px);min-height:500px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.wall{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;padding:25px 12vw 20px;transition:opacity .28s,transform .45s}.wall.changing{opacity:0;transform:translateX(40px)}.image-button{display:block;padding:0;max-width:100%;line-height:0;position:relative}.image-button img{max-width:min(68vw,1080px);height:auto;max-height:calc(100svh - 340px);object-fit:contain;display:block;box-shadow:0 10px 17px #1c1b1720,0 2px 3px #1c1b1720;transition:transform .5s}.image-button:hover img{transform:scale(1.008)}.caption{text-align:center;margin-top:25px;line-height:1.5}.caption h1{font:20px Arial,sans-serif;margin:0 0 5px;font-weight:normal;letter-spacing:.2px}.caption p{margin:0;font-size:12px;letter-spacing:1px;color:#6e7068}.side{position:absolute;top:50%;z-index:2;font-size:25px;padding:18px;color:#62655b}.side.prev{left:3vw}.side.next{right:3vw}.side:disabled{opacity:.15;cursor:default}.gallery-footer{height:90px;display:flex;justify-content:space-between;align-items:center;padding:0 4vw;border-top:1px solid #dfdfd7;font-size:13px}.room-label{letter-spacing:1.4px;font-size:11px;color:#686b61}.controls{display:flex;align-items:center;gap:28px}.counter{font-size:12px;color:#777b70}.intro{position:absolute;top:22px;left:4vw;font-size:11px;letter-spacing:2px;color:#70736a;z-index:2}.hint{font-size:11px;letter-spacing:1px;color:#888b82}.dialog{border:0;background:#faf9f6;color:#292c26;padding:48px;max-width:590px;width:calc(100% - 35px);max-height:88svh;box-shadow:0 15px 60px #0002}.dialog::backdrop{background:#181e174d;backdrop-filter:blur(3px)}.close{position:absolute;top:17px;right:20px;padding:9px;font-size:20px}.dialog h2{font:39px/1.1 Arial,sans-serif;margin:12px 0 28px}.dialog p{font:17px/1.7 Arial;color:#565d51}.dialog .eyebrow{font:11px Arial;letter-spacing:2px;color:#a33b32}.dialog img.brand{width:220px;display:block;margin:0 auto 25px}.room-links{display:flex;flex-direction:column}.room-links button{text-align:left;border-top:1px solid #d8d9d1;padding:21px 0;font:24px Arial,sans-serif}.room-links small{display:block;font:12px Arial;color:#777;margin-top:7px}.lightbox{position:fixed;inset:0;width:100vw;height:100svh;max-width:none;max-height:none;border:0;background:#f7f6f2;padding:70px 4vw 30px}.lightbox img{display:block;width:100%;height:100%;object-fit:contain}.lightbox .close{font-size:15px}.about-footer{margin-top:25px;border-top:1px solid #ddd;padding-top:20px;display:flex;justify-content:space-between;font-size:14px}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:700px){header{height:90px;padding:0 22px}.name{font-size:12px;letter-spacing:2px}.name small{font-size:9px;letter-spacing:2px}nav{gap:15px;font-size:12px}nav a{display:none}.gallery{height:calc(100svh - 195px);min-height:390px}.intro{left:22px;top:10px;font-size:9px;letter-spacing:1.2px}.wall{padding:35px 35px 25px}.image-button img{max-width:calc(100vw - 84px);max-height:calc(100svh - 350px)}.caption{margin-top:26px}.caption h1{font-size:19px}.caption p{font-size:10px}.side{font-size:20px;padding:10px}.side.prev{left:1px}.side.next{right:1px}.gallery-footer{height:105px;padding:16px 22px;gap:14px;flex-wrap:wrap}.room-label{font-size:9px;letter-spacing:1px;width:100%}.controls{gap:24px;font-size:12px}.hint{display:none}.counter{font-size:11px}.dialog{padding:40px 27px}.dialog h2{font-size:32px}}

.series{border-top:1px solid #d8d9d1}.series summary{cursor:pointer;padding:21px 0;font:24px Arial,sans-serif}.page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 0 20px}.page-grid button{font:15px Arial;text-align:center;border:1px solid #d8d9d1;padding:14px 8px}.lightbox{padding:65px 65px 55px}.detail-arrow{position:absolute;top:50%;font-size:28px;padding:16px;z-index:2}.detail-prev{left:4px}.detail-next{right:4px}.detail-arrow:disabled{opacity:.2;cursor:default}.detail-caption{position:absolute;bottom:18px;left:65px;right:65px;text-align:center;font:15px Arial,sans-serif}@media(max-width:700px){.lightbox{padding:65px 40px 55px}.detail-arrow{padding:7px;font-size:23px}.detail-caption{font-size:13px;left:40px;right:40px}}
/* Consistent typography based on the Never Mind Art wordmark. */
body,button,a,.caption h1,.dialog h2,.dialog p,.dialog .eyebrow,.room-links button,.room-links small,.series summary,.page-grid button,.detail-caption{font-family:Arial,sans-serif}
.caption h1,.dialog h2,.room-links button,.series summary,.detail-caption{font-weight:400;letter-spacing:2px;text-transform:uppercase}
.caption h1{font-size:18px}.dialog h2{font-size:27px;line-height:1.35}.room-links button,.series summary{font-size:17px;line-height:1.5}.room-links small{font-size:10px;letter-spacing:1.5px}.page-grid button{font-size:12px;letter-spacing:1px}.detail-caption{font-size:12px;line-height:1.5}
@media(max-width:700px){.caption h1{font-size:16px}.dialog h2{font-size:23px}.detail-caption{font-size:11px;letter-spacing:1px}}

.gallery-footer,.gallery-footer button,.gallery-footer .room-label,.gallery-footer .hint,.gallery-footer .counter{font-family:Arial,sans-serif;font-size:11px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:#282923}.gallery-footer .controls{gap:22px}@media(max-width:700px){.gallery-footer,.gallery-footer button,.gallery-footer .room-label,.gallery-footer .counter{font-size:10px;letter-spacing:1.4px}.gallery-footer .controls{gap:16px}}

header nav{font-family:Arial,sans-serif;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:2px;color:#282923}
@media(max-width:700px){header nav{letter-spacing:1.4px;font-size:10px}}

header nav button,header nav a{font-family:Arial,sans-serif;font-size:11px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:#282923}
@media(max-width:700px){header nav button,header nav a{font-size:10px;letter-spacing:1.4px}}

.gallery-footer .caption{text-align:left;margin:0;flex-shrink:0}.gallery-footer .caption h1{font-family:Arial,sans-serif;font-size:12px;letter-spacing:2px;margin:0 0 7px;line-height:1.4}.gallery-footer .caption p{font-size:9px;letter-spacing:2px;color:#686b61}.gallery-footer .room-label[hidden]{display:none}@media(max-width:700px){.gallery-footer{height:auto;min-height:105px}.gallery-footer .caption{width:100%}.gallery-footer .caption h1{font-size:11px}}

/* Quiet directional rabbits, animated only on approach. */
.side,.detail-arrow{color:#77796f;padding:24px 15px;transition:color .2s;}
.rabbit{display:block;width:46px;height:36px;overflow:visible;}
.prev .rabbit,.detail-prev .rabbit{transform:scaleX(-1)}
.side:disabled,.detail-arrow:disabled{visibility:hidden;}
.side:hover,.side:focus-visible,.detail-arrow:hover,.detail-arrow:focus-visible{color:#393d32;}
.next:hover .rabbit,.next:focus-visible .rabbit,.detail-next:hover .rabbit,.detail-next:focus-visible .rabbit{animation:rabbit-right .85s ease-in-out infinite;}
.prev:hover .rabbit,.prev:focus-visible .rabbit,.detail-prev:hover .rabbit,.detail-prev:focus-visible .rabbit{animation:rabbit-left .85s ease-in-out infinite;}
@keyframes rabbit-right{0%,100%{transform:translate(0,0)}45%{transform:translate(7px,-7px) rotate(-5deg)}70%{transform:translate(10px,0)}}
@keyframes rabbit-left{0%,100%{transform:translate(0,0) scaleX(-1)}45%{transform:translate(-7px,-7px) scaleX(-1) rotate(-5deg)}70%{transform:translate(-10px,0) scaleX(-1)}}
@media(max-width:700px){.rabbit{width:29px;height:27px}.side,.detail-arrow{padding:20px 5px}.side.prev{left:0}.side.next{right:0}}
@media(prefers-reduced-motion:reduce){.rabbit{animation:none!important}}

.rabbit{width:37px;height:48px}.side,.detail-arrow{color:#77796f}@keyframes rabbit-right{0%,100%{transform:translate(0,0)}45%{transform:translate(4px,-4px) rotate(-2deg)}70%{transform:translate(6px,0)}}@keyframes rabbit-left{0%,100%{transform:translate(0,0) scaleX(-1)}45%{transform:translate(-4px,-4px) scaleX(-1) rotate(-2deg)}70%{transform:translate(-6px,0) scaleX(-1)}}@media(max-width:700px){.rabbit{width:25px;height:34px}}

.side{top:auto;bottom:10px;padding:8px 15px}.detail-arrow{top:auto;bottom:55px;padding:8px 15px}.detail-prev{left:3vw}.detail-next{right:3vw}@media(max-width:700px){.side{bottom:8px;padding:8px 12px}.side.prev{left:10px}.side.next{right:10px}.detail-arrow{bottom:55px;padding:8px 10px}}

.rabbit{width:51px;height:34px}@media(max-width:700px){.rabbit{width:35px;height:26px}}

/* Optical centring after moving the artwork label into the footer. */
.wall{padding:0 12vw 40px}@media(max-width:700px){.wall{padding:0 35px 30px}}

/* A balanced gallery wall, bounded by two quiet rules. */
header{border-bottom:1px solid #dfdfd7}
.wall{padding:0 12vw}
.gallery{overflow:visible}
.side{bottom:-2px;padding:0 15px;line-height:0}
.side .rabbit{width:52px;height:31px}
.side{color:#74766e}
@media(max-width:700px){.wall{padding:0 35px}.side{bottom:-2px;padding:0 12px}.side .rabbit{width:38px;height:23px}}

.badger-study{display:none!important}
html[data-badger] svg.rabbit{display:none}
html[data-badger] .badger-study{display:block!important;width:60px;height:25px;background-image:url('assets/badger-design-studies.webp');background-size:133.565px 89.04px;background-repeat:no-repeat;background-position:-4.35px -9.57px;mix-blend-mode:multiply}
html[data-badger="silhouette"] .badger-study{background-position:-69.6px -9.57px}
html[data-badger] .side{bottom:-1px}

/* Shared text rules across all gallery panels and controls. */
:root{--gallery-font:Arial,sans-serif;--label-size:11px;--label-spacing:2px}
body,button,a,summary,h1,h2,p,small,span{font-family:var(--gallery-font)}
header nav button,header nav a,.gallery-footer button,.gallery-footer .hint,.gallery-footer .counter,.lightbox .close,.about-footer a,.about-footer button,.page-grid button,.dialog .eyebrow,.detail-caption{font-family:var(--gallery-font);font-size:var(--label-size);font-weight:400;letter-spacing:var(--label-spacing);text-transform:uppercase;line-height:1.5}
.dialog p{font-family:var(--gallery-font);font-weight:400;letter-spacing:.2px;line-height:1.7}
.about-footer{gap:20px;align-items:center;flex-wrap:wrap}
@media(max-width:700px){:root{--label-size:10px;--label-spacing:1.4px}}

.lightbox .close{top:auto;bottom:14px;right:4vw;font-size:10px;letter-spacing:2px;color:#77796f;padding:8px 0;z-index:3}
.lightbox .close:hover,.lightbox .close:focus-visible{color:#282923}
.detail-caption{left:4vw;right:210px;text-align:left;bottom:22px}
@media(max-width:700px){.lightbox .close{right:20px;bottom:12px;font-size:9px;letter-spacing:1.2px}.detail-caption{left:20px;right:150px;bottom:20px;font-size:10px;letter-spacing:1px}}

#map>p{font-family:var(--gallery-font);font-size:var(--label-size);font-weight:400;letter-spacing:var(--label-spacing);text-transform:uppercase;line-height:1.7}

.dialog p{font-family:var(--gallery-font);font-size:var(--label-size)!important;font-weight:400;letter-spacing:var(--label-spacing);text-transform:uppercase;line-height:1.9}.dialog h2{font-family:var(--gallery-font);font-size:17px;font-weight:400;letter-spacing:2px;text-transform:uppercase;line-height:1.5}

.gallery-footer .intro{position:static;margin-top:7px;font-size:9px;letter-spacing:1.4px;line-height:1.4;color:#77796f;max-width:520px}.gallery-footer .caption{flex-shrink:1}.gallery-footer .intro[hidden]{display:none}@media(max-width:700px){.gallery-footer .intro{font-size:8px;letter-spacing:1px}.gallery-footer{gap:12px}}

.gallery-footer .caption{min-width:0;padding-right:20px}.gallery-footer .caption h1{max-width:660px}.gallery-footer .controls{flex-shrink:0}@media(max-width:700px){.gallery-footer .caption{padding-right:0}.gallery-footer .caption h1{font-size:10px;letter-spacing:1.4px}}

.gallery-footer .caption h1{font-size:10px;letter-spacing:1.4px;white-space:nowrap;max-width:none}.gallery-footer .caption{flex:1;min-width:0}.gallery-footer{column-gap:20px}@media(max-width:1050px){.gallery-footer{flex-wrap:wrap;height:auto;min-height:90px;padding-top:14px;padding-bottom:14px}.gallery-footer .caption{flex-basis:100%;padding-right:0}.gallery-footer .controls{margin-left:auto}.gallery-footer .caption h1{font-size:9px;letter-spacing:1px}}@media(max-width:500px){.gallery-footer .caption h1{font-size:7.5px;letter-spacing:.4px}}

/* Words sits beside the work without obscuring it. */
.words-panel[hidden]{display:none}.words-panel{flex:0 0 300px;align-self:center;max-height:calc(100% - 90px);overflow-y:auto;padding:25px 30px 25px 0;margin-right:4vw;color:#565d51;font-family:var(--gallery-font)}
.words-panel h2{font-size:12px;font-weight:400;letter-spacing:2px;text-transform:uppercase;line-height:1.7;margin:24px 0 18px}
.words-panel p,.words-panel button{font-family:var(--gallery-font);font-size:11px;font-weight:400;letter-spacing:1.4px;text-transform:uppercase;line-height:1.9}.words-panel button{padding:0;color:#77796f;font-size:10px}
.words-open .wall{flex:1;min-width:0;padding:0 4vw}.words-open .image-button{max-width:100%}.words-open .image-button img{max-width:100%;max-height:calc(100svh - 340px)}
@media(max-width:700px){.gallery.words-open{height:auto;min-height:calc(100svh - 195px);flex-direction:column;padding-bottom:45px}.words-open .wall{flex:none;height:calc(100svh - 240px);width:100%;padding:20px 35px}.words-panel{flex:none;width:100%;max-height:none;margin:0;padding:20px 35px 25px;align-self:stretch}.words-panel h2{margin-top:18px}.words-panel p{font-size:10px}.words-open .image-button img{max-height:calc(100svh - 350px)}}

/* Keep navigation and labels entirely below the gallery wall. */
.gallery{height:calc(100svh - 220px)}
.gallery-footer{position:relative;height:125px;min-height:125px;padding:53px 4vw 20px;align-items:center;flex-wrap:nowrap}
.gallery-footer .side{top:7px;bottom:auto;padding:0 15px}
.gallery-footer .side.prev{left:calc(4vw - 15px)}.gallery-footer .side.next{right:calc(4vw - 15px)}
html[data-badger] .gallery-footer .side{bottom:auto}
.gallery-footer .caption{flex:1;flex-basis:auto}.gallery-footer .caption h1{margin-bottom:7px}.gallery-footer .controls{margin-left:auto;align-self:center}
@media(max-width:1050px){.gallery{height:calc(100svh - 240px)}.gallery-footer{height:145px;min-height:145px;flex-wrap:wrap;padding-top:50px}.gallery-footer .caption{flex-basis:100%}.gallery-footer .controls{margin-top:10px}}
@media(max-width:700px){.gallery{height:calc(100svh - 235px)}.gallery-footer{padding-left:22px;padding-right:22px}.gallery-footer .side.prev{left:7px}.gallery-footer .side.next{right:7px}}

.gallery{height:calc(100svh - 200px)}.gallery-footer{height:105px;min-height:105px;padding-top:45px;padding-bottom:14px;align-items:flex-start;border-top:1px solid #dfdfd7}.gallery-footer .controls{align-self:flex-start;line-height:1.4}.gallery-footer .caption h1{line-height:1.54}.gallery-footer .counter{min-width:60px;text-align:center}@media(max-width:1050px){.gallery{height:calc(100svh - 225px)}.gallery-footer{height:130px;min-height:130px}}@media(max-width:700px){.gallery{height:calc(100svh - 220px)}}

/* Equal top and bottom bands around the gallery. */
header{height:95px}.gallery{height:calc(100svh - 190px);min-height:0}.gallery-footer{height:95px;min-height:95px;flex-wrap:nowrap;padding:43px 4vw 10px}.gallery-footer .caption{flex-basis:auto}.gallery-footer .controls{margin-top:0}.gallery-footer .side{top:6px}@media(max-width:1050px){header{height:125px}.gallery{height:calc(100svh - 250px)}.gallery-footer{height:125px;min-height:125px;flex-wrap:wrap;padding-top:43px}.gallery-footer .caption{flex-basis:100%}.gallery-footer .controls{margin-top:8px}}@media(max-width:700px){.gallery-footer{padding-left:22px;padding-right:22px}}

.gallery-footer .side{top:15px}@media(max-width:1050px){.gallery-footer .side.next{top:60px}.gallery-footer .side.prev{top:15px}}

@media(min-width:701px){.gallery-footer{flex-wrap:nowrap;align-items:flex-end;padding-bottom:18px}.gallery-footer .caption{flex-basis:auto;align-self:flex-end}.gallery-footer .controls{align-self:flex-end;margin-top:0;margin-bottom:0}.gallery-footer .caption p{line-height:1.5}.gallery-footer .caption h1{margin-bottom:7px}.gallery-footer .side.next{top:auto;bottom:41px}}
html[data-badger] .gallery-footer .side.next{bottom:41px;top:auto}

/* Open the wall equally above and below the artwork. */
@media(min-width:1051px){header{height:85px}.gallery{height:calc(100svh - 170px)}.gallery-footer{height:85px;min-height:85px;padding-top:33px}}
@media(min-width:701px) and (max-width:1050px){header{height:115px}.gallery{height:calc(100svh - 230px)}.gallery-footer{height:115px;min-height:115px;padding-top:33px}}

/* Keep both navigation animals on the same baseline. */
html[data-badger] .gallery-footer .side.prev,html[data-badger] .gallery-footer .side.next{top:15px;bottom:auto}

#close-words:hover,#close-words:focus-visible{color:#a33b32}

/* A consistent red response for every text control. */
body a:hover,body a:focus-visible,body button:not(:disabled):hover,body button:not(:disabled):focus-visible,body summary:hover,body summary:focus-visible{color:#a33b32!important}
body a:hover *,body a:focus-visible *,body button:not(:disabled):hover *,body button:not(:disabled):focus-visible *,body summary:hover *,body summary:focus-visible *{color:inherit!important}

/* Paired directional controls keep both movements within easy reach. */
.gallery-footer .side.prev{left:auto;right:calc(4vw + 65px)}
.gallery-footer .side.next{right:calc(4vw - 15px)}
.lightbox .detail-prev{left:auto;right:calc(4vw + 65px)}
.lightbox .detail-next{right:calc(4vw - 15px)}
@media(max-width:700px){.gallery-footer .side.prev,.lightbox .detail-prev{left:auto;right:87px}.gallery-footer .side.next,.lightbox .detail-next{right:7px}}

#read{width:90px;flex:0 0 90px;text-align:left;white-space:nowrap}

/* Reserve a separate lower band for enlarged-view navigation. */
.lightbox{padding-bottom:115px}
.lightbox .detail-arrow{top:auto;bottom:48px}

/* Keep the navigation pair stationary when entering or leaving Step Closer. */
html[data-badger] .gallery-footer .side.prev,html[data-badger] .gallery-footer .side.next,.lightbox .detail-arrow{top:auto;bottom:48px;padding:8px 15px}

/* Three compact header groups. */
header nav{display:flex;gap:32px}header nav button,header nav a{display:block!important;text-align:left;line-height:1.7}
@media(max-width:700px){header{padding-left:22px;padding-right:22px;gap:12px}.name{font-size:11px;letter-spacing:1.5px}.name small{font-size:7px;letter-spacing:1.2px}header nav{gap:14px}header nav button,header nav a{font-size:8px;letter-spacing:1px}}

/* Artist first, with a direct route to the Home artwork. */
.gallery-footer .caption p{margin:0 0 7px}.gallery-footer .caption h1{margin:0}.gallery-footer #artist-home{color:inherit;text-decoration:none}

/* A brief introduction, then an automatic return to the artwork. */
#artist{position:fixed;inset:0;margin:0;width:100vw;height:100svh;max-width:none;max-height:none;padding:40px 6vw;border:0;background:#f7f6f2;color:#34362f;opacity:1;transition:opacity .6s ease}
#artist[open]{display:flex;align-items:center;justify-content:center;animation:artist-arrive .6s ease}
#artist::backdrop{background:#f7f6f2;backdrop-filter:none;transition:opacity .6s ease}
#artist.leaving,#artist.leaving::backdrop{opacity:0}
#artist .artist-introduction{display:flex;align-items:center;gap:6vw;max-width:960px;width:100%}
#artist .brand{width:32%;max-width:320px;margin:0;mix-blend-mode:multiply}
#artist #artist-statement{flex:1}#artist h2{font-size:20px;margin:0 0 28px}#artist p{margin:0 0 24px}#artist h2.closing-name{margin:28px 0 0}
#artist .intro-return-hint{position:absolute;bottom:22px;left:24px;right:24px;text-align:center;font-size:9px;letter-spacing:1px;text-transform:uppercase;color:#74766e}
@keyframes artist-arrive{from{opacity:0}to{opacity:1}}
@media(max-width:700px){#artist{padding:25px 28px 65px}#artist .artist-introduction{flex-direction:column;gap:22px;max-width:440px}#artist .brand{width:160px;max-height:24svh;object-fit:contain}#artist h2{font-size:17px;margin-bottom:18px}#artist p{font-size:10px!important;line-height:1.9;margin-bottom:18px}#artist h2.closing-name{margin-top:18px}#artist .intro-return-hint{font-size:8px;line-height:1.6}}
@media(prefers-reduced-motion:reduce){#artist[open]{animation:none}#artist,#artist::backdrop{transition:none}}

#artist .brand{filter:grayscale(1);opacity:.55}

/* Preserve the original ink and blend the paper into the gallery wall. */
#artist .brand{filter:none;opacity:1;mix-blend-mode:multiply}
#artist,#artist::backdrop{transition:opacity 3s ease}
@media(prefers-reduced-motion:reduce){#artist,#artist::backdrop{transition:none}}
#artist .brand{-webkit-mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(to right,transparent,#000 8%,#000 92%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}

#artist[open]{animation-duration:3s}

/* Artwork title above the artist; separate phone rows for navigation and labels. */
.gallery-footer .caption h1{margin:0 0 7px}.gallery-footer .caption p{margin:0}
@media(max-width:700px){
 .gallery{height:calc(100svh - 300px)}
 .gallery-footer{height:175px;min-height:175px;display:flex;flex-direction:column;align-items:stretch;flex-wrap:nowrap;padding:61px 16px 14px;gap:8px}
 .gallery-footer .caption{flex:0 0 auto;flex-basis:auto;padding:0;align-self:stretch}
 .gallery-footer .caption h1{white-space:normal;font-size:10px;letter-spacing:1px;line-height:1.5;margin-bottom:4px}
 .gallery-footer .caption p{font-size:10px;line-height:1.5}
 .gallery-footer .controls{margin-top:auto;align-self:flex-end;gap:12px}
 .gallery-footer #read{width:76px;flex-basis:76px}
 html[data-badger] .gallery-footer .side.prev,html[data-badger] .gallery-footer .side.next,.lightbox .detail-arrow{bottom:124px;top:auto;width:76px;padding:8px}
 .gallery-footer .side.prev,.lightbox .detail-prev{right:96px;left:auto}
 .gallery-footer .side.next,.lightbox .detail-next{right:16px}
 .lightbox{padding:30px 24px 180px}
 .detail-caption{bottom:59px;left:16px;right:16px;font-size:10px;line-height:1.5;white-space:normal}
 .lightbox .close{bottom:12px;right:16px}
}

/* Give the artwork more of the viewport, with compact controls below it. */
@media(min-width:701px){
 header{height:80px}.gallery{height:calc(100svh - 165px)}
 .gallery-footer{height:85px;min-height:85px;padding-top:30px}
 .wall{padding:12px 6vw}
 .image-button img{max-width:min(88vw,1400px);max-height:calc(100svh - 193px)}
 .words-open .image-button img{max-width:100%;max-height:calc(100svh - 193px)}
}
@media(max-width:700px){
 header{height:80px;padding-left:16px;padding-right:16px}
 .gallery{height:calc(100svh - 220px)}
 .wall{padding:12px 16px}
 .image-button img{max-width:calc(100vw - 32px);max-height:calc(100svh - 244px)}
 .gallery-footer{height:140px;min-height:140px;padding:47px 16px 12px;gap:5px}
 html[data-badger] .gallery-footer .side.prev,html[data-badger] .gallery-footer .side.next,.lightbox .detail-arrow{bottom:99px}
 .lightbox{padding-bottom:155px}
 .detail-caption{bottom:51px}
 .words-open .wall{padding:12px 16px;height:calc(100svh - 220px)}
 .words-open .image-button img{max-height:calc(100svh - 244px)}
}

.work-subtitle{display:block;margin-top:3px;font:inherit}
@media(min-width:701px){
 .gallery-footer{height:80px;min-height:80px;padding-top:10px;padding-bottom:10px}
 .gallery{height:calc(100svh - 160px)}
 .image-button img{max-height:calc(100svh - 184px)}
 html[data-badger] .gallery-footer .side.prev,html[data-badger] .gallery-footer .side.next,.lightbox .detail-arrow{bottom:45px;padding-top:0;padding-bottom:0}
}
@media(max-width:700px){
 .gallery-footer{height:130px;min-height:130px;padding-top:8px;padding-bottom:12px;gap:4px}
 .gallery{height:calc(100svh - 210px)}
 .image-button img{max-height:calc(100svh - 234px)}
 .gallery-footer .caption{padding-bottom:0}
 html[data-badger] .gallery-footer .side.prev,html[data-badger] .gallery-footer .side.next,.lightbox .detail-arrow{bottom:45px;padding-top:0;padding-bottom:0}
 .detail-caption{bottom:72px}
 .lightbox{padding-bottom:155px}
}
@media(max-width:700px){.gallery-footer{height:138px;min-height:138px}.gallery{height:calc(100svh - 218px)}.image-button img{max-height:calc(100svh - 242px)}}

/* Align the artist and controls along one baseline, within balanced bands. */
@media(min-width:701px){
 header{height:80px}.gallery{height:calc(100svh - 160px)}
 .gallery-footer{height:80px;min-height:80px;padding:6px 4vw 8px;align-items:flex-end}
 .gallery-footer .caption,.gallery-footer .controls{align-self:flex-end;margin-bottom:0}
 .gallery-footer .caption p{font-size:11px;line-height:1.5}
 .gallery-footer .caption h1{margin-bottom:3px;line-height:1.4}
 .work-subtitle{margin-top:1px}
 .image-button img{max-height:calc(100svh - 176px)}
 .wall{padding-top:8px;padding-bottom:8px}
}
@media(max-width:700px){
 header{height:110px}.gallery{height:calc(100svh - 220px)}
 .gallery-footer{height:110px;min-height:110px;padding:7px 16px 10px;display:block}
 .gallery-footer .caption{position:absolute;left:16px;right:16px;bottom:10px;padding:0}
 .gallery-footer .caption h1{font-size:9px;line-height:1.4;letter-spacing:.5px;margin-bottom:5px;max-width:100%;padding-right:0}
 .gallery-footer .caption p{font-size:9px;line-height:15px;letter-spacing:1px}
 .gallery-footer .controls{position:absolute;right:16px;bottom:10px;margin:0;gap:8px;font-size:9px;line-height:15px}
 .gallery-footer .controls button,.gallery-footer .counter{font-size:9px;letter-spacing:.7px;line-height:15px}
 .gallery-footer #read{width:61px;flex-basis:61px}.gallery-footer .counter{min-width:43px}
 html[data-badger] .gallery-footer .side.prev,html[data-badger] .gallery-footer .side.next,.lightbox .detail-arrow{bottom:78px}
 .detail-caption{bottom:40px;right:16px}
 .image-button img{max-height:calc(100svh - 236px)}
 .wall{padding-top:8px;padding-bottom:8px}
}

#artist .artist-opening span{display:block}#artist .artist-opening span+span{margin-top:8px}

.gallery-footer .caption #title{display:block;padding:0;text-align:left;font:inherit;letter-spacing:inherit;line-height:inherit;text-transform:inherit;color:inherit;white-space:inherit}
.gallery-footer .caption #title:hover,.gallery-footer .caption #title:focus-visible,.gallery-footer .caption #title[aria-expanded="true"]{color:#a33b32}

/* Readable labels and generous touch targets without enlarging the animals. */
header a,header button{min-height:44px;display:flex;justify-content:center;flex-direction:column}
.gallery-footer .caption{width:auto}
.gallery-footer .caption h1{font-size:12px;letter-spacing:.7px;white-space:normal}
.gallery-footer .controls button,#artist-home{min-height:44px;display:inline-flex;align-items:center}
.gallery-footer .controls{gap:12px}
html[data-badger] .gallery-footer .side.prev,html[data-badger] .gallery-footer .side.next,.lightbox .detail-arrow{height:44px;width:76px;padding:9px 8px;bottom:44px}
.gallery-footer .side.prev,.lightbox .detail-prev{left:auto;right:calc(4vw + 80px)}
.gallery-footer .side.next,.lightbox .detail-next{right:4vw}
.gallery-footer .caption p{line-height:20px}
.gallery-footer .caption h1{margin-bottom:0}
.gallery-footer .caption #artist-home{min-height:44px}
header{height:100px}.gallery{height:calc(100svh - 200px)}
.gallery-footer{height:100px;min-height:100px;padding-bottom:0}
.image-button img{max-height:calc(100svh - 216px)}
.lightbox{padding-bottom:110px}
.lightbox .close{min-height:44px;bottom:0}
.detail-caption{bottom:14px;right:230px;text-align:left}
.words-panel p{font-size:13px;letter-spacing:.7px}
#artist .intro-return-hint{display:flex;justify-content:center;gap:20px}
#artist .intro-return-hint button{min-height:44px;font-size:11px;letter-spacing:1px;text-transform:uppercase}
@media(max-width:700px){
 header{height:132px;gap:8px;padding:0 16px}.name{font-size:12px;letter-spacing:.7px;flex-shrink:0}.name small{font-size:10px;letter-spacing:.3px}
 header nav{gap:12px}header nav button,header nav a{font-size:11px;letter-spacing:.2px;padding:0;line-height:1.6}
 .gallery{height:calc(100svh - 264px)}
 .gallery-footer{height:132px;min-height:132px;padding:0 16px}
 .gallery-footer .caption{left:16px;right:16px;bottom:0;width:auto;padding:0}
 .gallery-footer .caption h1{font-size:11px;line-height:16px;letter-spacing:.2px;margin:0 0 0;max-width:100%}
 .work-subtitle{margin-top:0}
 .gallery-footer .caption p{font-size:10px;letter-spacing:.3px;line-height:20px}
 .gallery-footer .controls{bottom:0;right:16px;gap:8px;height:44px}
 .gallery-footer .controls button,.gallery-footer .counter{font-size:10px;letter-spacing:.2px;line-height:20px}
 .gallery-footer #read{width:62px;flex-basis:62px}.gallery-footer .counter{min-width:40px}
 html[data-badger] .gallery-footer .side.prev,html[data-badger] .gallery-footer .side.next,.lightbox .detail-arrow{bottom:80px}
 .gallery-footer .side.prev,.lightbox .detail-prev{right:96px}.gallery-footer .side.next,.lightbox .detail-next{right:16px}
 .image-button img,.words-open .image-button img{max-height:calc(100svh - 280px)}
 .words-open .wall{height:calc(100svh - 264px)}
 .words-panel{padding:16px 24px}.words-panel p{font-size:13px;letter-spacing:.6px}
 .lightbox{padding:24px 16px 140px}.detail-caption{left:16px;right:16px;bottom:48px;font-size:11px;letter-spacing:.5px;line-height:16px}
 .lightbox .close{bottom:0;right:16px;font-size:11px}
 #artist p{font-size:12px!important;letter-spacing:.6px}
 #artist .intro-return-hint{bottom:10px;left:16px;right:16px;gap:12px}
}

/* Home-only entry to the ordering pilot. */
.choose-work{position:absolute;left:4vw;bottom:62px;min-height:32px;display:flex;align-items:center;font:11px Arial,sans-serif;letter-spacing:.7px;text-transform:uppercase;color:#282923}
.choose-work[hidden]{display:none}
@media(max-width:700px){.choose-work{left:16px;bottom:84px;min-height:44px;font-size:10px;letter-spacing:.2px;max-width:calc(100% - 190px)}}

/* Navigation feedback follows the same action for swipes, keys and buttons. */
.side.next.travelling .rabbit,.detail-next.travelling .rabbit{animation:rabbit-right .6s ease-in-out 1}
.side.prev.travelling .rabbit,.detail-prev.travelling .rabbit{animation:rabbit-left .6s ease-in-out 1}
#wall,#detail-image{touch-action:pan-y pinch-zoom}

/* Keep navigation beside the labels, entirely below the artwork. */
html[data-badger] .gallery-footer .side.prev,
html[data-badger] .gallery-footer .side.next,
.lightbox .detail-arrow{bottom:44px}
.gallery-footer .caption h1{max-width:calc(100vw - 8vw - 180px)}
@media(max-width:700px){
 .gallery-footer .caption h1{max-width:calc(100vw - 204px)}
 .detail-caption{right:180px}
}
@media(min-width:701px){
 html[data-badger] .gallery-footer .side,.lightbox .detail-arrow{padding-top:17px;padding-bottom:1px}
}

/* One lettering style across the header's three navigation groups. */
header .name,header nav button,header nav a{
 font-family:var(--gallery-font);font-size:12px;font-weight:400;
 font-style:normal;letter-spacing:.7px;text-transform:uppercase;
 line-height:1.7;text-align:left;
}
@media(max-width:700px){
 header .name,header nav button,header nav a{font-size:11px;letter-spacing:.2px;line-height:1.6}
}

/* Three clearly aligned destinations with identical typography. */
header nav{align-items:flex-start;gap:28px}
header nav button,header nav a{margin:0;padding:0;min-height:44px;line-height:1.7;white-space:nowrap}
#foundation-collection .close-foundation{font:11px/1.7 var(--gallery-font);letter-spacing:.7px;text-transform:uppercase;min-height:44px;padding:0}
@media(max-width:700px){
 header{display:flex;flex-wrap:wrap;align-content:center;align-items:flex-start;gap:12px;height:132px}
 header .name{width:100%;min-height:0}
 header .name small{margin-top:2px}
 header nav{width:100%;justify-content:space-between;align-items:flex-start;gap:8px}
 header nav button,header nav a{font-size:11px;letter-spacing:.2px;line-height:1.6;text-align:left}
}

/* Clearer site identity, with both lines sharing a left edge and lettering. */
header .name{font-size:16px;letter-spacing:.7px;line-height:1.5;align-items:flex-start;text-align:left;padding:0}
header .name small{font-family:inherit;font-weight:400;font-size:12px;letter-spacing:.7px;line-height:1.5;margin-top:3px;text-align:left}
@media(max-width:700px){
 header .name{font-size:15px;line-height:1.4;letter-spacing:.4px}
 header .name small{font-size:11px;line-height:1.4;letter-spacing:.4px;margin-top:2px}
}

/* Matching, readable sizes for all three gallery destinations. */
header nav button,header nav a{font-size:12px;line-height:1.6;letter-spacing:.2px;font-weight:400}
@media(max-width:700px){header nav button,header nav a{font-size:12px;line-height:1.6;letter-spacing:.2px}}
@media(max-width:370px){
 header{padding-left:10px;padding-right:10px}
 header nav{gap:6px}
 header nav button,header nav a{font-size:11px;letter-spacing:0}
}

/* Equal text baselines and balanced space around the artwork. */
header nav button,header nav a{display:flex!important;flex-direction:row;align-items:center;justify-content:flex-start;height:44px}
@media(max-width:700px){
 header{height:112px}
 .gallery-footer{height:112px;min-height:112px}
 .gallery{height:calc(100svh - 224px);min-height:0}
 .image-button img,.words-open .image-button img{max-height:calc(100svh - 240px)}
 .words-open .wall{height:calc(100svh - 224px)}
 .choose-work{bottom:68px}
}

/* A modest readability increase for phone footer labels. */
@media(max-width:700px){
 .gallery-footer .caption h1{font-size:12px;line-height:17px}
 .gallery-footer .caption p,.gallery-footer .controls button,.gallery-footer .counter{font-size:11px;letter-spacing:.1px}
 .gallery-footer #read{width:66px;flex-basis:66px}
 .gallery-footer .controls{gap:7px}
 .choose-work{font-size:11px}
}
@media(max-width:370px){
 .gallery-footer .controls{gap:4px;right:10px}
 .gallery-footer #read{width:62px;flex-basis:62px}
}

/* Feather the logo into the same warm wall colour, without a rectangular edge. */
#artist{box-shadow:none}
#artist .brand{
 background:transparent;border:0;box-shadow:none;filter:none;mix-blend-mode:multiply;
 -webkit-mask-image:radial-gradient(ellipse 65% 65% at 50% 50%,#000 70%,transparent 100%);
 mask-image:radial-gradient(ellipse 65% 65% at 50% 50%,#000 70%,transparent 100%);
 -webkit-mask-composite:source-over;mask-composite:add;
}

/* Neutralise the source paper colour before blending with the gallery wall. */
#artist .brand{filter:url(#logo-paper-neutral);mix-blend-mode:multiply}

/* A single illustrated gallery button, using the approved emblem. */
header nav{align-items:center}
header nav #rooms{height:84px;min-height:84px;flex-direction:column;justify-content:center;gap:1px}
.gallery-emblem-crop{display:block;width:72px;height:58px;overflow:hidden}
.gallery-emblem-crop img{display:block;width:72px;height:72px;mix-blend-mode:multiply;filter:url(#gallery-emblem-grey)}
.gallery-emblem-title{font:11px/1.2 Georgia,serif;letter-spacing:1px;text-align:center;white-space:nowrap}
@media(max-width:700px){
 header{gap:4px}
 header nav #rooms{height:55px;min-height:55px}
 .gallery-emblem-crop{width:48px;height:39px}
 .gallery-emblem-crop img{width:48px;height:48px}
 .gallery-emblem-title{font-size:9px;letter-spacing:.6px}
}

/* The emblem caption shares the navigation typography. */
header nav #rooms .gallery-emblem-title{font-family:var(--gallery-font);font-size:12px;font-weight:400;line-height:1.6;letter-spacing:.2px}
@media(max-width:370px){header nav #rooms .gallery-emblem-title{font-size:11px;letter-spacing:0}}

/* Restore the simple text-only gallery navigation. */
header nav #rooms{height:44px;min-height:44px;flex-direction:row;justify-content:flex-start;gap:0}
@media(max-width:700px){header{gap:12px}header nav #rooms{height:44px;min-height:44px}}

/* Shared, accessible logo exit for pop-outs. */
dialog .close.emblem-close,#artist .close.emblem-close{
 position:absolute;top:12px;right:16px;bottom:auto;left:auto;
 width:56px;height:56px;min-height:44px;padding:4px;display:flex;align-items:center;justify-content:center;
 border:0;background:transparent;z-index:5;
}
.exit-emblem-crop{display:block;width:48px;height:39px;overflow:hidden;pointer-events:none}
.exit-emblem-crop img{display:block!important;width:48px!important;height:48px!important;max-width:none;object-fit:contain;mix-blend-mode:multiply;filter:url(#gallery-emblem-grey);pointer-events:none}
dialog .emblem-close:hover{opacity:.7}
#map,#foundation-collection{padding-top:76px}
.lightbox{padding-top:76px}
@media(max-width:700px){.lightbox{padding-top:76px}}
#foundation-collection .exit-emblem-crop{height:48px}
#foundation-collection .exit-emblem-crop img{filter:none;mix-blend-mode:multiply}

/* Larger proportional pop-out marks, with paper edges blended into the wall. */
dialog .close.emblem-close,#artist .close.emblem-close{width:80px;height:80px;top:10px;right:14px;padding:4px}
.exit-emblem-crop{width:72px;height:59px}
.exit-emblem-crop img{width:72px!important;height:72px!important}
#foundation-collection .exit-emblem-crop{width:72px;height:72px;overflow:hidden;border-radius:50%}
#foundation-collection .exit-emblem-crop img{width:82px!important;height:82px!important;max-width:none;transform:translate(-5px,-3px);filter:brightness(1.08) saturate(.9);mix-blend-mode:multiply}
#map,#foundation-collection{padding-top:100px}
.lightbox{padding-top:100px}
@media(max-width:700px){
 dialog .close.emblem-close,#artist .close.emblem-close{width:68px;height:68px;right:10px;top:8px}
 .exit-emblem-crop{width:60px;height:49px}
 .exit-emblem-crop img{width:60px!important;height:60px!important}
 #foundation-collection .exit-emblem-crop{width:60px;height:60px}
 #foundation-collection .exit-emblem-crop img{width:69px!important;height:69px!important;transform:translate(-4.5px,-2.5px)}
 .lightbox{padding-top:84px}
}

/* Remove near-white paper pixels instead of displaying a tinted rectangle. */
#artist .brand,.exit-emblem-crop img,#foundation-collection .exit-emblem-crop img{
 filter:url(#logo-transparent-paper);mix-blend-mode:normal;background:transparent;
}

/* Larger exit logos, with dedicated space above pop-out content. */
dialog .close.emblem-close,#artist .close.emblem-close{width:160px;height:160px}
.exit-emblem-crop{width:144px;height:118px}
.exit-emblem-crop img{width:144px!important;height:144px!important}
#foundation-collection .exit-emblem-crop{width:144px;height:144px}
#foundation-collection .exit-emblem-crop img{width:164px!important;height:164px!important;transform:translate(-10px,-6px)}
#map,#foundation-collection{padding-top:184px}
.lightbox{padding-top:184px}
#artist{padding-top:184px}
@media(max-width:700px){
 dialog .close.emblem-close,#artist .close.emblem-close{width:102px;height:102px}
 .exit-emblem-crop{width:90px;height:74px}
 .exit-emblem-crop img{width:90px!important;height:90px!important}
 #foundation-collection .exit-emblem-crop{width:90px;height:90px}
 #foundation-collection .exit-emblem-crop img{width:103.5px!important;height:103.5px!important;transform:translate(-6.75px,-3.75px)}
 #map,#foundation-collection,.lightbox,#artist{padding-top:124px}
}

/* Logos belong to the heading, sharing its space and alignment. */
#map,#foundation-collection{padding-top:32px}
.popup-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.popup-heading h2{margin:0;flex:1;min-width:0}
.popup-heading .close.emblem-close{position:static;flex-shrink:0}
#artist{padding-top:40px}
#artist .close.integrated-intro-exit{position:static;width:32%;height:auto;max-width:320px;flex-shrink:0;padding:0}
#artist .integrated-intro-exit .brand{width:100%;max-width:none;margin:0}
@media(max-width:700px){
 #map,#foundation-collection{padding-top:24px}
 .popup-heading{gap:12px;margin-bottom:20px}
 #artist{padding-top:25px}
 #artist .close.integrated-intro-exit{width:160px;height:auto;max-width:100%}
}
.detail-heading{position:absolute;top:10px;left:4vw;right:4vw;margin:0}
.detail-heading .detail-caption{position:static;flex:1;text-align:left}
@media(max-width:700px){.detail-heading{top:8px;left:16px;right:10px}}

/* Larger integrated marks and softer collection panels. */
#map,#foundation-collection{border-radius:22px;box-shadow:0 12px 45px #28292312}
.popup-heading .close.emblem-close{width:184px;height:184px}
.popup-heading .exit-emblem-crop{width:166px;height:136px}
.popup-heading .exit-emblem-crop img{width:166px!important;height:166px!important}
#foundation-collection .exit-emblem-crop{width:166px;height:166px}
#foundation-collection .exit-emblem-crop img{width:189px!important;height:189px!important;transform:translate(-11.5px,-7px)}
.lightbox{padding-top:208px}
#artist .close.integrated-intro-exit{width:36%;max-width:360px}
@media(max-width:700px){
 #map,#foundation-collection{border-radius:18px}
 .popup-heading .close.emblem-close{width:118px;height:118px}
 .popup-heading .exit-emblem-crop{width:106px;height:87px}
 .popup-heading .exit-emblem-crop img{width:106px!important;height:106px!important}
 #foundation-collection .exit-emblem-crop{width:106px;height:106px}
 #foundation-collection .exit-emblem-crop img{width:122px!important;height:122px!important;transform:translate(-8px,-4.5px)}
 .lightbox{padding-top:140px}
 #artist .close.integrated-intro-exit{width:184px;max-width:100%}
}
@media(max-width:370px){
 #map .popup-heading,#foundation-collection .popup-heading{flex-direction:column-reverse;align-items:flex-start;gap:12px}
 #map .popup-heading .emblem-close,#foundation-collection .popup-heading .emblem-close{align-self:flex-end}
 .popup-heading h2{width:100%}
}

/* Centre the integrated logos above their pop-out headings. */
#map .popup-heading,#foundation-collection .popup-heading{flex-direction:column-reverse;align-items:stretch;gap:16px}
#map .popup-heading .emblem-close,#foundation-collection .popup-heading .emblem-close{align-self:center}
#map .popup-heading h2,#foundation-collection .popup-heading h2{text-align:center;width:100%}
.detail-heading{flex-direction:column-reverse;gap:6px;align-items:center}
.detail-heading .detail-caption{text-align:center;width:100%}
.lightbox{padding-top:244px}
@media(max-width:700px){.lightbox{padding-top:178px}}
#artist .artist-introduction{flex-direction:column;align-items:center;gap:20px}
#artist .close.integrated-intro-exit{align-self:center}
#artist .integrated-intro-exit .brand{max-height:28svh;object-fit:contain}

/* A visible draggable scroll thumb shows progress through each collection. */
#map,#foundation-collection{
 overflow-y:scroll;scrollbar-gutter:stable;
 scrollbar-width:auto;scrollbar-color:#92938a #e7e6df;
}
#map::-webkit-scrollbar,#foundation-collection::-webkit-scrollbar{width:9px}
#map::-webkit-scrollbar-track,#foundation-collection::-webkit-scrollbar-track{background:#e7e6df;border-radius:8px;margin:18px 0}
#map::-webkit-scrollbar-thumb,#foundation-collection::-webkit-scrollbar-thumb{background:#92938a;border:2px solid #e7e6df;border-radius:8px}
#map::-webkit-scrollbar-thumb:hover,#foundation-collection::-webkit-scrollbar-thumb:hover{background:#a33b32}
#map.no-scroll,#foundation-collection.no-scroll{overflow-y:auto;scrollbar-width:none}
#map.no-scroll::-webkit-scrollbar,#foundation-collection.no-scroll::-webkit-scrollbar{display:none}

/* Compact gallery introduction and seal-red scroll indicators. */
#map{padding-top:12px;padding-bottom:20px}
#map .popup-heading{gap:4px;margin-bottom:8px}
#map .popup-heading .emblem-close{height:146px}
#map>p{margin-top:4px;margin-bottom:10px}
#map .room-links>button,#map .series summary{padding-top:12px;padding-bottom:12px}
#map,#foundation-collection{scrollbar-color:#a33b32 #e7e6df}
#map::-webkit-scrollbar-thumb,#foundation-collection::-webkit-scrollbar-thumb{background:#a33b32}
@media(max-width:700px){#map .popup-heading .emblem-close{height:94px}#map .popup-heading{gap:4px;margin-bottom:6px}#map .room-links>button,#map .series summary{padding-top:9px;padding-bottom:9px}}

/* Stable control positions between gallery and enlarged artwork. */
.fixed-gallery-return,.fixed-detail-words{font:11px/1.5 var(--gallery-font);letter-spacing:.2px;text-transform:uppercase;padding:0;display:flex;align-items:center;justify-content:center;min-height:44px;z-index:6;color:#282923}
.fixed-gallery-return:hover,.fixed-detail-words:hover{color:#a33b32}
.detail-heading{top:auto;bottom:44px;left:4vw;right:200px;align-items:flex-start}
.detail-heading .detail-caption{text-align:left}
.lightbox{padding-top:24px}
@media(max-width:700px){.detail-heading{left:16px;right:180px}.lightbox{padding-top:24px}.fixed-gallery-return,.fixed-detail-words{font-size:11px}}

/* Keep the original header labels available as open/close toggles. */
header nav button[aria-expanded="true"]{color:#a33b32}
#map,#foundation-collection{position:fixed;top:50%;left:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);margin:0;z-index:21;max-height:calc(100svh - 220px)}
body.collection-open::after{content:"";position:fixed;inset:100px 0 0;background:#181e174d;backdrop-filter:blur(3px);z-index:20}
body.collection-open header{position:relative;z-index:22;background:#f7f6f2}
@media(max-width:700px){body.collection-open::after{top:112px}#map,#foundation-collection{top:calc(50% + 56px);max-height:calc(100svh - 144px)}}

/* Seal-red edge feedback marks each logo as a close control. */
dialog .emblem-close{border-radius:50%;outline:2px solid transparent;outline-offset:3px;transition:outline-color .18s ease,background-color .18s ease}
dialog .emblem-close:hover,dialog .emblem-close:focus-visible,dialog .emblem-close:active{outline:2px solid #a33b32;outline-offset:3px;opacity:1}
@media(prefers-reduced-motion:reduce){dialog .emblem-close{transition:none}}

/* One seal red, with soft logo feedback rather than a hard ring. */
:root{--seal-red:#a33b32}
dialog .emblem-close{outline:none;transition:box-shadow .2s ease,background-color .2s ease}
dialog .emblem-close:hover,dialog .emblem-close:focus-visible,dialog .emblem-close:active{
 outline:none;box-shadow:0 0 16px 6px #a33b3226;background:#a33b3208;
}

/* The glow follows the circular emblem rather than the button boundary. */
dialog .emblem-close:hover,dialog .emblem-close:focus-visible,dialog .emblem-close:active{box-shadow:none;background:transparent}
.exit-emblem-crop{position:relative;isolation:isolate}
dialog .emblem-close:hover .exit-emblem-crop,dialog .emblem-close:focus-visible .exit-emblem-crop,dialog .emblem-close:active .exit-emblem-crop{
 border-radius:50%;box-shadow:0 0 12px 4px #a33b324d,0 0 24px 6px #a33b3226;
}
#artist .integrated-intro-exit:hover .brand,#artist .integrated-intro-exit:focus-visible .brand,#artist .integrated-intro-exit:active .brand{
 filter:url(#logo-transparent-paper) drop-shadow(0 0 5px #a33b3280) drop-shadow(0 0 10px #a33b3240);
}

/* Red circular rims instead of an external glow. */
dialog .emblem-close:hover .exit-emblem-crop,dialog .emblem-close:focus-visible .exit-emblem-crop,dialog .emblem-close:active .exit-emblem-crop{box-shadow:none}
.exit-emblem-crop::after{content:"";position:absolute;inset:3%;border:5px solid #a33b32;border-radius:50%;opacity:0;pointer-events:none;mix-blend-mode:color;transition:opacity .15s}
dialog .emblem-close:hover .exit-emblem-crop::after,dialog .emblem-close:focus-visible .exit-emblem-crop::after,dialog .emblem-close:active .exit-emblem-crop::after{opacity:1}
#artist .integrated-intro-exit{position:relative!important}
#artist .integrated-intro-exit:hover .brand,#artist .integrated-intro-exit:focus-visible .brand,#artist .integrated-intro-exit:active .brand{filter:url(#logo-transparent-paper)}
#artist .integrated-intro-exit::after{content:"";position:absolute;left:7%;right:7%;top:3%;height:77%;border:6px solid #a33b32;border-radius:50%;mix-blend-mode:color;opacity:0;pointer-events:none}
#artist .integrated-intro-exit:hover::after,#artist .integrated-intro-exit:focus-visible::after,#artist .integrated-intro-exit:active::after{opacity:1}

/* Red is applied to the existing logo pixels, never to a new outline. */
.exit-emblem-crop::after,#artist .integrated-intro-exit::after{display:none!important}
.emblem-close .red-ink-overlay{position:absolute!important;inset:0;opacity:0;pointer-events:none;filter:url(#logo-red-ink)!important;mix-blend-mode:normal!important;mask-image:radial-gradient(ellipse at 50% 49%,transparent 53%,#000 58%);transition:opacity .15s}
#foundation-collection .red-ink-overlay{mask-image:radial-gradient(circle at 50% 46%,transparent 57%,#000 62%)}
#artist .integrated-intro-exit .red-ink-overlay{width:100%;height:100%;object-fit:contain;mask-image:radial-gradient(ellipse at 50% 43%,transparent 49%,#000 54%)}
.emblem-close:hover .red-ink-overlay,.emblem-close:focus-visible .red-ink-overlay,.emblem-close:active .red-ink-overlay{opacity:1}

/* Follow the ensō's actual centre and proportions, including its lower stroke. */
.emblem-close:not(.foundation-exit) .red-ink-overlay{
 mask-image:radial-gradient(ellipse 43% 39% at 50% 43%,transparent 70%,#000 77%);
}
#artist .integrated-intro-exit .red-ink-overlay{
 mask-image:radial-gradient(ellipse 43% 39% at 50% 43%,transparent 70%,#000 77%);
}

/* Foundation logo: red rim with a soft outer halo for close feedback. */
#foundation-collection .foundation-exit:hover .exit-emblem-crop,
#foundation-collection .foundation-exit:focus-visible .exit-emblem-crop,
#foundation-collection .foundation-exit:active .exit-emblem-crop{
 box-shadow:0 0 10px 3px #a33b3259,0 0 24px 8px #a33b322b;
}
#foundation-collection .red-ink-overlay{
 mask-image:radial-gradient(circle at 50% 46%,transparent 55%,#000 61%);
}

/* Crop the Foundation source to its round emblem, excluding the tagline. */
#foundation-collection .exit-emblem-crop img{clip-path:ellipse(44% 42% at 50% 45%)}

/* Foundation close feedback: a solid rim with haze spreading from its edge. */
#foundation-collection .foundation-exit:hover .exit-emblem-crop,
#foundation-collection .foundation-exit:focus-visible .exit-emblem-crop,
#foundation-collection .foundation-exit:active .exit-emblem-crop{
 border-radius:50%;outline:2px solid #a33b32;outline-offset:0;
 box-shadow:0 0 8px 2px #a33b3266,0 0 22px 7px #a33b3233;
}

/* Fit the Foundation emblem to its circular frame, without a bottom crescent. */
#foundation-collection .exit-emblem-crop{position:relative;overflow:hidden;border-radius:50%;background:transparent}
#foundation-collection .exit-emblem-crop img{
 position:absolute!important;inset:auto!important;left:-7%!important;top:-3.5%!important;
 width:114%!important;height:118%!important;object-fit:fill;transform:none;clip-path:none;
}
#foundation-collection .foundation-exit:hover .exit-emblem-crop,
#foundation-collection .foundation-exit:focus-visible .exit-emblem-crop,
#foundation-collection .foundation-exit:active .exit-emblem-crop{
 outline:5px solid #a33b32;outline-offset:-1px;
 box-shadow:0 0 10px 3px #a33b3266,0 0 24px 8px #a33b3233;
}

/* Cover remaining pale edge slivers without changing the inner lettering band. */
#foundation-collection .exit-emblem-crop img{
 width:118%!important;height:122%!important;left:-9%!important;top:-5.5%!important;
}
#foundation-collection .exit-emblem-crop::before{
 content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;z-index:3;
 box-shadow:inset 0 0 0 3px #a33b32;opacity:0;
}
#foundation-collection .foundation-exit:hover .exit-emblem-crop::before,
#foundation-collection .foundation-exit:focus-visible .exit-emblem-crop::before,
#foundation-collection .foundation-exit:active .exit-emblem-crop::before{opacity:1}

/* The exclusive-art seal is centred and square; retain its complete circular text. */
#foundation-collection .exit-emblem-crop img{
 width:112%!important;height:112%!important;left:-6%!important;top:-6%!important;
 object-fit:contain;transform:none;clip-path:none;
}
#foundation-collection .red-ink-overlay{mask-image:radial-gradient(circle at 50% 50%,transparent 60%,#000 65%)}

/* Restrict Art logo feedback to the ensō; exclude the wordmark and side rules. */
.emblem-close:not(.foundation-exit) .red-ink-overlay,
#artist .integrated-intro-exit .red-ink-overlay{
 mask-image:radial-gradient(ellipse 43% 39% at 50% 43%,transparent 70%,#000 77%,#000 99%,transparent 104%);
 clip-path:inset(0 0 18% 0);
}

/* Keep the enquiry link clear of two-line titles on desktop. */
@media(min-width:701px){
 .gallery-footer{height:112px;min-height:112px}
 .gallery{height:calc(100svh - 212px)}
 .image-button img{max-height:calc(100svh - 228px)}
 .choose-work{bottom:80px;min-height:28px}
}

.skip-link{position:fixed;left:12px;top:12px;transform:translateY(-160%);z-index:1000;background:#f7f6f2;color:#282923;padding:12px 16px}.skip-link:focus{transform:none}

.counter{color:#686b61}
