@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500 700;font-display:swap;src:url('/font/cormorant.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('/font/cormorant-corsivo.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url('/font/inter.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* Euritmia: colori della confezione (prugna, viola, magenta dell'onda), lilla chiaro per leggere.
   Un solo movimento: i cerchi del «cono» che si allargano nella prima schermata. */
:root {
  --notte: #2a0f3d;
  --viola: #4d1a66;
  --magenta: #e5197f;
  --magenta-scuro: #b3105f;
  --lilla: #f5eff8;
  --lilla-bordo: #e4d8ec;
  --inchiostro: #2b1838;
  --tenue: #6a5a78;
  --indaco: #45376e;
  --bianco: #fff;
  --serif: "Cormorant Garamond", "Iowan Old Style", Georgia, serif;
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --largo: 1160px;
  --margine: clamp(16px, 4vw, 40px);
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 84px; }
body {
  margin: 0; background: var(--bianco); color: var(--inchiostro);
  font: 400 17px/1.65 var(--sans); font-feature-settings: "ss01", "cv11"; font-variant-numeric: lining-nums;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--magenta-scuro); text-underline-offset: 3px; text-decoration-thickness: 1px; }
a:hover { color: var(--magenta); }
:focus-visible { outline: 3px solid var(--magenta); outline-offset: 3px; border-radius: 4px; }
h1, h2, h3 { font-family: var(--serif); font-weight: 600; line-height: 1.08; margin: 0 0 .5em; letter-spacing: -.005em; }
h1 { font-size: clamp(44px, 7vw, 84px); font-weight: 500; letter-spacing: -.015em; }
h2 { font-size: clamp(34px, 4.4vw, 52px); font-weight: 500; color: var(--indaco); }
h3 { font-size: 26px; }
p { margin: 0 0 1em; }

.salta { position: absolute; left: -9999px; top: 8px; z-index: 50; background: var(--bianco); padding: 8px 14px; }
.salta:focus { left: 8px; }

/* contenitori */
.largo, .stretto, .testata-in, .apertura-in, .kit-in, .uso-in, .piede-in, .comp-in {
  width: 100%; max-width: var(--largo); margin: 0 auto; padding: 0 var(--margine);
}
.stretto { max-width: 820px; }
.sezione { padding: clamp(64px, 9vw, 120px) 0; position: relative; }

/* bottoni */
.bottone {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 24px;
  border-radius: 999px; font: 600 16px/1.2 var(--sans); text-decoration: none; transition: background .2s, color .2s, border-color .2s;
}
.bottone-pieno { background: var(--magenta); color: var(--bianco); }
.bottone-pieno:hover { background: #ff2b91; color: var(--bianco); }
.bottone-chiaro { border: 1.5px solid rgba(255,255,255,.55); color: var(--bianco); }
.bottone-chiaro:hover { border-color: var(--bianco); background: rgba(255,255,255,.08); color: var(--bianco); }
.bottone-scuro { background: var(--notte); color: var(--bianco); }
.bottone-scuro:hover { background: var(--viola); color: var(--bianco); }

/* testata */
.testata {
  position: sticky; top: 0; z-index: 30; background: rgba(42, 15, 61, .92);
  -webkit-backdrop-filter: saturate(140%) blur(12px); backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.testata-in { display: flex; align-items: center; justify-content: space-between; min-height: 68px; gap: 24px; }
.marchio img { width: 150px; }
.menu ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 28px; }
.menu a { color: rgba(255,255,255,.86); text-decoration: none; font-size: 15px; font-weight: 500; }
.menu a:hover, .menu a[aria-current] { color: var(--bianco); }
.menu .bottone { min-height: 40px; padding: 8px 18px; font-size: 15px; }
.menu-apri { display: none; }

/* prima schermata */
.apertura {
  position: relative; overflow: hidden; color: var(--bianco);
  background: radial-gradient(120% 90% at 78% 55%, #5a1d79 0%, var(--notte) 58%), var(--notte);
}
.apertura::after {      /* il magenta dell'onda, come sulla scatola */
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
  background: linear-gradient(90deg, transparent, var(--magenta) 30%, var(--magenta) 70%, transparent);
  opacity: .6;
}
.apertura-in {
  position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  align-items: center; gap: 40px; min-height: min(720px, calc(100svh - 68px)); padding-top: 56px; padding-bottom: 72px;
}
.sopratitolo { color: #f7a9cf; font-size: 16px; font-weight: 500; margin-bottom: 18px; }
.apertura h1 { margin-bottom: 24px; max-width: 14ch; }
.attacco { font-size: 19px; line-height: 1.6; color: rgba(255,255,255,.84); max-width: 34em; }
.attacco a { color: var(--bianco); }
.azioni { display: flex; flex-wrap: wrap; gap: 12px; margin: 32px 0 20px; }
.apertura-nota { font-size: 15px; color: rgba(255,255,255,.6); }

.onde { position: absolute; color: #ff5fa8; pointer-events: none; }
.onde-apertura { width: 980px; height: 980px; right: -140px; top: 50%; transform: translateY(-50%); opacity: .2; }
.onde-vive circle { transform-origin: 300px 300px; animation: onda 9s cubic-bezier(.2,.6,.3,1) infinite; opacity: 0; }
.onde-vive circle:nth-child(2) { animation-delay: 3s; }
.onde-vive circle:nth-child(3) { animation-delay: 6s; }
@keyframes onda {
  0% { transform: scale(1); opacity: 0; }
  12% { opacity: .9; }
  100% { transform: scale(7.2); opacity: 0; }
}

.scaffale { position: relative; height: 470px; }
.scaffale-box { position: absolute; bottom: 30px; display: block; transition: transform .35s ease; }
.scaffale-box img { filter: drop-shadow(0 30px 40px rgba(10, 0, 20, .55)); }
.scaffale-box:hover { transform: translateY(-6px); }
.scaffale-1 { width: 270px; left: 50%; margin-left: -135px; z-index: 3; bottom: 0; }
.scaffale-2 { width: 215px; left: -3%; bottom: 46px; z-index: 2; }
.scaffale-3 { width: 225px; right: -5%; bottom: 40px; z-index: 2; }

/* il kit */
.kit-in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.kit-testo > p { font-size: 19px; color: var(--tenue); }
.componenti { margin: 32px 0 0; display: grid; gap: 0; }
.componenti > div { padding: 20px 0; border-top: 1px solid var(--lilla-bordo); }
.componenti > div:last-child { border-bottom: 1px solid var(--lilla-bordo); }
.componenti dt { font: 600 24px/1.2 var(--serif); color: var(--inchiostro); margin-bottom: 6px; }
.componenti dd { margin: 0; color: var(--tenue); }
.kit-foto { margin: 0; }

/* le formule */
.formule { background: var(--lilla); }
.formule h2 { max-width: 16ch; }
.formule-elenco { list-style: none; margin: 48px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.formula {
  position: relative; background: var(--bianco); border-radius: 22px; padding: 28px 28px 30px;
  border: 1px solid var(--lilla-bordo); display: flex; flex-direction: column;
}
.formula::before {   /* la tinta della formula, come la fascia della scatola */
  content: ""; position: absolute; left: 28px; right: 28px; top: 0; height: 3px; border-radius: 0 0 3px 3px; background: var(--tinta);
}
.formula-foto { display: block; height: 260px; margin: 6px 0 20px; }
.formula-foto img { height: 100%; width: auto; margin: 0 auto; object-fit: contain; }
.formula h3 { font-size: 32px; margin-bottom: 2px; }
.formula h3 a { color: var(--inchiostro); text-decoration: none; }
.formula h3 a:hover { color: var(--magenta-scuro); }
.formula-preparato { color: var(--tinta); font-weight: 600; margin-bottom: 14px; }
.formula-obiettivo { font: 500 italic 22px/1.3 var(--serif); color: var(--indaco); margin-bottom: 12px; }
.formula-breve { color: var(--tenue); font-size: 15.5px; }
.formula-link { margin: auto 0 0; padding-top: 12px; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.link-app { font-weight: 600; font-size: 15px; }
.in-arrivo { margin: 32px 0 0; color: var(--tenue); font-style: italic; font-family: var(--serif); font-size: 21px; }

/* come si usa */
.uso-in { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: clamp(32px, 6vw, 88px); align-items: center; }
.uso-foto { margin: 0; border-radius: 28px; overflow: hidden; background: #f3f3f2; }
.uso-foto img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.passi { list-style: none; margin: 32px 0 28px; padding: 0; counter-reset: passo; }
.passi li { counter-increment: passo; position: relative; padding: 0 0 26px 76px; }
.passi li::before {
  content: counter(passo); position: absolute; left: 0; top: -6px; width: 52px; height: 52px; border-radius: 50%;
  display: grid; place-items: center; font: 500 30px/1 var(--serif); color: var(--magenta-scuro);
  border: 1.5px solid var(--magenta); background: var(--bianco);
}
.passi li:not(:last-child)::after {
  content: ""; position: absolute; left: 26px; top: 52px; bottom: 2px; width: 1.5px; background: var(--lilla-bordo);
}
.passi h3 { font-size: 26px; margin-bottom: 6px; }
.passi p { color: var(--tenue); margin: 0; }
.uso-nota { background: var(--lilla); border-radius: 16px; padding: 18px 22px; color: var(--inchiostro); font-size: 16px; }

/* la scienza */
.scienza { background: var(--notte); color: var(--bianco); overflow: hidden; }
.onde-scienza { width: 900px; height: 900px; left: -320px; top: -200px; opacity: .12; }
.onde-scienza .onde-vive { display: none; }
.scienza-in { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px clamp(32px, 6vw, 88px); }
.scienza h2 { color: var(--bianco); }
.scienza-principio p { font-size: 19px; color: rgba(255,255,255,.82); max-width: 32em; }
.prove { list-style: none; margin: 0; padding: 0; display: grid; gap: 18px; align-content: start; }
.prove li { border: 1px solid rgba(255,255,255,.16); border-radius: 20px; padding: 24px 26px; background: rgba(255,255,255,.03); }
.prove h3 { font-size: 26px; margin-bottom: 8px; }
.prove p { color: rgba(255,255,255,.76); font-size: 16px; }
.prove a, .scienza-altro a { color: #ff8cc4; font-weight: 600; }
.prove a:hover, .scienza-altro a:hover { color: var(--bianco); }
.scienza-altro { grid-column: 1 / -1; color: rgba(255,255,255,.7); font-size: 16px; margin: 8px 0 0; }

/* partner */
.partner { padding: clamp(48px, 6vw, 80px) 0; border-bottom: 1px solid var(--lilla-bordo); }
.partner h2 { font-size: clamp(28px, 3.2vw, 38px); margin-bottom: 8px; }
.partner p { color: var(--tenue); }
.partner-elenco { list-style: none; margin: 8px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px 0; }
.partner-elenco li { font: 500 26px/1.3 var(--serif); }
.partner-elenco li:not(:last-child)::after { content: "·"; color: var(--magenta); margin: 0 16px; }
.partner-elenco a { color: var(--inchiostro); text-decoration: none; }
.partner-elenco a:hover { color: var(--magenta-scuro); text-decoration: underline; }

/* domande */
.domanda { border-bottom: 1px solid var(--lilla-bordo); }
.domanda:first-of-type { border-top: 1px solid var(--lilla-bordo); margin-top: 32px; }
.domanda summary {
  list-style: none; cursor: pointer; padding: 22px 48px 22px 0; position: relative;
  font: 600 23px/1.3 var(--serif); color: var(--inchiostro);
}
.domanda summary::-webkit-details-marker { display: none; }
.domanda summary::after {
  content: ""; position: absolute; right: 6px; top: 50%; width: 12px; height: 12px; margin-top: -8px;
  border-right: 2px solid var(--magenta); border-bottom: 2px solid var(--magenta); transform: rotate(45deg); transition: transform .25s;
}
.domanda[open] summary::after { transform: rotate(225deg); margin-top: -2px; }
.domanda summary:hover { color: var(--magenta-scuro); }
.domanda p { color: var(--tenue); margin: 0 0 1em; max-width: 62ch; }
.domanda p:last-child { padding-bottom: 12px; }

/* app */
.app { background: linear-gradient(180deg, var(--notte), #3a1252); color: var(--bianco); }
.app h2 { color: var(--bianco); }
.app > .stretto > p { color: rgba(255,255,255,.8); font-size: 18px; }
.app-scelta { list-style: none; margin: 32px 0; padding: 0; display: grid; gap: 14px; }
.app-voce {
  display: flex; align-items: center; gap: 18px; padding: 12px 22px 12px 14px; border-radius: 18px; text-decoration: none;
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); color: var(--bianco);
  border-left: 4px solid var(--tinta); transition: background .2s, border-color .2s;
}
.app-voce:hover { background: rgba(255,255,255,.12); color: var(--bianco); }
.app-box { width: 56px; height: 64px; object-fit: contain; flex: none; }
.app-testo { display: flex; flex-direction: column; }
.app-testo strong { font: 600 24px/1.2 var(--serif); }
.app-testo span { color: rgba(255,255,255,.72); font-size: 15px; }
.app-aiuto { font-size: 16px; }
.app a:not(.app-voce) { color: #ff8cc4; }
.app a:not(.app-voce):hover { color: var(--bianco); }
.app-avvertenza { font-size: 14px; color: rgba(255,255,255,.55); margin-top: 24px; }

/* pagina prodotto */
.apertura-prodotto .apertura-in { min-height: 0; padding-top: 40px; padding-bottom: 64px; }
.apertura-prodotto h1 { max-width: 14ch; font-size: clamp(40px, 5.6vw, 70px); }
.onde-prodotto { width: 820px; height: 820px; right: -120px; top: 50%; transform: translateY(-50%); opacity: .2; }
.onde-prodotto .onde-vive { display: none; }
.briciole { font-size: 14px; color: rgba(255,255,255,.6); margin-bottom: 28px; }
.briciole a { color: rgba(255,255,255,.85); }
.fatti { display: flex; flex-wrap: wrap; gap: 12px 36px; margin: 28px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.14); }
.fatti dt { font-size: 13px; color: rgba(255,255,255,.58); }
.fatti dd { margin: 0; font-weight: 600; }
.prodotto-box { display: flex; justify-content: center; }
.prodotto-box img { width: min(380px, 100%); filter: drop-shadow(0 34px 44px rgba(10, 0, 20, .55)); }
.due { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px 64px; margin-top: 28px; }
.due h3 { font-size: 28px; color: var(--inchiostro); }
.due p { color: var(--tenue); }
.complementari { margin-top: 28px; font: 500 italic 24px/1.35 var(--serif); color: var(--indaco); }
.confezione { padding-bottom: clamp(40px, 5vw, 64px); }
.modo { background: var(--lilla); }
.avvertenza-app { font-size: 15px; color: var(--tenue); border-top: 1px solid var(--lilla-bordo); padding-top: 18px; margin-top: 16px; }
.comp-in { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 6vw, 80px); align-items: start; }
.comp-foto { margin: 0; position: sticky; top: 96px; }
.comp-foto img { border-radius: 18px; border: 1px solid var(--lilla-bordo); background: var(--bianco); }
.comp-foto figcaption { font-size: 14px; color: var(--tenue); margin-top: 10px; }
.tabella-scorre { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 8px 0 0; }
table { width: 100%; border-collapse: collapse; font-size: 15.5px; font-variant-numeric: tabular-nums; }
caption { text-align: left; font-weight: 600; padding-bottom: 12px; color: var(--inchiostro); }
th, td { padding: 9px 12px; text-align: right; border-bottom: 1px solid var(--lilla-bordo); white-space: nowrap; }
th[scope="row"], thead th:first-child { text-align: left; white-space: normal; font-weight: 500; }
thead th { font-size: 13px; font-weight: 600; color: var(--tenue); border-bottom: 1.5px solid var(--inchiostro); }
tbody tr:nth-child(even) { background: #faf7fc; }
td { font-variant-numeric: lining-nums tabular-nums; }
.nota-tabella { font-size: 14px; color: var(--tenue); margin-top: 10px; }
.comp-testo h3 { font-size: 26px; margin-top: 36px; }
.comp-testo p { color: var(--tenue); }
.notifica { font-weight: 600; color: var(--inchiostro) !important; }
.info-altre { margin-top: 32px; padding-top: 18px; border-top: 1px solid var(--lilla-bordo); }
.altre { background: var(--lilla); padding: clamp(48px, 6vw, 80px) 0; }
.altre h2 { font-size: clamp(28px, 3.2vw, 38px); }
.altre-elenco { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.altre-elenco a {
  display: flex; align-items: center; gap: 20px; background: var(--bianco); border-radius: 18px; padding: 14px 20px;
  border: 1px solid var(--lilla-bordo); text-decoration: none; color: var(--inchiostro);
}
.altre-elenco a:hover { border-color: var(--tinta); }
.altre-elenco img { width: 80px; height: 92px; object-fit: contain; flex: none; }
.altre-elenco strong { font: 600 24px/1.2 var(--serif); }
.altre-obiettivo { color: var(--tenue); font-size: 15px; }

/* pagine piccole */
.apertura-piccola .apertura-in { min-height: 0; grid-template-columns: 1fr; padding-top: 64px; padding-bottom: 56px; }
.apertura-piccola h1 { max-width: none; font-size: clamp(40px, 5.6vw, 64px); margin: 0; }
.apertura-piccola .attacco { margin-top: 20px; }
.legale h2 { font-size: 34px; margin-top: 48px; }
.legale h2:first-child { margin-top: 0; }
.scheda { margin: 0; }
.scheda > div { display: grid; grid-template-columns: 220px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--lilla-bordo); }
.scheda dt { color: var(--tenue); }
.scheda dd { margin: 0; }
.app-404 { padding-top: 24px; }

/* piede */
.piede { background: #1d0a2b; color: rgba(255,255,255,.72); padding: 64px 0 32px; font-size: 15px; }
.piede-in { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.piede-marchio img { width: 150px; margin-bottom: 16px; }
.piede-marchio p { max-width: 30ch; }
.piede h2 { font: 600 15px/1.4 var(--sans); color: var(--bianco); margin: 0 0 12px; }
.piede ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.piede a { color: rgba(255,255,255,.78); text-decoration: none; }
.piede a:hover { color: var(--bianco); text-decoration: underline; }
.piede-legale {
  max-width: var(--largo); margin: 48px auto 0; padding: 24px var(--margine) 0; font-size: 13px; color: rgba(255,255,255,.5);
  border-top: 1px solid rgba(255,255,255,.1);
}

/* il «font» abbreviato azzera le cifre: nel Cormorant quelle predefinite scendono sotto la riga («n.1» sembra «n.ı») */
.passi li::before, .componenti dt, .formula-obiettivo, .in-arrivo, .partner-elenco li, .domanda summary,
.app-testo strong, .altre-elenco strong, .complementari { font-variant-numeric: lining-nums; }

/* telefono e tablet */
@media (max-width: 960px) {
  .menu-apri {
    display: inline-flex; align-items: center; gap: 10px; background: none; border: 1px solid rgba(255,255,255,.3);
    color: var(--bianco); border-radius: 999px; padding: 8px 16px; font: 600 15px var(--sans); cursor: pointer;
  }
  .menu-righe, .menu-righe::before, .menu-righe::after { display: block; width: 16px; height: 1.5px; background: currentColor; position: relative; }
  .menu-righe::before, .menu-righe::after { content: ""; position: absolute; left: 0; }
  .menu-righe::before { top: -5px; }
  .menu-righe::after { top: 5px; }
  .menu { position: absolute; left: 0; right: 0; top: 100%; background: var(--notte); border-bottom: 1px solid rgba(255,255,255,.1); display: none; }
  .menu.aperto { display: block; }
  .menu ul { flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--margine) 20px; }
  .menu li a { display: block; padding: 14px 0; font-size: 17px; border-bottom: 1px solid rgba(255,255,255,.08); }
  .menu .menu-app { padding-top: 16px; }
  .menu .menu-app a { border: 1.5px solid rgba(255,255,255,.55); padding: 12px; }
  .formule-elenco { grid-template-columns: 1fr; max-width: 520px; }
  .scienza-in, .comp-in { grid-template-columns: 1fr; }
  .comp-foto { position: static; max-width: 460px; }
  .piede-in { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  body { font-size: 16.5px; }
  .apertura-in { grid-template-columns: 1fr; min-height: 0; padding-top: 40px; padding-bottom: 48px; gap: 8px; }
  .apertura h1 { font-size: clamp(42px, 12vw, 58px); }
  .attacco { font-size: 17.5px; }
  .scaffale { height: min(86vw, 380px); order: -1; margin: 0 -8px; }
  .scaffale-1 { width: 46%; margin-left: -23%; }
  .scaffale-2, .scaffale-3 { width: 33%; bottom: 20px; }
  .scaffale-2 { left: 0; }
  .scaffale-3 { right: 0; }
  .onde-apertura { width: 640px; height: 640px; right: 50%; margin-right: -320px; top: 22%; }
  .azioni .bottone { flex: 1 1 100%; }
  .kit-in, .uso-in, .due { grid-template-columns: 1fr; }
  .uso-foto { max-width: 420px; }
  .uso-foto img { aspect-ratio: 1 / 1; object-position: 50% 15%; }
  .passi li { padding-left: 64px; }
  .passi li::before { width: 46px; height: 46px; font-size: 26px; }
  .passi li:not(:last-child)::after { left: 23px; top: 46px; }
  .partner-elenco li { font-size: 22px; }
  .partner-elenco { flex-direction: column; }
  .partner-elenco li:not(:last-child)::after { content: none; }
  .apertura-prodotto .prodotto-box { order: -1; }
  .prodotto-box img { width: min(64vw, 300px); }
  .altre-elenco { grid-template-columns: 1fr; }
  .scheda > div { grid-template-columns: 1fr; gap: 2px; }
  .piede-in { grid-template-columns: 1fr; gap: 28px; }
  th, td { padding: 8px 8px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .onde-vive { display: none; }
  .scaffale-box, .bottone, .app-voce, .domanda summary::after { transition: none; }
}
