/*
Theme Name: Mauer Gallery V4.67
Theme URI: https://mauergallery.com
Author: Mauer Gallery
Description: Exact WordPress port of the approved Mauer Gallery Visual V4.
Version: 4.67.0
Requires at least: 6.4
Requires PHP: 8.0
Text Domain: mauer-gallery-v4
*/

:root{
 --red:#F40023;--purple:#000000;--blue:#0062C4;--yellow:#FFD500;
 --paper:#F3F3EF;--black:#000;--pad:clamp(18px,2.4vw,40px);
 --font:"Futura PT",Futura,"Century Gothic",Arial,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);font-family:var(--font);color:#000}img{display:block;width:100%;height:100%;object-fit:cover}a{color:inherit;text-decoration:none}
.site-header{height:92px;position:fixed;top:0;left:0;right:0;z-index:20;background:rgba(243,243,239,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.18);display:grid;grid-template-columns:190px 1fr auto;align-items:center;padding:0 var(--pad);gap:25px}
.logo img{width:165px;height:auto;object-fit:contain}nav{display:flex;justify-content:center;gap:26px;font-size:11px;letter-spacing:.11em;text-transform:uppercase}.right{font-size:11px;letter-spacing:.11em;text-transform:uppercase;display:flex;gap:18px}
main{padding-top:92px}
.hero{min-height:calc(100vh - 92px);display:grid;grid-template-columns:.72fr 1.55fr;border-bottom:1px solid rgba(0,0,0,.18)}
.hero-copy{background:var(--red);color:#111;padding:var(--pad);display:flex;flex-direction:column;justify-content:space-between}
.kicker{font-size:10px;letter-spacing:.15em;text-transform:uppercase;display:flex;justify-content:space-between}
h1{font-size:clamp(63px,9vw,144px);line-height:.82;letter-spacing:-.075em;text-transform:uppercase;margin:42px 0 25px;max-width:7ch}
.deck{font-size:clamp(20px,2.1vw,32px);line-height:1.08;letter-spacing:-.035em;max-width:19ch}
.meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid rgba(255,255,255,.55);padding-top:20px;font-size:10px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase}
.hero-image{background:#ddd;min-height:70vh;overflow:hidden}.hero-image img{object-fit:cover}
.colorbar{display:grid;grid-template-columns:repeat(4,1fr)}.colorbar div{height:18px}.colorbar div:nth-child(1){background:var(--red)}.colorbar div:nth-child(2){background:var(--yellow)}.colorbar div:nth-child(3){background:var(--blue)}.colorbar div:nth-child(4){background:var(--purple)}
.intro{padding:clamp(70px,10vw,155px) var(--pad);display:grid;grid-template-columns:1fr 2fr;gap:6vw;border-bottom:1px solid rgba(0,0,0,.18)}
.label{font-size:10px;letter-spacing:.14em;text-transform:uppercase}.statement{font-size:clamp(36px,5.2vw,78px);line-height:.97;letter-spacing:-.055em;margin:0;max-width:19ch}.statement em{font-style:normal;color:var(--blue)}
.current{padding:var(--pad);border-bottom:1px solid rgba(0,0,0,.18)}.current-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid rgba(0,0,0,.18);padding-bottom:18px;margin-bottom:var(--pad)}.current-head h2,.archive-head h2{font-size:clamp(48px,8vw,118px);line-height:.8;letter-spacing:-.07em;text-transform:uppercase;margin:0}
.editorial{display:grid;grid-template-columns:1.28fr .72fr;gap:var(--pad);align-items:start}.editorial figure{margin:0}.editorial .mainpic{aspect-ratio:4/3;overflow:hidden}.editorial .side{padding-top:10vw}.editorial .side p{font-size:clamp(21px,2.5vw,36px);line-height:1.11;letter-spacing:-.035em;margin:0 0 35px}.smalllink{font-size:10px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid}
.archive{padding:clamp(70px,9vw,140px) var(--pad);background:#fff}.archive-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:var(--pad)}
.show-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(35px,5vw,90px) var(--pad)}.show-card:nth-child(even){margin-top:9vw}.show-image{aspect-ratio:4/3;background:#ddd;overflow:hidden}.show-image img{transition:transform .55s cubic-bezier(.2,.7,.2,1)}.show-card:hover img{transform:scale(1.018)}.show-caption{padding-top:10px;display:flex;justify-content:space-between;gap:20px;border-top:1px solid #000;margin-top:9px}.show-caption strong{font-size:clamp(18px,2.3vw,34px);letter-spacing:-.04em}.show-caption span{font-size:9px;letter-spacing:.11em;text-transform:uppercase;text-align:right}
.curators{display:grid;grid-template-columns:1fr 1fr}.curator-copy{background:var(--yellow);padding:clamp(65px,9vw,140px) var(--pad)}.curator-copy h2{font-size:clamp(54px,8vw,120px);line-height:.82;letter-spacing:-.07em;text-transform:uppercase;margin:0 0 40px}.curator-copy p{font-size:clamp(21px,2.5vw,35px);line-height:1.12;letter-spacing:-.035em;max-width:21ch}.curator-links{background:#000;color:#111;padding:var(--pad);display:flex;flex-direction:column;justify-content:flex-end}.curator-links a{font-size:clamp(26px,4vw,60px);letter-spacing:-.05em;padding:17px 0;border-top:1px solid #555}.curator-links a:last-child{border-bottom:1px solid #555}
.visit{display:grid;grid-template-columns:1.1fr .9fr}.visit-copy{padding:clamp(65px,8vw,125px) var(--pad);background:var(--blue);color:#fff}.visit-copy h2{font-size:clamp(55px,9vw,135px);line-height:.8;letter-spacing:-.07em;text-transform:uppercase;margin:0 0 65px}.visit-info{display:grid;grid-template-columns:1fr 1fr;gap:30px;font-size:13px;line-height:1.6}.swatches{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;min-height:65vh}.swatches i:nth-child(1){background:var(--red)}.swatches i:nth-child(2){background:var(--yellow)}.swatches i:nth-child(3){background:var(--purple)}.swatches i:nth-child(4){background:#000}
footer{padding:25px var(--pad);display:grid;grid-template-columns:1fr 1fr 1fr;font-size:9px;letter-spacing:.12em;text-transform:uppercase}footer div:nth-child(2){text-align:center}footer div:last-child{text-align:right}
@media(max-width:900px){.site-header{height:78px;grid-template-columns:1fr auto}.site-header nav{display:none}.logo img{width:135px}main{padding-top:78px}.hero{grid-template-columns:1fr}.hero-copy{min-height:55vh}h1{font-size:19vw}.intro,.editorial,.curators,.visit{grid-template-columns:1fr}.show-grid{grid-template-columns:1fr}.show-card:nth-child(even){margin-top:0}.editorial .side{padding-top:0}.visit-info{grid-template-columns:1fr}.swatches{min-height:48vh}footer{grid-template-columns:1fr;gap:10px}footer div:nth-child(2),footer div:last-child{text-align:left}}

/* WordPress compatibility */
html { margin-top: 0 !important; }
body.admin-bar .site-.site-header { top: 32px; }
body.admin-bar main { padding-top: 124px; }
@media (max-width:782px){
  body.admin-bar .site-.site-header { top: 46px; }
  body.admin-bar main { padding-top: 124px; }
}
@media(max-width:900px){
  .site-header .right{display:none}
  .site-header:after{content:"MENU";justify-self:end;font-size:10px;letter-spacing:.12em}
}

/* Image failure fallback — avoids blank browser-gray cards */
.show-image.img-failed,.hero-image.img-failed,.mainpic.img-failed{
  background:#ecece7;
  position:relative;
}
.show-image.img-failed:after,.hero-image.img-failed:after,.mainpic.img-failed:after{
  content:"IMAGE UNAVAILABLE";
  position:absolute;left:22px;bottom:18px;
  color:#111;font-size:11px;letter-spacing:.14em;text-transform:uppercase;
}

/* V4.2 editorial architecture */
.content-page{padding-top:150px;min-height:70vh}
.single-entry{max-width:1180px;margin:0 auto;padding:150px 5vw 110px}
.single-entry h1{font-size:clamp(48px,8vw,118px);line-height:.9;margin:24px 0 34px;letter-spacing:-.045em}
.entry-deck{font-size:clamp(18px,2.2vw,30px);max-width:850px;line-height:1.25;margin-bottom:50px}
.entry-body{max-width:760px;font-size:18px;line-height:1.55}
.entry-body p{margin:0 0 1.3em}
.artist-list{border-top:1px solid #111}
.artist-row{border-bottom:1px solid #111}
.artist-row a{display:grid;grid-template-columns:1.4fr 1fr;gap:30px;padding:28px 0;text-decoration:none;color:inherit}
.artist-row h2{font-size:clamp(28px,4vw,62px);line-height:.95;margin:0}
.artist-row p{margin:0;align-self:end;font-size:14px;line-height:1.35}
@media(max-width:760px){.artist-row a{grid-template-columns:1fr;gap:10px}.single-entry{padding-top:120px}.content-page{padding-top:120px}}

/* V4.3 editorial production architecture */
.journal-home{padding:clamp(70px,9vw,140px) var(--pad);background:var(--purple);color:#fff}.journal-head{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid rgba(255,255,255,.55);padding-bottom:18px;margin-bottom:var(--pad)}.journal-head h2{font-size:clamp(48px,8vw,118px);line-height:.8;letter-spacing:-.07em;text-transform:uppercase;margin:0}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--pad)}.journal-grid a{min-height:300px;border-top:1px solid rgba(255,255,255,.55);padding-top:14px;display:flex;flex-direction:column}.journal-grid span{font-size:10px;letter-spacing:.14em}.journal-grid strong{font-size:clamp(26px,3.3vw,50px);line-height:.96;letter-spacing:-.045em;margin-top:auto}.journal-grid em{font-style:normal;font-size:13px;line-height:1.4;margin-top:18px;max-width:26ch}.archive-page{max-width:1180px;margin:0 auto;padding:150px 5vw 110px}.archive-page h1{max-width:none}.exhibition-entry,.artist-entry{padding:150px var(--pad) 110px}.exhibition-top,.artist-top{max-width:1180px;margin:0 auto}.exhibition-hero{margin:40px auto 80px;max-width:1500px}.exhibition-hero img{height:auto;max-height:80vh;object-fit:cover}.exhibition-hero figcaption{font-size:9px;letter-spacing:.12em;text-transform:uppercase;margin-top:9px}.exhibition-story{max-width:1180px;margin:0 auto 100px;display:grid;grid-template-columns:1fr 2fr;gap:6vw}.source-band{border-top:1px solid #111;padding:55px 0 90px;max-width:1500px;margin:0 auto;display:grid;grid-template-columns:1.25fr .75fr;gap:6vw}.source-band h2{font-size:clamp(48px,7vw,105px);line-height:.84;letter-spacing:-.065em;text-transform:uppercase;margin:18px 0 0}.source-band p{font-size:clamp(18px,2vw,28px);line-height:1.22;letter-spacing:-.025em;max-width:28ch;margin:30px 0 0}.source-band.documentation h2{color:var(--blue)}.source-band.artworks h2{color:var(--red)}.entry-nav{max-width:1500px;margin:0 auto;display:flex;gap:30px}.artist-body{max-width:1180px;margin:0 auto 100px;display:grid;grid-template-columns:2fr 1fr;gap:8vw}.artist-body aside{border-top:1px solid;padding-top:14px;font-size:14px;line-height:1.45}.journal-feature{height:auto;margin:20px 0 55px;max-height:75vh;object-fit:cover}@media(max-width:900px){.journal-grid{grid-template-columns:1fr}.journal-grid a{min-height:190px}.exhibition-story,.source-band,.artist-body{grid-template-columns:1fr}.source-band{gap:12px}.exhibition-entry,.artist-entry{padding-top:120px}.journal-head{align-items:flex-start;gap:25px;flex-direction:column}}

/* V4.5 selective image system */
.show-card a{display:block;color:inherit;text-decoration:none}
.editorial-grid{align-items:start}
.show-card{align-self:start}
.show-card .show-image{aspect-ratio:auto;min-height:0;background:#eee}
.show-card.ratio-wide .show-image{aspect-ratio:16/9}
.show-card.ratio-square .show-image{aspect-ratio:1/1}
.show-card.ratio-tall .show-image{aspect-ratio:4/5}
.show-card .show-image img{width:100%;height:100%;object-fit:cover}
.curator-links{color:#fff}
.curator-links a{color:#fff}
.curator-links a:hover{color:var(--yellow)}
.visual-journal a{gap:12px}
.visual-journal figure{margin:0 0 20px;aspect-ratio:16/10;overflow:hidden;background:#111}
.visual-journal figure img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease}
.visual-journal a:hover figure img{transform:scale(1.02)}
.media-grid{max-width:1500px;margin:-45px auto 100px;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);align-items:start}
.media-grid figure{margin:0;grid-column:span 5;overflow:hidden}
.media-grid figure:nth-child(even){grid-column:span 7;margin-top:7vw}
.media-grid figure.media-wide{grid-column:span 8;margin-top:0}
.media-grid img{width:100%;height:auto;display:block}
.works-grid figure{grid-column:span 6}
.works-grid figure:nth-child(even){grid-column:span 6;margin-top:5vw}
@media(max-width:900px){
 .show-card.ratio-wide .show-image,.show-card.ratio-square .show-image,.show-card.ratio-tall .show-image{aspect-ratio:auto}
 .show-card .show-image img{height:auto;object-fit:contain}
 .media-grid{grid-template-columns:1fr;margin-top:-20px}
 .media-grid figure,.media-grid figure:nth-child(even),.media-grid figure.media-wide,.works-grid figure,.works-grid figure:nth-child(even){grid-column:auto;margin-top:0}
}


/* V4.6 — chronological programme + richer editorial pages */
.programme-index{max-width:1500px;margin:0 auto}.programme-row{border-top:1px solid #111;display:grid;grid-template-columns:120px minmax(0,1fr) minmax(220px,.55fr);gap:var(--pad);padding:24px 0;align-items:end}.programme-row:last-child{border-bottom:1px solid #111}.programme-row .programme-date{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.programme-row h2{font-size:clamp(28px,4vw,62px);line-height:.95;letter-spacing:-.045em;margin:0}.programme-row p{font-size:13px;line-height:1.4;margin:0}.programme-row:hover h2{color:var(--blue)}
.exhibition-top h1,.artist-top h1{max-width:12ch}.exhibition-hero{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.exhibition-hero img{width:100%;height:auto;max-height:82vh;object-fit:cover}.exhibition-story .entry-body{font-size:clamp(18px,1.65vw,24px);line-height:1.5;max-width:820px}.media-grid{margin-top:-30px}.media-grid figure{position:relative}.media-grid figure:nth-child(3n+1){grid-column:span 7}.media-grid figure:nth-child(3n+2){grid-column:span 5;margin-top:7vw}.media-grid figure:nth-child(3n){grid-column:3/span 8;margin-top:1vw}.media-grid figure.media-wide{grid-column:span 8}.works-grid figure:nth-child(3n+1){grid-column:span 6}.works-grid figure:nth-child(3n+2){grid-column:span 6;margin-top:5vw}.works-grid figure:nth-child(3n){grid-column:3/span 8;margin-top:2vw}
.artist-hero{max-width:1500px;margin:40px auto 80px}.artist-hero img{width:100%;height:auto;max-height:78vh;object-fit:cover}.artist-gallery{max-width:1500px;margin:0 auto 100px;display:grid;grid-template-columns:repeat(12,1fr);gap:var(--pad);align-items:start}.artist-gallery figure{margin:0;grid-column:span 7}.artist-gallery figure:nth-child(even){grid-column:span 5;margin-top:8vw}.artist-gallery figure:nth-child(3n){grid-column:3/span 8;margin-top:0}.artist-gallery img{width:100%;height:auto}.related-shows{max-width:1500px;margin:0 auto 100px;border-top:1px solid #111}.related-show{display:grid;grid-template-columns:140px 1fr;gap:var(--pad);padding:18px 0;border-bottom:1px solid #111}.related-show span{font-size:10px;letter-spacing:.12em;text-transform:uppercase}.related-show strong{font-size:clamp(24px,3vw,44px);letter-spacing:-.035em}
.curator-links .artist-links{display:flex;flex-direction:column}.curator-links .artist-links a{display:block}.archive-intro{max-width:700px;font-size:18px;line-height:1.5;margin:0 0 55px}.archive.content-page{padding-top:150px}.archive .archive-head{max-width:1500px;margin-left:auto;margin-right:auto}.archive .programme-index{padding-bottom:30px}
@media(max-width:900px){.programme-row{grid-template-columns:1fr;gap:8px}.media-grid figure,.media-grid figure:nth-child(3n+1),.media-grid figure:nth-child(3n+2),.media-grid figure:nth-child(3n),.works-grid figure:nth-child(3n+1),.works-grid figure:nth-child(3n+2),.works-grid figure:nth-child(3n){grid-column:auto;margin-top:0}.artist-gallery{grid-template-columns:1fr}.artist-gallery figure,.artist-gallery figure:nth-child(even),.artist-gallery figure:nth-child(3n){grid-column:auto;margin-top:0}.related-show{grid-template-columns:1fr;gap:6px}}


/* V4.7 — richer editorial experience / collector layer */
.gallery-life{max-width:1500px;margin:0 auto;padding:0 var(--pad) clamp(90px,10vw,150px)}
.gallery-life figure{margin:0;position:relative;overflow:hidden}
.gallery-life img{display:block;width:100%;height:auto;max-height:78vh;object-fit:cover}
.gallery-life-copy{display:grid;grid-template-columns:.7fr 1.3fr;gap:7vw;border-top:1px solid #111;padding-top:20px;margin-top:18px}
.gallery-life-copy h2{font-size:clamp(42px,6vw,92px);line-height:.88;letter-spacing:-.06em;text-transform:uppercase;margin:0}
.gallery-life-copy p{font-size:clamp(18px,2vw,28px);line-height:1.28;max-width:30ch;margin:0}
.collector-cta{max-width:1500px;margin:80px auto 0;border-top:1px solid #111;padding:38px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:8vw}
.collector-cta h2{font-size:clamp(34px,5vw,76px);line-height:.9;letter-spacing:-.055em;text-transform:uppercase;margin:0}
.collector-cta p{font-size:16px;line-height:1.55;max-width:42ch;margin:0 0 22px}
.collector-actions{display:flex;gap:22px;flex-wrap:wrap}
.collector-actions a{font-size:11px;letter-spacing:.11em;text-transform:uppercase;border-bottom:1px solid currentColor;padding-bottom:4px}
.exhibition-note{font-size:12px;line-height:1.5;color:#444;max-width:52ch;margin-top:12px}
@media(max-width:900px){
 .gallery-life-copy,.collector-cta{grid-template-columns:1fr;gap:24px}
 .gallery-life{padding-left:var(--pad);padding-right:var(--pad)}
}


/* =========================================================
   V4.9 — GRAPHIC PROGRAMME / LUXURY EDITORIAL REFINEMENT
   Direction: ordered, compact, image-led, Julia's block logic.
   ========================================================= */

:root{
  --mg-line:#111;
  --mg-soft:#f5f5f1;
}

/* Reduce oversized floating section titles after the hero */
.current-head h2,
.archive-head h2,
.journal-head h2,
.curator-copy h2,
.visit-copy h2{
  font-size:clamp(30px,4.4vw,66px);
  line-height:.92;
  letter-spacing:-.05em;
}

/* Section headers become graphic rules rather than giant statements */
.current-head,
.archive-head,
.journal-head{
  align-items:center;
  min-height:62px;
  padding:14px 0;
  margin-bottom:30px;
  border-top:1px solid var(--mg-line);
  border-bottom:1px solid var(--mg-line);
}
.current-head h2,
.archive-head h2,
.journal-head h2{margin:0}
.current-head .label,
.archive-head .label,
.journal-head .label{
  font-size:9px;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* A living gallery: keep the image, remove the giant floating headline feeling */
.gallery-life{
  padding-top:clamp(55px,7vw,90px);
  padding-bottom:clamp(60px,8vw,110px);
}
.gallery-life-copy{
  grid-template-columns:180px minmax(0,1fr);
  gap:var(--pad);
  align-items:start;
}
.gallery-life-copy h2{
  font-size:12px;
  line-height:1.15;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding-top:5px;
}
.gallery-life-copy p{
  font-size:clamp(17px,1.6vw,23px);
  line-height:1.35;
  max-width:42ch;
  letter-spacing:-.02em;
}

/* CURRENT: refined editorial, less theatrical */
.current{
  padding-top:clamp(55px,7vw,90px);
  padding-bottom:clamp(60px,8vw,110px);
}
.editorial{
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:clamp(26px,4vw,70px);
}
.editorial .side{
  padding-top:0;
  border-top:1px solid var(--mg-line);
  padding-top:18px;
}
.editorial .side p{
  font-size:clamp(18px,1.8vw,28px);
  line-height:1.28;
  max-width:27ch;
}

/* ---------------------------------------------------------
   PAST PROGRAMME: compact, chronological, graphic grid
   --------------------------------------------------------- */
.archive{
  padding-top:clamp(55px,7vw,90px);
  padding-bottom:clamp(70px,9vw,120px);
}
.show-grid.programme-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px;
  background:#111;
  border:1px solid #111;
}
.show-grid.programme-grid .show-card,
.show-grid.programme-grid .show-card:nth-child(even){
  margin:0;
  background:#fff;
  min-width:0;
}
.programme-grid .show-card a{
  display:grid;
  grid-template-rows:auto 1fr;
  height:100%;
}
.programme-grid .show-image{
  aspect-ratio:4/3;
  background:#eee;
  border-bottom:1px solid #111;
}
.programme-grid .show-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.programme-grid .show-caption{
  margin:0;
  padding:12px 12px 14px;
  border:0;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  min-height:96px;
  align-content:start;
}
.programme-grid .show-caption strong{
  font-size:clamp(15px,1.35vw,21px);
  line-height:1.02;
  letter-spacing:-.035em;
  text-transform:uppercase;
}
.programme-grid .show-caption span{
  font-size:9px;
  line-height:1.2;
  letter-spacing:.13em;
  text-align:left;
  order:-1;
}

/* Julia's color-block language, used as accents not decoration overload */
.programme-grid .show-card::before{
  content:"";
  display:block;
  height:8px;
  background:var(--red);
}
.programme-grid .show-card:nth-child(4n+2)::before{background:var(--yellow)}
.programme-grid .show-card:nth-child(4n+3)::before{background:var(--blue)}
.programme-grid .show-card:nth-child(4n+4)::before{background:var(--purple)}
.programme-grid .show-card:hover .show-image img{transform:scale(1.025)}
.programme-grid .show-card:hover .show-caption strong{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.archive-more{
  margin-top:24px;
  display:flex;
  justify-content:flex-end;
}

/* ---------------------------------------------------------
   ARTISTS: no giant half-screen black panel.
   A concise programme index with colored rails.
   --------------------------------------------------------- */
.curators{
  display:block;
  padding:clamp(60px,8vw,110px) var(--pad);
  background:var(--paper);
  border-top:1px solid #111;
  border-bottom:1px solid #111;
}
.curator-copy{
  padding:0;
  background:none;
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:var(--pad);
  align-items:start;
  margin-bottom:34px;
}
.curator-copy h2{
  font-size:12px;
  line-height:1.15;
  letter-spacing:.14em;
  text-transform:uppercase;
  padding-top:6px;
}
.curator-copy p{
  font-size:clamp(18px,1.7vw,25px);
  line-height:1.3;
  max-width:40ch;
  margin:0;
}
.curator-links{
  background:transparent;
  color:#111;
  padding:0;
}
.curator-links .artist-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid #111;
  border-left:1px solid #111;
}
.curator-links .artist-links a{
  position:relative;
  font-size:clamp(18px,2vw,30px);
  line-height:1.05;
  letter-spacing:-.035em;
  padding:18px 16px 20px 24px;
  border-right:1px solid #111;
  border-bottom:1px solid #111;
  border-top:0;
}
.curator-links .artist-links a::before{
  content:"";
  position:absolute;
  left:0; top:0; bottom:0; width:8px;
  background:var(--red);
}
.curator-links .artist-links a:nth-child(4n+2)::before{background:var(--yellow)}
.curator-links .artist-links a:nth-child(4n+3)::before{background:var(--blue)}
.curator-links .artist-links a:nth-child(4n+4)::before{background:var(--purple)}
.curator-links > a{
  display:inline-block;
  width:auto;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  padding:0 0 4px;
  margin:25px 25px 0 0;
  border:0;
  border-bottom:1px solid #111;
}

/* JOURNAL: cleaner cards, less giant text */
.journal-home{
  padding-top:clamp(60px,8vw,110px);
  padding-bottom:clamp(70px,9vw,120px);
}
.journal-grid strong{
  font-size:clamp(20px,2.2vw,34px);
  line-height:1.02;
}
.journal-grid em{
  font-size:12px;
  max-width:30ch;
}

/* VISIT: keep color, reduce typographic shouting */
.visit-copy h2{
  margin-bottom:45px;
}

/* General refinement */
.smalllink{font-size:9px;letter-spacing:.13em}
.show-caption strong,.programme-row h2,.related-show strong{font-weight:700}
.archive-head{max-width:none}

/* Tablet */
@media(max-width:1100px){
  .show-grid.programme-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .curator-links .artist-links{grid-template-columns:1fr 1fr}
}
/* Mobile */
@media(max-width:700px){
  .show-grid.programme-grid{grid-template-columns:1fr 1fr}
  .programme-grid .show-caption{min-height:86px;padding:10px}
  .programme-grid .show-caption strong{font-size:14px}
  .gallery-life-copy,.curator-copy{grid-template-columns:1fr;gap:12px}
  .curator-links .artist-links{grid-template-columns:1fr}
  .editorial{grid-template-columns:1fr}
}
@media(max-width:440px){
  .show-grid.programme-grid{grid-template-columns:1fr}
}



/* =========================================================
   V4.10 — PAST EXHIBITIONS GRID FIX
   Uniform cards, no staggered legacy layout, no black voids.
   ========================================================= */

.show-grid.programme-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:16px !important;
  background:transparent !important;
  border:0 !important;
  align-items:stretch !important;
}

.show-grid.programme-grid .show-card,
.show-grid.programme-grid .show-card:nth-child(even),
.show-grid.programme-grid .show-card:nth-child(odd){
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  margin:0 !important;
  padding:0 !important;
  width:auto !important;
  max-width:none !important;
  min-height:0 !important;
  background:#fff !important;
  border:1px solid #111 !important;
  display:block !important;
}

.programme-grid .show-card::before{
  content:"" !important;
  display:block !important;
  height:7px !important;
  width:100% !important;
  position:static !important;
}

.programme-grid .show-card a{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  color:#111 !important;
  text-decoration:none !important;
}

.programme-grid .show-image,
.programme-grid .ratio-wide,
.programme-grid .ratio-tall,
.programme-grid .ratio-square{
  position:relative !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
  background:#f1f1ee !important;
  border:0 !important;
  border-bottom:1px solid #111 !important;
  margin:0 !important;
}

.programme-grid .show-image img,
.programme-grid .ratio-wide img,
.programme-grid .ratio-tall img,
.programme-grid .ratio-square img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  margin:0 !important;
  transform:none !important;
}

.programme-grid .show-caption{
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
  gap:7px !important;
  flex:1 1 auto !important;
  min-height:104px !important;
  margin:0 !important;
  padding:12px 13px 14px !important;
  background:#fff !important;
  color:#111 !important;
  border:0 !important;
}

.programme-grid .show-caption span{
  order:-1 !important;
  display:block !important;
  margin:0 !important;
  font-size:9px !important;
  line-height:1.15 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  color:#111 !important;
}

.programme-grid .show-caption strong{
  display:block !important;
  margin:0 !important;
  font-size:clamp(15px,1.25vw,20px) !important;
  line-height:1.03 !important;
  letter-spacing:-.035em !important;
  text-transform:uppercase !important;
  color:#111 !important;
}

.programme-grid .show-card:hover .show-image img{
  transform:scale(1.02) !important;
  transition:transform .25s ease;
}

@media(max-width:1100px){
  .show-grid.programme-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:820px){
  .show-grid.programme-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
  }
}
@media(max-width:480px){
  .show-grid.programme-grid{
    grid-template-columns:1fr !important;
  }
  .programme-grid .show-caption{min-height:0 !important}
}



/* =========================================================
   V4.11 — ABOUT / VISIT / JOURNAL LAUNCH PAGES
   ========================================================= */

.info-hero{
  max-width:1500px;
  margin:0 auto;
  padding:clamp(120px,14vw,220px) var(--pad) clamp(70px,8vw,120px);
}
.info-hero .eyebrow{
  font-size:10px; letter-spacing:.14em; text-transform:uppercase;
  border-top:1px solid #111; padding-top:12px; margin-bottom:34px;
}
.info-hero h1{
  margin:0;
  max-width:12ch;
  font-size:clamp(58px,10vw,150px);
  line-height:.82;
  letter-spacing:-.07em;
  text-transform:uppercase;
}
.info-grid{
  max-width:1500px;
  margin:0 auto;
  padding:0 var(--pad) clamp(80px,10vw,150px);
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:clamp(40px,7vw,110px);
}
.info-copy{
  font-size:clamp(20px,2.3vw,34px);
  line-height:1.25;
  letter-spacing:-.025em;
}
.info-copy p{margin:0 0 1.15em}
.info-side{
  border-top:1px solid #111;
  padding-top:16px;
  font-size:14px;
  line-height:1.6;
}
.info-side .label{margin-bottom:22px}
.info-image{
  max-width:1500px;
  margin:0 auto;
  padding:0 var(--pad) clamp(80px,10vw,150px);
}
.info-image img{
  display:block;
  width:100%;
  max-height:82vh;
  object-fit:cover;
}
.info-band{
  max-width:1500px;
  margin:0 auto clamp(90px,10vw,150px);
  padding:18px var(--pad) 0;
  border-top:1px solid #111;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
}
.info-band strong{
  display:block;
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.info-band p,.info-band a{font-size:14px;line-height:1.45}
.visit-map-block{
  max-width:1500px;
  margin:0 auto;
  padding:0 var(--pad) clamp(90px,10vw,150px);
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:#111;
}
.visit-map-block > div{
  background:#fff;
  padding:clamp(28px,4vw,60px);
}
.visit-map-block .visit-address{
  font-size:clamp(28px,4vw,58px);
  line-height:1.02;
  letter-spacing:-.045em;
}
.visit-map-block .visit-details{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:45px;
}
.visit-map-block .visit-details p{margin:0;font-size:16px;line-height:1.55}
.visit-map-block .actions{display:flex;gap:24px;flex-wrap:wrap}
.visit-map-block .actions a{
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:1px solid #111;
  padding-bottom:4px;
}

.journal-intro{
  max-width:1500px;
  margin:0 auto;
  padding:clamp(120px,14vw,220px) var(--pad) 55px;
}
.journal-intro h1{
  margin:0 0 28px;
  font-size:clamp(58px,10vw,150px);
  line-height:.82;
  letter-spacing:-.07em;
  text-transform:uppercase;
}
.journal-intro p{
  max-width:35ch;
  font-size:clamp(20px,2vw,30px);
  line-height:1.3;
}
.journal-cards{
  max-width:1500px;
  margin:0 auto;
  padding:0 var(--pad) clamp(90px,10vw,150px);
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.journal-card{
  border-top:1px solid #111;
  padding-top:12px;
}
.journal-card img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  display:block;
  margin-bottom:14px;
}
.journal-card .meta{
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  margin-bottom:9px;
}
.journal-card h2{
  margin:0 0 9px;
  font-size:clamp(22px,2.2vw,34px);
  line-height:1;
  letter-spacing:-.04em;
  text-transform:uppercase;
}
.journal-card p{
  margin:0;
  font-size:14px;
  line-height:1.45;
}
@media(max-width:850px){
  .info-grid,.visit-map-block{grid-template-columns:1fr}
  .info-band{grid-template-columns:1fr 1fr}
  .journal-cards{grid-template-columns:1fr}
}
@media(max-width:520px){
  .info-band{grid-template-columns:1fr}
}


/* =========================================================
   V4.12 — MAUER YELLOW HEADER BAR
   ========================================================= */
.site-header{
  background:var(--yellow) !important;
  backdrop-filter:none !important;
  border-bottom:1px solid #111 !important;
}
.site-header nav a,
.site-header .right a,
.site-header .logo,
.site-header:after{
  color:#111 !important;
}
.site-header .logo img{
  filter:none !important;
}


/* =========================================================
   V4.13 — TYPOGRAPHY READABILITY PASS
   Keep the luxury/editorial feel, remove illegibly tiny text.
   ========================================================= */

/* Header / navigation */
.site-header nav{
  font-size:13px !important;
  letter-spacing:.09em !important;
  gap:28px !important;
}
.site-header .right{
  font-size:12px !important;
  letter-spacing:.09em !important;
}

/* Global micro typography */
.label,
.kicker,
.smalllink,
.programme-row .programme-date,
.related-show span,
.exhibition-hero figcaption,
.journal-card .meta,
.programme-grid .show-caption span,
.info-hero .eyebrow{
  font-size:11px !important;
  line-height:1.35 !important;
}

/* Hero + metadata */
.meta{
  font-size:11px !important;
  line-height:1.55 !important;
}
.show-caption span{
  font-size:10.5px !important;
  line-height:1.3 !important;
}

/* Footer */
footer{
  font-size:10.5px !important;
  line-height:1.45 !important;
}

/* Secondary body copy that was too delicate */
.info-side,
.programme-row p,
.artist-body aside,
.journal-card p,
.exhibition-note{
  font-size:15px !important;
  line-height:1.55 !important;
}

/* Collector/action links */
.collector-actions a,
.visit-map-block .actions a{
  font-size:11px !important;
  line-height:1.35 !important;
}

/* Artist index + archive helper copy */
.archive-intro{
  font-size:19px !important;
  line-height:1.5 !important;
}
.curator-copy p{
  font-size:clamp(19px,1.8vw,26px) !important;
}

/* Mobile: don't let navigation/menu label become microscopic */
@media(max-width:900px){
  .site-header:after{
    font-size:12px !important;
    letter-spacing:.11em !important;
  }
}


/* =========================================================
   V4.14 — ACTIVE NAV + PREMIUM MOTION
   ========================================================= */

/* Active section in nav */
.site-header nav a{
  position:relative;
  font-weight:400;
  transition:font-weight .18s ease, opacity .18s ease;
}
.site-header nav a.is-active{
  font-weight:700 !important;
}
.site-header nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-8px;
  height:1.5px;
  background:#111;
  transform:scaleX(0);
  transform-origin:left center;
  transition:transform .28s cubic-bezier(.22,.61,.36,1);
}
.site-header nav a:hover::after,
.site-header nav a.is-active::after{
  transform:scaleX(1);
}

/* Header polish */
.site-header{
  transition:box-shadow .28s ease, transform .28s ease;
}
body:not(.home) .site-.site-header{
  box-shadow:0 1px 0 rgba(0,0,0,.08);
}

/* Elegant image motion */
.hero-image img,
.show-image img,
.info-image img,
.artist-hero img,
.exhibition-hero img,
.journal-card img,
.media-grid img,
.artist-gallery img{
  transition:transform .7s cubic-bezier(.2,.65,.25,1), filter .45s ease;
}
.hero-image:hover img,
.info-image:hover img,
.artist-hero:hover img,
.exhibition-hero:hover img{
  transform:scale(1.012);
}
.show-card:hover .show-image img,
.journal-card:hover img,
.media-grid figure:hover img,
.artist-gallery figure:hover img{
  transform:scale(1.025);
}

/* Subtle link motion */
.smalllink,
.collector-actions a,
.visit-map-block .actions a,
.curator-links a,
footer a{
  transition:opacity .2s ease, transform .2s ease, color .2s ease;
}
.smalllink:hover,
.collector-actions a:hover,
.visit-map-block .actions a:hover,
footer a:hover{
  opacity:.58;
}

/* Initial page reveal */
@keyframes mgFadeUp{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes mgFade{
  from{opacity:0}
  to{opacity:1}
}
main > section:first-child{
  animation:mgFade .55s ease both;
}
.hero-copy > *,
.info-hero > *,
.journal-intro > *{
  animation:mgFadeUp .6s ease both;
}
.hero-copy > *:nth-child(2),
.info-hero > *:nth-child(2),
.journal-intro > *:nth-child(2){animation-delay:.06s}
.hero-copy > *:nth-child(3),
.info-hero > *:nth-child(3),
.journal-intro > *:nth-child(3){animation-delay:.12s}

/* Cards feel responsive without becoming flashy */
.show-card,
.journal-card,
.artist-row,
.programme-row{
  transition:transform .25s ease, opacity .25s ease;
}
.show-card:hover,
.journal-card:hover{
  transform:translateY(-3px);
}

/* Respect accessibility / user preference */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}


/* =========================================================
   V4.15 — COLOR + TYPOGRAPHY SYSTEM CLEANUP
   Palette strictly: black / yellow / red / blue / white.
   Purple removed. Grey UI backgrounds removed.
   ========================================================= */

:root{
  --red:#F40023;
  --yellow:#FFD500;
  --blue:#0062C4;
  --black:#000;
  --white:#fff;
  --paper:#F3F3EF;
}

/* ---------- Global readability ---------- */
body{
  color:#000;
  background:var(--paper);
  font-size:16px;
  line-height:1.45;
}

p, li{
  font-size:16px;
  line-height:1.5;
}

.label,
.kicker,
.smalllink,
.meta,
.programme-row .programme-date,
.related-show span,
.exhibition-hero figcaption,
.journal-card .meta,
.programme-grid .show-caption span,
.info-hero .eyebrow{
  font-size:11px !important;
  line-height:1.35 !important;
  letter-spacing:.12em !important;
}

/* ---------- Headline hierarchy ---------- */
h1{
  font-size:clamp(64px,9vw,140px) !important;
  line-height:.84 !important;
}
.current-head h2,
.archive-head h2,
.journal-head h2,
.curator-copy h2,
.visit-copy h2,
.source-band h2{
  font-size:clamp(42px,5.2vw,82px) !important;
  line-height:.9 !important;
  letter-spacing:-.055em !important;
}
.programme-row h2,
.related-show strong,
.journal-card h2{
  font-size:clamp(24px,2.7vw,42px) !important;
  line-height:1 !important;
}

/* ---------- ARTISTS SECTION: premium, readable, on-brand ---------- */
.curators{
  background:var(--yellow) !important;
  color:#111 !important;
  border-top:1px solid #111 !important;
  border-bottom:1px solid #111 !important;
}

.curator-copy{
  background:var(--yellow) !important;
  color:#111 !important;
}

.curator-copy h2{
  color:#111 !important;
  font-weight:700 !important;
}

.curator-copy p{
  color:#111 !important;
  font-size:clamp(20px,2vw,30px) !important;
  line-height:1.3 !important;
  max-width:34ch !important;
}

.curator-links{
  background:var(--yellow) !important;
  color:#111 !important;
}

.curator-links .artist-links{
  border-top:1px solid #111 !important;
  border-left:1px solid #111 !important;
}

.curator-links .artist-links a{
  color:#111 !important;
  background:#fff !important;
  font-size:clamp(22px,2.35vw,36px) !important;
  line-height:1.02 !important;
  font-weight:700 !important;
  letter-spacing:-.03em !important;
  border-right:1px solid #111 !important;
  border-bottom:1px solid #111 !important;
}

.curator-links .artist-links a:hover{
  color:#111 !important;
  background:var(--yellow) !important;
}

.curator-links .artist-links a::before{
  width:8px !important;
  background:var(--red) !important;
}
.curator-links .artist-links a:nth-child(3n+2)::before{
  background:var(--yellow) !important;
}
.curator-links .artist-links a:nth-child(3n)::before{
  background:var(--blue) !important;
}

.curator-links > a{
  color:#111 !important;
  border-bottom:1px solid #111 !important;
  font-size:11px !important;
}

/* ---------- Remove purple everywhere ---------- */
.journal-home{
  background:var(--black) !important;
  color:#fff !important;
}
.swatches i:nth-child(3){
  background:var(--red) !important;
}
.programme-grid .show-card:nth-child(4n+4)::before{
  background:var(--black) !important;
}
.curator-links .artist-links a:nth-child(4n+4)::before{
  background:var(--black) !important;
}

/* ---------- Remove off-brand grey panels ---------- */
.show-image,
.hero-image,
.programme-grid .show-image,
.programme-grid .ratio-wide,
.programme-grid .ratio-tall,
.programme-grid .ratio-square{
  background:#fff !important;
}

.show-image.img-failed,
.hero-image.img-failed,
.mainpic.img-failed{
  background:#fff !important;
  border:1px solid #111;
}

/* ---------- Journal readability ---------- */
.journal-home .journal-head h2,
.journal-home .journal-head .label,
.journal-home .journal-grid strong,
.journal-home .journal-grid em,
.journal-home .journal-grid span{
  color:#fff !important;
}
.journal-grid strong{
  font-size:clamp(26px,3vw,46px) !important;
}
.journal-grid em{
  font-size:14px !important;
  line-height:1.45 !important;
}

/* ---------- Visit / About / secondary text ---------- */
.info-copy{
  font-size:clamp(21px,2.15vw,33px) !important;
  line-height:1.28 !important;
}
.info-side,
.visit-map-block .visit-details p,
.artist-body aside,
.exhibition-note,
.programme-row p{
  font-size:15.5px !important;
  line-height:1.55 !important;
}

/* ---------- Past exhibitions labels ---------- */
.programme-grid .show-caption strong{
  font-size:clamp(17px,1.45vw,22px) !important;
  line-height:1.02 !important;
}
.programme-grid .show-caption span{
  font-size:10.5px !important;
}

/* ---------- Header readability ---------- */
.site-header nav{
  font-size:13.5px !important;
  font-weight:500;
}
.site-header nav a.is-active{
  font-weight:700 !important;
}
.site-header .right{
  font-size:12.5px !important;
}

/* ---------- Footer ---------- */
footer{
  font-size:11px !important;
  line-height:1.45 !important;
}

/* ---------- Mobile ---------- */
@media(max-width:900px){
  .curator-copy p{
    font-size:19px !important;
  }
  .curator-links .artist-links a{
    font-size:24px !important;
  }
  h1{
    font-size:clamp(54px,17vw,96px) !important;
  }
}



/* =========================================================
   V4.16 — CEL Ā VIE 3 FLYER: NEVER CROP
   The artwork always remains fully visible and rescales with
   the viewport instead of being cut by object-fit: cover.
   ========================================================= */

/* Homepage first hero flyer */
.hero .hero-image{
  background:var(--red) !important;
  padding:clamp(10px,1.2vw,18px);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  min-height:calc(100vh - 92px);
}

.hero .hero-image img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:calc(100vh - 92px - 2 * clamp(10px,1.2vw,18px)) !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}

/* Same exhibition graphic in the NOW section */
.current .mainpic{
  background:var(--red) !important;
  padding:clamp(8px,1vw,14px);
  aspect-ratio:auto !important;
  min-height:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.current .mainpic img{
  width:100% !important;
  height:auto !important;
  max-height:78vh !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}

/* Never zoom/crop this specific flyer on hover */
.hero .hero-image:hover img,
.current .mainpic:hover img{
  transform:none !important;
}

/* Mobile: let the complete flyer determine its natural height */
@media(max-width:900px){
  .hero .hero-image{
    min-height:0 !important;
    height:auto !important;
  }
  .hero .hero-image img{
    height:auto !important;
    max-height:none !important;
  }
  .current .mainpic img{
    max-height:none !important;
  }
}


/* =========================================================
   V4.17 — ARTISTS SECTION RESPONSIVE OVERLAP FIX
   Prevents "Artists" from colliding with the intro copy.
   ========================================================= */

.curator-copy{
  display:grid !important;
  grid-template-columns:minmax(130px, 0.55fr) minmax(0, 1.45fr) !important;
  gap:clamp(24px,4vw,64px) !important;
  align-items:start !important;
}

.curator-copy h2{
  margin:0 !important;
  max-width:100% !important;
  min-width:0 !important;
  overflow-wrap:normal !important;
  word-break:normal !important;
}

.curator-copy p{
  margin:0 !important;
  min-width:0 !important;
  max-width:42ch !important;
}

/* As soon as the two-column composition gets tight, stack cleanly */
@media(max-width:1180px){
  .curator-copy{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .curator-copy h2{
    font-size:clamp(38px,6vw,68px) !important;
    line-height:.92 !important;
  }
  .curator-copy p{
    max-width:46ch !important;
  }
}

/* Mobile */
@media(max-width:700px){
  .curator-copy{
    gap:12px !important;
  }
  .curator-copy h2{
    font-size:clamp(34px,11vw,54px) !important;
  }
  .curator-copy p{
    font-size:18px !important;
    line-height:1.35 !important;
  }
}


/* =========================================================
   V4.18 — CONTENT DENSITY / EDITORIAL FILL
   Richer visual archive while keeping the Mauer grid precise.
   ========================================================= */

/* Homepage visual archive */
.home-mosaic{
  max-width:1500px;
  margin:0 auto;
  padding:clamp(50px,7vw,95px) var(--pad) clamp(90px,10vw,145px);
}
.mosaic-head,
.artist-preview-head{
  display:grid;
  grid-template-columns:180px minmax(0,1fr);
  gap:var(--pad);
  align-items:start;
  border-top:1px solid #111;
  padding-top:16px;
  margin-bottom:28px;
}
.mosaic-head p,
.artist-preview-head p{
  margin:0;
  max-width:38ch;
  font-size:clamp(18px,1.7vw,25px);
  line-height:1.3;
}
.mosaic-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:14px;
}
.mosaic-grid a{
  position:relative;
  display:block;
  overflow:hidden;
  background:#fff;
  border:1px solid #111;
  grid-column:span 4;
}
.mosaic-grid a.mosaic-large{
  grid-column:span 8;
  grid-row:span 2;
}
.mosaic-grid img{
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
  transition:transform .6s cubic-bezier(.2,.65,.25,1);
}
.mosaic-grid a.mosaic-large img{min-height:540px}
.mosaic-grid a:hover img{transform:scale(1.02)}
.mosaic-grid span{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  padding:12px 14px;
  background:#fff;
  color:#111;
  border-top:1px solid #111;
  font-size:11px;
  letter-spacing:.09em;
  text-transform:uppercase;
}

/* Current exhibition gets a real visual band */
.now-strip{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1px;
  background:#111;
  border:1px solid #111;
  margin-top:42px;
}
.now-strip figure{
  margin:0;
  background:#fff;
  aspect-ratio:1/1;
  overflow:hidden;
}
.now-strip img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff;
  padding:8px;
}

/* Artist preview */
.artist-preview{
  max-width:1500px;
  margin:0 auto;
  padding:clamp(70px,9vw,130px) var(--pad);
}
.artist-preview-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:14px;
}
.artist-preview-grid a{
  border:1px solid #111;
  background:#fff;
  overflow:hidden;
}
.artist-preview-grid img{
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
}
.artist-preview-grid strong{
  display:block;
  padding:12px 14px 14px;
  font-size:clamp(18px,1.7vw,25px);
  line-height:1.05;
  letter-spacing:-.03em;
  text-transform:uppercase;
}

/* Rich journal on home and archive */
.journal-home .journal-grid{
  grid-template-columns:repeat(3,1fr) !important;
  gap:28px 18px !important;
}
.journal-home .journal-grid a{
  min-height:0 !important;
  padding-top:0 !important;
  border-top:0 !important;
}
.journal-home .visual-journal figure{
  aspect-ratio:4/3;
  border:1px solid rgba(255,255,255,.45);
  margin-bottom:14px;
}
.journal-home .journal-grid strong{
  margin-top:10px !important;
}
.journal-more{
  margin-top:42px;
  text-align:right;
}
.journal-more .smalllink{color:#fff}

.journal-cards-rich{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:36px 18px !important;
}
.journal-cards-rich .journal-card{
  padding-top:0;
  border-top:0;
}
.journal-cards-rich .journal-card a{
  display:block;
  border-top:1px solid #111;
  padding-top:12px;
}
.journal-cards-rich .journal-card img{
  margin-top:12px;
}

.journal-entry-rich{
  max-width:1500px;
}
.journal-feature-wrap{
  margin:42px 0 70px;
}
.journal-feature-wrap img{
  width:100%;
  height:auto;
  max-height:82vh;
  object-fit:cover;
}
.journal-story-layout{
  display:grid;
  grid-template-columns:180px minmax(0,760px);
  gap:var(--pad);
  margin-bottom:70px;
}
.journal-story-grid{
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
  margin:0 0 80px;
}
.journal-story-grid figure{
  margin:0;
  grid-column:span 5;
}
.journal-story-grid figure:nth-child(2n){
  grid-column:span 7;
  margin-top:5vw;
}
.journal-story-grid img{
  width:100%;
  height:auto;
  display:block;
}
.journal-entry-nav{
  display:flex;
  gap:28px;
  border-top:1px solid #111;
  padding-top:20px;
}

/* About, Visit and Animation pages become visual */
.about-gallery,
.visit-gallery,
.animation-grid{
  max-width:1500px;
  margin:0 auto;
  padding:0 var(--pad) clamp(90px,10vw,150px);
  display:grid;
  grid-template-columns:repeat(12,1fr);
  gap:18px;
  align-items:start;
}
.about-gallery figure,
.visit-gallery figure,
.animation-grid figure{
  margin:0;
  overflow:hidden;
  background:#fff;
}
.about-gallery .about-wide,
.visit-gallery .visit-big{
  grid-column:span 8;
}
.about-gallery figure:not(.about-wide),
.visit-gallery figure:not(.visit-big){
  grid-column:span 4;
}
.about-gallery figure:nth-child(3),
.visit-gallery figure:nth-child(3){
  margin-top:6vw;
}
.about-gallery img,
.visit-gallery img{
  width:100%;
  height:auto;
  max-height:75vh;
  object-fit:cover;
}

.animation-grid figure{
  grid-column:span 4;
  border:1px solid #111;
  background:#fff;
}
.animation-grid figure:nth-child(5n+1){
  grid-column:span 8;
}
.animation-grid img{
  width:100%;
  height:auto;
  max-height:72vh;
  object-fit:contain;
  background:#fff;
  padding:8px;
}
.animation-shows,
.animation-contact{
  max-width:1500px;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
}
.animation-contact{
  margin-bottom:clamp(90px,10vw,150px);
}

/* Replace the old colour swatches with real gallery images */
.visit{
  align-items:stretch;
}
.visit-images{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1px;
  background:#111;
  min-height:65vh;
}
.visit-images figure{margin:0;overflow:hidden}
.visit-images figure:first-child{grid-row:span 2}
.visit-images img{width:100%;height:100%;object-fit:cover}

/* Rich archive pages: more images, less empty vertical space */
.docs-grid,
.works-grid,
.artist-gallery{
  row-gap:18px !important;
}
.media-grid figure,
.artist-gallery figure{
  overflow:hidden;
  background:#fff;
}
.media-grid img,
.artist-gallery img{
  transition:transform .6s cubic-bezier(.2,.65,.25,1);
}
.media-grid figure:hover img,
.artist-gallery figure:hover img{
  transform:scale(1.012);
}

/* Never introduce an off brand grey panel */
.home-mosaic,
.artist-preview,
.animation-grid,
.about-gallery,
.visit-gallery{
  background:var(--paper);
}

/* Responsive */
@media(max-width:1000px){
  .mosaic-grid a,
  .mosaic-grid a.mosaic-large{grid-column:span 6;grid-row:auto}
  .mosaic-grid a.mosaic-large img{min-height:360px}
  .artist-preview-grid{grid-template-columns:repeat(2,1fr)}
  .now-strip{grid-template-columns:repeat(2,1fr)}
  .journal-home .journal-grid,
  .journal-cards-rich{grid-template-columns:repeat(2,1fr) !important}
  .animation-grid figure,
  .animation-grid figure:nth-child(5n+1){grid-column:span 6}
}
@media(max-width:720px){
  .mosaic-head,.artist-preview-head,.journal-story-layout{grid-template-columns:1fr;gap:12px}
  .mosaic-grid{grid-template-columns:1fr}
  .mosaic-grid a,.mosaic-grid a.mosaic-large{grid-column:auto}
  .mosaic-grid img,.mosaic-grid a.mosaic-large img{min-height:0;height:auto}
  .artist-preview-grid{grid-template-columns:1fr}
  .journal-home .journal-grid,
  .journal-cards-rich{grid-template-columns:1fr !important}
  .about-gallery,.visit-gallery,.animation-grid{grid-template-columns:1fr}
  .about-gallery .about-wide,.visit-gallery .visit-big,
  .about-gallery figure:not(.about-wide),.visit-gallery figure:not(.visit-big),
  .animation-grid figure,.animation-grid figure:nth-child(5n+1){grid-column:auto;margin-top:0}
  .journal-story-grid{grid-template-columns:1fr}
  .journal-story-grid figure,.journal-story-grid figure:nth-child(2n){grid-column:auto;margin-top:0}
  .visit-images{grid-template-columns:1fr;min-height:0}
  .visit-images figure:first-child{grid-row:auto}
  .visit-images img{height:auto}
}


/* =========================================================
   V4.19 — READABILITY + CEL Ā VIE 3 HERO RESTORE
   Bigger functional typography. Red copy block left.
   Invitation sits on white and is always fully visible.
   ========================================================= */

/* ---------- Global readability ---------- */
body{
  font-size:17px !important;
  line-height:1.5 !important;
}

p, li{
  font-size:17px !important;
  line-height:1.52 !important;
}

/* Header is now comfortably readable */
.site-header nav{
  font-size:15px !important;
  letter-spacing:.075em !important;
  gap:clamp(18px,2vw,30px) !important;
}
.site-header .right{
  font-size:14px !important;
  letter-spacing:.075em !important;
}

/* Small editorial information should still be small, not microscopic */
.label,
.kicker,
.smalllink,
.meta,
.programme-row .programme-date,
.related-show span,
.exhibition-hero figcaption,
.journal-card .meta,
.programme-grid .show-caption span,
.info-hero .eyebrow{
  font-size:12.5px !important;
  line-height:1.4 !important;
  letter-spacing:.10em !important;
}

.hero .kicker{
  font-size:13.5px !important;
  font-weight:600 !important;
  letter-spacing:.09em !important;
}

.hero .meta{
  font-size:13px !important;
  line-height:1.5 !important;
}

footer{
  font-size:11.5px !important;
}

/* ---------- CEL Ā VIE 3 HERO ---------- */
/* Left hand editorial cartouche stays strongly red */
.hero-copy{
  background:var(--red) !important;
  color:#111 !important;
}

/* Right side returns to a clean gallery white */
.hero .hero-image{
  background:#fff !important;
  padding:clamp(18px,2.2vw,38px) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  min-height:calc(100vh - 92px) !important;
}

/* Entire invitation must remain visible at every desktop size */
.hero .hero-image img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:calc(100vh - 92px - 2 * clamp(18px,2.2vw,38px)) !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}

/* ---------- NOW ---------- */
/* No colored rectangle behind the invitation here */
.current .mainpic{
  background:#fff !important;
  padding:0 !important;
  border:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}

.current .mainpic img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-height:82vh !important;
  object-fit:contain !important;
  object-position:center center !important;
  transform:none !important;
}

/* The invitation is graphic design, never zoom it */
.hero .hero-image:hover img,
.current .mainpic:hover img{
  transform:none !important;
}

/* Slightly more readable section microcopy */
.current-head .label,
.archive-head .label,
.journal-head .label,
.mosaic-head .label,
.artist-preview-head .label{
  font-size:12.5px !important;
}

/* Mobile keeps full poster visible naturally */
@media(max-width:900px){
  .site-header:after{
    font-size:13px !important;
  }

  .hero .hero-image{
    min-height:0 !important;
    height:auto !important;
    padding:18px !important;
  }

  .hero .hero-image img,
  .current .mainpic img{
    height:auto !important;
    max-height:none !important;
  }

  .hero .kicker{
    font-size:12.5px !important;
  }

  .hero .meta{
    font-size:12px !important;
  }
}


/* =========================================================
   V4.20 — WHITE TYPE ON CEL Ā VIE 3 RED CARTOUCHE
   ========================================================= */

.hero-copy,
.hero-copy .kicker,
.hero-copy h1,
.hero-copy .deck,
.hero-copy .meta,
.hero-copy a{
  color:#fff !important;
}

.hero-copy .meta{
  border-top-color:rgba(255,255,255,.7) !important;
}


/* =========================================================
   V4.21 — TYPOGRAPHIC SYSTEM
   Clear hierarchy, disciplined grid, readable small type.
   ========================================================= */

:root{
  --mg-micro:clamp(12.5px,.78vw,13.5px);
  --mg-nav:clamp(14.5px,.9vw,15.5px);
  --mg-body:clamp(16.5px,1vw,18px);
  --mg-body-lg:clamp(19px,1.45vw,24px);
  --mg-intro:clamp(30px,3.35vw,50px);
  --mg-section:clamp(46px,5.1vw,78px);
  --mg-page:clamp(62px,8vw,128px);
}

/* Base */
body{
  font-size:var(--mg-body) !important;
  line-height:1.5 !important;
}
p, li{
  font-size:var(--mg-body) !important;
  line-height:1.52 !important;
}

/* Navigation */
.site-header nav{
  font-size:var(--mg-nav) !important;
  line-height:1 !important;
  letter-spacing:.065em !important;
  gap:clamp(18px,1.8vw,28px) !important;
}
.site-header .right{
  font-size:13.5px !important;
  letter-spacing:.07em !important;
}

/* Micro typography. Small, but never tiny. */
.label,
.kicker,
.smalllink,
.meta,
.programme-row .programme-date,
.related-show span,
.exhibition-hero figcaption,
.journal-card .meta,
.programme-grid .show-caption span,
.info-hero .eyebrow,
.mosaic-head .label,
.artist-preview-head .label,
.current-head .label,
.archive-head .label,
.journal-head .label{
  font-size:var(--mg-micro) !important;
  line-height:1.4 !important;
  letter-spacing:.09em !important;
}

/* Hero */
.hero .kicker{
  font-size:13.5px !important;
  font-weight:600 !important;
}
.hero h1{
  font-size:clamp(70px,8.6vw,138px) !important;
  line-height:.82 !important;
}
.hero .deck{
  font-size:clamp(22px,2.05vw,32px) !important;
  line-height:1.08 !important;
  max-width:20ch !important;
}
.hero .meta{
  font-size:13px !important;
  line-height:1.5 !important;
}

/* Homepage intro. No floating oversized manifesto. */
.intro{
  padding:clamp(66px,7vw,108px) var(--pad) !important;
  grid-template-columns:minmax(150px,190px) minmax(0,1fr) !important;
  gap:clamp(34px,5vw,82px) !important;
  align-items:start !important;
}
.intro > .label{
  padding-top:7px !important;
}
.intro-copy{
  max-width:980px;
}
.statement{
  margin:0 !important;
  max-width:18ch !important;
  font-size:var(--mg-intro) !important;
  line-height:.98 !important;
  letter-spacing:-.045em !important;
  font-weight:500 !important;
}
.intro-note{
  margin:24px 0 0 !important;
  max-width:42ch !important;
  font-size:var(--mg-body-lg) !important;
  line-height:1.32 !important;
  letter-spacing:-.02em !important;
}

/* Section titles */
.current-head h2,
.archive-head h2,
.journal-head h2{
  font-size:var(--mg-section) !important;
  line-height:.88 !important;
  letter-spacing:-.052em !important;
}
.visit-copy h2{
  font-size:clamp(54px,6.5vw,96px) !important;
  line-height:.86 !important;
}
.source-band h2{
  font-size:clamp(44px,5vw,76px) !important;
  line-height:.9 !important;
}
.curator-copy h2{
  font-size:clamp(48px,5.3vw,82px) !important;
  line-height:.88 !important;
}

/* Supporting copy */
.gallery-life-copy p,
.mosaic-head p,
.artist-preview-head p,
.editorial .side p{
  font-size:var(--mg-body-lg) !important;
  line-height:1.32 !important;
}
.gallery-life-copy h2{
  font-size:var(--mg-micro) !important;
  line-height:1.35 !important;
  letter-spacing:.1em !important;
}
.curator-copy p{
  font-size:clamp(18px,1.55vw,23px) !important;
  line-height:1.34 !important;
  max-width:40ch !important;
}

/* Page titles and article hierarchy */
.info-hero h1,
.single-entry h1,
.exhibition-top h1,
.artist-top h1,
.journal-intro h1{
  font-size:var(--mg-page) !important;
  line-height:.84 !important;
  letter-spacing:-.065em !important;
}
.entry-deck{
  font-size:clamp(21px,2vw,29px) !important;
  line-height:1.28 !important;
  max-width:34ch !important;
}
.entry-body,
.exhibition-story .entry-body{
  font-size:clamp(17px,1.2vw,20px) !important;
  line-height:1.58 !important;
}
.info-copy{
  font-size:clamp(20px,1.8vw,28px) !important;
  line-height:1.34 !important;
}
.info-side,
.artist-body aside,
.exhibition-note,
.programme-row p,
.visit-map-block .visit-details p,
.journal-card p{
  font-size:15.5px !important;
  line-height:1.55 !important;
}

/* Lists and cards */
.programme-row h2,
.related-show strong{
  font-size:clamp(27px,3vw,46px) !important;
  line-height:.98 !important;
}
.programme-grid .show-caption strong{
  font-size:clamp(17px,1.4vw,22px) !important;
  line-height:1.04 !important;
}
.artist-preview-grid strong{
  font-size:clamp(18px,1.55vw,24px) !important;
}
.curator-links .artist-links a{
  font-size:clamp(21px,2.1vw,33px) !important;
  line-height:1.04 !important;
}
.journal-home .journal-grid strong,
.journal-card h2{
  font-size:clamp(25px,2.7vw,42px) !important;
  line-height:1 !important;
}
.journal-home .journal-grid em{
  font-size:15px !important;
  line-height:1.48 !important;
}

/* Footer */
footer{
  font-size:11.5px !important;
  line-height:1.45 !important;
}

/* Tablet */
@media(max-width:1100px){
  .intro{
    grid-template-columns:140px minmax(0,1fr) !important;
    gap:34px !important;
  }
  .site-header nav{
    font-size:13.5px !important;
    gap:18px !important;
  }
}

/* Mobile */
@media(max-width:900px){
  .intro{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }
  .intro > .label{
    padding-top:0 !important;
  }
  .statement{
    font-size:clamp(32px,10vw,52px) !important;
    max-width:15ch !important;
  }
  .intro-note{
    margin-top:18px !important;
    font-size:18px !important;
    max-width:34ch !important;
  }
  .site-header:after{
    font-size:13px !important;
  }
  .info-hero h1,
  .single-entry h1,
  .exhibition-top h1,
  .artist-top h1,
  .journal-intro h1{
    font-size:clamp(52px,15vw,92px) !important;
  }
}


/* V4.24 animation journal refinement */
.journal-entry-rich .entry-body p{
  margin:0 0 1.35em;
}
.journal-entry-rich .entry-body p:first-child{
  font-size:clamp(20px,1.55vw,25px) !important;
  line-height:1.45 !important;
  letter-spacing:-.015em;
}


/* =========================================================
   V4.25 — JOURNAL EDITORIAL SYSTEM
   Modular long form layout with rhythm, air and image breaks.
   ========================================================= */

.journal-article{
  max-width:1500px;
  margin:0 auto;
  padding:clamp(130px,13vw,190px) var(--pad) 80px;
}

.journal-article-kicker{
  font-size:12px;
  line-height:1.3;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.journal-article-head{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);
  gap:clamp(35px,6vw,100px);
  border-top:1px solid #111;
  padding-top:14px;
  align-items:end;
}

.journal-article-head .journal-article-kicker{
  grid-column:1 / -1;
}

.journal-article-head h1{
  margin:20px 0 0;
  max-width:10ch;
  font-size:clamp(58px,8vw,126px);
  line-height:.84;
  letter-spacing:-.065em;
  text-transform:uppercase;
}

.journal-head-deck{
  align-self:end;
  border-top:1px solid #111;
  padding-top:14px;
}

.journal-head-deck p{
  margin:0 0 25px;
  font-size:clamp(18px,1.65vw,24px) !important;
  line-height:1.36 !important;
  letter-spacing:-.018em;
}

.journal-hero-image{
  margin:clamp(45px,6vw,90px) 0 clamp(70px,8vw,120px);
  background:#fff;
}

.journal-hero-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:88vh;
  object-fit:contain;
}

.journal-lede-grid{
  display:grid;
  grid-template-columns:180px minmax(0,1.2fr) minmax(250px,.8fr);
  gap:clamp(28px,4vw,70px);
  align-items:start;
  margin:0 0 clamp(85px,10vw,145px);
  padding-top:18px;
  border-top:1px solid #111;
}

.journal-lede{
  margin:0;
  max-width:24ch;
  font-size:clamp(30px,3.2vw,50px) !important;
  line-height:1.02 !important;
  letter-spacing:-.045em;
}

.journal-contents{
  border-top:1px solid #111;
}

.journal-contents a{
  display:grid;
  grid-template-columns:42px 1fr;
  gap:10px;
  padding:10px 0;
  border-bottom:1px solid #111;
  font-size:13px;
  line-height:1.28;
}

.journal-contents a span{
  font-size:10px;
  letter-spacing:.1em;
}

.journal-section{
  display:grid;
  grid-template-columns:90px minmax(260px,.72fr) minmax(0,1.28fr);
  gap:clamp(24px,4vw,70px);
  border-top:1px solid #111;
  padding:22px 0 clamp(65px,8vw,110px);
  scroll-margin-top:120px;
}

.journal-section-number{
  font-size:12px;
  letter-spacing:.1em;
}

.journal-section-title h2{
  margin:0;
  max-width:12ch;
  font-size:clamp(34px,4vw,62px);
  line-height:.94;
  letter-spacing:-.052em;
  text-transform:uppercase;
}

.journal-section-body{
  max-width:760px;
}

.journal-section-body p{
  margin:0 0 1.25em;
  font-size:clamp(17px,1.2vw,20px) !important;
  line-height:1.62 !important;
}

.journal-section-body p:first-child{
  font-size:clamp(19px,1.4vw,23px) !important;
  line-height:1.5 !important;
}

.journal-image-module{
  margin:0 0 clamp(85px,10vw,145px);
}

.journal-image-module figure{
  margin:0;
  background:#fff;
}

.journal-image-module img{
  display:block;
  width:100%;
  height:auto;
}

.journal-image-pair{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(18px,2.5vw,38px);
  align-items:start;
}

.journal-image-pair figure:nth-child(2){
  margin-top:clamp(45px,7vw,110px);
}

.journal-image-pair.is-reverse{
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
}

.journal-image-pair.is-reverse figure:first-child{
  margin-top:clamp(45px,7vw,110px);
}

.journal-image-pair.is-reverse figure:nth-child(2){
  margin-top:0;
}

.journal-image-single{
  width:min(100%,1080px);
  margin-left:auto;
  margin-right:auto;
}

.journal-image-tail{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.journal-pullquote{
  margin:0 0 clamp(90px,11vw,155px);
  padding:clamp(28px,4vw,58px);
  border:1px solid #111;
}

.journal-pullquote span{
  display:block;
  margin-bottom:clamp(45px,7vw,100px);
  font-size:11px;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.journal-pullquote p{
  margin:0;
  max-width:18ch;
  font-size:clamp(42px,6vw,92px) !important;
  line-height:.92 !important;
  letter-spacing:-.06em;
  text-transform:uppercase;
}

.journal-pullquote.tone-yellow{background:var(--yellow);color:#111}
.journal-pullquote.tone-red{background:var(--red);color:#fff}
.journal-pullquote.tone-blue{background:var(--blue);color:#fff}
.journal-pullquote.tone-black{background:#000;color:#fff}

.journal-next-story{
  display:grid;
  grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);
  gap:clamp(30px,5vw,85px);
  padding:clamp(55px,7vw,100px) 0;
  margin-top:40px;
  border-top:1px solid #111;
  border-bottom:1px solid #111;
}

.journal-next-story h2{
  margin:28px 0 20px;
  max-width:10ch;
  font-size:clamp(38px,5vw,76px);
  line-height:.9;
  letter-spacing:-.055em;
  text-transform:uppercase;
}

.journal-next-story p{
  max-width:34ch;
  margin:0 0 26px;
  font-size:16px !important;
}

.journal-next-image img{
  width:100%;
  height:auto;
  max-height:65vh;
  object-fit:cover;
}

.journal-entry-nav{
  margin-top:26px;
  justify-content:space-between;
}

.journal-card-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
  font-size:10px;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.journal-cards-rich .journal-card h2{
  margin-top:14px;
}

/* Long form should breathe on smaller screens as well */
@media(max-width:1000px){
  .journal-article-head{
    grid-template-columns:1fr;
  }
  .journal-head-deck{
    max-width:560px;
  }
  .journal-lede-grid{
    grid-template-columns:1fr;
  }
  .journal-lede{
    max-width:19ch;
  }
  .journal-contents{
    max-width:640px;
  }
  .journal-section{
    grid-template-columns:60px minmax(200px,.7fr) minmax(0,1.3fr);
    gap:24px;
  }
}

@media(max-width:760px){
  .journal-article{
    padding-top:120px;
  }
  .journal-article-head h1{
    font-size:clamp(50px,14vw,82px);
  }
  .journal-section{
    grid-template-columns:1fr;
    gap:12px;
  }
  .journal-section-title h2{
    max-width:15ch;
  }
  .journal-image-pair,
  .journal-image-pair.is-reverse,
  .journal-image-tail{
    grid-template-columns:1fr;
  }
  .journal-image-pair figure:nth-child(2),
  .journal-image-pair.is-reverse figure:first-child{
    margin-top:0;
  }
  .journal-pullquote p{
    font-size:clamp(36px,11vw,60px) !important;
  }
  .journal-next-story{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   V4.26 — JOURNAL HEADER COLLISION FIX
   Only the real Mauer navigation bar is fixed.
   Editorial <header> elements remain in normal document flow.
   ========================================================= */

.site-header{
  z-index:1000 !important;
}

/* Defensive reset: article headers must never inherit the site navigation bar */
.journal-article-head{
  position:static !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  z-index:auto !important;
  width:auto !important;
  height:auto !important;
  min-height:0 !important;
  padding:14px 0 0 !important;
  background:transparent !important;
  backdrop-filter:none !important;
  box-shadow:none !important;
  border-bottom:0 !important;
}

/* Keep all journal content visibly below the fixed Mauer navigation */
.journal-article{
  position:relative;
  z-index:1;
}

/* Anchor jumps should never hide section titles under the fixed menu */
.journal-section,
.journal-lede-grid,
.journal-pullquote{
  scroll-margin-top:125px;
}

@media(max-width:900px){
  .journal-section,
  .journal-lede-grid,
  .journal-pullquote{
    scroll-margin-top:105px;
  }
}
\n\n/* V4.30 richer image rhythm */\n.exhibition-documentation .media-grid,\n.artist-gallery{gap:clamp(12px,1.6vw,24px);}\n.exhibition-documentation .media-grid figure:nth-child(5n+1),\n.artist-gallery figure:nth-child(5n+1){grid-column:span 2;}\n@media(max-width:760px){\n .exhibition-documentation .media-grid figure:nth-child(5n+1),\n .artist-gallery figure:nth-child(5n+1){grid-column:auto;}\n}\n
/* V4.32 — mobile QA hardening + real navigation */
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,video,iframe,svg{max-width:100%}
main,section,article,header,footer,div,figure,nav{min-width:0}
.entry-body,.journal-body,.journal-section-body,.journal-section-title,.show-caption,.programme-row,.related-show{overflow-wrap:anywhere;word-break:normal}

.mobile-menu-toggle{display:none;border:0;background:transparent;padding:12px 0;font:inherit;font-size:10px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.mobile-nav{display:none}

@media(max-width:900px){
 .site-header{height:78px;grid-template-columns:minmax(0,1fr) auto!important;gap:12px;padding-left:18px;padding-right:18px}
 .site-header:after{content:none!important}
 .site-header>nav,.site-header>.right{display:none!important}
 .mobile-menu-toggle{display:block;position:relative;z-index:1002}
 .mobile-nav{display:none;position:fixed;z-index:999;top:78px;left:0;right:0;bottom:0;background:var(--paper,#f3f3ef);padding:26px 18px 40px;overflow-y:auto;border-top:1px solid #111}
 body.admin-bar .mobile-nav{top:124px}
 .mobile-nav.is-open{display:flex;flex-direction:column}
 .mobile-nav a{display:block;padding:13px 0;border-bottom:1px solid #111;font-size:clamp(27px,8vw,44px);line-height:.95;letter-spacing:-.04em;text-transform:uppercase;text-decoration:none;color:#111}
 .mobile-nav .mobile-external{margin-top:22px;font-size:14px;letter-spacing:0;text-transform:none}
 body.mobile-menu-open{overflow:hidden}
 main{padding-top:78px!important}
 .archive-page,.content-page,.single-entry,.exhibition-entry,.artist-entry,.journal-article{padding-left:18px!important;padding-right:18px!important}
 .archive-page,.content-page{width:100%;max-width:100%}
 h1,h2,h3,.journal-article-head h1,.source-band h2,.curator-copy h2,.visit-copy h2{max-width:100%;overflow-wrap:anywhere}
 .journal-section,.journal-lede-grid,.journal-image-pair,.journal-image-tail,.journal-next-story,.programme-row,.related-show,.exhibition-story,.source-band,.artist-body,.gallery-life-copy,.collector-cta{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)!important}
 .journal-section>* ,.journal-lede-grid>* ,.journal-next-story>*{min-width:0;max-width:100%}
 .journal-pullquote{width:100%;max-width:100%;padding-left:18px!important;padding-right:18px!important}
 .journal-pullquote p{max-width:100%!important;overflow-wrap:anywhere}
 .journal-image-pair figure,.journal-image-tail figure,.media-grid figure,.artist-gallery figure{width:100%;max-width:100%}
 .show-caption{flex-direction:column;gap:7px}
 .show-caption span{text-align:left}
 .entry-nav{flex-wrap:wrap}
}
@media(max-width:782px){body.admin-bar .site-header{top:46px!important}}
@media(max-width:600px){body.admin-bar .site-header{top:0!important}body.admin-bar .mobile-nav{top:78px}}


/* V4.33 — iPhone card clipping + tactile hamburger + Mauer colour rails */
@media(max-width:900px){
  .mobile-menu-toggle{
    width:54px;height:54px;padding:0!important;display:flex!important;align-items:center;justify-content:center;
    border:0;background:transparent;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;
  }
  .hamburger-lines{width:27px;height:20px;display:flex;flex-direction:column;justify-content:space-between;position:relative}
  .hamburger-lines i{display:block;width:100%;height:2px;background:#0062C4;transform-origin:center;transition:transform .2s ease,opacity .15s ease}
  .mobile-menu-toggle .menu-word{position:absolute;right:0;top:45px;font-size:8px;letter-spacing:.14em;text-transform:uppercase;opacity:0;pointer-events:none}
  .mobile-menu-toggle.is-open .hamburger-lines i:nth-child(1){transform:translateY(9px) rotate(45deg)}
  .mobile-menu-toggle.is-open .hamburger-lines i:nth-child(2){opacity:0}
  .mobile-menu-toggle.is-open .hamburger-lines i:nth-child(3){transform:translateY(-9px) rotate(-45deg)}

  .mobile-nav{padding:18px 18px 34px!important}
  .mobile-nav a:not(.mobile-external){position:relative;border-bottom:0!important;padding:20px 4px 19px!important}
  .mobile-nav a:not(.mobile-external)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:#111}
  .mobile-nav a.nav-red::after{background:var(--red)}
  .mobile-nav a.nav-yellow::after{background:var(--yellow)}
  .mobile-nav a.nav-blue::after{background:var(--blue)}
  .mobile-nav a.nav-purple::after{background:var(--purple)}
  .mobile-nav .mobile-external{border-bottom:0!important;padding:13px 4px!important}

  /* Never constrain a programme card to an inherited/equal row height on mobile. */
  .show-grid.programme-grid{align-items:start!important;grid-auto-rows:auto!important}
  .show-grid.programme-grid .show-card{height:auto!important;min-height:0!important;overflow:visible!important;align-self:start!important}
  .programme-grid .show-card a{height:auto!important;min-height:0!important;overflow:visible!important;display:flex!important;flex-direction:column!important}
  .programme-grid .show-image,.programme-grid .ratio-wide .show-image,.programme-grid .ratio-tall .show-image,.programme-grid .ratio-square .show-image{
    width:100%!important;height:auto!important;aspect-ratio:4/3!important;flex:none!important;overflow:hidden!important
  }
  .programme-grid .show-image img{width:100%!important;height:100%!important;object-fit:cover!important}
  .programme-grid .show-caption{height:auto!important;min-height:0!important;overflow:visible!important;flex:none!important;padding:14px 14px 18px!important}
  .programme-grid .show-caption strong{font-size:clamp(18px,5vw,23px)!important;line-height:1.08!important;overflow:visible!important;padding-bottom:2px!important}
  .programme-grid .show-caption span{font-size:10px!important;line-height:1.25!important}
}
@media(max-width:480px){
  .show-grid.programme-grid{grid-template-columns:minmax(0,1fr)!important;gap:18px!important}
}

/* V4.39 — mobile archive heading: keep EXHIBITIONS on one clean line */
@media(max-width:900px){
  .archive-page .archive-head{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    gap:10px!important;
    min-height:0!important;
    padding:16px 0 18px!important;
  }
  .archive-page .archive-head h1{
    margin:0!important;
    max-width:100%!important;
    width:100%!important;
    font-size:clamp(42px,13.2vw,64px)!important;
    line-height:.88!important;
    letter-spacing:-.06em!important;
    white-space:nowrap!important;
    overflow:visible!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  .archive-page .archive-head .label{
    margin:0!important;
    font-size:10px!important;
    line-height:1.25!important;
  }
}

/* V4.40 — fluid mobile display typography.
   Keep Mauer's display type as large as the viewport allows, but never split a word. */
@media (max-width:900px){
  /* Global safety for the large editorial display heads. */
  .current-head h2,
  .archive-head h2,
  .journal-head h2,
  .archive-page .archive-head h1,
  .hero h1{
    max-width:100%!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
    text-wrap:balance;
  }

  /* Current exhibition hero: one emphatic line, scaled to the phone. */
  .hero h1{
    font-size:clamp(52px,14.4vw,92px)!important;
    line-height:.82!important;
    letter-spacing:-.065em!important;
    white-space:nowrap!important;
  }

  /* NOW is short, so let it stay enormous. */
  .current-head h2{
    font-size:clamp(72px,22vw,112px)!important;
    line-height:.82!important;
    white-space:nowrap!important;
  }

  /* PAST EXHIBITIONS: two intact words, never EXHIBITI / ONS. */
  .archive:not(.archive-page) .archive-head h2{
    font-size:clamp(50px,14.2vw,74px)!important;
    line-height:.82!important;
    letter-spacing:-.06em!important;
    white-space:normal!important;
  }
  .archive:not(.archive-page) .archive-head h2 br{display:none!important}

  /* Standalone Exhibitions archive: maximum single-line size that fits. */
  .archive-page .archive-head h1{
    font-size:clamp(44px,13.6vw,72px)!important;
    line-height:.84!important;
    letter-spacing:-.062em!important;
    white-space:nowrap!important;
  }

  /* Labels must yield space to the display title instead of squeezing it. */
  .current-head,
  .archive-head,
  .journal-head{
    min-width:0!important;
  }
  .current-head .label,
  .archive-head .label,
  .journal-head .label{
    min-width:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

@media (max-width:390px){
  .hero h1{font-size:13.9vw!important}
  .archive:not(.archive-page) .archive-head h2{font-size:13.8vw!important}
  .archive-page .archive-head h1{font-size:13.1vw!important}
}

/* V4.41 — mobile display titles: maximum clean scale, no collisions. */
@media (max-width:900px){
  /* Home NOW: same display scale as the other large section heads. */
  .current-head{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(118px,.72fr)!important;
    align-items:center!important;
    column-gap:18px!important;
  }
  .current-head h2{
    font-size:clamp(50px,14.2vw,74px)!important;
    line-height:.82!important;
    letter-spacing:-.06em!important;
    white-space:nowrap!important;
    min-width:0!important;
  }
  .current-head .label{
    position:relative!important;
    z-index:2!important;
    margin:0!important;
    max-width:100%!important;
  }

  /* Actual Exhibitions archive template uses .archive.content-page, not .archive-page. */
  body.post-type-archive-mg_exhibition .archive.content-page .archive-head{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:start!important;
    min-height:0!important;
    padding:16px 0 20px!important;
  }
  body.post-type-archive-mg_exhibition .archive.content-page .archive-head h1{
    margin:0!important;
    width:100%!important;
    max-width:100%!important;
    font-size:clamp(46px,13.3vw,72px)!important;
    line-height:.84!important;
    letter-spacing:-.062em!important;
    white-space:nowrap!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
  body.post-type-archive-mg_exhibition .archive.content-page .archive-head .label{
    margin:0!important;
    font-size:10px!important;
    line-height:1.25!important;
  }
}
@media (max-width:390px){
  .current-head h2{font-size:13.8vw!important}
  body.post-type-archive-mg_exhibition .archive.content-page .archive-head h1{font-size:12.9vw!important}
}


/* =========================================================
   V4.44 — ANIMATION ART EDITORIAL
   Curatorial hierarchy, studio and author context, current flyer.
   ========================================================= */

.animation-intro-grid .info-copy p:nth-child(3){
  margin-top:clamp(34px,4vw,64px);
}

.animation-editorial{
  max-width:1500px;
  margin:0 auto;
  padding:0 var(--pad) clamp(90px,10vw,150px);
}
.animation-editorial-intro{
  border-top:1px solid #111;
  padding-top:18px;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);
  gap:clamp(36px,7vw,110px);
  align-items:end;
}
.animation-editorial-intro h2{
  margin:18px 0 0;
  max-width:10ch;
  font-size:clamp(50px,7vw,104px);
  line-height:.86;
  letter-spacing:-.065em;
  text-transform:uppercase;
  color:var(--blue);
}
.animation-editorial-intro > p{
  margin:0 0 .2em;
  max-width:32ch;
  font-size:clamp(19px,1.9vw,28px) !important;
  line-height:1.25 !important;
  letter-spacing:-.02em;
}
.animation-editorial-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:clamp(48px,6vw,90px);
}
.animation-editorial-card{
  min-height:390px;
  padding:clamp(24px,3vw,46px);
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  border:1px solid #111;
}
.animation-editorial-card:first-child{
  grid-column:1 / -1;
  min-height:340px;
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  column-gap:clamp(36px,7vw,110px);
  align-content:start;
}
.animation-editorial-card:first-child .label{
  grid-column:1;
}
.animation-editorial-card:first-child h3{
  grid-column:1;
}
.animation-editorial-card:first-child p{
  grid-column:2;
  grid-row:1 / span 2;
  align-self:end;
  margin-top:0;
}
.animation-editorial-card--black{
  background:#000;
  color:#fff;
}
.animation-editorial-card--black .label{
  color:#fff;
}
.animation-editorial-card--yellow{
  background:var(--yellow);
  color:#111;
}
.animation-editorial-card--red{
  background:var(--red);
  color:#fff;
}
.animation-editorial-card--red .label{
  color:#fff;
}
.animation-editorial-card h3{
  margin:18px 0 28px;
  max-width:11ch;
  font-size:clamp(34px,4.2vw,66px);
  line-height:.9;
  letter-spacing:-.055em;
  text-transform:uppercase;
}
.animation-editorial-card p{
  margin:auto 0 0;
  max-width:48ch;
  font-size:clamp(16.5px,1.25vw,20px) !important;
  line-height:1.5 !important;
}
.animation-editorial-card em,
.animation-range em{
  font-style:italic;
}
.animation-range{
  margin-top:18px;
  padding:22px 0 0;
  border-top:1px solid #111;
  display:grid;
  grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr);
  gap:clamp(30px,6vw,90px);
}
.animation-range p{
  margin:0;
  max-width:58ch;
  font-size:clamp(20px,2.1vw,31px) !important;
  line-height:1.27 !important;
  letter-spacing:-.025em;
}
.animation-grid .animation-poster{
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.animation-grid .animation-poster img{
  width:100%;
  height:auto;
  max-height:78vh;
  object-fit:contain;
  padding:clamp(10px,1.4vw,20px);
  background:#fff;
}

@media(max-width:900px){
  .animation-editorial-intro,
  .animation-editorial-card:first-child,
  .animation-range{
    grid-template-columns:1fr;
  }
  .animation-editorial-intro{
    gap:28px;
  }
  .animation-editorial-grid{
    grid-template-columns:1fr;
  }
  .animation-editorial-card:first-child{
    grid-column:auto;
    display:flex;
  }
  .animation-editorial-card:first-child p{
    margin-top:auto;
  }
  .animation-range{
    gap:14px;
  }
}

@media(max-width:640px){
  .animation-editorial-card{
    min-height:0;
  }
  .animation-editorial-card p{
    margin-top:24px;
  }
  .animation-intro-grid .info-copy p:nth-child(3){
    margin-top:30px;
  }
}

/* V4.46 — Animation Art keeps the strong coloured card composition from the approved direction */
.animation-board{
  max-width:1500px;
  margin:0 auto;
  padding:0 var(--pad) 18px;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.animation-board--first{padding-bottom:18px}
.animation-board--last{padding-bottom:clamp(72px,8vw,120px)}
.animation-board + .animation-board{padding-top:18px}
.animation-text-card,
.animation-image-panel{
  min-height:100%;
}
.animation-text-card{
  grid-column:span 5;
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  border:1px solid #111;
}
.animation-text-card--black{background:#111;color:#fff}
.animation-text-card--yellow{background:var(--yellow);color:#111}
.animation-text-card--red{background:var(--red);color:#fff}
.animation-text-card--blue{background:var(--blue);color:#fff}
.animation-text-card .label{margin-bottom:18px}
.animation-text-card h2{
  font-size:clamp(40px,5.2vw,78px);
  line-height:.9;
  letter-spacing:-.06em;
  margin:0 0 24px;
  max-width:10ch;
}
.animation-text-card p{
  font-size:clamp(18px,1.85vw,29px);
  line-height:1.23;
  letter-spacing:-.028em;
  margin:0 0 16px;
  max-width:31ch;
}
.animation-text-card p:last-of-type{margin-bottom:0}
.animation-card-links{
  display:flex;
  flex-wrap:wrap;
  gap:12px 22px;
  margin-top:20px;
}
.animation-text-card .smalllink{border-bottom-color:currentColor}
.animation-image-panel{
  grid-column:span 7;
  border:1px solid #111;
  padding:10px;
  display:grid;
  gap:10px;
}
.animation-image-panel figure{
  margin:0;
  background:#fff;
  overflow:hidden;
}
.animation-image-panel img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  background:#fff;
}
.animation-image-panel--yellow{background:var(--yellow)}
.animation-image-panel--red{background:var(--red)}
.animation-image-panel--blue{background:var(--blue)}
.animation-image-panel--paper{background:var(--paper)}
.animation-image-panel--single{grid-template-columns:1fr}
.animation-image-panel--single figure{min-height:520px}
.animation-image-panel--single img{object-fit:cover}
.animation-image-panel--quad{
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:1fr;
}
.animation-image-panel--duo{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.animation-image-panel--quad figure,
.animation-image-panel--duo figure{aspect-ratio:1/1}
.animation-board--reverse .animation-image-panel{grid-column:span 7}
.animation-board--reverse .animation-text-card{grid-column:span 5}
.animation-shows,
.animation-contact{
  max-width:1500px;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
}
.animation-contact{margin-bottom:clamp(90px,10vw,150px)}
@media(max-width:1100px){
  .animation-text-card,.animation-board--reverse .animation-text-card,
  .animation-image-panel,.animation-board--reverse .animation-image-panel{grid-column:span 6}
  .animation-text-card h2{font-size:clamp(34px,4.7vw,64px)}
}
@media(max-width:760px){
  .animation-board{grid-template-columns:1fr}
  .animation-text-card,.animation-board--reverse .animation-text-card,
  .animation-image-panel,.animation-board--reverse .animation-image-panel{grid-column:auto}
  .animation-text-card p{max-width:none}
  .animation-image-panel--single figure{min-height:0}
}
@media(max-width:560px){
  .animation-image-panel--quad,
  .animation-image-panel--duo{grid-template-columns:1fr}
  .animation-image-panel--quad figure,
  .animation-image-panel--duo figure{aspect-ratio:auto}
  .animation-image-panel img{height:auto}
}

/* V4.47 — first Animation Art pair is governed by the CEL A VIE 3 flyer ratio */
.animation-board--first{
  align-items:stretch;
}
.animation-board--first .animation-image-panel--single{
  align-self:start;
  display:block;
  min-height:0;
}
.animation-board--first .animation-image-panel--single figure{
  min-height:0;
  height:auto;
  margin:0;
}
.animation-board--first .animation-image-panel--single img{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
}
.animation-board--first .animation-text-card{
  align-self:stretch;
  height:100%;
}
@media(max-width:760px){
  .animation-board--first{
    display:flex;
    flex-direction:column-reverse;
    gap:18px;
  }
  .animation-board--first .animation-image-panel--single,
  .animation-board--first .animation-text-card{
    width:100%;
    height:auto;
  }
  .animation-board--first .animation-image-panel--single img{
    width:100%;
    height:auto;
    object-fit:contain;
  }
}

/* V4.51 — first rows stay visually locked with no dead gap */
@media(min-width:1101px){
  .animation-board--flyer-master .animation-text-card{
    padding:16px 18px;
  }
  .animation-board--flyer-master .animation-text-card .label{
    margin-bottom:10px;
  }
  .animation-board--flyer-master .animation-text-card h2{
    font-size:clamp(38px,3.6vw,56px);
    line-height:.9;
    max-width:none;
    margin-bottom:14px;
  }
  .animation-board--flyer-master .animation-text-card p{
    font-size:clamp(14px,1.2vw,18px);
    line-height:1.32;
    max-width:none;
    margin-bottom:9px;
  }
  .animation-board--flyer-master .animation-card-links{
    margin-top:12px;
  }
  .animation-board--flyer-master .animation-flyer-master,
  .animation-board--flyer-master .animation-flyer-master figure{
    height:auto;
    min-height:0;
  }
  .animation-board--flyer-master .animation-flyer-master img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
  }

  .visit-board-first .animation-image-panel--single,
  .visit-board-first .animation-image-panel--single figure{
    height:100%;
    min-height:0;
  }
  .visit-board-first .animation-image-panel--single img{
    width:100%;
    height:100%;
    max-height:none;
    object-fit:cover;
  }
}

@media(max-width:1100px){
  .animation-board--flyer-master{
    display:flex;
    flex-direction:column-reverse;
    gap:18px;
  }
  .animation-board--flyer-master .animation-image-panel,
  .animation-board--flyer-master .animation-text-card{
    width:100%;
    height:auto;
  }
  .animation-board--flyer-master .animation-flyer-master img{
    width:100%;
    height:auto;
    object-fit:contain;
  }
}

/* V4.53 — Exhibit at Mauer */
.exhibit-mauer{
  max-width:1500px;
  margin:0 auto;
  padding:clamp(70px,9vw,130px) var(--pad) 18px;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
}
.exhibit-intro{
  grid-column:span 5;
  background:#111;
  color:#fff;
  border:1px solid #111;
  padding:clamp(24px,3vw,42px);
}
.exhibit-intro h2,
.exhibit-request-copy h2,
.artists-exhibit-cta h2{
  font-size:clamp(42px,5.8vw,84px);
  line-height:.9;
  letter-spacing:-.06em;
  margin:14px 0 26px;
}
.exhibit-intro p,
.exhibit-request-copy p{
  font-size:clamp(18px,1.7vw,26px);
  line-height:1.28;
  letter-spacing:-.02em;
  margin:0 0 18px;
}
.exhibit-package{
  grid-column:span 7;
  background:var(--yellow);
  border:1px solid #111;
  padding:clamp(24px,3vw,42px);
}
.exhibit-price{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 20px;
  align-items:end;
  border-bottom:1px solid #111;
  padding-bottom:22px;
  margin-bottom:22px;
}
.exhibit-price span{font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.exhibit-price strong{font-size:clamp(54px,7vw,104px);line-height:.78;letter-spacing:-.07em}
.exhibit-price em{grid-column:2;font-style:normal;font-size:10px;letter-spacing:.12em;text-transform:uppercase;text-align:right}
.exhibit-includes{border-top:1px solid #111}
.exhibit-includes>div{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid #111}
.exhibit-includes strong{font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.exhibit-includes span{font-size:16px;line-height:1.35}
.exhibit-smallprint{font-size:12px;line-height:1.5;margin:20px 0 0;max-width:75ch}

.exhibit-request{
  max-width:1500px;
  margin:0 auto;
  padding:18px var(--pad) clamp(90px,10vw,150px);
  display:grid;
  grid-template-columns:5fr 7fr;
  gap:18px;
}
.exhibit-request-copy{background:var(--blue);color:#fff;border:1px solid #111;padding:clamp(24px,3vw,42px)}
.exhibit-form{background:#fff;border:1px solid #111;padding:clamp(24px,3vw,42px)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.exhibit-form label{display:block}
.exhibit-form label>span{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}
.exhibit-form input[type="text"],
.exhibit-form input[type="email"],
.exhibit-form input[type="url"],
.exhibit-form input[type="date"],
.exhibit-form textarea{
  width:100%;
  border:1px solid #111;
  background:var(--paper);
  border-radius:0;
  padding:13px 12px;
  font:inherit;
  color:#111;
}
.exhibit-form textarea{resize:vertical;min-height:170px}
.form-wide{margin-top:18px}
.form-consent{display:grid !important;grid-template-columns:auto 1fr;gap:10px;align-items:start;margin:18px 0}
.form-consent>span{font-size:12px !important;letter-spacing:0 !important;text-transform:none !important;line-height:1.45;margin:0 !important}
.exhibit-form button{
  appearance:none;border:0;background:#111;color:#fff;padding:15px 20px;font:inherit;font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer
}
.exhibit-form button:hover{background:var(--red)}
.form-status{margin:18px 0 0;font-size:13px}.form-status--ok{font-weight:700}

.artists-exhibit-cta{
  max-width:1500px;
  margin:0 auto clamp(90px,10vw,150px);
  padding:clamp(36px,5vw,70px) var(--pad);
  background:var(--yellow);
  display:grid;
  grid-template-columns:180px 1fr;
  gap:var(--pad);
  border-top:1px solid #111;
  border-bottom:1px solid #111;
}
.artists-exhibit-cta h2{margin-top:0;max-width:12ch}
.artists-exhibit-cta p{font-size:clamp(18px,2vw,28px);line-height:1.25;max-width:34ch;margin:0 0 24px}
.artists-exhibit-cta a{font-size:11px;letter-spacing:.12em;text-transform:uppercase;border-bottom:1px solid #111}

@media(max-width:900px){
 .exhibit-mauer,.exhibit-request{grid-template-columns:1fr}
 .exhibit-intro,.exhibit-package{grid-column:auto}
 .artists-exhibit-cta{grid-template-columns:1fr;gap:18px}
}
@media(max-width:640px){
 .form-grid{grid-template-columns:1fr}
 .exhibit-includes>div{grid-template-columns:1fr;gap:5px}
 .exhibit-price{grid-template-columns:1fr}.exhibit-price em{grid-column:auto;text-align:left}
}
\n\n/* V4.55 — Visit / Book transition into the artist booking programme */\n.visit-book-divider{\n  max-width:1500px;\n  margin:clamp(36px,5vw,72px) auto 0;\n  padding:clamp(34px,5vw,64px) var(--pad) clamp(24px,3vw,40px);\n  border-top:1px solid #111;\n  display:grid;\n  grid-template-columns:minmax(150px,.45fr) minmax(0,1.1fr) minmax(280px,.85fr);\n  gap:var(--pad);\n  align-items:end;\n}\n.visit-book-divider h2{\n  font-size:clamp(44px,6vw,90px);\n  line-height:.9;\n  letter-spacing:-.06em;\n  margin:0;\n}\n.visit-book-divider p{\n  font-size:clamp(18px,2vw,28px);\n  line-height:1.25;\n  margin:0;\n  max-width:34ch;\n}\n@media(max-width:760px){\n  .visit-book-divider{grid-template-columns:1fr;align-items:start}\n}\n
/* V4.56 — booking terms are proposed after artistic review; no public price list */
.exhibit-proposal{
  border-bottom:1px solid #111;
  padding-bottom:22px;
  margin-bottom:22px;
}
.exhibit-proposal span{
  display:block;
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.exhibit-proposal strong{
  display:block;
  font-size:clamp(38px,5vw,74px);
  line-height:.9;
  letter-spacing:-.055em;
  max-width:10ch;
}
.exhibit-proposal p{
  font-size:16px;
  line-height:1.45;
  max-width:52ch;
  margin:18px 0 0;
}

/* V4.58 — visible booking gateway near the top of Visit / Book */
.visit-book-hero{
  max-width:1500px;
  margin:18px auto clamp(34px,4vw,56px);
  padding:0 var(--pad);
  display:grid;
  grid-template-columns:5fr 7fr;
  gap:18px;
  align-items:stretch;
}
.visit-book-hero-title{
  background:#111;
  color:#fff;
  border:1px solid #111;
  padding:clamp(26px,3.2vw,48px);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:360px;
}
.visit-book-hero-title h2{
  font-size:clamp(58px,8vw,118px);
  line-height:.82;
  letter-spacing:-.07em;
  text-transform:uppercase;
  margin:22px 0 0;
  max-width:6ch;
}
.visit-book-hero-copy{
  background:var(--yellow);
  border:1px solid #111;
  padding:clamp(26px,3.2vw,48px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.visit-book-hero-copy p{
  font-size:clamp(22px,2.55vw,38px);
  line-height:1.12;
  letter-spacing:-.035em;
  margin:0 0 18px;
  max-width:25ch;
}
.visit-book-hero-copy p strong{font-weight:700}
.visit-book-hero-copy .visit-book-hero-note{
  font-size:clamp(15px,1.3vw,19px);
  line-height:1.35;
  letter-spacing:-.01em;
  max-width:44ch;
  border-top:1px solid #111;
  padding-top:16px;
  margin-top:8px;
}
.visit-book-hero-link{
  display:inline-block;
  width:max-content;
  margin-top:10px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:1px solid #111;
}
@media(max-width:820px){
  .visit-book-hero{grid-template-columns:1fr}
  .visit-book-hero-title{min-height:260px}
  .visit-book-hero-copy p{max-width:none}
}

/* V4.59 — artist booking gateway directly below the exhibition programme */
.exhibitions-book-hero{
  margin:clamp(64px,8vw,120px) 0 0;
  display:grid;
  grid-template-columns:5fr 7fr;
  gap:18px;
  align-items:stretch;
}
.exhibitions-book-title{
  background:#111;
  color:#fff;
  border:1px solid #111;
  padding:clamp(26px,3.2vw,48px);
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.exhibitions-book-title h2{
  font-size:clamp(58px,8vw,118px);
  line-height:.82;
  letter-spacing:-.07em;
  text-transform:uppercase;
  margin:22px 0 0;
  max-width:6ch;
}
.exhibitions-book-copy{
  background:var(--yellow);
  border:1px solid #111;
  padding:clamp(26px,3.2vw,48px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.exhibitions-book-copy p{
  font-size:clamp(22px,2.55vw,38px);
  line-height:1.12;
  letter-spacing:-.035em;
  margin:0 0 18px;
  max-width:25ch;
}
.exhibitions-book-copy .exhibitions-book-note{
  font-size:clamp(15px,1.3vw,19px);
  line-height:1.35;
  letter-spacing:-.01em;
  max-width:44ch;
  border-top:1px solid #111;
  padding-top:16px;
  margin-top:8px;
}
.exhibitions-book-link{
  display:inline-block;
  width:max-content;
  margin-top:10px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  border-bottom:1px solid #111;
}
@media(max-width:820px){
  .exhibitions-book-hero{grid-template-columns:1fr}
  .exhibitions-book-title{min-height:260px}
  .exhibitions-book-copy p{max-width:none}
}

/* V4.60 — homepage CEL Ā VIE 3 preview grid directly under the hero */
.celavie-home-preview,
.celavie-home-story{
  max-width:1500px;
  margin:0 auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
}
.celavie-home-preview{
  padding-top:clamp(18px,3vw,28px);
  padding-bottom:18px;
}
.celavie-home-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.celavie-tile{
  margin:0;
  border:1px solid #111;
  padding:10px;
}
.celavie-tile--red{background:var(--red)}
.celavie-tile--yellow{background:var(--yellow)}
.celavie-tile--blue{background:var(--blue)}
.celavie-tile--black{background:#111}
.celavie-tile img{
  width:100%;
  height:100%;
  aspect-ratio:1/1;
  object-fit:contain;
  background:#fff;
  display:block;
}
.celavie-home-story{
  padding-top:0;
  padding-bottom:clamp(70px,8vw,110px);
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:18px;
}
.celavie-home-copy{
  grid-column:span 5;
}
.celavie-home-copy h2{
  max-width:11ch;
}
.celavie-home-image{
  grid-column:span 7;
  align-self:stretch;
}
.celavie-home-image figure{
  min-height:100%;
}
.celavie-home-image img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:contain;
  background:#fff;
}
@media(max-width:1100px){
  .celavie-home-copy,
  .celavie-home-image{grid-column:span 6}
}
@media(max-width:760px){
  .celavie-home-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .celavie-home-story{grid-template-columns:1fr}
  .celavie-home-copy,
  .celavie-home-image{grid-column:auto}
  .celavie-home-image img{min-height:0;height:auto}
}
@media(max-width:520px){
  .celavie-home-grid{grid-template-columns:1fr}
}

/* V4.61 — CEL A VIE 3 title integrity and dedicated editorial exhibition page */
.keep-together{
  white-space:nowrap;
  display:inline-block;
}
.hero h1 .keep-together,
.celavie3-top h1 .keep-together{
  white-space:nowrap;
}
.celavie3-entry{
  padding-left:0;
  padding-right:0;
}
.celavie3-top{
  padding-left:var(--pad);
  padding-right:var(--pad);
  margin-bottom:clamp(36px,5vw,64px);
}
.celavie3-top h1{
  max-width:none;
}
.celavie3-collector,
.celavie3-nav{
  max-width:1500px;
  margin-left:auto;
  margin-right:auto;
  padding-left:var(--pad);
  padding-right:var(--pad);
}
.celavie3-nav{
  padding-bottom:clamp(70px,8vw,110px);
}
@media(max-width:900px){
  .hero h1{
    max-width:none;
    font-size:clamp(58px,18vw,104px);
  }
}

/* V4.62 — stronger graphic Now mosaic on the homepage */
.current-now-v462{
  background:var(--paper);
  padding:clamp(48px,6vw,88px) var(--pad) clamp(72px,8vw,120px);
}
.current-now-v462 .current-head{
  margin-bottom:18px;
}
.now-mosaic-v462{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(240px,31vw));
  gap:18px;
}
.now-tile-v462{
  margin:0;
  border:1px solid #111;
  padding:10px;
  overflow:hidden;
}
.now-tile-v462--red{background:var(--red)}
.now-tile-v462--yellow{background:var(--yellow)}
.now-tile-v462--blue{background:var(--blue)}
.now-tile-v462--black{background:#111}
.now-tile-v462 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#fff;
}
.now-tile-v462--akira{
  grid-column:span 7;
  grid-row:span 2;
}
.now-tile-v462--harlock,
.now-tile-v462--lum{
  grid-column:span 5;
}
.now-tile-v462--goemon{
  display:none;
}
.now-tile-v462--akira img{object-position:58% 50%}
.now-tile-v462--harlock img{object-position:50% 48%}
.now-tile-v462--lum img{object-position:50% 50%}
.now-tile-v462--goemon img{object-position:50% 44%}
.now-mosaic-footer-v462{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:end;
  border-top:1px solid #111;
  margin-top:18px;
  padding-top:16px;
}
.now-mosaic-footer-v462 p{
  max-width:720px;
  margin:0;
  font-size:clamp(17px,1.65vw,25px);
  line-height:1.28;
  letter-spacing:-.02em;
}

/* Also upgrade the legacy four-image Now strip if cached/older markup is still rendered. */
.now-strip{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  background:transparent !important;
}
.now-strip figure{
  margin:0 !important;
  aspect-ratio:1/1 !important;
  border:1px solid #111 !important;
  padding:10px !important;
  overflow:hidden !important;
}
.now-strip figure:nth-child(4n+1){background:var(--red) !important}
.now-strip figure:nth-child(4n+2){background:var(--yellow) !important}
.now-strip figure:nth-child(4n+3){background:var(--blue) !important}
.now-strip figure:nth-child(4n+4){background:#111 !important}
.now-strip img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  padding:0 !important;
  background:#fff !important;
}

@media(min-width:1180px){
  .now-mosaic-v462{
    grid-template-columns:repeat(12,minmax(0,1fr));
    grid-template-rows:repeat(2,minmax(280px,28vw));
  }
  .now-tile-v462--akira{grid-column:span 7;grid-row:span 2}
  .now-tile-v462--harlock{grid-column:span 5}
  .now-tile-v462--lum{grid-column:span 5}
}
@media(max-width:900px){
  .now-mosaic-v462{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-rows:auto;
  }
  .now-tile-v462--akira,
  .now-tile-v462--harlock,
  .now-tile-v462--lum,
  .now-tile-v462--goemon{
    grid-column:auto;
    grid-row:auto;
    aspect-ratio:1/1;
  }
  .now-tile-v462--goemon{display:block}
  .now-mosaic-footer-v462{grid-template-columns:1fr;gap:14px}
}
@media(max-width:560px){
  .now-mosaic-v462{grid-template-columns:1fr}
  .now-tile-v462{aspect-ratio:1/1}
}

/* V4.63 — CEL Ā VIE 3 chapter title uses two intentional lines */
.celavie3-chapter-title > span{
  display:block;
}
.celavie3-chapter-title > span:last-child{
  white-space:nowrap;
}

/* V4.64 — homepage NOW block rebuilt as a compact graphic grid */
.current-now-v464{
  max-width:1500px;
  margin:0 auto;
  padding:0 var(--pad) clamp(78px,9vw,120px);
}
.now-layout-v464{
  display:grid;
  grid-template-columns:minmax(260px, 0.9fr) minmax(0, 1.7fr);
  gap:18px;
  align-items:start;
}
.now-copy-v464{
  min-height:100%;
}
.now-copy-v464 h2{
  font-size:clamp(72px, 12vw, 150px);
  line-height:.86;
  letter-spacing:-.045em;
}
.now-copy-v464 p{
  max-width:40ch;
}
.now-grid-v464{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.now-tile-v464{
  margin:0;
  border:1px solid #111;
  padding:10px;
}
.now-tile-v464--red{background:var(--red)}
.now-tile-v464--yellow{background:var(--yellow)}
.now-tile-v464--blue{background:var(--blue)}
.now-tile-v464--black{background:#111}
.now-tile-v464 img{
  width:100%;
  aspect-ratio:1/1;
  display:block;
  object-fit:cover;
  background:#fff;
}
.now-grid-v464 figure:nth-child(1) img{object-position:50% 44%}
.now-grid-v464 figure:nth-child(2) img{object-position:50% 48%}
.now-grid-v464 figure:nth-child(3) img{object-position:50% 38%}
.now-grid-v464 figure:nth-child(4) img{object-position:52% 42%}
.now-grid-v464 figure:nth-child(5) img{object-position:50% 48%}
.now-grid-v464 figure:nth-child(6) img{object-position:50% 43%}
.now-grid-v464 figure:nth-child(7) img{object-position:50% 52%}
.now-grid-v464 figure:nth-child(8) img{object-position:40% 47%}
.now-grid-v464 figure:nth-child(9) img{object-position:55% 48%}
.now-grid-v464 figure:nth-child(10) img{object-position:54% 44%}
@media(max-width:1200px){
  .now-layout-v464{grid-template-columns:1fr}
  .now-copy-v464{min-height:auto}
}
@media(max-width:900px){
  .now-grid-v464{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .now-grid-v464{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:460px){
  .now-grid-v464{grid-template-columns:1fr}
}

/* V4.65 — NOW returns to a full-width editorial section; images are the focus */
.current-now-v465{
  max-width:none;
  background:var(--paper);
  padding:clamp(62px,7vw,96px) var(--pad) clamp(82px,9vw,126px);
}
.now-head-v465{
  max-width:1500px;
  margin-left:auto;
  margin-right:auto;
  margin-bottom:18px;
}
.now-head-v465 h2{
  text-transform:uppercase;
}
.now-grid-v465{
  max-width:1500px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:18px;
}
.now-tile-v465{
  margin:0;
  aspect-ratio:1/1;
  border:1px solid #111;
  padding:10px;
  overflow:hidden;
}
.now-tile-v465--red{background:var(--red)}
.now-tile-v465--yellow{background:var(--yellow)}
.now-tile-v465--blue{background:var(--blue)}
.now-tile-v465--black{background:#111}
.now-tile-v465 img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  background:#fff;
}
.now-grid-v465 figure:nth-child(1) img{object-position:50% 42%}
.now-grid-v465 figure:nth-child(2) img{object-position:50% 48%}
.now-grid-v465 figure:nth-child(3) img{object-position:50% 36%}
.now-grid-v465 figure:nth-child(4) img{object-position:50% 44%}
.now-grid-v465 figure:nth-child(5) img{object-position:50% 48%}
.now-grid-v465 figure:nth-child(6) img{object-position:50% 43%}
.now-grid-v465 figure:nth-child(7) img{object-position:50% 50%}
.now-grid-v465 figure:nth-child(8) img{object-position:36% 48%}
.now-grid-v465 figure:nth-child(9) img{object-position:55% 48%}
.now-grid-v465 figure:nth-child(10) img{object-position:52% 44%}
.now-footer-v465{
  max-width:1500px;
  margin:18px auto 0;
  padding-top:16px;
  border-top:1px solid #111;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:30px;
  align-items:end;
}
.now-footer-v465 p{
  margin:0;
  max-width:760px;
  font-size:clamp(17px,1.65vw,24px);
  line-height:1.28;
  letter-spacing:-.02em;
}
@media(max-width:980px){
  .now-grid-v465{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:640px){
  .now-grid-v465{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .now-tile-v465{padding:8px}
  .now-footer-v465{grid-template-columns:1fr;gap:14px}
}
/* V4.66 — NOW: Ranma replaces the repeated Dragonar image */
.now-grid-v464 figure:nth-child(7) img{object-position:50% 36%}

/* V4.67 — every colored square image cell is full-bleed and center-cropped */
.now-tile-v465,
.now-tile-v464,
.celavie-tile,
.animation-image-panel--quad figure,
.animation-image-panel--duo figure{
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
}

.now-tile-v465 img,
.now-tile-v464 img,
.celavie-tile img,
.animation-image-panel--quad figure img,
.animation-image-panel--duo figure img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

/* Square programme cards follow the same crop rule. */
.show-card.ratio-square .show-image{
  aspect-ratio:1/1 !important;
  overflow:hidden !important;
}
.show-card.ratio-square .show-image img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
