:root{--gal-ink:#090b12;--gal-room:#111520;--gal-room2:#171c29;--gal-paper:#e8e1d5;--gal-muted:#a9a49c;--gal-copper:#d78d57;--gal-aqua:#62d9d0;--gal-line:#343949;--gal-display:"Forum",Georgia,serif;--gal-body:"Manrope",Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.gal{margin:0;background:var(--gal-ink);color:var(--gal-paper);font:15px/1.65 var(--gal-body);overflow:hidden}a{color:inherit}.galskip{position:fixed;left:12px;top:-60px;z-index:90;background:var(--gal-aqua);color:#071110;padding:9px 14px}.galskip:focus{top:12px}
.galbar{height:76px;padding:0 28px;display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--gal-line);background:rgba(9,11,18,.96);position:relative;z-index:20}.galmark{font:30px/1 var(--gal-display);letter-spacing:.08em;text-decoration:none}.galmark small{display:block;font:9px/1.3 var(--gal-body);letter-spacing:.24em;color:var(--gal-muted);margin-top:7px}.galnav{margin-left:auto;display:flex;gap:18px}.galnav a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gal-muted);text-decoration:none}.galnav a:hover{color:var(--gal-aqua)}.galentry{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border:1px solid var(--gal-copper);color:var(--gal-copper);text-decoration:none;font-size:12px;letter-spacing:.1em;text-transform:uppercase}
.galtrack{height:calc(100vh - 76px);display:flex;gap:28px;overflow-x:auto;overflow-y:hidden;padding:28px max(4vw,32px) 34px;scroll-snap-type:x mandatory;scroll-padding-left:max(4vw,32px);overscroll-behavior-x:contain}.galtrack::-webkit-scrollbar{height:10px}.galtrack::-webkit-scrollbar-track{background:#080a10}.galtrack::-webkit-scrollbar-thumb{background:var(--gal-line);border:2px solid #080a10}
.galhall{position:relative;flex:0 0 min(88vw,1120px);height:100%;min-height:620px;overflow-y:auto;scroll-snap-align:start;background:linear-gradient(145deg,var(--gal-room),var(--gal-room2));border:1px solid var(--gal-line);padding:48px 54px 42px;box-shadow:0 24px 60px rgba(0,0,0,.32)}.galhall::before{content:"";position:absolute;inset:14px;border:1px solid rgba(215,141,87,.22);pointer-events:none}.galnum{position:absolute;right:32px;top:16px;font:112px/.8 var(--gal-display);color:rgba(232,225,213,.06);letter-spacing:-.05em}.gallabel{margin:0 0 12px;color:var(--gal-copper);font-size:10px;letter-spacing:.3em;text-transform:uppercase}.galtitle{font:clamp(34px,5.2vw,68px)/.98 var(--gal-display);font-weight:400;letter-spacing:-.02em;margin:0 0 20px;max-width:850px}.galsubtitle{font:clamp(27px,3vw,42px)/1.08 var(--gal-display);font-weight:400;margin:0 0 18px;max-width:830px}.gallead{font-size:16px;color:#c9c5bc;max-width:830px;margin:0 0 24px}.galaccent{color:var(--gal-aqua)}.galactions{display:flex;flex-wrap:wrap;gap:12px;margin:24px 0}.galbutton{display:inline-flex;padding:13px 20px;border:1px solid var(--gal-copper);background:var(--gal-copper);color:#170d08;text-decoration:none;font-weight:700}.galbutton--quiet{background:transparent;color:var(--gal-aqua);border-color:var(--gal-aqua)}
.galmetrics{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gal-line);margin:26px 0}.galmetric{background:#0d111a;padding:16px}.galmetric span{display:block;font:27px/1 var(--gal-display);color:var(--gal-aqua)}.galmetric small{display:block;color:var(--gal-muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-top:8px}.galquick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.galquick a{border:1px solid var(--gal-line);padding:14px;text-decoration:none;background:#0c1018}.galquick i{display:block;font-style:normal;color:var(--gal-copper);font-size:12px}.galquick small{color:var(--gal-muted)}
.galframe{border:12px solid #282318;outline:1px solid #6c5b3f;background:#d9d0c1;color:#171717;padding:8px;box-shadow:inset 0 0 0 1px #918469}.galmat{border:18px solid #f1ece2;padding:22px;background:#191d27;color:var(--gal-paper);min-height:100%}.galcaption{border-top:1px solid var(--gal-line);margin-top:16px;padding-top:12px;color:var(--gal-muted);font-size:12px}.galcaption code{font:11px var(--gal-body);color:var(--gal-copper)}
.galtrio,.galtiles,.galnotes,.galquotes{display:grid;gap:14px}.galtrio{grid-template-columns:repeat(3,1fr)}.galpiece{border:1px solid var(--gal-line);background:#0c1018;padding:20px}.galpiece__cap{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gal-copper)}.galpiece__big{font:34px/1.1 var(--gal-display);color:var(--gal-aqua);margin:10px 0}.galpiece h3{font:24px/1.1 var(--gal-display);font-weight:400;margin:10px 0}.galpiece p{color:#c3beb5;margin:8px 0}.galtiles{grid-template-columns:repeat(4,1fr)}.galtile{border:1px solid var(--gal-line);background:linear-gradient(150deg,#202737,#0d1017);min-height:172px;padding:18px;display:flex;flex-direction:column}.galtile:nth-child(3n+2){background:linear-gradient(150deg,#2b1c1e,#11131a)}.galtile:nth-child(3n){background:linear-gradient(150deg,#15302f,#11131a)}.galtile h3{font:24px/1.05 var(--gal-display);font-weight:400;margin:auto 0 8px}.galtile p{font-size:12px;color:var(--gal-muted);margin:0}.galtile a{margin-top:12px;color:var(--gal-aqua);font-size:12px}
.galstairs{display:grid;grid-template-columns:repeat(6,1fr);align-items:end;gap:8px;margin:26px 0}.galstep{border:1px solid var(--gal-line);background:#0c1018;padding:14px 10px;text-align:center}.galstep:nth-child(2){padding-top:28px}.galstep:nth-child(3){padding-top:42px}.galstep:nth-child(4){padding-top:56px}.galstep:nth-child(5){padding-top:70px}.galstep:nth-child(6){padding-top:84px;border-color:var(--gal-copper)}.galstep span{display:block;font:20px var(--gal-display)}.galstep small{color:var(--gal-aqua)}.galnotes{grid-template-columns:repeat(2,1fr)}.gallist{list-style:none;margin:0;padding:0;border-top:1px solid var(--gal-line)}.gallist li{display:grid;grid-template-columns:1.4fr 1fr 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--gal-line);align-items:center}.gallist em{font-style:normal;color:var(--gal-aqua)}.gallist small{color:var(--gal-muted)}.gallist a{color:var(--gal-copper);text-decoration:none}
.galtable{width:100%;border-collapse:collapse}.galtable th,.galtable td{text-align:left;border-bottom:1px solid var(--gal-line);padding:12px 8px}.galtable th{color:var(--gal-copper);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.galquotes{grid-template-columns:repeat(3,1fr)}.galquote{border-left:2px solid var(--gal-copper);padding:4px 0 4px 18px;margin:0}.galquote blockquote{margin:0;color:#d4cec4}.galquote figcaption{margin-top:12px;color:var(--gal-muted);font-size:11px}.galfaq details{border-bottom:1px solid var(--gal-line);padding:13px 0}.galfaq summary{cursor:pointer;color:var(--gal-paper);font:20px var(--gal-display)}.galfaq p{color:#bdb8af}.galauthor{border:1px solid var(--gal-line);padding:22px;background:#0c1018}.galcolophon{margin-top:28px;padding-top:18px;border-top:1px solid var(--gal-line);display:grid;grid-template-columns:1.2fr 1fr;gap:24px;color:var(--gal-muted);font-size:12px}.galcolophon h4{font:20px var(--gal-display);color:var(--gal-paper);margin:0 0 8px}.galcolophon ul{columns:2;margin:0;padding-left:18px}
@media(max-width:900px){body.gal{overflow-x:hidden;overflow-y:auto}.galbar{height:auto;min-height:70px;padding:14px 18px;flex-wrap:wrap;overflow:hidden}.galnav{order:3;width:100%;margin-left:0;overflow-x:auto;padding-bottom:4px}.galentry{margin-left:auto}.galtrack{height:auto;width:100%;display:block;overflow-x:hidden;overflow-y:visible;padding:18px}.galhall{height:auto;min-height:0;width:auto;max-width:none;margin:0 0 18px;padding:42px 28px 30px;overflow:hidden}.galnum{font-size:78px}.galmetrics,.galquick{grid-template-columns:repeat(2,1fr)}.galtrio,.galquotes{grid-template-columns:1fr}.galtiles{grid-template-columns:repeat(2,1fr)}.galstairs{grid-template-columns:repeat(2,1fr);align-items:stretch}.galstep:nth-child(n){padding-top:14px}.gallist li{grid-template-columns:1fr 1fr}.galnotes,.galcolophon{grid-template-columns:1fr}.galtitle,.galsubtitle{max-width:100%;overflow-wrap:anywhere}.galtable{display:block;overflow-x:auto}}
@media(max-width:540px){.galbar{position:sticky;top:0;gap:10px;padding:10px 14px;min-height:64px;flex-wrap:nowrap}.galnav{display:none}.galtiles,.galmetrics,.galquick{grid-template-columns:1fr}.galtitle{font-size:39px;overflow-wrap:anywhere}.galsubtitle{font-size:30px;overflow-wrap:anywhere}.galhall{width:calc(100vw - 36px);max-width:calc(100vw - 36px);min-width:0;padding:38px 22px 26px}.galframe{border-width:7px}.galmat{border-width:10px;padding:15px}.gallist li{grid-template-columns:1fr}.galcolophon ul{columns:1}.galactions{display:grid;grid-template-columns:1fr}.galbutton{min-height:44px;text-align:center;justify-content:center;white-space:normal}.galentry{display:inline-flex;margin-left:auto;flex:none;padding-inline:13px}.galmark{font-size:26px;min-width:0;flex:1;overflow:hidden}.galmark small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}}

/* Mobile-first reconstruction: exhibition halls become a clean vertical editorial feed. */
@media(max-width:640px){
  html,body.gal{max-width:100%;overflow-x:hidden}
  body.gal{font-size:15.5px;line-height:1.58}
  .galbar{position:sticky;top:0;height:60px;min-height:60px;padding:8px 14px;gap:8px;flex-wrap:nowrap}
  .galmark{min-width:0;flex:1;font-size:25px;line-height:1;white-space:nowrap;overflow:hidden}
  .galmark small{display:none}
  .galentry{flex:0 1 auto;max-width:174px;min-height:44px;margin-left:auto;padding:10px 13px;font-size:11px;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .galnav{display:none}
  .galtrack{display:block;width:100%;height:auto;padding:0;overflow:visible;background:#090b12}
  .galhall{width:100%;max-width:none;min-width:0;height:auto;min-height:0;margin:0;padding:30px 20px 32px;overflow:hidden;border:0;border-bottom:1px solid var(--gal-line);box-shadow:none;scroll-snap-align:none}
  .galhall:nth-child(even){background:#0b111a}
  .galhall::before{display:none}
  .galnum{top:10px;right:14px;font-size:62px}
  .gallabel{max-width:75%;margin-bottom:10px;font-size:9px;line-height:1.4;letter-spacing:.2em}
  .galtitle{max-width:none;margin-bottom:16px;font-size:34px;line-height:1.04;overflow-wrap:anywhere}
  .galsubtitle{max-width:none;margin-bottom:15px;font-size:28px;line-height:1.08;overflow-wrap:anywhere}
  .gallead{max-width:none;margin-bottom:18px;font-size:15.5px;line-height:1.58}
  .galactions{display:grid;grid-template-columns:1fr;gap:9px;margin:18px 0 22px}
  .galbutton{width:100%;min-height:48px;padding:12px 14px;text-align:center;justify-content:center;white-space:normal}
  .galmetrics,.galquick{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .galmetric,.galquick a{min-width:0;padding:13px 12px}
  .galtrio,.galquotes,.galtiles,.galnotes,.galcolophon{grid-template-columns:1fr;gap:12px}
  .galpiece,.galtile,.galauthor{padding:17px}
  .galframe{border-width:5px}
  .galmat{border-width:7px;padding:14px}
  .galstairs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .galstep:nth-child(n){min-height:82px;padding:13px 8px}
  .gallist li{grid-template-columns:1fr;gap:5px;padding:14px 0}
  .gallist li a{justify-self:start;min-height:44px;display:inline-flex;align-items:center}
  .galtable{display:block;width:100%;max-width:100%;overflow-x:auto;font-size:12px}
  .galtable th,.galtable td{padding:10px 7px}
  .galfaq summary{font-size:19px;line-height:1.25}
  .galcolophon ul{columns:1}
}
