/* Base & reset */
/* Font: Bastardo Grotesk (Regular e Semibold) — supporto a ttf */
@font-face {
  font-family: 'Bastardo Grotesk';
  src: url('assets/fonts/BastardoGrotesk-Regular.woff2') format('woff2'),
       url('assets/fonts/BastardoGrotesk-Regular.woff') format('woff'),
       url('assets/fonts/BastardoGrotesk-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Bastardo Grotesk';
  src: url('assets/fonts/BastardoGrotesk-Semibold.woff2') format('woff2'),
       url('assets/fonts/BastardoGrotesk-Semibold.woff') format('woff'),
       url('assets/fonts/BastardoGrotesk-Semibold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  font-weight: 700; /* Bold */
  font-size: 16px;           /* stile testo globale */
  letter-spacing: -0.06em;   /* tracking globale ≈ -6% */
  color: #111;
  background: #fff;
}

/* Layout tokens */
/* Variabili per reveal */
/* Base & reset */
* { box-sizing: border-box; }
html, body { height: 100%; }
body {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: -0.06em;
  color: #404040; /* testo generale attivo */
  background: #fff;
}

/* Layout tokens */
:root {
  --topbar-h: 0px;
  --scroll-length: 320vh;
  --outer-margin: 20px;
  --gutter: 20px;
  --columns: 12;
  --header-offset: 0px;
}

/* Wrapper scroll */
.hero-wrap { height: var(--scroll-length); position: relative; }

/* Sticky hero grid 12 */
.hero-grid {
  position: sticky;
  top: var(--topbar-h);
  height: calc(100svh - var(--topbar-h));
  width: 100%;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-template-rows: 1fr;
  column-gap: var(--gutter);
  padding-left: var(--outer-margin);
  padding-right: var(--outer-margin);
  align-items: center;
  z-index: 2;
  background: #fff;
  overflow: hidden;
}

.left-label { grid-column: 1; grid-row: 1; justify-self: start; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.center-stage { grid-column: 1 / -1; grid-row: 1; justify-self: center; position: relative; display: grid; place-items: center; isolation: isolate; z-index: 6; }
.hero-video { width: clamp(240px, 40vw, 720px); height: auto; display: block; aspect-ratio: 16 / 9; object-fit: cover; opacity: 0; transition: opacity 240ms ease; will-change: transform, opacity; }
.center-title { position: absolute; left: 50%; top: 50%; transform: translate(-50%, calc(-50% + var(--title-shift-y, 0px))); margin: 0; mix-blend-mode: overlay; color: #404040; pointer-events: none; z-index: 5; }
.right-year { grid-column: 12; grid-row: 1; justify-self: end; text-align: right; }

.left-label, .right-year, .center-title { will-change: transform; }
.left-label, .right-year { position: relative; z-index: 5; }

@media (max-width: 420px) { .hero-grid { height: calc(100svh - var(--topbar-h)); } }

/* Mobile intro layout (<= 600px): 6 colonne, margini 10px, gutter 5px */
@media (max-width: 600px) {
  :root { --outer-margin: 10px; --gutter: 5px; --columns: 6; }
  /* Pagina progetto: scroll unico su mobile */
  .page-project { height: auto; overflow: visible; }
  /* Colore testo globale mobile */
  body { color: rgb(17, 17, 17); }

  /* Griglia a 6 colonne, elementi centrati verticalmente */
  .hero-grid { grid-template-columns: repeat(6, 1fr); align-items: center; }
  .left-label { grid-column: 1; justify-self: start; }
  .right-year { grid-column: 6; justify-self: end; }
  .center-stage { grid-column: 1 / -1; justify-self: center; width: 534px; max-width: 100%; }

  /* Dimensioni proporzionali per mobile */
  /* GIF larghezza fissa 534px, centrata; si riduce se lo schermo è più stretto */
  .hero-video { width: 534px; max-width: 100%; margin-left: 0; }
  .left-label, .center-title, .right-year { font-size: 15pt; }
  .center-title { white-space: nowrap; text-align: center; }

  /* Disattiva anteprime su hover su mobile */
  .home-previews { display: none !important; }
  /* Assicura clic sugli elementi dell'indice sopra la GIF */
  .cta-index { z-index: 10; }
  .center-stage { pointer-events: none; }

  /* Indice mobile: testo a 100%, +25% dimensione e gap proporzionale */
  .home-index { width: 100%; }
  .home-index-list { gap: 10px; }
  /* Testi indice: dimensione precedente e larghezza auto per lasciare spazio thumbs */
  .home-index-list .name { display: inline-block; width: auto; font-size: clamp(40.5px, 10.125vw, 108px); color: rgb(17, 17, 17); transition: none; }
  /* Niente cambio colore on hover su mobile */
  .home-index-list .row:hover .name { color: rgb(17, 17, 17); }
  .home-index-list .row { position: relative; }
  /* Thumbs fisse allineate a destra, altezza = altezza riga */
  .home-index-list .row-thumbs { position: absolute; right: 0; top: 50%; transform: translateY(calc(-50% - 5px)); display: grid; grid-auto-flow: column; column-gap: 0; align-items: center; height: var(--row-h, 1em); pointer-events: none; }
  .home-index-list .row-thumbs img { height: 100%; width: auto; display: block; pointer-events: none; }

  /* Header mobile: colore unificato rgb(64,64,64) */
  .left-label, .center-title, .right-year,
  .page-project .pv-left-label, .page-project .pv-title, .page-project .pv-year { color: rgb(64, 64, 64) !important; mix-blend-mode: normal !important; font-size: 15pt !important; }
  /* Anche i blocchi di testo progetto erediteranno il colore */
  .project-card, .page-project .pv-card { color: rgb(17, 17, 17); }

  /* Pagine progetto: replica posizioni header della home (6 colonne) */
  .page-project .pv-grid { grid-template-columns: repeat(6, 1fr); }
  .page-project .pv-left-label { grid-column: 1; justify-self: start; }
  .page-project .pv-title { grid-column: 1 / -1; justify-self: center; text-align: center; white-space: nowrap; }
  .page-project .pv-year { grid-column: 6; justify-self: end; }

  /* Riga [i] Titolo Tipo */
  .page-project .pv-grid { --indent-col2: calc(((100svw - (2 * var(--outer-margin)) - (5 * var(--gutter))) / 6) + var(--gutter)); }
  .page-project .pv-head-index { grid-column: 1; grid-row: 2; margin-top: 40px; }
  .page-project .pv-head-title { grid-column: 2 / span 3; grid-row: 2; margin-top: 40px; }
  .page-project .pv-head-type { grid-column: 3 / -1; grid-row: 2; margin-top: 40px; white-space: nowrap; }

  /* Card descrizione sotto la riga titoli */
  .page-project .pv-card { grid-column: 1 / -1; grid-row: 3; margin-top: 36px; }
  /* Testo allineato alla colonna 2 (6-col grid): margin-left = 1 col + 1 gutter */
  .pv-card { --card-w: calc(100svw - (2 * var(--outer-margin))); }
  .pv-card .ap-desc { text-indent: 0; margin-left: calc(((var(--card-w) - (5 * var(--gutter))) / 6) + var(--gutter)); }
  .pv-card .ap-desc-lead { margin-top: 12px; }

  /* Media a tutta larghezza sotto il testo, scroll unico */
  .page-project .pv-media { grid-column: 1 / -1; grid-row: 4; height: auto; overflow: visible; margin-right: 0; }
  .page-project .pv-media .frame { height: auto; min-height: 50vh; }
}

/* (responsive mobile removed per richiesta di rollback) */

/* (header-locked rimosso su richiesta) */

/* (rimosso stato header-locked per mantenere layout originale della home) */

/* Media */
img, video, canvas, svg { max-width: 100%; height: auto; display: block; }

/* Grid utility */
.grid-12 { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gutter); padding-left: var(--outer-margin); padding-right: var(--outer-margin); }

/* Stack progetti (cascata B) */
.project-stack { position: absolute; left: 0; right: 0; top: var(--stack-top); z-index: 3; }
.project-gallery { grid-column: 6 / -1; grid-row: 1; align-self: stretch; height: 100%; overflow-y: auto; z-index: 1; padding: 0; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity 280ms ease; }
.project-gallery.show { opacity: 1; visibility: visible; pointer-events: auto; }
.project-gallery .project-section { display: flex; flex-direction: column; gap: 0; padding: 0; margin: 0; }
/* Rimuovi qualsiasi separazione visiva tra i frame */
.project-gallery .frame { background: transparent; border: none; height: 60vh; width: 100%; margin: 0; padding: 0; }
/* Media dentro i frame: visibili per intero e centrati */
.project-gallery .frame .frame-media{
  width: 100%;
  height: 100%;
  object-fit: cover;        /* riempie il frame, senza bande */
  object-position: center;  /* centrati nel rettangolo grigio */
  display: block;
}
.project-card { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gutter); padding-left: var(--outer-margin); padding-right: var(--outer-margin); transition: opacity 900ms cubic-bezier(.22,.9,.2,1), transform 900ms cubic-bezier(.22,.9,.2,1); color: #404040; 
  /* Larghezza contenuto card: viewport meno padding grid (2*outer) e padding card (2*outer) */
  --card-w: calc(100svw - (4 * var(--outer-margin)));
}
.project-card { position: relative; z-index: 3; margin-top: 5px; }
.project-card + .project-card { margin-top: 5px; }
.project-card.show { opacity: 1; transform: translateY(0); }
.project-card .ap-index { grid-column: 1; justify-self: start; }
.project-card .ap-title { grid-column: 2 / span 2; justify-self: start; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.project-card .ap-type  { grid-column: 4 / span 2; justify-self: start; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.project-card .ap-desc { margin: 0; grid-column: 1 / span 5; 
  /* Solo la prima riga dalla colonna 2: indent = 1 col + 1 gutter calcolati sulla griglia 12 */
  text-indent: calc(((var(--card-w) - (11 * var(--gutter))) / 12) + var(--gutter));
}
.project-card .ap-desc-lead { margin-top: 35px; max-width: none; }
.project-card .ap-desc-wide { margin-top: 0; max-width: none; }

/* Meta info sotto la descrizione */
.project-card .ap-meta-label { grid-column: 1; align-self: start; margin: 0; }
.project-card .ap-meta-input { grid-column: 2 / span 4; align-self: start; margin: 0; width: 100%;
  background: transparent; color: inherit; font: inherit; letter-spacing: inherit;
  border: 1px solid #DADADA; border-radius: 4px; padding: 6px 8px; outline: none;
}
.project-card .ap-meta-exh-input { margin-top: 40px; border: none; padding: 0; }
.project-card .ap-meta-team-input { white-space: pre-wrap; border: none; padding: 0; margin-top: 40px; }
.project-card .ap-meta-input::placeholder { color: #B0B0B0; }
.project-card .ap-meta-exh-label { margin-top: 40px; }
.project-card .ap-meta-team-label { margin-top: 40px; }
/* Link field */
.project-card .ap-meta-link-label { margin-top: 40px; }
.project-card .ap-meta-link-input { margin-top: 40px; border: none; padding: 0; }
.project-card .ap-meta-link-view { grid-column: 2 / span 4; margin-top: 40px; color: inherit; text-decoration: underline; text-decoration-thickness: 0.5px; text-decoration-color: currentColor; cursor: pointer; }

/* Lista progetti in basso */
.bottom-list { position: absolute; left: 0; right: 0; bottom: 20px; display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gutter); opacity: 0; transform: translateY(24px); transition: opacity 300ms ease, transform 300ms ease; z-index: 3; color: #D2D2D2; }
.bottom-list.show { opacity: 1; transform: translateY(0); }
.bottom-list .list-col { text-align: left; }
.bottom-list .list-col.index { grid-column: 1; }
.bottom-list .list-col.name { grid-column: 2 / span 2; }
.bottom-list .list-col.type { grid-column: 4 / span 4; }
.bottom-list .row { padding: 2px 0; color: #D2D2D2; }
.bottom-list .list-col.name .row,
.bottom-list .list-col.type .row { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Righe chiuse fissate sopra alla card attiva */
.top-closed{
  position: relative; /* si sviluppa verso il basso dal livello di stack */
  left: 0; right: 0; top: 0; z-index: 1;
  display: grid; grid-auto-rows: min-content; row-gap: 5px; color: #D2D2D2;
  padding-left: var(--outer-margin); padding-right: var(--outer-margin);
}
.top-closed .tc-row{ display:grid; grid-template-columns: repeat(12,1fr); column-gap: var(--gutter); }
.top-closed .tc-index{ grid-column: 1; }
.top-closed .tc-name{ grid-column: 2 / span 2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.top-closed .tc-type{ grid-column: 4 / span 2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* Indice inline sulla home */
.cta-index { position: absolute; left: var(--outer-margin); right: var(--outer-margin); bottom: 20px; opacity: 0; transform: translateY(24px); transition: opacity 300ms ease, transform 300ms ease; z-index: 4; pointer-events: none; }
.cta-index.show { opacity: 1; transform: translateY(0); pointer-events: auto; }
.home-index { width: 100%; }
.home-index-list { display: flex; flex-direction: column; gap: 6px; }
.home-index-list .row { display: block; }
.home-index-list .name {
  font-family: 'Bastardo Grotesk', "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  font-size: clamp(32.4px, 8.1vw, 86.4px); /* -10% */
  line-height: 0.79;              /* 79% */
  letter-spacing: -0.04em;        /* -4% */
  font-weight: 600;               /* Semibold */
  text-transform: uppercase;
  color: #9B9B9B;                 /* grigio base */
  text-decoration: none;
  display: inline-block;
  transition: color 160ms ease;
}
.home-index-list .row:hover .name { color: #111; }

/* Home: preview immagini a destra su hover */
.home-previews {
  position: absolute;
  right: var(--outer-margin);
  top: auto;
  bottom: 34px;            /* distanza dal bordo inferiore della pagina */
  /* larghezza: 2 colonne della griglia + 1 gutter */
  width: calc(
    (
      (100svw - (2 * var(--outer-margin))) /* area contenuto */
      - (11 * var(--gutter))               /* gap tra 12 colonne */
    ) / 12 * 2                              /* 2 colonne */
    + var(--gutter)                         /* 1 gutter tra le due colonne */
  );
  display: grid;
  grid-auto-rows: auto;
  row-gap: 0;             /* nessuno spazio tra immagini */
  opacity: 0;
  transition: none;       /* nessuna dissolvenza */
  pointer-events: none; /* solo display, non interattivo */
  z-index: 6;
}
.home-previews.show { opacity: 1; }
.home-previews .ph {
  background: #f0f0f0;
  height: clamp(72px, 14.4vh, 162px); /* -10% */
  overflow: hidden;
}
.home-previews .ph img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Pagina Indice */
/* (Indice come pagina separata non usato; lascio stili se servono) */
.page-index { padding: 40px var(--outer-margin); max-width: 1400px; margin: 0 auto; }
.page-index .index-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24px; }
.page-index .index-header a { color: inherit; text-decoration: underline; }
.index-list { display: grid; grid-template-columns: repeat(12, 1fr); column-gap: var(--gutter); row-gap: 10px; }
.index-list .list-col { text-align: left; }
.index-list .list-col.index { grid-column: 1; }
.index-list .list-col.name { grid-column: 2 / span 5; }
.index-list .list-col.type { grid-column: 7 / span 6; }
.index-list .row { padding: 6px 0; }
.index-list .row a { color: inherit; text-decoration: none; border-bottom: 1px solid transparent; }
.index-list .row a:hover { border-bottom-color: currentColor; }
.index-list .row.is-disabled { color: #B8B8B8; }

/* Pagina Progetto */
/* Nuovo layout pagina progetto (come view aperta in home) */
.page-project { padding: 0; height: 100svh; overflow: hidden; }
.page-project .pv-grid { display: grid; grid-template-columns: repeat(12, minmax(0,1fr)); grid-template-rows: min-content 1fr; column-gap: var(--gutter); padding-left: var(--outer-margin); padding-right: var(--outer-margin); padding-top: 0; align-items: start; height: 100%; position: relative; --grid-inner-w: calc(100% - (2 * var(--outer-margin))); --colw12: calc((var(--grid-inner-w) - (11 * var(--gutter))) / 12); }
.page-project .pv-left-label { grid-column: 1; grid-row: 1; align-self: start; z-index: 2; min-width: 0; }
.page-project .pv-title { grid-column: 1 / -1; grid-row: 1; justify-self: center; align-self: start; margin: 0; text-align: center; z-index: 2; min-width: 0; }
.page-project .pv-year { grid-column: 12; grid-row: 1; justify-self: end; align-self: start; z-index: 2; min-width: 0; }
.page-project .pv-card { grid-column: 1 / span 5; grid-row: 2; margin-top: 80px; color: #404040; max-height: 100%; overflow: hidden; padding-left: 0; padding-right: 0; }
.page-project .pv-card { --card-w: calc(100svw - (2 * var(--outer-margin))); }
.page-project .pv-card { display: grid; grid-template-columns: 104px 1fr; column-gap: var(--gutter); }
/* Header riga indicizzata allineata alla griglia globale */
.page-project .pv-head-index { grid-column: 1; grid-row: 2; margin-top: 70px; }
.page-project .pv-head-title { grid-column: 2; grid-row: 2; margin-top: 70px; }
.page-project .pv-head-type  { grid-column: 4 / -1; grid-row: 2; margin-top: 70px; white-space: nowrap; }
.pv-card .ap-desc { grid-column: 1 / -1; margin: 0; text-indent: 125px; margin-left: 0; }
.pv-card .ap-desc-lead { grid-column: 1 / -1; margin-top: 35px; text-indent: 125px; margin-left: 0; }
.pv-card .ap-desc-wide { grid-column: 1 / -1; margin-top: 0; text-indent: 125px; margin-left: 0; }
/* Meta label/value come due colonne fluide senza grid interna 12 */
.pv-card .ap-meta-label { grid-column: 1; margin: 0;margin-top: 50px; align-self: start; }
.pv-card .ap-meta-input, .pv-card .ap-meta-link-view { grid-column: 2; margin: 0; margin-top: 50px; align-self: start; }
/* Revert: usa le colonne standard per Exhibited at (label col 1, valore col 2) */
/* (white-space: nowrap rimane definito sopra) */
/* Exhibited at: label + valore sulla stessa riga, senza a capo (desktop) */
.pv-card .ap-meta-exh-label,
.pv-card .ap-meta-exh-input { white-space: nowrap; }
/* Link nelle pagine progetto: stesso colore del testo e sottolineatura più sottile */
.pv-card .ap-meta-link-view { color: inherit; text-decoration: underline; text-decoration-thickness: 0.5px; text-decoration-color: currentColor; }
.pv-card .ap-meta-exh-label { margin-top: 50px; }
.pv-card .ap-meta-team-label { margin-top: 50px; }
.pv-card .ap-meta-link-label { margin-top: 50px; }
/* (spaziatura link ripristinata al valore precedente) */
.page-project .pv-media { grid-column: 6 / -1; grid-row: 1 / -1; height: 100%; overflow-y: auto; -webkit-overflow-scrolling: touch; z-index: 1; margin-right: calc(-1 * var(--outer-margin)); }
.page-project .pv-media .frame { background: transparent; border: none; height: 60vh; width: 100%; margin: 0; padding: 0; }
.page-project .pv-media .frame .frame-media { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }

/* Mobile overrides placed after desktop rules to ensure visibility */
@media (max-width: 600px) {
  .page-project { height: auto !important; overflow: visible !important; }
  .page-project { padding-bottom: 72px !important; }
  .page-project .pv-grid {
    grid-template-columns: repeat(6, 1fr) !important;
    grid-template-rows: min-content auto auto !important;
    padding-left: var(--outer-margin);
    padding-right: var(--outer-margin);
    /* Misure grid 6-col per allineamenti precisi */
    --colw6: calc((100svw - (2 * var(--outer-margin)) - (5 * var(--gutter))) / 6);
    --indent-col2: calc(var(--colw6) + var(--gutter));
    --indent-col3: calc((2 * var(--colw6)) + (2 * var(--gutter)));
    --indent-col4: calc((3 * var(--colw6)) + (3 * var(--gutter)));
  }
  .page-project .pv-left-label { grid-column: 1 !important; justify-self: start !important; }
  .page-project .pv-title { grid-column: 1 / -1 !important; justify-self: center !important; text-align: center !important; white-space: nowrap !important; }
  .page-project .pv-year { grid-column: 6 !important; justify-self: end !important; }

  .page-project .pv-head-index { grid-column: 1 !important; grid-row: 2 !important; margin-top: 40px !important; }
  /* Allinea il titolo alla stessa colonna della descrizione (col 2) */
  .page-project .pv-head-title {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin-top: 40px !important;
    margin-left: var(--indent-col2) !important;
    justify-self: start !important;
    text-align: left !important;
  }
  /* Tipologia dalla quarta colonna (col 4) */
  .page-project .pv-head-type {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin-top: 40px !important;
    margin-left: var(--indent-col4) !important;
    white-space: nowrap !important;
    justify-self: start !important;
    text-align: left !important;
  }

  .page-project .pv-card { grid-column: 1 / -1 !important; grid-row: 3 !important; margin-top: 36px !important; }
  .pv-card { --card-w: calc(100svw - (2 * var(--outer-margin))); display: grid !important; grid-template-columns: repeat(6, 1fr) !important; column-gap: var(--gutter) !important; }
  /* Prima riga dalla seconda colonna, resto dalla prima: usa text-indent */
  .pv-card .ap-desc, .pv-card .ap-desc-lead, .pv-card .ap-desc-wide {
    grid-column: 1 / -1 !important;
    text-indent: var(--indent-col2) !important;
    margin-left: 0 !important;
  }
  .pv-card .ap-desc-lead { margin-top: 12px !important; }

  /* Meta su mobile: label in colonna 1, contenuti possono estendersi su più colonne */
  .pv-card .ap-meta-label { grid-column: 1 !important; }
  .pv-card .ap-meta-input,
  .pv-card .ap-meta-team-input,
  .pv-card .ap-meta-exh-input,
  .pv-card .ap-meta-link-view { grid-column: 2 / -1 !important; max-width: 100% !important; white-space: normal !important; overflow: visible !important; }
  /* Mobile: forza "Exhibited at" sulla stessa riga, senza a capo */
  .pv-card .ap-meta-exh-label,
  .pv-card .ap-meta-exh-input { white-space: nowrap !important; }
  /* Team: un nome per riga preservando le interruzioni di linea */
  .pv-card .ap-meta-team-input { white-space: pre-line !important; display: block !important; }

  /* Media full-bleed: nessun margine tra le immagini e larghezza a vivo */
  .page-project .pv-media { grid-column: 1 / -1 !important; grid-row: 4 !important; height: auto !important; overflow: visible !important; margin-top: 50px !important; margin-left: calc(-1 * var(--outer-margin)) !important; margin-right: calc(-1 * var(--outer-margin)) !important; width: calc(100% + (2 * var(--outer-margin))) !important; display: block !important; padding: 0 !important; line-height: 0 !important; }
  .page-project .pv-media .frame { position: relative !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; line-height: 0 !important; }
  .page-project .pv-media .frame .frame-media { position: static !important; width: 100% !important; height: auto !important; object-fit: contain !important; display: block !important; }
  .page-project .pv-media .frame + .frame { margin-top: 0 !important; }

  /* Mobile fixed footer prev/next */
  .proj-footer-mobile { position: fixed; left: 0; right: 0; bottom: 0; height: 56px; display: grid; grid-template-columns: repeat(6, 1fr); align-items: center; padding-left: var(--outer-margin); padding-right: var(--outer-margin); color: rgb(64,64,64); font-family: 'Bastardo Grotesk', "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif; font-weight: 600; font-size: 15pt; z-index: 20; mix-blend-mode: difference; }
  .proj-footer-mobile a { color: inherit; text-decoration: none; }
  .proj-footer-mobile .prev { grid-column: 1; justify-self: start; }
  .proj-footer-mobile .next { grid-column: 6; justify-self: end; }
}

/* Header typography */
/* Home header */
.left-label, .center-title, .right-year {
  font-family: 'Bastardo Grotesk', "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  font-weight: 600;
  font-size: 18pt;
  margin-top: 0; /* nessun offset: allineamento perfetto tra i tre testi */
  mix-blend-mode: difference;
}
/* Pagine progetto header (desktop) */
.page-project .pv-left-label, .page-project .pv-title, .page-project .pv-year {
  font-family: 'Bastardo Grotesk', "Helvetica Neue", Helvetica, Arial, system-ui, sans-serif;
  font-weight: 600;
  font-size: 18pt;
  margin-top: 10px; /* offset richiesto per le pagine interne */
  mix-blend-mode: difference;
}

/* Pagina progetto: label sinistro su una riga, minuscolo */
.page-project .pv-left-label { white-space: nowrap; text-transform: none; transform: translateY(-2px); }
