/*
Theme Name: Mauer Gallery V4.31
Theme URI: https://mauergallery.com
Author: Mauer Gallery
Description: Exact WordPress port of the approved Mauer Gallery Visual V4.
Version: 4.31.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