/* Mill Photo Studio — proporzioni dei PDF su tavola di 1530 px. */
:root {
    --unita: calc(100vw / 1530);
    --carta: #fffbe8;
    --inchiostro: #292929;
    --rosso: #cb4237;
    color-scheme: light;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--inchiostro);
    background: var(--carta);
    scroll-behavior: smooth;
}

*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-size: calc(16 * var(--unita)); }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: .2em; }
button, input, textarea { font: inherit; color: inherit; }
button { padding: 0; border: 0; background: none; cursor: pointer; }
button, a, input, textarea { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
h1, h2, h3, p, figure { margin: 0; }
dialog { color: inherit; }
.solo-lettori, .campo-esca { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.salta-contenuto { position: fixed; z-index: 100; top: -100px; left: 16px; padding: 12px; background: var(--inchiostro); color: var(--carta); }
.salta-contenuto:focus { top: 12px; }

/* Intestazione e navigazione condivise. */
.intestazione { height: calc(98 * var(--unita)); position: relative; display: flex; align-items: center; justify-content: center; }
.lingua { position: absolute; top: calc(42 * var(--unita)); left: calc(50 * var(--unita)); font-size: calc(12 * var(--unita)); line-height: 1; text-transform: uppercase; }
.marchio { position: absolute; top: calc(11 * var(--unita)); width: calc(108 * var(--unita)); }
.marchio img { width: 100%; }
.pulsante-menu { position: absolute; right: calc(36 * var(--unita)); top: calc(25 * var(--unita)); width: calc(44 * var(--unita)); height: calc(44 * var(--unita)); display: grid; place-items: center; }
.pulsante-menu span { width: calc(20 * var(--unita)); height: calc(20 * var(--unita)); border-radius: 50%; background: #41413f; }
.piede { padding: calc(90 * var(--unita)) 0 calc(79 * var(--unita)); }
.navigazione-piede { width: calc(840 * var(--unita)); margin: 0 auto; display: flex; align-items: center; justify-content: space-between; font-size: calc(12 * var(--unita)); line-height: calc(14 * var(--unita)); font-weight: 700; text-transform: uppercase; }
.dati-studio { margin-top: calc(84 * var(--unita)); text-align: center; font-size: calc(8 * var(--unita)); line-height: calc(10 * var(--unita)); }
.menu { width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 8vh 10vw; border: 0; background: var(--carta); }
.menu::backdrop { background: var(--carta); }
.menu nav { display: flex; flex-direction: column; justify-content: center; min-height: 80dvh; gap: 1vh; }
.menu nav > a { width: fit-content; font-family: Impact, 'Arial Narrow', sans-serif; text-transform: uppercase; font-size: clamp(36px, 5vw, 80px); line-height: 1.1; }
.menu nav > a:hover { color: var(--rosso); text-decoration: none; }
.menu-rubriche { display: flex; flex-wrap: wrap; gap: 24px; margin-top: 36px; font-size: 14px; text-transform: uppercase; }
.chiudi-menu { position: absolute; top: 20px; right: 30px; width: 44px; height: 44px; font-size: 38px; }
body:has(dialog[open]) { overflow: hidden; }

/* Manifesto. */
.pagina-manifesto { padding-bottom: calc(92 * var(--unita)); }
.apertura-manifesto { width: calc(1275 * var(--unita)); margin: calc(251 * var(--unita)) 0 0 calc(145.5 * var(--unita)); display: grid; grid-template-columns: calc(618 * var(--unita)) 1fr; gap: calc(30 * var(--unita)); align-items: start; height: calc(81 * var(--unita)); }
.apertura-manifesto h1 img { width: calc(618 * var(--unita)); }
.affermazione-manifesto { display: block; text-align-last: justify; }
.apertura-manifesto p { padding-top: 0; font-size: calc(18.55 * var(--unita)); line-height: calc(20.7 * var(--unita)); font-weight: 700; text-transform: uppercase; text-align: justify; }
.scena { display: grid; grid-template-columns: calc(616 * var(--unita)) calc(545 * var(--unita)); gap: calc(60 * var(--unita)); margin: calc(352 * var(--unita)) 0 0 calc(145.5 * var(--unita)); }
.scena > img { width: 100%; }
.racconto-scena { padding-top: calc(131 * var(--unita)); font-size: calc(16 * var(--unita)); line-height: calc(19 * var(--unita)); }
.racconto-scena h2 img { width: calc(292 * var(--unita)); }
.racconto-scena p:first-of-type { margin-top: calc(24 * var(--unita)); }
.racconto-scena p + p { margin-top: calc(38 * var(--unita)); }
.soggetti { width: calc(1370 * var(--unita)); margin: calc(200 * var(--unita)) auto 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(90.67 * var(--unita)); }
.foto-apribile { display: block; width: 100%; text-align: inherit; }
.foto-apribile img { width: 100%; }
.soggetto figcaption { margin-top: calc(21 * var(--unita)); }
.soggetto figcaption img { width: auto; height: calc(27 * var(--unita)); max-width: 100%; }
.oltre-scena { width: calc(970 * var(--unita)); margin: calc(200 * var(--unita)) 0 0 calc(263 * var(--unita)); display: grid; grid-template-columns: calc(390 * var(--unita)) 1fr; gap: calc(59.5 * var(--unita)); }
.oltre-scena > img { width: 100%; }
.racconto-oltre { padding-top: calc(198 * var(--unita)); font-size: calc(16 * var(--unita)); line-height: calc(19 * var(--unita)); }
.racconto-oltre h2 > img { width: calc(293 * var(--unita)); }
.scritta-oltre { display: block; width: calc(105 * var(--unita)); margin-bottom: calc(6 * var(--unita)); }
.racconto-oltre p:first-of-type { margin-top: calc(59 * var(--unita)); }
.racconto-oltre p + p { margin-top: calc(19 * var(--unita)); }
.rubriche { width: calc(1203 * var(--unita)); margin: calc(198 * var(--unita)) auto 0; }
.testata-rubriche { display: grid; grid-template-columns: calc(293 * var(--unita)) 1fr; gap: calc(78 * var(--unita)); align-items: end; }
.sopratitolo { display: block; font-size: calc(25.62 * var(--unita)); line-height: calc(30 * var(--unita)); font-weight: 400; text-transform: uppercase; white-space: nowrap; }
.testata-rubriche h2 > img { width: 100%; margin-top: calc(6 * var(--unita)); }
.testata-rubriche p { font-size: calc(19 * var(--unita)); line-height: calc(20.7 * var(--unita)); font-weight: 700; text-transform: uppercase; }
.elenco-rubriche { margin-top: calc(70 * var(--unita)); display: flex; align-items: start; gap: calc(155 * var(--unita)); }
.rubrica { display: block; flex-shrink: 0; }
.rubrica:hover { text-decoration: none; }
.rubrica-series { width: calc(287.3 * var(--unita)); margin-top: calc(92 * var(--unita)); }
.rubrica-series h3 { width: calc(129 * var(--unita)); margin-bottom: calc(19 * var(--unita)); }
.rubrica-outtakes { width: calc(293.24 * var(--unita)); margin-top: calc(20 * var(--unita)); }
.rubrica-outtakes h3 { width: calc(189 * var(--unita)); margin: calc(19.5 * var(--unita)) auto 0; }
.rubrica-guest { width: calc(310 * var(--unita)); }
.rubrica-guest h3 { width: calc(224 * var(--unita)); margin: 0 0 calc(17.5 * var(--unita)) auto; }

/* Our Mill. */
.presentazione-studio { padding-top: calc(103 * var(--unita)); margin-left: calc(148 * var(--unita)); width: calc(1236 * var(--unita)); }
.presentazione-studio h1 { width: calc(588 * var(--unita)); }
.testi-studio { display: grid; grid-template-columns: calc(480 * var(--unita)) calc(480 * var(--unita)) 1fr; gap: calc(40 * var(--unita)); margin-top: calc(44 * var(--unita)); font-size: calc(16 * var(--unita)); line-height: calc(19 * var(--unita)); font-weight: 700; }
.testi-studio > div p + p { margin-top: calc(19 * var(--unita)); }
.scarica-zine { align-self: center; justify-self: end; white-space: nowrap; color: var(--rosso); font-size: calc(12 * var(--unita)); line-height: 1.3; font-weight: 400; text-decoration: underline; }
.contatti-studio { display: flex; justify-content: center; gap: calc(96 * var(--unita)); margin-top: calc(143 * var(--unita)); padding-right: calc(148 * var(--unita)); font-size: calc(16 * var(--unita)); line-height: calc(19 * var(--unita)); }
.ritratti { width: calc(1246 * var(--unita)); display: grid; grid-template-columns: 1fr 1fr; gap: calc(22 * var(--unita)); margin: calc(116 * var(--unita)) auto 0; }
.scheda-fotografa > img { width: 100%; }
.scheda-fotografa h2 { margin-top: calc(30 * var(--unita)); font-size: calc(16 * var(--unita)); line-height: calc(19 * var(--unita)); font-weight: 700; }
.scheda-fotografa p { margin-top: calc(29 * var(--unita)); font-size: calc(16 * var(--unita)); line-height: calc(19 * var(--unita)); }
.scheda-fotografa p + p { margin-top: calc(25 * var(--unita)); }
.fotografia-studio { display: grid; grid-template-columns: 24.7059% 1fr; margin-top: calc(79 * var(--unita)); }
.fotografia-studio img { width: 100%; height: calc(470.77 * var(--unita)); object-fit: cover; }
.pagina-studio + .piede { background: var(--inchiostro); color: var(--carta); padding-top: calc(80 * var(--unita)); padding-bottom: calc(86 * var(--unita)); }

/* Series e Guest Collection. */
.pagina-raccolta { width: calc(1246.8 * var(--unita)); margin: 0 auto; }
.raccolta-series { padding-top: calc(74 * var(--unita)); padding-bottom: calc(64 * var(--unita)); }
.raccolta-guest { padding-top: calc(70 * var(--unita)); padding-bottom: calc(24 * var(--unita)); }
.testata-raccolta { display: flex; align-items: end; gap: calc(16 * var(--unita)); }
.testata-raccolta h1 { flex-shrink: 0; }
.testata-raccolta h1 > img, .presentazione-studio h1 > img, .rubrica h3 > img { width: 100%; }
.raccolta-series h1 { width: calc(208 * var(--unita)); }
.raccolta-guest h1 { width: calc(358 * var(--unita)); }
.testata-raccolta p { font-size: calc(18.55 * var(--unita)); line-height: calc(21 * var(--unita)); font-weight: 700; text-transform: uppercase; }
.raccolta-guest .testata-raccolta p { font-size: calc(16 * var(--unita)); line-height: calc(18 * var(--unita)); }
.galleria-raccolta { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: calc(15.5 * var(--unita)); margin-top: calc(28 * var(--unita)); }
.raccolta-guest .galleria-raccolta { margin-top: calc(24 * var(--unita)); }
.galleria-raccolta img { height: calc(353 * var(--unita)); object-fit: cover; }
.torna-su { display: grid; place-items: center; margin: calc(28 * var(--unita)) auto 0; width: calc(44 * var(--unita)); height: calc(44 * var(--unita)); }
.torna-su span { width: calc(14 * var(--unita)); height: calc(14 * var(--unita)); border: solid var(--inchiostro); border-width: calc(4 * var(--unita)) 0 0 calc(4 * var(--unita)); transform: translateY(3px) rotate(45deg); }
.raccolta-guest .torna-su { margin-top: 0; }

/* Outtakes. */
.copertina-outtakes { width: 100%; height: calc(860.625 * var(--unita)); object-fit: cover; }
.introduzione-outtakes { margin: calc(42 * var(--unita)) calc(34 * var(--unita)) 0; font-size: calc(19 * var(--unita)); line-height: calc(21 * var(--unita)); font-weight: 700; text-transform: uppercase; text-align: justify; }
.composizione-outtakes { display: flex; align-items: start; margin: calc(132.7 * var(--unita)) 0 0 calc(30 * var(--unita)); overflow: hidden; }
.titolo-outtakes { width: calc(451 * var(--unita)); margin-top: calc(66 * var(--unita)); margin-right: calc(24 * var(--unita)); flex-shrink: 0; }
.foto-outtakes-principale { width: calc(381 * var(--unita)); margin-right: calc(11 * var(--unita)); flex-shrink: 0; }
.sequenza-outtakes { display: flex; gap: calc(10 * var(--unita)); width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-x: contain; scrollbar-width: none; scroll-snap-type: x mandatory; margin-top: calc(132.8 * var(--unita)); }
.sequenza-outtakes::-webkit-scrollbar { display: none; }
.sequenza-outtakes .foto-apribile { width: calc(167.33 * var(--unita)); flex: 0 0 auto; scroll-snap-align: start; }
.sequenza-outtakes img { height: calc(222.44 * var(--unita)); object-fit: cover; }
.sfoglia-outtakes { display: block; width: fit-content; margin: calc(179 * var(--unita)) auto 0; font-size: calc(14 * var(--unita)); line-height: calc(17 * var(--unita)); text-transform: uppercase; text-decoration: underline; }
.pagina-outtakes + .piede { padding-top: calc(78 * var(--unita)); padding-bottom: calc(80 * var(--unita)); }

/* Contact: campi e controlli nativi. */
.pagina-contatti { min-height: calc(684 * var(--unita)); background: var(--rosso); padding: calc(128 * var(--unita)) calc(200 * var(--unita)) calc(130 * var(--unita)); }
.modulo-contatti { position: relative; }
.campi-anagrafici { display: grid; grid-template-columns: 257fr 257fr 257fr 299fr; gap: calc(20 * var(--unita)); }
.campo { display: block; }
.campo > img, .servizi legend > img { width: auto; height: calc(19 * var(--unita)); margin-bottom: calc(8 * var(--unita)); max-width: 100%; }
.campo input, .campo textarea { display: block; width: 100%; min-width: 0; height: calc(48 * var(--unita)); padding: calc(12 * var(--unita)); border: 0; border-radius: 0; background: var(--carta); box-shadow: none; font-size: calc(16 * var(--unita)); line-height: 1.4; }
.campo input[type="date"]:not(:focus):invalid::-webkit-datetime-edit { color: transparent; }
.campo textarea { resize: none; min-height: calc(48 * var(--unita)); max-height: 150px; }
.campi-evento { display: grid; grid-template-columns: 207fr 287.67fr 288fr 287.67fr; gap: calc(20 * var(--unita)); margin-top: calc(98 * var(--unita)); }
.servizi { margin: 0; padding: 0; border: 0; min-width: 0; }
.servizi legend { padding: 0; }
.scelte-servizi { display: grid; grid-template-columns: 1fr 1fr; gap: calc(8 * var(--unita)) calc(14 * var(--unita)); }
.scelte-servizi label { display: flex; align-items: center; gap: calc(9 * var(--unita)); font-size: calc(16 * var(--unita)); line-height: calc(20 * var(--unita)); cursor: pointer; }
.scelte-servizi input { appearance: none; margin: 0; width: calc(17 * var(--unita)); height: calc(17 * var(--unita)); background: var(--carta); border: 0; border-radius: 0; flex-shrink: 0; }
.scelte-servizi input:checked { background: var(--inchiostro); box-shadow: inset 0 0 0 3px var(--carta); }
.nota-contatto { margin-top: calc(64 * var(--unita)); font-size: calc(12 * var(--unita)); line-height: calc(14 * var(--unita)); font-style: italic; font-weight: 700; }
.invia-modulo { display: grid; place-items: center; margin: calc(63 * var(--unita)) auto 0; width: calc(75 * var(--unita)); min-height: calc(37 * var(--unita)); color: var(--carta); background: var(--inchiostro); }
.invia-modulo > img { width: calc(37 * var(--unita)); height: auto; }
.esito-modulo { position: absolute; bottom: calc(100% + 30px); font-size: 14px; }
.pagina-contatti + .piede { padding-top: calc(80 * var(--unita)); padding-bottom: calc(80 * var(--unita)); }
.pagina-contatti + .piede .navigazione-piede { font-weight: 400; }

/* Visore fotografico, navigabile anche da tastiera. */
.visore { width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 54px 70px 24px; border: 0; background: var(--inchiostro); color: var(--carta); }
.visore[open] { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; align-items: center; gap: 16px; }
.visore::backdrop { background: var(--inchiostro); }
.visore figure { min-width: 0; text-align: center; }
.visore figure img { max-height: calc(100dvh - 130px); width: auto; margin: 0 auto; object-fit: contain; }
.visore figcaption { margin-top: 16px; font-size: 13px; }
.chiudi-visore { position: absolute; right: 24px; top: 12px; width: 44px; height: 44px; font-size: 38px; }
.foto-precedente, .foto-successiva { width: 44px; height: 60px; font-size: 42px; }
.pagina-testo { width: min(800px, calc(100% - 48px)); margin: 80px auto; font-size: 16px; line-height: 1.6; }
.pagina-testo h1 { font-size: 36px; margin-bottom: 30px; }
.pagina-testo p + p { margin-top: 20px; }

@media (max-width: 1024px) {
    body { font-size: 16px; }
    .intestazione { height: 90px; }
    .marchio { width: 96px; top: 8px; }
    .lingua { left: 22px; top: 37px; font-size: 11px; }
    .pulsante-menu { width: 44px; height: 44px; right: 12px; top: 22px; }
    .pulsante-menu span { width: 14px; height: 14px; }
    .piede, .pagina-studio + .piede, .pagina-outtakes + .piede, .pagina-contatti + .piede { padding: 60px 24px 40px; }
    .navigazione-piede { width: 100%; gap: 22px; flex-wrap: wrap; justify-content: center; font-size: 11px; line-height: 16px; }
    .navigazione-piede a { padding: 12px 0; }
    .dati-studio { margin-top: 40px; font-size: 8px; line-height: 14px; }
    .menu { padding: 70px 24px 30px; }
    .menu-rubriche { flex-direction: column; gap: 16px; }
    .pagina-manifesto { padding: 0 24px 50px; }
    .apertura-manifesto { width: 100%; height: auto; margin: 75px 0 0; display: block; }
    .apertura-manifesto h1 img { width: min(100%, 500px); }
    .apertura-manifesto p { margin-top: 30px; padding: 0; font-size: 14px; line-height: 1.35; text-align: left; }
    .scena { margin: 100px 0 0; display: flex; flex-direction: column; gap: 30px; }
    .racconto-scena, .racconto-oltre { padding: 0; font-size: 15px; line-height: 1.45; }
    .racconto-scena h2 img, .racconto-oltre h2 > img { width: min(70%, 292px); }
    .racconto-scena p:first-of-type, .racconto-oltre p:first-of-type { margin-top: 24px; }
    .racconto-scena p + p, .racconto-oltre p + p { margin-top: 20px; }
    .soggetti { width: 100%; margin-top: 65px; gap: 40px 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .soggetto figcaption { margin-top: 14px; }
    .soggetto figcaption img { height: 22px; }
    .oltre-scena { width: 100%; margin: 80px 0 0; display: block; }
    .oltre-scena > img { width: 78%; margin-bottom: 30px; }
    .scritta-oltre { width: 94px; margin-bottom: 6px; }
    .rubriche { width: 100%; margin-top: 80px; }
    .testata-rubriche { display: block; }
    .sopratitolo { font-size: 18px; line-height: 1.25; }
    .testata-rubriche h2 > img { width: 235px; margin-top: 6px; }
    .testata-rubriche p { margin-top: 24px; font-size: 13px; line-height: 1.35; }
    .elenco-rubriche { display: grid; grid-template-columns: 1fr 1fr; gap: 50px 24px; margin-top: 45px; }
    .rubrica-series, .rubrica-outtakes, .rubrica-guest { width: 100%; margin-top: 0; }
    .rubrica-series { padding-top: 45px; }
    .rubrica-series h3 { width: 100px; margin-bottom: 14px; }
    .rubrica-outtakes h3 { width: min(100%, 140px); margin-top: 14px; }
    .rubrica-guest { grid-column: 1 / -1; width: 60%; margin-left: auto; }
    .rubrica-guest h3 { width: 160px; max-width: 100%; margin-bottom: 14px; }
    .presentazione-studio { width: auto; margin: 0 24px; padding-top: 50px; }
    .presentazione-studio h1 { width: min(100%, 588px); }
    .testi-studio { display: block; margin-top: 32px; font-size: 14px; line-height: 1.4; }
    .testi-studio > div { margin-top: 24px; }
    .testi-studio > div p + p { margin-top: 20px; }
    .scarica-zine { display: block; margin-top: 30px; font-size: 12px; }
    .contatti-studio { margin-top: 60px; padding-right: 0; gap: 30px; font-size: 14px; line-height: 20px; }
    .ritratti { width: auto; margin: 60px 24px 0; grid-template-columns: 1fr; gap: 45px; }
    .scheda-fotografa h2 { margin-top: 20px; font-size: 15px; line-height: 20px; }
    .scheda-fotografa p { margin-top: 20px; font-size: 14px; line-height: 19px; }
    .scheda-fotografa p + p { margin-top: 20px; }
    .fotografia-studio { margin-top: 60px; grid-template-columns: 1fr 2fr; }
    .fotografia-studio img { height: 230px; }
    .pagina-raccolta { width: auto; margin: 0 24px; padding: 50px 0 30px; }
    .testata-raccolta { display: block; }
    .raccolta-series h1 { width: 180px; }
    .raccolta-guest h1 { width: min(100%, 320px); }
    .testata-raccolta p, .raccolta-guest .testata-raccolta p { margin-top: 24px; font-size: 14px; line-height: 18px; }
    .galleria-raccolta, .raccolta-guest .galleria-raccolta { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
    .galleria-raccolta img { height: auto; aspect-ratio: 238 / 353; object-fit: cover; }
    .galleria-raccolta .foto-apribile:last-child { grid-column: 1 / -1; width: calc(50% - 7px); margin: 0 auto; }
    .torna-su, .raccolta-guest .torna-su { width: 44px; height: 44px; margin-top: 25px; }
    .torna-su span { width: 13px; height: 13px; border-width: 3px 0 0 3px; }
    .copertina-outtakes { height: 58vw; min-height: 220px; }
    .introduzione-outtakes { margin: 28px 24px 0; font-size: 13px; line-height: 1.35; text-align: left; }
    .composizione-outtakes { margin: 60px 0 0; padding: 0 24px; display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
    .titolo-outtakes { width: 100%; margin: 32px 0 0; }
    .foto-outtakes-principale { width: 100%; margin: 0; }
    .sequenza-outtakes { grid-column: 1 / -1; margin-top: 15px; gap: 10px; }
    .sequenza-outtakes .foto-apribile { width: 42vw; }
    .sequenza-outtakes img { height: 56vw; }
    .sfoglia-outtakes { margin-top: 60px; max-width: calc(100% - 48px); font-size: 11px; line-height: 17px; text-align: center; }
    .pagina-contatti { min-height: 0; padding: 60px 24px 65px; }
    .campi-anagrafici, .campi-evento { grid-template-columns: 1fr; gap: 28px; }
    .campi-evento { margin-top: 28px; }
    .campo > img, .servizi legend > img { height: 20px; margin-bottom: 10px; }
    .campo input, .campo textarea { height: 48px; min-height: 48px; padding: 12px; font-size: 16px; }
    .campo textarea { min-height: 90px; resize: vertical; }
    .scelte-servizi { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 20px; }
    .scelte-servizi label { gap: 12px; min-height: 44px; font-size: 16px; line-height: 20px; }
    .scelte-servizi input { width: 18px; height: 18px; }
    .nota-contatto { margin-top: 36px; font-size: 12px; line-height: 17px; }
    .invia-modulo { width: 88px; min-height: 44px; margin-top: 36px; }
    .invia-modulo > img { width: 38px; }
    .esito-modulo { position: static; margin-bottom: 30px; }
    .visore { padding: 65px 8px 20px; }
    .visore[open] { grid-template-columns: 30px minmax(0, 1fr) 30px; gap: 2px; }
    .foto-precedente, .foto-successiva { width: 30px; }
    .visore figure img { max-height: calc(100dvh - 160px); }
    .visore figcaption { font-size: 11px; }
}

@media (prefers-reduced-motion: reduce) { :root { scroll-behavior: auto; } }

@media (min-width: 600px) and (max-width: 1024px) {
    .ritratti { grid-template-columns: 1fr 1fr; }
    .campi-anagrafici, .campi-evento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
