/* Masseria Monte — “Abitare la terra”.
   Il foglio definisce il linguaggio delle scene, non stati indispensabili:
   senza JavaScript fotografie e testi restano nel flusso e leggibili. */

:root {
  --mm-motion-ink: var(--ink, #172119);
  --mm-motion-olive: var(--oliva, #4e5b35);
  --mm-motion-paper: #fffdf8;
  --mm-motion-cream: #f2f1e7;
  --mm-motion-stone: #eee9df;
  --mm-motion-field: #e9ede3;
  --mm-motion-gold: #b79743;
  --mm-motion-shadow: 0 10px 28px rgba(24, 27, 17, .08);
  --mm-motion-line: rgba(61, 72, 43, .24);
  --mm-stage-top: 72px;
}

/* One editorial grid and a restrained type scale across the home. */
.hero { background: var(--mm-motion-paper); }
main .wrap { width: min(1280px, calc(100% - clamp(40px, 9vw, 144px))); }
main .mm-title { font-size: clamp(2.3rem, 4.05vw, 3.65rem); line-height: 1.08; letter-spacing: -.035em; max-width: 23ch; overflow-wrap: normal; text-wrap: balance; }
main .overline { margin: 0; line-height: 1.4; }
main p { line-height: 1.65; }
.mm-camere, .mm-esperienze, .mm-bottega { padding-block: clamp(56px, 7vw, 100px); }
.mm-camere__grid, .mm-experience-explorer, .mm-bottega__grid { gap: clamp(28px, 4.4vw, 64px); }
.mm-camere__copy { gap: 1.25rem; }
.mm-camere__text { max-width: 48ch; }
.mm-actions { gap: .7rem; align-items: flex-start; }
.mm-actions .mm-nota-modulo { flex: 0 0 100%; max-width: 48ch; font-size: .8rem; line-height: 1.5; margin: .2rem 0 0; }
.mm-alto--solo-testo .mm-alto__copy { max-width: 1060px; margin-inline: auto; text-align: center; }
.mm-alto--solo-testo .mm-alto__title { max-width: 28ch; margin-inline: auto; }
#territorio { padding-block: clamp(56px, 7vw, 100px); }
#territorio .mm-alto__text { max-width: 50ch; margin-inline: auto; }
#territorio {
  --vine-width: clamp(88px, 11vw, 150px);
  --vine-inset: clamp(8px, 2vw, 30px);
  --vine-gap: 20px;
  position: relative;
  isolation: isolate;
}
#territorio::before, #territorio::after {
  content: '';
  position: absolute;
  inset-block: 20px;
  width: var(--vine-width);
  background: url('/assets/identity-v1/vine-side.svg') center / contain no-repeat;
  pointer-events: none;
}
#territorio::before { left: var(--vine-inset); }
#territorio::after { right: var(--vine-inset); transform: scaleX(-1); }
#territorio .mm-alto__copy {
  width: calc(100% - 2 * (var(--vine-width) + var(--vine-inset) + var(--vine-gap)));
  max-width: 1060px;
  padding-inline: 0;
  margin-inline: auto;
  position: relative;
  inset: auto;
  z-index: 1;
}
@media (max-width: 767px) {
  #territorio { --vine-width: 44px; --vine-inset: 0px; --vine-gap: 8px; }
  #territorio::before, #territorio::after { inset-block: 32px; }
}
.mm-contatti__grid { align-items: center; }
.mm-contact-vine { display: none; object-fit: contain; pointer-events: none; }
@media (min-width: 900px) {
  .mm-contatti__grid { grid-template-columns: minmax(0, 1.2fr) minmax(260px, 1fr) 110px; gap: clamp(24px, 4vw, 60px); }
  .mm-contact-vine { display: block; width: 110px; height: 260px; transform: scaleX(-1); }
}

/* V9 only: the name follows the shrinking mark without moving the menu. */
.site-header .brand__text { transition: transform .34s cubic-bezier(.22,.61,.36,1); }
.site-header.is-scrolled .brand__text { transform: translateX(-34px); }
@media (prefers-reduced-motion: reduce) {
  .site-header .brand__text { transition-duration: .16s; }
}

/* A fine editorial rule separates the welcome from the historical chapter. */
.mm-story { position: relative; border-top: 1px solid var(--mm-motion-line); }
.mm-story::before { content: ''; position: absolute; top: -2px; left: 50%; width: 76px; height: 3px; transform: translateX(-50%); background: var(--mm-motion-gold); }

.site-footer .footer-social { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.site-footer .footer-social a { display: grid; place-items: center; width: 44px; height: 44px; min-height: 44px; border: 1px solid var(--mm-motion-line); border-radius: 50%; transition: background-color .2s, border-color .2s; }
.site-footer .footer-social img { display: block; width: 22px; height: 22px; object-fit: contain; }
.site-footer .footer-social a:hover { background: #f1ecdf; border-color: #8b774e; }
.site-footer .footer-social a:focus-visible { outline: 2px solid #8b774e; outline-offset: 4px; }

/* Small botanical signatures, not a second layer behind the text. */
.mm-botanical { display: block; object-fit: contain; pointer-events: none; }
.mm-intro .mm-botanical--olive { width: 154px; height: 77px; margin: 24px auto 0; grid-column: 1 / -1; }
#territorio .mm-botanical--wheat { width: 65px; height: 100px; margin: 0 auto 24px; }
.mm-contatti .mm-botanical--closing { width: 184px; height: 92px; margin: 12px 0 0; }
.mm-camere .mm-botanical--breakfast { width: 42px; height: 65px; margin: 0; }
/* A quiet chapter break; it belongs to the text panel, not the sticky rail. */
#passaggio, #passaggio .mm-alto__stage { background: var(--mm-motion-field); }
#passaggio { border-top: 1px solid var(--mm-motion-line); }
.mm-chapter-mark { display: flex; align-items: center; justify-content: center; gap: 22px; margin: 0 auto 28px; }
.mm-chapter-mark::before, .mm-chapter-mark::after { content: ''; height: 1px; width: clamp(40px, 7vw, 90px); background: var(--mm-motion-line); }
.mm-chapter-mark .mm-botanical--tree { width: 86px; height: 76px; }
@media (max-width: 767px) {
  .mm-camere .mm-botanical--breakfast { width: 34px; height: 52px; }
  .mm-chapter-mark { gap: 16px; margin-bottom: 22px; }
  .mm-chapter-mark .mm-botanical--tree { width: 70px; height: 62px; }
}
.mm-camere { background: var(--mm-motion-stone); }
#territorio, .mm-contatti { background: var(--mm-motion-field); }
#territorio .mm-alto__stage { background: transparent; }

/* A shared photographic control, injected only when functional. */
.mm-photo-nav { display: flex; justify-content: flex-end; align-items: center; gap: 4px; color: #39472c; }
.mm-photo-nav__arrow { display: grid; place-items: center; width: 44px; height: 44px; flex: 0 0 44px; border: 0; border-radius: 0; color: inherit; background: transparent; cursor: pointer; transition: color .2s; padding: 0; }
.mm-photo-nav__arrow svg { display: block; width: 20px; height: 16px; }
.mm-photo-nav__arrow:hover { color: #8a681e; }
.mm-photo-nav__arrow:focus-visible { outline: 2px solid #39472c; outline-offset: 4px; }
.mm-photo-nav__arrow[aria-disabled='true'] { opacity: .38; cursor: default; }
.mm-photo-nav__count { min-width: 42px; text-align: center; font: 500 .75rem/1 var(--sans); letter-spacing: .06em; font-variant-numeric: tabular-nums; }
.mm-room-scene > .mm-photo-nav {
  position: absolute;
  z-index: 6;
  right: clamp(12px, 2vw, 20px);
  bottom: clamp(12px, 2vw, 20px);
  justify-content: flex-end;
  padding: 4px 8px;
  color: #334029;
  background: rgba(255, 253, 247, .9);
  border: 1px solid rgba(70, 78, 53, .16);
  box-shadow: 0 12px 34px rgba(34, 39, 27, .16);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.mm-room-scene > .mm-photo-nav .mm-photo-nav__arrow { width: 40px; height: 40px; flex-basis: 40px; }
.mm-photo-gallery { min-width: 0; width: 100%; align-self: center; }
.mm-photo-gallery > .mm-photo-nav { margin-top: 4px; }

/* L’engine possiede queste fotografie: niente maschera o promozione GPU
   permanente ereditata da cinema-v7. */
.mm-js [data-mm-engine] .mm-photo[data-mm-photo],
.mm-js .mm-photo[data-mm-engine][data-mm-photo] { clip-path: none; }
.mm-js [data-mm-engine] .mm-photo[data-mm-photo] img,
.mm-js .mm-photo[data-mm-engine][data-mm-photo] img { will-change: auto; }
[data-mm-engine].is-mm-active .mm-room-pane,
[data-mm-engine].is-mm-active .mm-room-detail { will-change: transform, opacity; }
[data-mm-engine].is-mm-active .mm-event-frame,
[data-mm-engine].is-mm-active .mm-production-frame { will-change: clip-path; }

/* La fila del passaggio è larga 200% per progetto: il contenimento sul
   capitolo impedisce che quella misura diventi larghezza del documento. */
.mm-passaggio.is-attivo { max-width: 100%; overflow: clip; }

/* -------------------------------------------------------------
   CAMERE · una soglia architettonica, poi quiete
   ------------------------------------------------------------- */
.mm-room-scene {
  position: relative;
  min-width: 0;
  isolation: isolate;
}
.mm-room-main {
  position: relative;
  aspect-ratio: 16 / 10;
  overflow: clip;
  background: #ded6c5;
  box-shadow: var(--mm-motion-shadow);
  margin: 0;
}
.mm-room-main::after {
  content: '';
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  height: 28%;
  pointer-events: none;
  background: linear-gradient(180deg, transparent, rgba(17, 22, 15, .18));
}
.mm-room-main img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.001);
  opacity: 1;
  transition: opacity .26s ease, transform .62s cubic-bezier(.2,.7,.2,1);
}
.mm-room-main.is-room-loading img {
  opacity: .28;
  transform: scale(1.018);
}
.mm-room-pane {
  display: none;
  position: absolute;
  z-index: 3;
  inset-block: 0;
  width: 50.1%;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08), rgba(112,93,55,.13)),
    #e9e0cd;
  border: 1px solid rgba(103, 82, 45, .18);
}
.mm-room-pane--left { left: 0; transform-origin: 100% 50%; }
.mm-room-pane--right { right: 0; transform-origin: 0 50%; }
.mm-motion-caption {
  font: 600 .68rem/1.3 var(--sans, sans-serif);
  letter-spacing: .13em;
  text-transform: uppercase;
  color: var(--mm-motion-olive);
}

@media (min-width: 1024px) {
  .mm-camere.is-mm-mounted .mm-room-pane { display: block; }
  .mm-camere__grid > * { min-width: 0; }
  .mm-camere__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* -------------------------------------------------------------
   EVENTI · spazio → luce → incontro
   ------------------------------------------------------------- */
.mm-eventi { background: var(--mm-motion-paper); }
.mm-event-stage { position: relative; }
.mm-event-visual {
  position: relative;
  display: grid;
  gap: .7rem;
  background: #182019;
  overflow: clip;
}
.mm-event-frame {
  position: relative;
  margin: 0;
  min-height: 0;
  aspect-ratio: 3 / 2;
  overflow: clip;
  background: #182019;
}
.mm-event-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mm-event-frame--space img { object-position: 50% 48%; }
.mm-event-frame--light img { object-position: 50% 56%; }
.mm-event-frame--table img { object-position: 50% 76%; }
.mm-event-frame--welcome img { object-position: 50% 42%; }
.mm-event-index {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-column: 2;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  background: transparent;
  color: #686956;
  text-align: center;
  font: 400 clamp(1.05rem, 1.8vw, 1.65rem)/1.25 var(--serif, serif);
  letter-spacing: -.025em;
  text-transform: none;
}
.mm-event-index li { min-width: 0; position: relative; }
.mm-event-index[data-event-count='4'] { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mm-event-index[data-event-count='4'] button { font-size: clamp(.82rem, 1.2vw, 1.1rem); }
.mm-event-index li[aria-current='step'] { color: #2e3f26; }
.mm-event-index button { display: flex; justify-content: center; align-items: center; gap: 8px; width: 100%; border: 0; padding: 4px 5px 8px; min-height: 48px; background: transparent; color: inherit; font: 400 clamp(1rem, 1.35vw, 1.2rem)/1.25 var(--serif, serif); letter-spacing: -.025em; cursor: pointer; }
.mm-event-index button::after { content: ''; position: absolute; bottom: 0; width: 24px; height: 2px; background: currentColor; transform: scaleX(0); transition: transform .25s; }
.mm-event-index button[aria-pressed='true']::after { transform: scaleX(1); }
.mm-event-index button:focus-visible { outline: 2px solid #39472c; outline-offset: -2px; }
.mm-event-index .mm-event-number { font: 500 .75rem/1 var(--sans); letter-spacing: .1em; }
.mm-event-toolbar { display: none; width: min(600px, calc(100% - 40px)); margin-inline: auto; background: transparent; color: #39472c; border: 0; border-bottom: 1px solid var(--mm-motion-line); padding: 2px 0; }
.mm-eventi.is-mm-mounted .mm-event-toolbar { display: grid; grid-template-columns: 44px minmax(0,1fr) 44px; align-items: center; gap: 8px; }
.mm-event-toolbar > .mm-photo-nav { display: contents; }
.mm-event-toolbar .mm-photo-nav__count { display: none; }
.mm-event-toolbar [data-photo-direction='previous'] { grid-column: 1; grid-row: 1; }
.mm-event-toolbar [data-photo-direction='next'] { grid-column: 3; grid-row: 1; }
.mm-event-progress,
.mm-production-progress {
  height: 2px;
  overflow: hidden;
  background: rgba(255,255,255,.2);
}
.mm-event-progress i,
.mm-production-progress i {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: 0 50%;
  background: #f1d98e;
}
.mm-eventi__copy { padding-bottom: var(--mm-gap); align-items: center; }
/* Il racconto ha una colonna di lettura vera: non eredita la doppia
   strozzatura 52ch / 32rem del vecchio capitolo fotografico. */
.mm-eventi__text { display: grid; gap: 1rem; min-width: 0; max-width: none; }
.mm-eventi__text p {
  margin: 0;
  max-width: none;
  font-size: clamp(1.0625rem, 1rem + .15vw, 1.125rem);
  line-height: 1.65;
}
.mm-eventi__text .text-link { justify-self: start; }

@media (min-width: 1024px) {
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-eventi.is-mm-mounted { height: 250svh; padding: 0; }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-eventi.is-mm-mounted .mm-event-stage {
    position: sticky;
    top: var(--mm-stage-top, 5.5rem);
    height: calc(100svh - var(--mm-stage-top, 5.5rem));
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto auto;
    overflow: clip;
  }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-eventi.is-mm-mounted .mm-event-visual { display: block; min-height: 0; }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-eventi.is-mm-mounted .mm-event-frame { position: absolute; inset: 0; aspect-ratio: auto; }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-eventi.is-mm-mounted .mm-event-frame img { position: absolute; inset: 0; }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-eventi.is-mm-mounted .mm-event-progress { position: absolute; z-index: 7; left: 0; right: 0; bottom: 0; }
  .mm-eventi__copy {
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(28px, 4.4vw, 64px);
    align-items: center;
    padding-block: clamp(24px, 3.1vh, 32px);
    background: var(--mm-motion-paper);
  }
  .mm-eventi__copy .mm-title { font-size: clamp(2.1rem, 3.8vw, 3.5rem); max-width: 15ch; }
}

/* -------------------------------------------------------------
   ESPERIENZE · il visitatore sceglie il gesto
   ------------------------------------------------------------- */
.mm-esperienze { background: var(--mm-motion-cream); }
.mm-experience-explorer {
  display: grid;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;
}
.mm-experience-visual {
  display: grid;
  gap: .75rem;
  min-width: 0;
}
.mm-experience-frame {
  position: relative;
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: clip;
  background: #ddd5c5;
}
.mm-experience-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mm-experience-frame figcaption {
  position: absolute;
  inset: auto .7rem .65rem;
  width: max-content;
  max-width: calc(100% - 1.4rem);
  padding: .38rem .55rem;
  background: rgba(255,253,247,.91);
  color: var(--mm-motion-olive);
  font: 600 .68rem/1.3 var(--sans, sans-serif);
  letter-spacing: .1em;
  text-transform: uppercase;
}
.mm-experience-copy { display: grid; gap: 1.1rem; }
.mm-esperienze .mm-photo-nav__count { display: none; }
.mm-experience-status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.mm-experience-copy > p { margin: 0; max-width: 35rem; color: var(--muted, #61625b); }
.mm-experience-list { display: grid; width: 100%; margin: 0; padding: 0; border-top: 1px solid var(--mm-motion-line); }
.mm-experience-list a {
  display: grid;
  grid-template-columns: 2.3rem 1fr auto;
  gap: .65rem;
  align-items: baseline;
  width: 100%;
  min-height: 58px;
  padding: .85rem 0;
  border: 0;
  border-bottom: 1px solid var(--mm-motion-line);
  background: transparent;
  color: var(--mm-motion-ink);
  text-align: left;
  text-decoration: none;
  cursor: pointer;
}
.mm-experience-list a::after {
  content: '';
  display: block;
  align-self: center;
  width: 20px;
  height: 20px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23494b32'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3E%3Cpath%20d='M5%2019L19%205M8%205h11v11'/%3E%3C/svg%3E");
  opacity: .5;
  transition: transform .25s ease, opacity .25s ease;
}
.mm-experience-list a { transition: color .25s ease; }
.mm-experience-list a.is-current, .mm-experience-list a:hover { color: var(--accent); }
.mm-experience-list a.is-current::after, .mm-experience-list a:hover::after { opacity: 1; transform: translate(2px,-2px); }
/* 15/9 audit WCAG: i numeri a 11 px in oro chiaro davano 2,46:1 su #f2f1e7; l'accento bruno-oro del sito supera 4,5:1. */
.mm-experience-list b { color: #806330; font: 600 .7rem/1 var(--sans, sans-serif); letter-spacing: .12em; }
.mm-experience-list span { font: 400 clamp(1.3rem, 2.3vw, 2.15rem)/1 var(--serif, serif); letter-spacing: -.035em; }
.mm-experience-list a:focus-visible { outline: 2px solid var(--mm-motion-olive); outline-offset: 5px; }

@media (min-width: 900px) {
  .mm-experience-explorer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mm-motion-ready .mm-esperienze.is-mm-mounted .mm-experience-visual { position: relative; aspect-ratio: 4 / 3; display: block; box-shadow: var(--mm-motion-shadow); }
  .mm-motion-ready .mm-esperienze.is-mm-mounted .mm-experience-frame { position: absolute; inset: 0; opacity: 0; transition: opacity .42s ease; }
  .mm-motion-ready .mm-esperienze.is-mm-mounted .mm-experience-frame.is-current { z-index: 2; opacity: 1; }
}

/* -------------------------------------------------------------
   PRODUZIONE · quattro atti reali, un prodotto finale
   ------------------------------------------------------------- */
.mm-produzione { background: #f4efdf; }
.mm-prod__griglia { display: block; }
.mm-prod__testa { display: grid; gap: .6rem; margin: 0; grid-column: 1 / -1; }
.mm-production-stage {
  position: relative;
  display: grid;
  gap: clamp(1.3rem, 3vw, 3rem);
}
.mm-production-visual { display: grid; gap: .8rem; min-width: 0; }
.mm-production-frame {
  position: relative;
  margin: 0;
  aspect-ratio: 3 / 2;
  overflow: clip;
  background: #d7c98d;
}
.mm-production-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mm-production-frame--product { background: #b88738; }
.mm-production-frame--product img { object-fit: contain; object-position: 50% 54%; }
.mm-production-frame figcaption {
  position: absolute;
  z-index: 3;
  left: .8rem;
  bottom: .7rem;
  padding: .4rem .55rem;
  background: rgba(255,253,247,.9);
  color: var(--mm-motion-olive);
  font: 600 .68rem/1.3 var(--sans, sans-serif);
  letter-spacing: .12em;
  text-transform: uppercase;
}
.mm-production-copy { display: grid; align-content: center; gap: .85rem; }
.mm-production-steps { list-style: none; margin: 0; padding: 0; border-top: 1px solid rgba(83,73,39,.3); }
.mm-production-steps li { display: grid; grid-template-columns: 2rem 1fr; gap: .7rem; padding: .9rem 0; border-bottom: 1px solid rgba(83,73,39,.3); opacity: 1; }
.mm-production-steps li[aria-current='step'] { opacity: 1; }
.mm-production-steps b { color: var(--mm-motion-olive); font: 600 .7rem/1.4 var(--sans, sans-serif); letter-spacing: .12em; }
.mm-production-steps h3 { margin: 0 0 .28rem; font: 400 clamp(1.25rem, 2vw, 1.8rem)/1.05 var(--serif, serif); letter-spacing: -.025em; }
.mm-production-steps p { margin: .35rem 0 0; color: var(--muted, #61625b); font-size: 1rem; line-height: 1.6; max-width: 45ch; }
.mm-production-steps button { display: block; width: 100%; border: 0; padding: .15rem 0; text-align: left; background: transparent; color: inherit; font: inherit; cursor: pointer; }
.mm-production-steps button:focus-visible { outline: 2px solid var(--mm-motion-olive); outline-offset: 4px; }
.mm-production-steps button[aria-expanded='true'] { color: var(--accent); }
.mm-production-steps p[hidden] { display: none; }
.mm-production-progress { background: rgba(83,73,39,.2); }
.mm-production-progress i { background: var(--mm-motion-olive); }
.mm-production-link { margin-top: 1rem; }

@media (min-width: 1024px) {
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-produzione.is-mm-mounted { height: 310svh; padding: 0; }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-produzione.is-mm-mounted .mm-prod__griglia { height: 100%; }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-produzione.is-mm-mounted .mm-production-stage {
    position: sticky;
    top: var(--mm-stage-top, 5.5rem);
    height: calc(100svh - var(--mm-stage-top, 5.5rem));
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto minmax(0, 1fr);
    align-items: stretch;
    gap: clamp(20px, 3vh, 30px) clamp(28px, 4.4vw, 64px);
    padding-block: clamp(20px, 3vh, 30px);
  }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-produzione.is-mm-mounted .mm-production-visual { position: relative; display: block; min-height: 0; width: 100%; aspect-ratio: 3 / 2; align-self: center; box-shadow: var(--mm-motion-shadow); }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-produzione.is-mm-mounted .mm-production-frame { position: absolute; inset: 0; aspect-ratio: auto; }
  .mm-motion-ready[data-mm-motion-mode='desktop'] .mm-produzione.is-mm-mounted .mm-production-copy { min-height: 0; overflow: visible; padding: 0; }
  .mm-production-stage .mm-prod__testa { grid-row: 1; grid-column: 1 / -1; display: grid; justify-items: center; text-align: center; gap: .5rem; }
  .mm-production-stage .mm-prod__testa .mm-title { font-size: clamp(2rem, 3.3vw, 3rem); }
  .mm-production-stage .mm-prod__testa br { display: none; }
  .mm-production-stage .mm-prod__testa h2 { max-width: none; }
}

/* -------------------------------------------------------------
   BOTTEGA · conversione e quiete
   ------------------------------------------------------------- */
.mm-bottega { background: var(--mm-motion-cream); padding-block: clamp(4.5rem, 10vw, 9rem); }
.mm-bottega__grid { display: grid; gap: clamp(1.7rem, 5vw, 4rem); align-items: center; }
.mm-shop-product {
  position: relative;
  margin: 0;
  min-height: 0;
  aspect-ratio: 1 / 1;
  overflow: clip;
  background: #c58d3d;
  box-shadow: var(--mm-motion-shadow);
}
.mm-shop-product img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: 50% 52%; }
.mm-shop-product figcaption { position: absolute; z-index: 2; inset: auto .8rem .75rem; padding: .4rem .55rem; background: rgba(255,253,247,.92); color: var(--mm-motion-olive); font: 600 .68rem/1.3 var(--sans, sans-serif); letter-spacing: .1em; text-transform: uppercase; }
.mm-shop-emphasis { color: var(--mm-motion-olive); font-family: var(--serif, serif); font-size: 1.12em; font-weight: 700; letter-spacing: -.012em; }
.mm-shop-product--store { aspect-ratio: 4 / 3; background: #d8d0bd; }
.mm-shop-product--store img { object-fit: cover; object-position: 50% 52%; }
.mm-shop-light { position: absolute; inset: -25% -35%; pointer-events: none; opacity: 0; transition: opacity .4s ease, transform .5s cubic-bezier(.2,.7,.2,1); background: linear-gradient(108deg, transparent 24%, rgba(255,240,204,.10) 36%, rgba(255,248,222,.62) 49%, rgba(255,244,215,.12) 61%, transparent 74%); transition: transform .2s ease-out, opacity .35s ease; }
.mm-botanical--orto { width: clamp(180px, 19vw, 245px); height: auto; margin-top: 16px; }
.mm-bottega__copy { display: grid; gap: 1rem; justify-items: start; }
.mm-bottega__copy p { margin: 0; max-width: 30rem; color: var(--muted, #61625b); }

@media (min-width: 900px) {
  .mm-bottega__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mm-shop-product { width: min(100%, 450px); justify-self: center; }
  .mm-shop-product--store { width: min(100%, 620px); }
}

/* Mobile: niente desktop compresso; immagini complete e capitoli naturali. */
@media (max-width: 1023px) {
  main .mm-title { font-size: clamp(2.1rem, 6vw, 3rem); line-height: 1.12; }
  .mm-experience-explorer { display: flex; flex-direction: column; align-items: stretch; gap: 1.2rem; }
  .mm-experience-copy { display: contents; }
  .mm-experience-copy > .overline { order: -4; }
  .mm-experience-copy > h2 { order: -3; }
  .mm-experience-copy > p:not(.overline) { order: -2; }
  .mm-experience-explorer > .mm-photo-gallery { order: -1; }
  .mm-experience-list { order: 0; }
  .mm-experience-copy > a { align-self: flex-start; }
  .mm-motion-ready .mm-esperienze.is-mm-mounted .mm-experience-visual { position: relative; display: block; aspect-ratio: 3 / 2; }
  .mm-motion-ready .mm-esperienze.is-mm-mounted .mm-experience-frame { position: absolute; inset: 0; opacity: 0; aspect-ratio: auto; transition: opacity .3s ease; }
  .mm-motion-ready .mm-esperienze.is-mm-mounted .mm-experience-frame.is-current { opacity: 1; z-index: 2; }
  .mm-event-stage { display: flex; flex-direction: column; padding: 3.5rem max(20px, 4.5vw); gap: 1.25rem; }
  .mm-eventi__copy { display: contents; }
  .mm-eventi__copy h2 { order: -3; }
  .mm-eventi__text { order: -2; }
  .mm-event-visual { order: -1; }
  .mm-eventi.is-mm-mounted .mm-event-visual { display: grid; grid-template-rows: auto auto; grid-template-columns: 1fr; }
  .mm-eventi.is-mm-mounted .mm-event-frame { grid-row: 2; grid-column: 1; opacity: 0; pointer-events: none; transition: opacity .3s ease; }
  .mm-eventi.is-mm-mounted .mm-event-frame.is-current { opacity: 1; z-index: 1; }
  .mm-eventi.is-mm-mounted .mm-event-toolbar { width: 100%; gap: 0; margin-top: -1rem; }
  .mm-event-index { width: 100%; }
  .mm-event-index button { font-size: 1rem; letter-spacing: -.025em; padding-inline: 2px; }
  .mm-event-index .mm-event-number { display: none; }
  .mm-production-stage { gap: 1.5rem; }
  .mm-produzione.is-mm-mounted .mm-production-visual { position: relative; display: block; aspect-ratio: 3 / 2; }
  .mm-produzione.is-mm-mounted .mm-production-frame { position: absolute; inset: 0; opacity: 0; transition: opacity .3s ease; }
  .mm-produzione.is-mm-mounted .mm-production-frame.is-current { opacity: 1; z-index: 1; }
  .mm-prod__testa { grid-column: auto; }
  .mm-room-pane { display: none; }
  .mm-camere.is-room-mobile-reveal .mm-room-pane { display: block; }
  .mm-room-main { clip-path: none !important; }
  .mm-room-scene > .mm-photo-nav { right: 12px; bottom: 12px; }
  .mm-event-stage { padding-top: 56px; }
  .mm-event-visual { background: transparent; }
  .mm-event-progress { display: none; }
  .mm-production-frame { clip-path: none !important; }
  .mm-production-steps li { opacity: 1; }
  .mm-production-progress { display: none; }
}

/* Variante reale per reduced motion: contenuti completi, dissolvenze brevi o
   stato statico; nessun grande spostamento e nessun pannello sticky. */
@media (prefers-reduced-motion: reduce) {
  .mm-shop-light { transition: opacity .18s ease; }
  .mm-room-main,
  .mm-shop-product { clip-path: none !important; transform: none !important; opacity: 1 !important; transition: none !important; }
  .mm-event-frame, .mm-experience-frame, .mm-production-frame { clip-path: none !important; transform: none !important; transition: none !important; }
  .mm-camere.is-mm-mounted .mm-room-pane { display: none; }
  .mm-eventi,
  .mm-produzione { height: auto !important; }
  .mm-event-stage,
  .mm-production-stage { position: static !important; height: auto !important; }
  .mm-production-stage { grid-template-columns: 1fr; grid-template-rows: auto; }
  .mm-production-stage .mm-prod__testa { grid-column: auto; }
  .mm-eventi.is-mm-mounted .mm-event-visual { display: block; height: clamp(250px, 62svh, 620px); }
  .mm-eventi.is-mm-mounted .mm-event-frame { position: absolute; inset: 0; aspect-ratio: auto; opacity: 0; pointer-events: none; }
  .mm-eventi.is-mm-mounted .mm-event-frame.is-current { opacity: 1; z-index: 1; }
  .mm-eventi.is-mm-mounted .mm-event-toolbar { grid-row: 2; grid-column: 1; }
  .mm-produzione.is-mm-mounted .mm-production-visual { position: relative; display: block; aspect-ratio: 3 / 2; }
  .mm-produzione.is-mm-mounted .mm-production-frame { position: absolute; inset: 0; opacity: 0; }
  .mm-produzione.is-mm-mounted .mm-production-frame.is-current { opacity: 1; z-index: 1; }
  .mm-event-progress, .mm-production-progress { display: none; }
}
@media (prefers-reduced-motion: reduce) and (min-width: 1024px) {
  .mm-production-stage { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: center; }
  .mm-production-stage .mm-prod__testa { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) and (max-width: 1023px) {
  .mm-eventi.is-mm-mounted .mm-event-visual { height: auto; aspect-ratio: 3 / 2; }
}

/* Esperienze: same compact editorial composition, now entirely in normal flow.
   Only pointer/focus and the existing arrows change the selected photograph. */
@media (min-width: 1024px) {
  .mm-esperienze.is-experience-browse .mm-experience-copy { gap: .8rem; }
  .mm-esperienze.is-experience-browse .mm-experience-copy .mm-title { font-size: clamp(2.1rem, 3.6vw, 3.5rem); }
}
