/* =========================================================
   MAUER HOME V4 — IMMERSIVE 2026/27
   ========================================================= */

.mghome4{
  --mgh-paper:#f1f0eb;
  --mgh-black:#090909;
  --mgh-white:#f7f6f1;
  background:var(--mgh-paper);
  color:var(--mg-ink);
  overflow:clip;
}
.mghome4 figure{margin:0}
.mghome4 img{display:block;max-width:100%}
.mghome4 .label{
  font-size:10px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.mghome4 .mg-arrow-link{
  display:inline-flex;
  gap:12px;
  align-items:center;
  width:max-content;
  padding-bottom:4px;
  border-bottom:1px solid currentColor;
  font-size:10px;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* HERO ----------------------------------------------------- */
.mghome4 .mghero{
  position:relative;
  height:188svh;
  background:#070707;
  color:#fff;
}
.mghome4 .mghero-stage{
  position:sticky;
  top:var(--mg-header-h);
  height:calc(100svh - var(--mg-header-h));
  min-height:650px;
  overflow:hidden;
  isolation:isolate;
  background:#070707;
}
.mghome4 .mghero-room{
  position:absolute;
  inset:-3%;
  z-index:0;
  overflow:hidden;
}
.mghome4 .mghero-room img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.86) contrast(1.06) brightness(.74);
  transform:scale(1.04);
}
.mghome4 .mghero-shade{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(4,4,4,.97) 0%,rgba(4,4,4,.91) 29%,rgba(4,4,4,.65) 42%,rgba(4,4,4,.20) 68%,rgba(4,4,4,.35) 100%),
    linear-gradient(180deg,rgba(0,0,0,.28),transparent 25%,transparent 72%,rgba(0,0,0,.52));
}
.mghome4 .mghero-kicker{
  position:absolute;
  z-index:30;
  top:clamp(22px,2.6vw,40px);
  left:var(--mg-gutter);
  right:var(--mg-gutter);
  display:flex;
  justify-content:space-between;
  gap:24px;
  color:rgba(255,255,255,.66);
  font-size:10px;
  line-height:1;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.mghome4 .mghero-kicker span:first-child::before{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  margin-right:10px;
  background:var(--mg-yellow);
}
.mghome4 .mghero-title{
  position:absolute;
  z-index:30;
  left:var(--mg-gutter);
  bottom:clamp(34px,5vw,76px);
  width:min(36vw,600px);
  pointer-events:none;
}
.mghome4 .mghero-title h1{
  margin:0 0 18px;
  max-width:7ch;
  color:#fff!important;
  background:none!important;
  font-size:clamp(76px,8.4vw,148px);
  line-height:.79;
  letter-spacing:-.075em;
  text-transform:uppercase;
}
.mghome4 .mghero-title p{
  margin:0;
  max-width:18ch;
  color:rgba(255,255,255,.86);
  font-size:clamp(20px,1.9vw,30px);
  line-height:1.06;
  letter-spacing:-.035em;
}
.mghome4 .mghero-copy{
  position:absolute;
  z-index:31;
  left:var(--mg-gutter);
  top:17%;
  width:min(30vw,490px);
  color:#fff;
}
.mghome4 .mghero-copy::before{
  content:"";
  position:absolute;
  inset:-24px -32px -24px -18px;
  z-index:-1;
  background:linear-gradient(90deg,rgba(5,5,5,.52),rgba(5,5,5,.18) 74%,transparent);
}
.mghome4 .mghero-deck{
  margin:0 0 26px;
  max-width:21ch;
  font-size:clamp(22px,2vw,32px);
  line-height:1.08;
  letter-spacing:-.035em;
}
.mghome4 .mghero-body{
  margin:0 0 30px;
  max-width:38ch;
  padding-top:17px;
  border-top:1px solid rgba(255,255,255,.44);
  color:rgba(255,255,255,.78);
  font-size:clamp(15px,1.05vw,18px);
  line-height:1.5;
}
.mghome4 .mghero-meta{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin:0 0 24px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.25);
  color:rgba(255,255,255,.72);
  font-size:10px;
  line-height:1.45;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.mghome4 .mghero-meta div:first-child{display:flex;flex-direction:column}
.mghome4 .mghero-actions{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
}
.mghome4 .mghero-actions a{
  display:inline-flex;
  gap:12px;
  align-items:center;
  padding-bottom:4px;
  border-bottom:1px solid currentColor;
  color:#fff;
  font-size:10px;
  line-height:1;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.mghome4 .mghero-actions a:first-child{color:var(--mg-yellow)}
.mghome4 .mghero-visual-field{
  position:absolute;
  z-index:12;
  inset:0 3vw 0 39%;
  overflow:hidden;
  pointer-events:auto;
}
.mghome4 .mghero-flyer{
  position:absolute;
  z-index:14;
  pointer-events:auto;
  top:50%;
  left:50%;
  width:calc(100% - clamp(64px,6vw,118px));
  max-width:940px;
  transform:translate(-50%,-50%);
  padding:11px;
  background:var(--mgh-white);
  box-shadow:0 34px 100px rgba(0,0,0,.56);
}
.mghome4 .mghero-flyer::before{
  content:"";
  position:absolute;
  inset:-1px;
  border-top:5px solid var(--mg-yellow);
  pointer-events:none;
}
.mghome4 .mghero-flyer img{
  width:100%;
  height:auto;
  max-height:81svh;
  object-fit:contain;
}
.mghome4 .mghero-grid{
  position:absolute;
  left:4%;
  right:4%;
  top:12%;
  bottom:10%;
  z-index:20;
  pointer-events:auto;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  column-gap:clamp(24px,2.6vw,52px);
  row-gap:clamp(28px,3.4vh,54px);
  align-items:center;
  justify-items:center;
}
.mghome4 .mghero-grid-item{
  min-width:0;
  min-height:0;
  width:100%;
  height:100%;
  overflow:visible;
  display:grid;
  place-items:center;
}
.mghome4 .mghero-art-button{
  position:relative;
  z-index:21;
  pointer-events:auto!important;
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  cursor:zoom-in;
}
.mghome4 .mghero-grid-item img{
  display:block;
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.20));
  transition:transform 260ms var(--mg-ease),filter 260ms ease;
}
.mghome4 .mghero-grid-item:nth-child(-n+3) .mghero-art-button{
  aspect-ratio:1/1;
  height:auto;
  max-height:100%;
  overflow:hidden;
}
.mghome4 .mghero-grid-item:nth-child(-n+3) .mghero-art-button img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  object-fit:cover;
}
.mghome4 .mghero-art-button:hover img,
.mghome4 .mghero-art-button:focus-visible img{
  transform:scale(1.025);
  filter:drop-shadow(0 18px 32px rgba(0,0,0,.28));
}
.mghome4 .mghero-scroll{
  position:absolute;
  z-index:32;
  right:var(--mg-gutter);
  bottom:24px;
  display:flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.5);
}
.mghome4 .mghero-scroll span{width:52px;height:1px;background:rgba(255,255,255,.34)}
.mghome4 .mghero-scroll em{font-style:normal;font-size:9px;letter-spacing:.13em;text-transform:uppercase}
.mghome4 .mghero-grid-item{opacity:0}


/* Hero artwork lightbox — collector dossier */
.mghero-lightbox{
  width:min(94vw,1560px);
  max-width:none;
  height:min(92vh,980px);
  max-height:92vh;
  margin:auto;
  border:0;
  padding:0;
  background:#0a0a0a;
  color:#fff;
  overflow:auto;
}
.mghero-lightbox::backdrop{
  background:rgba(0,0,0,.90);
  backdrop-filter:blur(10px);
}
.mghero-lightbox figure{
  margin:0;
  min-height:100%;
  display:grid;
  grid-template-columns:minmax(0,1.5fr) minmax(360px,.72fr);
}
.mghero-lightbox-stage{
  min-height:0;
  display:grid;
  place-items:center;
  padding:clamp(28px,4vw,68px);
  background:#111;
}
.mghero-lightbox-image{
  display:block;
  width:100%;
  height:100%;
  max-height:78vh;
  object-fit:contain;
}
.mghero-lightbox-info{
  min-width:0;
  padding:clamp(34px,4vw,64px) clamp(26px,3.5vw,54px);
  border-left:1px solid rgba(255,255,255,.16);
  background:#0a0a0a;
  overflow:auto;
}
.mghero-lightbox-heading{
  display:grid;
  grid-template-columns:1fr;
  gap:18px;
  padding-bottom:24px;
  border-bottom:1px solid rgba(255,255,255,.20);
}
.mghero-lightbox-heading > div{
  display:flex;
  flex-direction:column;
  gap:9px;
}
.mghero-lightbox-title{
  font-size:clamp(30px,3.2vw,56px);
  line-height:.92;
  font-weight:500;
  letter-spacing:-.055em;
}
.mghero-lightbox-jp{
  font-size:clamp(15px,1.2vw,19px);
  color:rgba(255,255,255,.60);
}
.mghero-lightbox-medium{
  width:max-content;
  max-width:100%;
  font-size:9px;
  line-height:1.35;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--mg-yellow);
}
.mghero-lightbox-description{
  margin:26px 0 30px;
  max-width:38ch;
  font-size:clamp(16px,1.15vw,19px);
  line-height:1.5;
  color:rgba(255,255,255,.84);
}
.mghero-lightbox-data{
  margin:0;
  padding:0;
}
.mghero-lightbox-data div{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:18px;
  padding:11px 0;
  border-top:1px solid rgba(255,255,255,.14);
}
.mghero-lightbox-data dt{
  font-size:9px;
  line-height:1.35;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.40);
}
.mghero-lightbox-data dd{
  margin:0;
  font-size:13px;
  line-height:1.42;
  color:rgba(255,255,255,.84);
}
.mghero-lightbox-note{
  margin-top:30px;
  padding-top:16px;
  border-top:1px solid var(--mg-yellow);
}
.mghero-lightbox-note > span{
  display:block;
  margin-bottom:10px;
  font-size:9px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--mg-yellow);
}
.mghero-lightbox-note p{
  margin:0;
  font-size:12px;
  line-height:1.5;
  color:rgba(255,255,255,.60);
}
.mghero-lightbox-close{
  position:fixed;
  top:20px;
  right:22px;
  z-index:4;
  border:1px solid rgba(255,255,255,.36);
  background:rgba(10,10,10,.86);
  color:#fff;
  padding:10px 14px;
  font:inherit;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
}
@media(max-width:900px){
  .mghero-lightbox{
    width:100vw;
    height:100dvh;
    max-height:none;
  }
  .mghero-lightbox figure{
    grid-template-columns:1fr;
  }
  .mghero-lightbox-stage{
    min-height:56dvh;
    padding:50px 18px 18px;
  }
  .mghero-lightbox-image{
    height:52dvh;
  }
  .mghero-lightbox-info{
    border-left:0;
    border-top:1px solid rgba(255,255,255,.16);
    padding:30px 20px 48px;
  }
}
@media(max-width:600px){
  .mghero-lightbox-data div{
    grid-template-columns:1fr;
    gap:5px;
  }
}

/* MANIFEST ------------------------------------------------- */
.mgh-manifest{
  position:relative;
  min-height:88svh;
  overflow:hidden;
  background:#111;
  color:#fff;
}
.mgh-manifest-media{
  position:absolute;
  inset:0;
}
.mgh-manifest-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mgh-manifest-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.40) 45%,rgba(0,0,0,.10) 76%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.48));
}
.mgh-manifest-copy{
  position:relative;
  z-index:2;
  min-height:88svh;
  padding:clamp(80px,10vw,170px) var(--mg-gutter);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start;
}
.mgh-manifest-copy h2{
  max-width:15ch;
  margin:22px 0 26px;
  color:#fff;
  font-size:clamp(48px,6.2vw,104px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:500;
}
.mgh-manifest-copy p{
  max-width:34ch;
  margin:0 0 32px;
  color:rgba(255,255,255,.82);
  font-size:clamp(18px,1.45vw,24px);
  line-height:1.42;
}
.mgh-manifest-copy .mg-arrow-link{color:#fff}

/* PROGRAMME ------------------------------------------------ */
.mgh-programme{
  position:relative;
  height:285svh;
  background:var(--mgh-paper);
}
.mgh-programme-pin{
  position:sticky;
  top:var(--mg-header-h);
  height:calc(100svh - var(--mg-header-h));
  min-height:650px;
  overflow:hidden;
  display:grid;
  grid-template-rows:auto 1fr auto;
  padding:clamp(26px,2.5vw,42px) 0 20px;
}
.mgh-programme-head{
  padding:0 var(--mg-gutter) clamp(22px,2.4vw,34px);
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:30px;
}
.mgh-programme-head h2{
  margin:14px 0 0;
  font-size:clamp(48px,5.5vw,92px);
  line-height:.86;
  letter-spacing:-.065em;
  font-weight:500;
}
.mgh-programme-layout{
  min-height:0;
  padding:0 var(--mg-gutter);
  display:grid;
  grid-template-columns:minmax(340px,.68fr) minmax(0,1.32fr);
  gap:clamp(54px,7vw,130px);
  align-items:center;
}
.mgh-programme-list{
  min-width:0;
  align-self:center;
  display:block;
  border-top:1px solid var(--mg-ink);
}
.mgh-programme-item{
  position:relative;
  width:100%;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) 24px;
  gap:18px;
  align-items:center;
  padding:17px 0 19px;
  border-bottom:1px solid rgba(0,0,0,.18);
  color:var(--mg-ink);
  opacity:.30;
  transition:opacity 220ms ease,padding-left 280ms var(--mg-ease);
}
.mgh-programme-item.is-active{
  opacity:1;
  padding-left:12px;
}
.mgh-programme-item.is-active::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:3px;
  background:var(--mg-red);
}
.mgh-programme-item > span{
  font-size:9px;
  letter-spacing:.12em;
  opacity:.50;
}
.mgh-programme-item div{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.mgh-programme-item strong{
  display:block;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  font-size:clamp(22px,2.1vw,38px);
  line-height:.96;
  letter-spacing:-.045em;
  font-weight:500;
}
.mgh-programme-item.is-active strong{
  font-size:clamp(30px,2.9vw,48px);
}
.mgh-programme-item em{
  display:block;
  font-style:normal;
  font-size:9px;
  line-height:1.35;
  letter-spacing:.10em;
  text-transform:uppercase;
  opacity:.56;
}
.mgh-programme-item b{
  justify-self:end;
  font-size:17px;
  font-weight:400;
}
.mgh-programme-stage{
  position:relative;
  width:min(100%,68vh);
  aspect-ratio:1/1;
  height:auto;
  max-height:none;
  justify-self:center;
  align-self:center;
  padding:0;
}
.mgh-programme-work{
  position:absolute;
  inset:0;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.mgh-programme-work.is-active{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.mgh-programme-work figure{
  min-height:0;
  display:grid;
  place-items:center;
  padding:clamp(8px,1vw,14px);
  overflow:hidden;
}
.mgh-programme-work img{
  width:auto;
  height:auto;
  max-width:100%;
  max-height:100%;
  object-fit:contain;
  transition:transform 600ms var(--mg-ease);
}
.mgh-programme-work:hover img{transform:scale(1.012)}
.mgh-programme-work-meta{
  display:flex;
  justify-content:space-between;
  gap:24px;
  align-items:center;
  padding-top:11px;
  margin-top:10px;
  border-top:1px solid var(--mg-ink);
  font-size:9px;
  line-height:1.2;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.mgh-programme-work-meta span:last-child{
  text-align:right;
  opacity:.55;
}
.mgh-programme-progress{
  margin:16px var(--mg-gutter) 0;
  height:2px;
  background:rgba(0,0,0,.14);
  overflow:hidden;
}
.mgh-programme-progress span{
  display:block;
  width:100%;
  height:100%;
  background:var(--mg-red);
  transform:scaleX(0);
  transform-origin:left center;
}

/* ANIMATION ART -------------------------------------------- */
.mgh-animation{
  position:relative;
  height:340svh;
  background:#0a0a0a;
  color:#fff;
}
.mgh-animation-pin{
  position:sticky;
  top:var(--mg-header-h);
  height:calc(100svh - var(--mg-header-h));
  min-height:650px;
  display:grid;
  grid-template-columns:minmax(320px,.78fr) minmax(0,1.45fr);
  gap:clamp(36px,5vw,90px);
  align-items:center;
  padding:clamp(40px,5vw,82px) var(--mg-gutter);
  overflow:hidden;
}
.mgh-animation-copy{
  position:relative;
  z-index:5;
}
.mgh-animation-copy h2{
  max-width:10ch;
  margin:18px 0 28px;
  color:#fff;
  font-size:clamp(48px,6vw,104px);
  line-height:.88;
  letter-spacing:-.065em;
  font-weight:500;
}
.mgh-animation-copy > p{
  max-width:34ch;
  margin:0 0 38px;
  color:rgba(255,255,255,.72);
  font-size:clamp(17px,1.3vw,22px);
  line-height:1.48;
}
.mgh-animation-index{
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:0 0 34px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.22);
}
.mgh-animation-index span{
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.30);
  transition:color 240ms ease,transform 240ms ease;
}
.mgh-animation-index span.is-active{
  color:var(--mg-yellow);
  transform:translateX(8px);
}
.mgh-animation-copy .mg-arrow-link{color:#fff}
.mgh-lighttable{
  position:relative;
  height:min(76vh,820px);
  min-height:500px;
  background:#e8e4d8;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 26px 80px rgba(0,0,0,.48),inset 0 0 90px rgba(255,255,255,.48);
  overflow:hidden;
}
.mgh-lighttable-glow{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 48%,rgba(255,255,255,.76),rgba(255,255,255,.20) 38%,rgba(0,0,0,.05) 78%);
}
.mgh-layer{
  position:absolute;
  inset:5%;
  display:grid;
  place-items:center;
  opacity:0;
  transform:scale(.96);
}
.mgh-layer img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 12px 18px rgba(0,0,0,.12));
}
.mgh-layer.is-active{
  opacity:1;
  transform:scale(1);
}

/* VISIT ---------------------------------------------------- */
.mgh-visit{
  position:relative;
  min-height:100svh;
  overflow:hidden;
  background:#111;
}
.mgh-visit-media{
  position:absolute;
  inset:0;
}
.mgh-visit-media img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mgh-visit-shade{
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(0,0,0,.14),rgba(0,0,0,.18) 48%,rgba(0,0,0,.68) 100%);
}
.mgh-visit-card{
  position:relative;
  z-index:2;
  margin-left:auto;
  width:min(42vw,680px);
  min-height:100svh;
  padding:clamp(70px,8vw,140px) var(--mg-gutter);
  background:rgba(255,213,0,.93);
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#090909;
}
.mgh-visit-card h2{
  margin:18px 0 44px;
  max-width:9ch;
  font-size:clamp(54px,6.2vw,106px);
  line-height:.86;
  letter-spacing:-.065em;
  font-weight:500;
}
.mgh-visit-card p{
  margin:0 0 34px;
  font-size:clamp(18px,1.4vw,23px);
  line-height:1.45;
}
.mgh-visit-actions{
  display:flex;
  gap:22px;
  flex-wrap:wrap;
}
.mgh-visit-actions a{
  display:inline-flex;
  gap:12px;
  padding-bottom:4px;
  border-bottom:1px solid currentColor;
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
}

/* MOTION FALLBACK ----------------------------------------- */
@media(prefers-reduced-motion:no-preference){
  .mgh-manifest-media img,
  .mgh-visit-media img{
    will-change:transform;
  }
}

/* TABLET --------------------------------------------------- */
@media(max-width:900px){
  .mghome4 .mghero{
    height:auto;
  }
  .mghome4 .mghero-stage{
    position:relative;
    top:auto;
    height:auto;
    min-height:0;
    padding:28px var(--mg-gutter) 68px;
    display:grid;
    gap:28px;
  }
  .mghome4 .mghero-room,
  .mghome4 .mghero-shade{
    position:absolute;
  }
  .mghome4 .mghero-room{inset:0}
  .mghome4 .mghero-shade{
    background:linear-gradient(180deg,rgba(4,4,4,.78),rgba(4,4,4,.62));
  }
  .mghome4 .mghero-kicker,
  .mghome4 .mghero-title,
  .mghome4 .mghero-copy,
  .mghome4 .mghero-visual-field{
    position:relative;
    inset:auto;
    width:auto;
  }
  .mghome4 .mghero-kicker{order:1}
  .mghome4 .mghero-title{order:2}
  .mghome4 .mghero-title h1{max-width:none;font-size:clamp(64px,13vw,104px)}
  .mghome4 .mghero-visual-field{order:3;overflow:visible}
  .mghome4 .mghero-flyer{
    position:relative;
    inset:auto;
    width:100%;
    transform:none!important;
  }
  .mghome4 .mghero-grid{display:none}
  .mghome4 .mghero-copy{order:4}
  .mghome4 .mghero-copy::before{display:none}
  .mghome4 .mghero-scroll{display:none}

  .mgh-manifest,
  .mgh-manifest-copy{min-height:72svh}

  .mgh-programme{
    height:auto;
  }
  .mgh-programme-pin{
    position:relative;
    top:auto;
    height:auto;
    min-height:0;
    overflow:visible;
    padding:76px 0 96px;
  }
  .mgh-programme-head{
    align-items:flex-start;
  }
  .mgh-programme-layout{
    grid-template-columns:1fr;
    gap:52px;
  }
  .mgh-programme-list{
    display:none;
  }
  .mgh-programme-item{
    opacity:1;
    padding-left:0!important;
  }
  .mgh-programme-stage{
    display:grid;
    gap:56px;
    max-height:none;
    height:auto;
  }
  .mgh-programme-work{
    position:relative;
    inset:auto;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    min-height:0;
  }
  .mgh-programme-work figure{
    min-height:0;
    height:auto;
    max-height:none;
    aspect-ratio:auto;
    padding:0;
  }
  .mgh-programme-work img{
    width:100%;
    height:auto;
    max-height:none;
    object-fit:contain;
  }
  .mgh-programme-progress{display:none}

  .mgh-animation{
    height:auto;
  }
  .mgh-animation-pin{
    position:relative;
    top:auto;
    height:auto;
    min-height:0;
    grid-template-columns:1fr;
    padding-top:80px;
    padding-bottom:90px;
  }
  .mgh-animation-copy{max-width:650px}
  .mgh-lighttable{
    height:min(72vw,720px);
    min-height:440px;
  }
  .mgh-layer{
    opacity:0;
  }
  .mgh-layer:first-of-type,
  .mgh-layer-1{
    opacity:1;
    transform:none;
  }
  .mgh-animation-index span:first-child{color:var(--mg-yellow)}

  .mgh-visit{
    min-height:0;
    display:grid;
    grid-template-columns:1fr;
  }
  .mgh-visit-media{
    position:relative;
    inset:auto;
    min-height:60svh;
  }
  .mgh-visit-shade{display:none}
  .mgh-visit-card{
    width:100%;
    min-height:0;
    padding:68px var(--mg-gutter) 76px;
  }
}

/* MOBILE --------------------------------------------------- */
@media(max-width:600px){
  .mghome4 .mghero-stage{
    padding-top:20px;
    gap:24px;
  }
  .mghome4 .mghero-kicker{font-size:9px}
  .mghome4 .mghero-kicker span:last-child{text-align:right}
  .mghome4 .mghero-title h1{
    font-size:clamp(56px,17vw,76px);
    margin-bottom:12px;
  }
  .mghome4 .mghero-title p{font-size:19px}
  .mghome4 .mghero-deck{font-size:21px}
  .mghome4 .mghero-meta{grid-template-columns:1fr}

  .mgh-manifest-copy{
    padding-top:70px;
    padding-bottom:72px;
  }
  .mgh-manifest-copy h2{
    font-size:clamp(42px,12vw,58px);
    max-width:13ch;
  }

  .mgh-programme-head{
    display:grid;
    gap:24px;
  }
  .mgh-programme-head h2{
    font-size:clamp(42px,12vw,58px);
  }
  .mgh-programme-caption{
    grid-template-columns:1fr;
    gap:5px;
  }
  .mgh-programme-caption strong{font-size:34px}
  .mgh-programme-caption em{text-align:left}

  .mgh-animation-copy h2{
    font-size:clamp(46px,13vw,62px);
  }
  .mgh-lighttable{
    min-height:360px;
    height:94vw;
  }

  .mgh-visit-media{min-height:52svh}
  .mgh-visit-card h2{
    font-size:clamp(52px,15vw,72px);
  }
}


/* MOBILE REPAIR — 2026-10-08: homepage must be a complete, readable phone layout. */
@media(max-width:900px){
  .mghome4 .mghero-stage{padding-bottom:42px!important;}
  .mghome4 .mghero-title{z-index:40!important;display:block!important;}
  .mghome4 .mghero-title h1{max-width:100%!important;line-height:.82!important;letter-spacing:-.068em!important;overflow:visible!important;}
  .mghome4 .mghero-title h1 .keep-together{display:block!important;white-space:nowrap!important;}
  .mghome4 .mghero-visual-field{display:block!important;overflow:visible!important;}
  .mghome4 .mghero-grid{position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important;overflow:visible!important;}
  .mghome4 .mghero-grid-item{display:block!important;position:relative!important;inset:auto!important;aspect-ratio:1/1!important;overflow:hidden!important;background:#101010!important;opacity:1!important;visibility:visible!important;filter:none!important;transform:none!important;}
  .mghome4 .mghero-art-button{display:block!important;width:100%!important;height:100%!important;padding:0!important;border:0!important;background:transparent!important;cursor:pointer!important;}
  .mghome4 .mghero-grid-item img{display:block!important;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover!important;transform:none!important;}
  .mgh-programme-stage{display:grid!important;grid-template-columns:1fr!important;grid-auto-flow:row!important;gap:34px!important;width:100%!important;max-width:none!important;height:auto!important;max-height:none!important;overflow:visible!important;}
  .mgh-programme-work{position:relative!important;inset:auto!important;display:grid!important;grid-template-rows:auto auto!important;width:100%!important;max-width:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:none!important;filter:none!important;}
  .mgh-programme-work figure{display:grid!important;width:100%!important;height:auto!important;aspect-ratio:1/1!important;padding:10px!important;place-items:center!important;overflow:hidden!important;background:#eceae3!important;}
  .mgh-programme-work img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;object-fit:contain!important;transform:none!important;}
  .mgh-programme-work-meta{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;width:100%!important;}
  .mgh-programme-work-meta span:last-child{text-align:left!important;}
  .mgh-visit{display:none!important;}
}
@media(max-width:600px){
  .mghome4 .mghero-title h1{font-size:clamp(48px,14vw,64px)!important;}
  .mghome4 .mghero-grid{gap:8px!important;margin-top:10px!important;}
  .mgh-programme-pin{padding-top:62px!important;padding-bottom:70px!important;}
}


/* MOBILE ANIMATION ART — retain the desktop light-table sequence on touch screens. */
@media(max-width:600px){
  .mgh-animation{height:220svh;}
  .mgh-animation-pin{
    position:sticky;
    top:var(--mg-header-h);
    height:calc(100svh - var(--mg-header-h));
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:auto minmax(0,1fr);
    gap:24px;
    align-items:stretch;
    padding:34px var(--mg-gutter) 30px;
  }
  .mgh-animation-copy{max-width:none;}
  .mgh-animation-copy h2{margin:10px 0 14px;font-size:clamp(38px,11vw,52px);}
  .mgh-animation-copy > p{display:none;}
  .mgh-animation-index{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 0 14px;padding-top:9px;}
  .mgh-animation-index span{font-size:8px;line-height:1.15;}
  .mgh-animation-index span.is-active{transform:none;}
  .mgh-animation-copy .mg-arrow-link{font-size:10px;}
  .mgh-lighttable{height:auto;min-height:0;aspect-ratio:1/1;border-width:1px;box-shadow:0 18px 42px rgba(0,0,0,.5),inset 0 0 50px rgba(255,255,255,.48);}
  .mgh-layer{
    inset:6%;
    pointer-events:none;
    transition:opacity 260ms ease,transform 260ms ease;
  }
  .mgh-layer.is-active{pointer-events:auto;}
}


/* Mobile light-table: only the active cel may remain visible. */
@media(max-width:600px){
  .mgh-layer.mgh-layer-1:not(.is-active){
    opacity:0;
    transform:scale(.96);
  }
}


/* Homepage Animation Art — stable four-step mobile light table. */
@media(max-width:600px){
  .mgh-animation{height:205svh;}
  .mgh-animation-pin{
    position:sticky;
    top:var(--mg-header-h);
    height:calc(100svh - var(--mg-header-h));
    min-height:0;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    gap:20px;
    padding:34px var(--mg-gutter) 30px;
    overflow:hidden;
  }
  .mgh-animation-copy{max-width:none;}
  .mgh-animation-copy h2{margin:10px 0 14px;font-size:clamp(38px,11vw,52px);}
  .mgh-animation-copy > p{display:none;}
  .mgh-animation-index{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:0 0 14px;padding-top:9px;}
  .mgh-animation-index span{font-size:8px;line-height:1.15;}
  .mgh-animation-index span.is-active{transform:none;}
  .mgh-lighttable{
    width:100%;
    max-width:calc(100svh - var(--mg-header-h) - 185px);
    min-height:0;
    height:auto;
    margin:0 auto;
    flex:0 0 auto;
    aspect-ratio:1 / 1;
  }
  .mgh-layer{inset:0;margin:0;padding:6%;box-sizing:border-box;transform:none!important;}
  .mgh-layer.mgh-layer-1:not(.is-active){opacity:0;}
  .mgh-layer img{width:100%;height:100%;object-fit:contain;}
  .mgh-layer.is-active{transform:none!important;}
}