/* =========================================================================
   LAGUNA BLU — stile
   Colori, caratteri e misure sono in :root. Le varianti ?tema= in fondo.
   ========================================================================= */

@font-face { font-family: "Gloock"; src: url("../assets/fonts/gloock-latin.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; 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: "Gloock"; src: url("../assets/fonts/gloock-latin-ext.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Onest"; src: url("../assets/fonts/onest-latin.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; 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: "Onest"; src: url("../assets/fonts/onest-latin-ext.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
  --notte: #0E2440;
  --notte-2: #163357;
  --blu: #2B62AE;
  --blu-chiaro: #6FA3E6;
  --sole: #F2A93B;
  --sole-chiaro: #F8D395;
  --tovaglia: #FBFAF6;
  --bruma: #E3ECF3;
  --inchiostro: #132238;
  --grigio: #4A5668;
  --linea: rgba(19, 34, 56, .16);
  --linea-chiara: rgba(251, 250, 246, .22);

  --f-titolo: "Gloock", "Georgia", serif;
  --f-testo: "Onest", "Segoe UI", system-ui, sans-serif;

  /* scala 1,333 su base 17px */
  --t-xs: .8125rem;
  --t-s: 1rem;
  --t-m: 1.0625rem;
  --t-l: clamp(1.25rem, 1.1rem + .6vw, 1.41rem);
  --t-xl: clamp(1.6rem, 1.3rem + 1.2vw, 1.875rem);
  --t-2xl: clamp(2.1rem, 1.6rem + 2.2vw, 3.3rem);
  --t-3xl: clamp(2.6rem, 1.8rem + 3.6vw, 4.4rem);
  --t-4xl: clamp(3.2rem, 1.6rem + 7vw, 8.4rem);

  --margine: clamp(20px, 5vw, 72px);
  --larghezza: 1360px;
  --sezione: clamp(72px, 10vw, 160px);
  --testata: 64px;
  --bordo: max(var(--margine), calc((100vw - var(--larghezza)) / 2));
  --raggio: 4px;
  --sole-oro: #FBA603;
  --logo-blu-su-scuro: #3E8EF0;
  --sole-maschera: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMDAgMjAwIj48cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik05OC4zIDE3Ny4zQzk4LjEgMTc3IDk3LjcgMTc2LjcgOTcuNiAxNzYuNEM5Ny40IDE3Ni4xIDk3LjEgMTc1LjYgOTYuOSAxNzUuM0M5NS44IDE3NCA5NC4zIDE3MS4zIDkzLjQgMTY5LjRDOTIuMyAxNjYuOCA5MS40IDE2NC4xIDkxLjEgMTYyLjNDOTEgMTYxLjkgOTAuOSAxNjEuNCA5MC44IDE2MS4xQzkwLjMgMTU5LjQgOTAuNSAxNTYuMSA5MS4xIDE1M0M5MS41IDE1MS4zIDkyLjYgMTQ3LjUgOTIuOCAxNDcuMUM5Mi45IDE0Ni45IDk0LjEgMTQyLjkgOTQuNiAxNDEuMUM5NS43IDEzNi43IDk2LjIgMTMyLjIgOTYuMSAxMjguM0w5NiAxMjYuN0w5NS40IDEyNy41QzkzLjkgMTI5LjYgOTEuOCAxMzEuOSA4OS41IDEzNC4xQzg5LjEgMTM0LjUgODguNyAxMzUgODguNiAxMzUuMkM4OC41IDEzNS41IDg4LjIgMTM1LjcgODggMTM1LjhDODcuMyAxMzYuMiA4Ny4zIDEzOC43IDg4IDE0MS40Qzg4LjUgMTQzLjMgODguMyAxNDQuMiA4Ny4zIDE0NC4yQzg2LjMgMTQ0LjIgODQuNyAxNDAuOCA4NC43IDEzOC45Qzg0LjcgMTM4LjQgODQuNSAxMzguNSA4My40IDEzOS41QzgyIDE0MC44IDgxLjQgMTQxLjMgODAuMiAxNDIuM0M3OS43IDE0Mi42IDc4LjkgMTQzLjMgNzguNSAxNDMuNkM3OC4xIDE0NCA3Ny41IDE0NC41IDc3LjEgMTQ0LjhDNzEuNiAxNDguOCA2OCAxNTMgNjYuNCAxNTcuMkM2NS4zIDE2MC4zIDY1LjEgMTYxIDY0LjggMTYyLjFDNjQuNyAxNjIuOCA2NC41IDE2My42IDY0LjQgMTYzLjlDNjQuNCAxNjQuMSA2NC4zIDE2NS41IDY0LjMgMTY2LjlDNjQuMiAxNjkuNCA2NC4yIDE2OS40IDY0LjcgMTczQzY1LjMgMTc2LjUgNjIuNSAxNzcuNCA2MC45IDE3NC4yQzU4LjQgMTY4LjkgNTguMSAxNjAuMiA2MC40IDE1NC4zQzYyLjIgMTQ5LjIgNjQgMTQ2LjYgNjkuMiAxNDEuMUM3NC44IDEzNS4yIDc3LjEgMTMyLjcgNzguOCAxMzBDNzkuMiAxMjkuNSA3OS43IDEyOC43IDc5LjkgMTI4LjNDODAuNiAxMjcuMyA4Mi4xIDEyNC43IDgyLjEgMTI0LjVDODIuMSAxMjQuNSA4MS45IDEyNC41IDgxLjggMTI0LjZDODAuOSAxMjUgNzcuMiAxMjYuNSA3Ni4xIDEyNi45Qzc1LjkgMTI2LjkgNzUuNiAxMjcuMSA3NS40IDEyNy4yQzc1LjEgMTI3LjMgNzQuOCAxMjcuNCA3NC42IDEyNy40Qzc0LjEgMTI3LjQgNzMuNCAxMjggNzIuOCAxMjlDNzIuNiAxMjkuNCA3Mi4zIDEyOS44IDcyLjIgMTMwQzcxLjkgMTMwLjQgNzAuOCAxMzIuOCA3MC44IDEzM0M3MC44IDEzMy4xIDcwLjcgMTMzLjQgNzAuNSAxMzMuN0M3MC40IDEzNCA3MC4xIDEzNC44IDcwIDEzNS4zQzY5LjUgMTM3IDY5LjMgMTM3LjQgNjguNSAxMzcuNEM2Ny4yIDEzNy40IDY3IDEzNC45IDY3LjkgMTMwLjhDNjguNCAxMjkgNjguNCAxMjkgNjYuMSAxMzBDNjUuNiAxMzAuMiA2NSAxMzAuNCA2NC43IDEzMC41QzYzLjkgMTMwLjYgNjEuNCAxMzEuNCA2MSAxMzEuNkM2MC44IDEzMS43IDYwIDEzMS45IDU5LjIgMTMyLjFDNDYuNSAxMzUuNiA0MC4xIDE0MC4zIDM0LjcgMTUwQzMzLjQgMTUyLjQgMzEuNyAxNTYuNSAzMS40IDE1OC4xQzMxLjQgMTU4LjUgMzEuMyAxNTguOSAzMS4yIDE1OS4yQzMxIDE1OS44IDMwLjYgMTYyIDMwLjQgMTYzLjNDMzAuMiAxNjUuNiAyOC45IDE2Ni42IDI3LjYgMTY1LjVDMjYuOCAxNjQuOCAyNi4zIDE2MS4zIDI2LjcgMTU4LjlDMjYuOCAxNTguNCAyNi45IDE1Ny44IDI2LjkgMTU3LjVDMjYuOSAxNTYuNiAyNy40IDE1My43IDI3LjcgMTUyLjhDMjguNCAxNTAuMyAyOC45IDE0OSAyOS4yIDE0OC4yQzI5LjQgMTQ3LjggMjkuOCAxNDYuOSAzMCAxNDYuNEMzMC4yIDE0NS45IDMwLjUgMTQ1LjMgMzAuNiAxNDUuMUMzMC43IDE0NSAzMC45IDE0NC41IDMxLjIgMTQ0LjFDMzEuOCAxNDIuOSAzMy4xIDE0MC44IDMzLjMgMTQwLjZDMzMuNCAxNDAuNSAzMy43IDE0MC4xIDMzLjkgMTM5LjdDMzUuNCAxMzcuNSAzOC40IDEzNC40IDQwLjMgMTMyLjlDNDAuNiAxMzIuNyA0MS4yIDEzMi4zIDQxLjcgMTMxLjlDNDIuMSAxMzEuNiA0Mi45IDEzMS4xIDQzLjMgMTMwLjhDNDMuNyAxMzAuNiA0NC4zIDEzMC4yIDQ0LjcgMTI5LjlDNDUuMSAxMjkuNyA0Ni41IDEyOC45IDQ3LjggMTI4LjNDNDkuMiAxMjcuNiA1MC41IDEyNyA1MC43IDEyNi45QzUwLjkgMTI2LjcgNTEuNCAxMjYuNSA1MS44IDEyNi40QzUyLjIgMTI2LjIgNTMuMyAxMjUuOCA1NC4xIDEyNS40QzU1IDEyNSA1Ni4xIDEyNC42IDU2LjUgMTI0LjRDNTkuOCAxMjMgNjMuOCAxMjAuOSA2Ny41IDExOC42QzY4LjUgMTE3LjkgNzEuMiAxMTYgNzIuNCAxMTVDNzIuNyAxMTQuOCA3My4xIDExNC41IDczLjIgMTE0LjNDNzMuNiAxMTQuMSA3My4xIDExNC4xIDcxLjggMTE0LjRDNzEuNCAxMTQuNSA3MC44IDExNC43IDcwLjUgMTE0LjdDNzAuMiAxMTQuOCA2OS42IDExNSA2OS4xIDExNS4xQzY3LjMgMTE1LjQgNjUuOSAxMTUuOCA2NC45IDExNi4zQzY0LjQgMTE2LjUgNjMuOSAxMTYuNyA2My45IDExNi43QzYzLjggMTE2LjcgNjMuNyAxMTYuOCA2My41IDExNi45QzYzLjMgMTE3LjEgNjIuNCAxMTcuNyA2MC45IDExOC44QzYwLjcgMTE4LjkgNTkuOCAxMTkuNyA1OSAxMjAuNEM1Ni42IDEyMi44IDU2LjMgMTIyLjkgNTUuNSAxMjIuNkM1NC42IDEyMi4yIDU0LjggMTIxIDU2IDExOS40QzU2LjIgMTE5LjEgNTYuNiAxMTguNSA1Ni45IDExOC4yQzU3LjEgMTE3LjggNTcuNiAxMTcuMiA1OCAxMTYuOEM1OC44IDExNiA1OSAxMTYgNTYgMTE2LjFDNTQuNSAxMTYuMiA1MC4xIDExNi4yIDQ0LjkgMTE2LjJDMzUuOCAxMTYuMSAzNC44IDExNi4xIDMyLjYgMTE2LjVDMzAuMiAxMTcgMjcgMTE3LjkgMjUuOCAxMTguNUMyNS41IDExOC42IDI1IDExOC44IDI0LjggMTE4LjlDMjQgMTE5LjEgMjAuOCAxMjAuOCAyMC40IDEyMS4yQzIwLjIgMTIxLjMgMTkuOCAxMjEuNiAxOS40IDEyMS44QzE3LjEgMTIzLjEgMTAuNyAxMjguNiAxMC43IDEyOS4zQzEwLjcgMTI5LjMgMTAuNCAxMjkuNyAxMC4xIDEzMEM5LjggMTMwLjQgOS40IDEzMC45IDkuMiAxMzEuMUM5IDEzMS40IDguOCAxMzEuNyA4LjYgMTMxLjhDOC41IDEzMiA4LjIgMTMyLjMgNy45IDEzMi42QzYuOCAxMzQuNCA1LjIgMTM0LjYgNC40IDEzMy4xQzQuMSAxMzIuNCA0LjggMTMwLjIgNS45IDEyOC42QzYgMTI4LjUgNi4zIDEyOCA2LjUgMTI3LjdDNyAxMjYuOCA4LjMgMTI0LjkgOC45IDEyNC4xQzkuMiAxMjMuNyA5LjcgMTIzLjEgMTAgMTIyLjdDMTAuNyAxMjEuOCAxNC4yIDExOC4yIDE1LjMgMTE3LjNDMTYuNiAxMTYuMiAxOC4zIDExNSAxOC45IDExNC43QzE5LjIgMTE0LjUgMTkuNiAxMTQuMyAxOS44IDExNC4xQzIwLjUgMTEzLjYgMjMuNyAxMTIgMjUuNiAxMTEuM0MyNy40IDExMC42IDI4LjYgMTEwLjMgMzMuOCAxMDkuMkMzNC4yIDEwOS4xIDM1LjMgMTA5IDM2LjMgMTA4LjhDMzcuMyAxMDguNyAzOC41IDEwOC42IDM4LjkgMTA4LjVDMzkuOCAxMDguNCA0MS4xIDEwOC4zIDQ0LjYgMTA4LjFDNDUuNyAxMDggNDcuNCAxMDcuOSA0OC4yIDEwNy44QzQ5LjEgMTA3LjggNTAuNSAxMDcuNyA1MS4yIDEwNy42QzUyIDEwNy41IDUzLjEgMTA3LjQgNTMuNiAxMDcuM0M1NS4yIDEwNy4yIDU3LjYgMTA2LjggNTguOCAxMDYuNkM1OS41IDEwNi40IDYwLjQgMTA2LjIgNjAuOCAxMDYuMUM2MS4yIDEwNi4xIDYyLjEgMTA1LjggNjIuNyAxMDUuN0M2My40IDEwNS41IDY0LjMgMTA1LjMgNjQuOCAxMDUuMUM2NS43IDEwNC45IDY1LjcgMTA0LjkgNjQuMiAxMDQuNkM2My43IDEwNC41IDYzIDEwNC4zIDYyLjcgMTA0LjJDNjIuNCAxMDQuMiA2MiAxMDQuMSA2MS44IDEwNEM2MS41IDEwNCA2MS4yIDEwMy44IDYwLjkgMTAzLjVDNjAuMyAxMDMgNTguMSAxMDMgNTUuOSAxMDMuN0M1NS41IDEwMy45IDU0LjggMTA0IDU0LjMgMTA0LjFDNTMuNyAxMDQuMiA1My4xIDEwNC40IDUyLjUgMTA0LjdDNTIgMTA0LjkgNTEuNCAxMDUuMiA1MSAxMDUuMkM1MC4xIDEwNS41IDQ5LjUgMTA1LjcgNDguOCAxMDYuMUM0OC41IDEwNi4zIDQ4IDEwNi42IDQ3LjggMTA2LjdDNDcuNSAxMDYuOCA0Ny4xIDEwNyA0Ni45IDEwNy4xQzQ1LjkgMTA3LjggNDQuNyAxMDYuNyA0NS4yIDEwNS43QzQ1LjQgMTA1LjUgNDUuNSAxMDUuNCA0Ni41IDEwNC4zQzQ3LjMgMTAzLjUgNDkuNCAxMDIuMSA1MC41IDEwMS42QzUxLjQgMTAxLjIgNTEuNCAxMDEuMiA1MC4zIDEwMUM0NyAxMDAuMSA0Mi4xIDk4LjUgMzkuOCA5Ny41QzM5LjIgOTcuMiAzNi43IDk2LjIgMzQuNyA5NS41QzMwLjYgOTMuOCAyNy4xIDkyLjggMjUuMyA5Mi42QzI1IDkyLjUgMjQuMyA5Mi40IDIzLjcgOTIuNEMyMC43IDkxLjkgMTMuMiA5Mi41IDkuNiA5My41QzguMiA5My45IDYuNyA5NC4zIDUuNiA5NC43QzUuMSA5NC45IDQuNSA5NS4xIDQuNCA5NS4xQzQuMyA5NS4yIDMuOCA5NS4zIDMuNCA5NS41Qy0wLjkgOTcuNCAtMi42IDk0LjMgMS41IDkyLjFDMS45IDkxLjkgMi40IDkxLjYgMi42IDkxLjVDNC4zIDkwLjQgNS4yIDkwIDUuOSA4OS43QzYuNCA4OS41IDcuNCA4OS4xIDguMiA4OC43QzEwIDg4IDE0LjMgODYuNyAxNS43IDg2LjVDMTYuMSA4Ni40IDE3LjEgODYuMyAxOCA4Ni4xQzIxLjUgODUuNSAyNi4zIDg1LjcgMjkuOSA4Ni40QzMyLjMgODYuOSAzMy4zIDg3LjEgMzMuOCA4Ny4zQzM0LjIgODcuNCAzNSA4Ny42IDM1LjggODcuOEMzNi41IDg4IDM4IDg4LjUgMzkuMSA4OC44QzQwLjIgODkuMSA0MS4zIDg5LjQgNDEuNiA4OS41QzQxLjggODkuNiA0Mi41IDg5LjggNDMuMSA5MEM0NCA5MC4zIDQ4LjIgOTEuMyA1MC4xIDkxLjhDNTEuMyA5MiA1Mi40IDkyLjIgNTMuNCA5Mi40QzUzLjkgOTIuNSA1NC43IDkyLjYgNTUuMSA5Mi43QzU3LjQgOTMuMSA2Mi41IDkzLjYgNjUuMyA5My41TDY1LjkgOTMuNUw2NS4xIDkzLjFDNjQuNyA5Mi45IDY0IDkyLjQgNjMuNSA5Mi4xQzYyLjggOTEuNiA2Mi41IDkxLjQgNjEuNiA5MS4xQzYxLjIgOTEgNjAuOCA5MC41IDYwLjcgOTAuMUM2MC43IDg5LjkgNjAuNiA4OS44IDYwLjYgODkuOEM2MC42IDg5LjggNjAuMSA4OS43IDU5LjYgODkuNkM1Ny42IDg5LjMgNTEgODkuNSA1MC40IDg5LjlDNTAuMiA5MCA0Ny45IDkwLjMgNDcuMyA5MC4zQzQ2LjIgOTAuMyA0NS43IDg5LjQgNDYuMyA4OC42QzQ2LjcgODggNDkuMiA4Ni45IDUxLjIgODYuNkM1MS43IDg2LjUgNTIuNCA4Ni4zIDUyLjkgODYuMkM1My4zIDg2LjEgNTMuOSA4NS45IDU0LjIgODUuOUM1NSA4NS44IDU1IDg1LjggNTQuMiA4NS4yQzUzLjggODQuOSA1My4yIDg0LjQgNTIuNyA4My45QzUyLjIgODMuNSA1MS42IDgzIDUxLjQgODIuOUM1MC4zIDgyIDQ4LjMgODAuMSA0Ni40IDc4LjFDMzkuMSA3MC42IDM2LjcgNjguOCAzMS42IDY3LjFDMjkuNCA2Ni4zIDI4LjkgNjYuMiAyNi40IDY1LjdDMjQuMSA2NS4xIDE5LjEgNjQuOCAxNi44IDY1LjFDMTQuOCA2NS4zIDEzLjkgNjQuOSAxMy42IDYzLjhDMTMuMiA2MS45IDE1LjcgNjEgMjIuNiA2MC4zQzI5LjIgNTkuNyAzOC4xIDYxLjggNDIuOSA2NS4xQzQzLjIgNjUuNCA0My44IDY1LjcgNDQuMSA2NS45QzQ0LjQgNjYuMSA0NC45IDY2LjQgNDUuMiA2Ni43QzQ1LjQgNjYuOSA0NS45IDY3LjIgNDYuMSA2Ny40QzQ2LjQgNjcuNSA0Ni43IDY3LjggNDcgNjhDNDcuMiA2OC4yIDQ3LjcgNjguNyA0OC4yIDY5QzQ5LjQgNjkuOSA1MCA3MC40IDUwLjggNzFDNTEuMiA3MS40IDUxLjkgNzIgNTIuNCA3Mi4zQzUyLjkgNzIuNyA1My40IDczLjIgNTMuNyA3My40QzUzLjkgNzMuNiA1NC4zIDc0IDU0LjcgNzQuMkM1NSA3NC40IDU1LjUgNzQuOCA1NS43IDc0LjlDNTcuMiA3Ni4xIDYxLjUgNzguOSA2MS44IDc4LjlDNjEuOCA3OC45IDYyLjEgNzkgNjIuNCA3OS4yQzYzLjEgNzkuNyA2Ni42IDgxLjQgNjcuOSA4MkM3MS45IDgzLjYgNzEuNyA4My42IDcwLjYgODIuMUM3MC4xIDgxLjQgNjkuNyA4MC44IDY5LjYgODAuNkM2OS41IDgwLjUgNjkuMiA4MCA2OC45IDc5LjdDNjguNiA3OS4zIDY4LjMgNzguOCA2OC4yIDc4LjZDNjggNzguMyA2Ny44IDc4IDY3LjcgNzcuOEM2Ny42IDc3LjYgNjcuNCA3Ny4zIDY3LjMgNzdDNjcuMiA3Ni44IDY2LjkgNzYuNCA2Ni43IDc2LjJDNjYuNSA3NiA2Ni40IDc1LjcgNjYuMyA3NS42QzY2LjIgNzUuMSA2Ni4xIDc1IDY0LjkgNzQuNkM2Mi41IDczLjggNjEuNyA3My42IDU4LjUgNzIuOUM1Ny44IDcyLjggNTcgNzIuNiA1Ni44IDcyLjZDNTUuMyA3Mi4yIDU1LjUgNzAuNCA1Ny4xIDcwLjJDNTcuOCA3MC4xIDYyLjIgNzAuMyA2My4xIDcwLjVDNjMuNSA3MC42IDYzLjggNzAuNiA2My44IDcwLjZDNjMuOSA3MC42IDYyLjQgNjcuNSA2Mi4yIDY3LjJDNjIuMSA2NyA2MS41IDY1LjggNjAuNiA2My43QzYwLjQgNjMuMSA2MC4yIDYyLjYgNjAuMiA2Mi42QzYwLjIgNjIuMiA1Ny44IDU3IDU2LjkgNTUuNEM1Ni42IDU1IDU2LjMgNTQuNCA1Ni4xIDU0LjJDNTUuNiA1My4yIDU0LjEgNTEuMyA1My4yIDUwLjNDNTEuNyA0OC44IDQ5LjIgNDYuOCA0Ny42IDQ1LjhDNDcuMSA0NS41IDQ2LjUgNDUuMSA0Ni4yIDQ0LjlDNDUuNiA0NC41IDQ0LjEgNDMuOCA0Mi4yIDQyLjlDNDEuOCA0Mi43IDQxLjEgNDIuNSA0MC44IDQyLjNDMzkuNSA0MS43IDM3LjIgNDAuOSAzNi44IDQwLjlDMzYuNyA0MC45IDM2LjQgNDAuOCAzNiA0MC42QzM1LjYgNDAuNCAzNC45IDQwLjIgMzQuMyA0MEMzMC42IDM5LjIgMjkuOSAzOC44IDI5LjkgMzcuNUMyOS45IDM1LjcgMzEuNiAzNS40IDM2LjEgMzYuMkMzNi44IDM2LjQgMzcuOSAzNi42IDM4LjYgMzYuN0MzOS4zIDM2LjggNDAuMSAzNyA0MC4zIDM3QzQwLjUgMzcgNDEgMzcuMiA0MS41IDM3LjNDNDEuOSAzNy40IDQyLjkgMzcuNyA0My43IDM4QzQ0LjYgMzguMiA0NS43IDM4LjUgNDYuMiAzOC43QzQ2LjcgMzguOSA0Ny43IDM5LjMgNDguNSAzOS42QzUwLjMgNDAuMyA1My41IDQyIDU0LjUgNDIuOEM1NC43IDQyLjkgNTUuMSA0My4yIDU1LjMgNDMuM0M1NS41IDQzLjQgNTYgNDMuNyA1Ni4zIDQ0QzU2LjYgNDQuMiA1NyA0NC41IDU3LjMgNDQuN0M1OC43IDQ1LjYgNjIuNiA1MC4yIDY0LjQgNTMuMUM2NC44IDUzLjcgNjUuMyA1NC40IDY1LjQgNTQuNkM2NS44IDU1LjIgNjcgNTcgNjcuNiA1OC4xQzY3LjggNTguNSA2OC4zIDU5LjMgNjguNiA1OS44QzY5IDYwLjQgNjkuNCA2MS4xIDY5LjYgNjEuNEM3MC4xIDYyLjEgNzAuNyA2My4xIDcxLjIgNjMuOEM3MS40IDY0IDcxLjggNjQuNSA3MiA2NC44Qzc0IDY3LjkgODEuNyA3Ni4yIDgxLjMgNzQuOUM4MC45IDczLjUgODAuMiA2OS41IDgwLjIgNjguM0M4MC4yIDY4IDgwLjIgNjcuNCA4MC4xIDY3LjFDODAgNjYuOCA3OS45IDY2LjQgODAgNjYuMUM4MCA2NS43IDc5LjMgNjQuNyA3OC4yIDY0Qzc3LjkgNjMuOCA3Ny42IDYzLjUgNzcuNSA2My40Qzc3LjQgNjMuMiA3Ny4xIDYyLjkgNzYuOSA2Mi44Qzc2LjYgNjIuNyA3Ni4yIDYyLjMgNzUuOSA2Mi4xQzc1LjYgNjEuOCA3NS4yIDYxLjUgNzQuOSA2MS4zQzcxLjQgNTkgNzEgNTguNiA3MSA1OEM3MSA1Ni41IDczIDU2LjcgNzYuOSA1OC44Qzc3LjIgNTguOSA3Ny44IDU5LjIgNzguMyA1OS41Qzc4LjggNTkuNyA3OS4zIDYwLjEgNzkuNSA2MC4yQzc5LjkgNjAuNSA3OS45IDYwLjUgNzkuOCA1OC4zQzc5LjcgNTcuMSA3OS44IDU0LjEgNzkuOCA1MS4yQzgwIDQ1LjUgNzkuOSA0My4zIDc5LjUgNDAuOUM3OS4yIDM5LjQgNzkuMiAzOS41IDc4LjYgMzhDNzcuMSAzNC40IDc2LjEgMzIuOCA3My40IDI5LjZDNzIuNCAyOC41IDcwIDI2LjEgNjkuMSAyNS41QzY4LjggMjUuMiA2OC41IDI0LjkgNjguNCAyNC44QzY4LjQgMjQuOCA2OC4xIDI0LjUgNjcuOCAyNC4zQzY3LjUgMjQuMSA2Ny4xIDIzLjggNjYuOCAyMy41QzY1LjggMjIuNyA2My45IDIxLjQgNjIuOSAyMC45QzYwLjUgMTkuNiA1OS45IDE4LjEgNjEuMiAxNy4xQzYyLjIgMTYuMyA2NS43IDE3LjQgNjkuMyAxOS43QzY5LjYgMTkuOSA3MC4zIDIwLjMgNzAuNyAyMC41QzcxLjIgMjAuOCA3MS44IDIxLjIgNzIuMiAyMS40QzcyLjUgMjEuNyA3MyAyMiA3My4zIDIyLjFDNzMuNiAyMi4zIDc0IDIyLjYgNzQuMyAyMi45Qzc0LjYgMjMuMiA3NS4xIDIzLjUgNzUuMyAyMy42Qzc1LjUgMjMuNyA3NS45IDI0IDc2LjIgMjQuM0M3Ni41IDI0LjUgNzYuOSAyNC45IDc3LjIgMjUuMkM4Mi41IDI5LjUgODYuNSAzNi4yIDg3LjYgNDIuNUM4OCA0NC45IDg4LjIgNDYuNCA4OC41IDQ4LjlDODkuMSA1NS4yIDg5LjMgNTYuOSA4OS45IDU5LjZDOTAuNiA2My4xIDkxIDY0LjUgOTEuNSA2NS41QzkxLjYgNjUuOSA5MS45IDY2LjcgOTIgNjcuM0M5Mi43IDY5LjcgOTIuNyA2OS43IDkzLjIgNjcuN0M5My43IDY1LjkgOTQuNSA2My4yIDk0LjkgNjIuMkM5NSA2MS45IDk1LjIgNjEuNCA5NS4yIDYxLjFDOTUuMyA2MC44IDk1LjUgNjAuNCA5NS42IDYwLjFDOTYgNTkuNyA5NiA1OS43IDk1LjggNTkuMUM5NS40IDU3LjcgOTQuMyA1NS4zIDkzLjYgNTQuMkM5Mi4xIDUyIDkyLjEgNTAuNyA5My40IDUwLjdDOTQuMSA1MC43IDk1LjcgNTIuMSA5Ni4yIDUzLjJDOTYuMyA1My40IDk2LjYgNTMuOCA5Ni45IDU0LjJDOTcuMiA1NC41IDk3LjUgNTQuOSA5Ny41IDU1Qzk3LjYgNTUuMSA5Ny43IDU1LjIgOTcuNyA1NS4xQzk3LjcgNTQuNCAxMDAuMiA0OC45IDEwMi45IDQzLjlDMTAzLjkgNDEuOCAxMDQuNyA0MC4yIDEwNC45IDM5LjhDMTA0LjkgMzkuNiAxMDUuMSAzOS4zIDEwNS4yIDM5LjFDMTA2LjcgMzYuMSAxMDcuMiAzMS40IDEwNi41IDI3QzEwNiAyNC4zIDEwNC44IDIwLjMgMTAzLjYgMThDMTAyLjUgMTUuNyAxMDMuNiAxMy42IDEwNS41IDE0LjZDMTA2LjEgMTQuOSAxMDcuNSAxNi43IDEwOC4zIDE4LjFDMTA4LjcgMTguOSAxMDkuMSAxOS42IDEwOS44IDIwLjdDMTEwIDIxIDExMC40IDIxLjcgMTEwLjUgMjIuMUMxMTAuNyAyMi41IDExMC45IDIzLjEgMTExLjEgMjMuM0MxMTEuNyAyNC41IDExMi44IDI4LjEgMTEzLjEgMjkuNkMxMTMuNiAzMi4yIDExMy42IDMyLjUgMTEzLjUgMzQuNUMxMTMuNCAzNi40IDExMy40IDM3LjIgMTEzIDM4LjlDMTEyLjggMzkuOSAxMTIuMyA0MiAxMTIuMSA0Mi4zQzExMi4xIDQyLjQgMTExLjkgNDMgMTExLjcgNDMuNUMxMTEuNSA0NC40IDExMS4yIDQ1LjIgMTEwLjEgNDguMUMxMDcuOCA1NC42IDEwNi44IDU3LjkgMTA1LjkgNjIuN0MxMDUuNiA2NC4xIDEwNS40IDY3LjQgMTA1LjQgNjkuMUMxMDUuNCA3MC44IDEwNS40IDcwLjggMTA2LjMgNjkuM0MxMDYuNSA2OSAxMDYuOSA2OC41IDEwNy4yIDY4LjJDMTA3LjQgNjcuOSAxMDcuOSA2Ny40IDEwOC4xIDY3LjFDMTA4LjQgNjYuNyAxMDkgNjYgMTA5LjYgNjUuNUMxMTAuMiA2NC45IDExMC43IDY0LjQgMTEwLjcgNjQuMkMxMTAuOCA2NCAxMTEgNjMuNyAxMTEuMiA2My42QzExMS41IDYzLjMgMTExLjUgNjMuMyAxMTEuNSA2Mi42QzExMS40IDYyLjIgMTExLjUgNjEuOCAxMTEuNiA2MS40QzExMS43IDYwLjggMTExLjcgNjAuNyAxMTEuNiA2MC4zQzExMS40IDU5LjcgMTExLjQgNTguNSAxMTEuNSA1Ny40QzExMS41IDU2LjggMTExLjUgNTYuMyAxMTEuMyA1NS4xQzExMC45IDUyLjIgMTExIDUxLjYgMTExLjcgNTEuMkMxMTIuNyA1MC42IDExMy41IDUxLjIgMTEzLjkgNTIuOUMxMTQuMSA1My4zIDExNC4zIDU0IDExNC40IDU0LjNDMTE0LjggNTUuMiAxMTUuMyA1NyAxMTUuNCA1OC4yQzExNS41IDU4LjkgMTE1LjYgNTkgMTE2LjIgNTguNEMxMTYuNCA1OC4xIDExNi44IDU3LjkgMTE3IDU3LjhDMTE3LjMgNTcuNyAxMTcuOCA1Ny4zIDEyMCA1NS4xQzEyMC40IDU0LjggMTIwLjggNTQuNCAxMjEgNTQuM0MxMjEuMiA1NC4xIDEyMS42IDUzLjcgMTIyIDUzLjRDMTIzLjQgNTIuMiAxMjQuMyA1MS41IDEyNC44IDUxLjFDMTI1LjUgNTAuNiAxMjYuOCA0OS42IDEyNy4zIDQ5LjFDMTI3LjUgNDguOSAxMjggNDguNSAxMjguNCA0OC4xQzEzMi41IDQ1IDEzNi4yIDM5LjkgMTM3LjUgMzUuOEMxMzcuNyAzNS4yIDEzNy45IDM0LjYgMTM4IDM0LjRDMTM4LjMgMzMuOCAxMzkuMiAzMCAxMzkuNCAyOC40QzEzOS41IDI3LjkgMTM5LjUgMjYuMiAxMzkuNSAyNC42QzEzOS42IDIxIDEzOS44IDIwLjUgMTQxLjIgMjAuNUMxNDIuNyAyMC41IDE0My4xIDIxLjYgMTQzLjkgMjYuOEMxNDQuMiAyOC41IDE0NCAzNCAxNDMuNyAzNS44QzE0My42IDM2LjMgMTQzLjUgMzYuOCAxNDMuNCAzNy4xQzE0My40IDM3LjQgMTQzLjIgMzguMSAxNDMgMzguN0MxNDIuOCAzOS4zIDE0Mi42IDQwIDE0Mi41IDQwLjRDMTQxLjkgNDIuNCAxNDAgNDYuMiAxMzguNiA0Ny45QzEzOC4xIDQ4LjYgMTM3LjYgNDkuMiAxMzcgNDkuOUMxMzYuNCA1MC43IDEzNS44IDUxLjMgMTMxLjIgNTZDMTI4LjkgNTguMyAxMjYuNyA2MC41IDEyNi40IDYwLjlDMTI2IDYxLjMgMTI1LjUgNjEuOSAxMjUuMyA2Mi4zQzEyMy45IDYzLjcgMTIxLjIgNjcuMyAxMjAuMyA2OC45QzEyMC4xIDY5LjIgMTE5LjggNjkuOCAxMTkuNCA3MC4zQzExOS4xIDcwLjcgMTE4LjYgNzEuOCAxMTguMiA3Mi41TDExNy40IDc0TDExOS43IDcyLjhDMTIxLjkgNzEuOCAxMjIuOSA3MS4zIDEyNC41IDcwLjdDMTI0LjggNzAuNiAxMjUuMyA3MC4zIDEyNS41IDcwLjJDMTI1LjggNjkuOSAxMjYuMSA2OS45IDEyNi40IDY5LjlDMTI2LjggNjkuOSAxMjggNjggMTI4LjQgNjYuNUMxMjguNSA2Ni4yIDEyOC43IDY1LjggMTI4LjggNjUuNkMxMjkgNjUuMyAxMjkuMyA2NC41IDEyOS41IDYzLjlDMTMwLjkgNTkuNCAxMzMuMyA2MS4yIDEzMiA2NS44QzEzMS41IDY4LjEgMTMxLjUgNjguNCAxMzIuMyA2OC4xQzEzMi42IDY4IDEzMi45IDY3LjggMTMzIDY3LjhDMTMzIDY3LjggMTMzLjQgNjcuNyAxMzMuOCA2Ny41QzEzNS4xIDY2LjkgMTM4LjMgNjUuNyAxNDEuMiA2NC44QzE0Mi40IDY0LjUgMTQ1LjQgNjMuNCAxNDcuMSA2Mi44QzE0Ny45IDYyLjUgMTQ4LjkgNjIuMiAxNDkuMiA2Mi4xQzE0OS43IDYxLjkgMTUwLjYgNjEuNiAxNTEuMyA2MS4yQzE1My4yIDYwLjQgMTU2LjQgNTguNSAxNTcuMyA1Ny43QzE1Ny42IDU3LjQgMTU3LjkgNTcuMSAxNTguMSA1N0MxNTkuMiA1Ni4yIDE2My4xIDUyIDE2NC4yIDUwLjRDMTY0LjMgNTAuMiAxNjQuNiA0OS44IDE2NC44IDQ5LjZDMTY1IDQ5LjMgMTY1LjMgNDguOCAxNjUuNCA0OC42QzE2NS41IDQ4LjMgMTY1LjggNDcuOSAxNjYuMSA0Ny42QzE2Ni4zIDQ3LjMgMTY2LjcgNDYuNiAxNjcgNDYuMUMxNjguMyA0My43IDE2OC41IDQzLjEgMTY4LjYgNDIuN0MxNjkgNDEuMiAxNzAuMSA0MCAxNzEuMSA0MEMxNzIuOCA0MCAxNzMuMiA0MS41IDE3Mi4yIDQ0LjVDMTcxLjUgNDYuOSAxNzEgNDguMyAxNzAuNiA0OS4yQzE3MC40IDQ5LjcgMTcwLjEgNTAuNSAxNzAgNTAuOEMxNjkuOCA1MS40IDE2OS4zIDUyLjIgMTY4IDU0LjZDMTY3LjggNTUuMSAxNjcuMiA1NS45IDE2Ni45IDU2LjRDMTY2LjUgNTcgMTY2IDU3LjcgMTY1LjggNThDMTY1LjYgNTguMyAxNjUuMiA1OC43IDE2NS4xIDU4LjlDMTY0LjkgNTkuMSAxNjQuNiA1OS41IDE2NC40IDU5LjdDMTY0IDYwLjIgMTYwLjkgNjMuMyAxNjAuMyA2My43QzE2MC4xIDYzLjkgMTU5LjcgNjQuMSAxNTkuNiA2NC4zQzE1OS40IDY0LjUgMTU4LjggNjQuOSAxNTguMyA2NS4yQzE1NS45IDY2LjggMTU0LjggNjcuNSAxNTEuOCA2OC45QzE0OC43IDcwLjMgMTQ4LjUgNzAuNCAxNDYuNyA3MS4xQzE0NS40IDcxLjYgMTQwLjggNzMuOCAxNDAuMyA3NC4xQzE0MC4yIDc0LjIgMTM5LjcgNzQuNCAxMzkuMyA3NC42QzEzOC45IDc0LjggMTM4LjIgNzUuMiAxMzcuNyA3NS40QzEzNy4yIDc1LjcgMTM2LjUgNzYuMSAxMzYuMyA3Ni4zQzEzNC4yIDc3LjQgMTMyLjYgNzguNSAxMzEuNCA3OS41QzEzMS4xIDc5LjcgMTMwLjggNzkuOSAxMzAuNyA4MEMxMzAuMiA4MC4yIDEyNy41IDgyLjIgMTI3LjUgODIuNEMxMjcuNSA4Mi40IDEyOC4yIDgyLjMgMTI4LjkgODIuMUMxMjkuNSA4MiAxMjkuNyA4MiAxMzMuNSA4MS44QzEzNC45IDgxLjggMTM2IDgxLjcgMTM2LjEgODEuN0MxMzYuMiA4MS42IDEzNi40IDgxLjcgMTM2LjYgODEuN0MxMzcgODEuOCAxMzcgODEuOCAxMzcuNiA4MS4zQzEzOC45IDgwLjMgMTQwLjIgNzkuMSAxNDAuNCA3OC43QzE0MC41IDc4LjUgMTQwLjggNzguMiAxNDEuMSA3OEMxNDEuNCA3Ny44IDE0MS42IDc3LjYgMTQxLjYgNzcuNUMxNDEuNiA3Ny4zIDE0NCA3NSAxNDQuMyA3NC45QzE0NiA3NC41IDE0Ni4xIDc1LjkgMTQ0LjUgNzguNEMxNDQuMSA3OS4xIDE0My42IDc5LjkgMTQzLjUgODAuMkMxNDMuMyA4MC42IDE0MyA4MSAxNDIuOCA4MS4zQzE0Mi40IDgxLjggMTQyLjMgODIgMTQyLjYgODEuOUMxNDIuNyA4MS44IDE0Ni40IDgxLjcgMTUwLjggODEuN0MxNTkuMiA4MS42IDE2MC4xIDgxLjYgMTYzLjEgODEuMUMxNjQuOSA4MC45IDE2NS41IDgwLjggMTY2LjUgODAuNEMxNjYuOCA4MC4zIDE2Ny41IDgwLjEgMTY4LjEgNzkuOUMxNzAuNiA3OS4xIDE3My43IDc3LjUgMTc2LjcgNzUuNkMxNzcuNCA3NS4xIDE3OC4xIDc0LjYgMTc4LjMgNzQuNUMxNzguNSA3NC4zIDE3OC45IDc0IDE3OS4yIDczLjdDMTgwLjQgNzIuOSAxODEuNiA3MS45IDE4MyA3MC42QzE4My4zIDcwLjMgMTgzLjggNjkuOSAxODQgNjkuN0MxODQuMiA2OS42IDE4NSA2OC44IDE4NS44IDY4QzE4OS42IDYzLjkgMTg5LjkgNjMuNyAxOTAuOCA2My44QzE5Mi4zIDY0IDE5Mi43IDY1LjUgMTkxLjYgNjYuOUMxOTEuNCA2Ny4yIDE5MS4xIDY3LjggMTkwLjkgNjguMUMxOTAuNyA2OC41IDE5MC40IDY4LjkgMTkwLjIgNjkuMUMxOTAgNjkuMyAxODkuOCA2OS42IDE4OS42IDY5LjlDMTg5LjEgNzAuNyAxODggNzIgMTg3LjEgNzNDMTg2LjcgNzMuNSAxODYuMSA3NC4yIDE4NS43IDc0LjZDMTgzLjEgNzcuOSAxNzcuMiA4Mi43IDE3My4yIDg0LjlDMTcxLjEgODYgMTcwLjUgODYuMyAxNjguNSA4N0MxNjUuNSA4OCAxNjQuMSA4OC40IDE2MC40IDg4LjlDMTU5LjkgODkgMTU5IDg5LjIgMTU4LjUgODkuM0MxNTguMSA4OS4zIDE1Ni45IDg5LjUgMTU2IDg5LjVDMTU1LjEgODkuNiAxNTMuOCA4OS43IDE1My4xIDg5LjhDMTUyLjUgODkuOSAxNTAuOSA5MCAxNDkuNyA5MC4xQzE0NS40IDkwLjUgMTQ1LjUgOTAuNSAxNDEgOTEuM0MxMzcuOSA5MS44IDEzNy4yIDkyIDEzNi4yIDkyLjJMMTM1LjUgOTIuNEwxMzYuMSA5Mi41QzEzNi44IDkyLjYgMTM4LjggOTMuMiAxNDAuNyA5My43QzE0MS41IDkzLjkgMTQyLjMgOTQuMSAxNDIuNSA5NC4yQzE0Mi44IDk0LjIgMTQzLjMgOTQuNCAxNDMuNyA5NC41QzE0NC4xIDk0LjYgMTQ0LjYgOTQuNyAxNDQuOSA5NC44QzE0NS4xIDk0LjggMTQ1LjUgOTQuOSAxNDUuNyA5NUMxNDYgOTUuMiAxNDYgOTUuMiAxNDYuNyA5NC44QzE0Ny4xIDk0LjYgMTQ3LjkgOTQuMyAxNDguNSA5NEMxNDkuMSA5My44IDE0OS43IDkzLjUgMTQ5LjggOTMuNEMxNTAgOTMuMyAxNTAuMyA5My4yIDE1MC42IDkzQzE1MC45IDkyLjkgMTUxLjMgOTIuNyAxNTEuNCA5Mi42QzE1Mi40IDkxLjkgMTUzLjYgOTIuNiAxNTMuMyA5My43QzE1My4zIDk0IDE1MS4zIDk1LjkgMTUwLjUgOTYuNUMxNTAgOTYuOCAxNTAuMSA5Ni44IDE1MC44IDk3QzE1MS40IDk3LjIgMTUxLjkgOTcuNCAxNTMuNSA5OEMxNTQuMSA5OC4yIDE1NSA5OC42IDE1NS42IDk4LjhDMTU2LjIgOTkgMTU3LjMgOTkuNSAxNTggOTkuOEMxNTkuNSAxMDAuNCAxNjEuNSAxMDEuMiAxNjIuMiAxMDEuNEMxNjIuNCAxMDEuNSAxNjMuMyAxMDEuOCAxNjQuMSAxMDIuMUMxNjkuOSAxMDQgMTc0LjUgMTA0LjMgMTgwLjggMTAzQzE4Mi41IDEwMi42IDE4My45IDEwMi4yIDE4NC41IDEwMkMxODQuOCAxMDEuOCAxODUuNCAxMDEuNyAxODUuOCAxMDEuNUMxODggMTAwLjkgMTkwLjUgOTkuNyAxOTMuOCA5OEMxOTYuMiA5Ni42IDE5Ni45IDk2LjYgMTk3LjcgOTcuNkMxOTguNiA5OC44IDE5Ny42IDEwMC4zIDE5NC45IDEwMkMxOTMuOCAxMDIuNyAxOTIuNiAxMDMuNSAxOTIuMSAxMDMuOUMxOTEuOSAxMDQuMSAxOTEuNSAxMDQuNCAxOTEuMiAxMDQuNUMxOTEgMTA0LjYgMTkwLjYgMTA0LjggMTkwLjQgMTA1QzE4OS4yIDEwNS44IDE4NC43IDEwNy45IDE4Mi42IDEwOC42QzE4MC42IDEwOS4zIDE3Ny4yIDExMC4xIDE3NC42IDExMC41QzE3My4zIDExMC43IDE2OCAxMTAuNyAxNjYuNSAxMTAuNEMxNjQuNSAxMTAuMSAxNTkgMTA4LjkgMTU3LjMgMTA4LjNDMTU2LjkgMTA4LjIgMTU1LjkgMTA3LjkgMTU1LjEgMTA3LjZDMTU0LjMgMTA3LjQgMTUzLjEgMTA3IDE1Mi42IDEwNi45QzE1MiAxMDYuNyAxNTEgMTA2LjQgMTUwLjIgMTA2LjJDMTQ5LjUgMTA2IDE0OC42IDEwNS43IDE0OC4zIDEwNS42QzE0NiAxMDUgMTQ1LjEgMTA0LjggMTQyLjQgMTA0LjRDMTM5LjggMTAzLjkgMTM1LjMgMTAzLjYgMTMzLjkgMTAzLjhMMTMzLjUgMTAzLjlMMTM0IDEwNC4yQzEzNC4yIDEwNC40IDEzNC43IDEwNC42IDEzNSAxMDQuOEMxMzUuMiAxMDQuOSAxMzUuNiAxMDUuMSAxMzUuOCAxMDUuM0MxMzYgMTA1LjQgMTM2LjggMTA2IDEzNy42IDEwNi41QzEzOC40IDEwNyAxMzkuNiAxMDcuOSAxNDAuMiAxMDguNEMxNDAuOSAxMDguOSAxNDEuNiAxMDkuNCAxNDEuNyAxMDkuNkMxNDEuOSAxMDkuNyAxNDIuNSAxMTAuMiAxNDMgMTEwLjZDMTQzLjYgMTExIDE0NC4xIDExMS40IDE0NC4zIDExMS40QzE0NC40IDExMS40IDE0NC43IDExMS43IDE0NSAxMTEuOUMxNDUuNCAxMTIuMyAxNDUuNCAxMTIuMyAxNDYuNiAxMTJDMTQ4LjYgMTExLjYgMTQ5LjMgMTExLjcgMTQ5LjcgMTEyLjNDMTUwLjEgMTEzLjEgMTQ5LjQgMTEzLjkgMTQ4LjEgMTE0LjJMMTQ3LjUgMTE0LjNMMTQ4LjMgMTE1QzE0OS41IDExNi4xIDE1NC4xIDEyMC42IDE1NS42IDEyMi4xQzE1Ny4xIDEyMy44IDE2MC4yIDEyNi41IDE2MS42IDEyNy40QzE2NS4zIDEyOS45IDE2OC41IDEzMS4yIDE3NC40IDEzMi41QzE3Ny42IDEzMy4zIDE4My4zIDEzMy41IDE4OC4zIDEzMy4yQzE5Mi4yIDEzMi45IDE5MS42IDEzNi42IDE4Ny43IDEzN0MxODcuNCAxMzcuMSAxODYuNiAxMzcuMiAxODYgMTM3LjRDMTgzLjMgMTM4LjEgMTc1LjggMTM4LjQgMTcyLjkgMTM4QzE3Mi42IDEzOCAxNzEuOCAxMzcuOSAxNzEuMiAxMzcuOEMxNzAuNSAxMzcuNyAxNjkuOCAxMzcuNiAxNjkuNSAxMzcuNUMxNjkuMiAxMzcuNSAxNjguNiAxMzcuMyAxNjguMiAxMzcuMkMxNjYuNSAxMzYuOSAxNjQuMSAxMzYuMyAxNjIuNiAxMzUuN0MxNjAuNSAxMzQuOSAxNTcuNSAxMzMuNSAxNTcgMTMzLjFDMTU2LjkgMTMzIDE1Ni40IDEzMi43IDE1NiAxMzIuNEMxNTQuMiAxMzEuMyAxNTIuMyAxMjkuOSAxNTEuMiAxMjguOUMxNTAuOCAxMjguNiAxNTAuMSAxMjggMTQ5LjYgMTI3LjZDMTQ5LjIgMTI3LjIgMTQ4LjQgMTI2LjUgMTQ4IDEyNi4yQzE0Ny42IDEyNS44IDE0Ni45IDEyNS4yIDE0Ni41IDEyNC44QzE0NiAxMjQuNCAxNDUuMyAxMjMuOCAxNDQuOSAxMjMuNUMxNDQuMSAxMjIuOCAxNDIuNiAxMjEuNiAxNDEuNiAxMjAuOUMxMzkuNiAxMTkuNSAxMzguOSAxMTkgMTM4LjIgMTE4LjZDMTM3LjcgMTE4LjMgMTM3IDExNy45IDEzNi43IDExNy43QzEzNi40IDExNy41IDEzNS45IDExNy4zIDEzNS42IDExNy4yQzEzNC45IDExNyAxMzQuNSAxMTYuNiAxMzQuMyAxMTYuMkMxMzQuMiAxMTUuOSAxMzQuMSAxMTUuOSAxMzMuMyAxMTUuN0MxMzIuOCAxMTUuNiAxMzIgMTE1LjMgMTMxLjQgMTE1LjJMMTMwLjUgMTE0LjhMMTMwLjggMTE1LjJDMTMwLjkgMTE1LjQgMTMxLjMgMTE1LjggMTMxLjYgMTE2LjJDMTMxLjkgMTE2LjUgMTMyLjMgMTE3LjIgMTMyLjcgMTE3LjZDMTMzIDExOCAxMzMuNCAxMTguNiAxMzMuNiAxMTguOEMxMzQgMTE5LjMgMTM1IDEyMC45IDEzNS43IDEyMkMxMzYgMTIyLjQgMTM2LjUgMTIzLjIgMTM2LjggMTIzLjhDMTM3LjEgMTI0LjMgMTM3LjcgMTI1LjMgMTM4LjEgMTI2QzEzOC42IDEyNi45IDEzOC45IDEyNy40IDEzOS4yIDEyNy41QzEzOS42IDEyNy44IDEzOS45IDEyOC4zIDEzOS45IDEyOC42QzEzOS45IDEyOC45IDEzOS45IDEyOC45IDE0MC4yIDEyOC45QzE0MC40IDEyOC45IDE0MC43IDEyOSAxNDEgMTI5LjFDMTQxLjIgMTI5LjIgMTQxLjYgMTI5LjMgMTQxLjggMTI5LjRDMTQzLjQgMTI5LjYgMTQzLjMgMTMxLjYgMTQxLjcgMTMxLjZDMTQxLjIgMTMxLjYgMTQxLjIgMTMxLjUgMTQxLjggMTMyLjdDMTQyLjEgMTMzLjIgMTQyLjcgMTM0LjMgMTQzLjEgMTM1LjFDMTQzLjYgMTM1LjkgMTQ0LjIgMTM3LjEgMTQ0LjUgMTM3LjZDMTQ0LjggMTM4LjEgMTQ1LjIgMTM4LjkgMTQ1LjQgMTM5LjNDMTQ1LjYgMTM5LjcgMTQ2LjEgMTQwLjMgMTQ2LjQgMTQwLjhDMTQ2LjcgMTQxLjIgMTQ3LjIgMTQxLjkgMTQ3LjUgMTQyLjRDMTQ3LjggMTQyLjggMTQ4LjIgMTQzLjQgMTQ4LjQgMTQzLjZDMTQ4LjYgMTQzLjggMTQ4LjkgMTQ0LjIgMTQ5LjEgMTQ0LjRDMTQ5LjUgMTQ1IDE1Mi40IDE0Ny44IDE1Mi45IDE0OC4yQzE1My4yIDE0OC4zIDE1My42IDE0OC42IDE1My45IDE0OC45QzE1NC41IDE0OS41IDE1NS41IDE1MC4yIDE1Ni4xIDE1MC41QzE1Ni4zIDE1MC42IDE1Ni43IDE1MC45IDE1NyAxNTEuMUMxNTcuMiAxNTEuNCAxNTcuNiAxNTEuNiAxNTcuOSAxNTEuN0MxNTguMSAxNTEuOSAxNTguNiAxNTIuMiAxNTkuMSAxNTIuNUMxNjAuMyAxNTMuMiAxNjMgMTU0LjUgMTY1IDE1NS4zQzE2NS41IDE1NS41IDE2NS45IDE1NS43IDE2NiAxNTUuOEMxNjYuMyAxNTYgMTY4LjcgMTU2LjcgMTcwLjQgMTU3LjJDMTcyLjYgMTU3LjggMTczLjIgMTU4LjQgMTczIDE1OS42QzE3Mi43IDE2MS4xIDE3MS4xIDE2MS4zIDE2Ny40IDE2MC40QzE2Ni44IDE2MC4zIDE2NS42IDE2MCAxNjQuNyAxNTkuOEMxNjIuNiAxNTkuNCAxNjEuMyAxNTkgMTU5LjYgMTU4LjRDMTU4LjkgMTU4LjEgMTU4IDE1Ny44IDE1Ny42IDE1Ny43QzE1NyAxNTcuNSAxNTYuMSAxNTcuMSAxNTQuMyAxNTYuMkMxNTQgMTU2LjEgMTUzLjUgMTU1LjggMTUzLjEgMTU1LjdDMTUyLjggMTU1LjUgMTUyLjMgMTU1LjMgMTUyIDE1NS4xQzE1MS43IDE1NC45IDE1MC44IDE1NC4zIDE0OS45IDE1My44QzE0NiAxNTEuNSAxNDEuNyAxNDcuNSAxMzkuMiAxNDMuOEMxMzkgMTQzLjYgMTM4LjIgMTQyLjUgMTM3LjQgMTQxLjRDMTM1LjIgMTM4LjQgMTM0LjkgMTM4IDEzNC42IDEzNy41QzEzNC40IDEzNy4yIDEzMy44IDEzNi40IDEzMy4yIDEzNS43QzEzMi42IDEzNC45IDEzMiAxMzQuMiAxMzEuOSAxMzRDMTMwLjEgMTMxLjggMTI5LjQgMTMxIDEyOC4zIDEzMC40QzEyNy4yIDEyOS43IDEyNyAxMjkuNCAxMjcgMTI4LjdDMTI3IDEyOC4yIDEyNyAxMjguMiAxMjYuMyAxMjcuOEMxMjYgMTI3LjUgMTI1LjIgMTI2LjkgMTI0LjYgMTI2LjRDMTIyLjEgMTI0LjQgMTIxLjkgMTI0LjMgMTIxLjYgMTI0LjNDMTIxLjQgMTI0LjMgMTIxLjQgMTI0LjQgMTIxLjQgMTI0LjVDMTIxLjUgMTI0LjYgMTIxLjYgMTI1IDEyMS43IDEyNS40QzEyMS44IDEyNS44IDEyMiAxMjYuNyAxMjIuMiAxMjcuNUMxMjIuNCAxMjguMiAxMjIuNiAxMjkuNCAxMjIuOCAxMzAuMkMxMjIuOSAxMzAuOSAxMjMgMTMxLjYgMTIzIDEzMS44QzEyMy4xIDEzMS45IDEyMy4xIDEzMi41IDEyMy4yIDEzMy4xQzEyMy4yIDEzMy42IDEyMy40IDEzNC44IDEyMy40IDEzNS43QzEyMy41IDEzNi41IDEyMy42IDEzNy40IDEyMy42IDEzNy42QzEyMy42IDEzNy45IDEyMy44IDEzOC4xIDEyNC40IDEzOC41QzEyNC43IDEzOC42IDEyNSAxMzguOCAxMjUuMSAxMzlDMTI1LjIgMTM5LjEgMTI2LjEgMTM5LjYgMTI3LjEgMTQwLjFDMTI5IDE0MS4xIDEyOS4zIDE0MS40IDEyOS4zIDE0MS45QzEyOS4zIDE0MyAxMjcuOSAxNDMuMyAxMjYuNyAxNDIuNkMxMjYuNCAxNDIuNCAxMjYgMTQyLjIgMTI1LjcgMTQyLjFDMTI1LjUgMTQyIDEyNSAxNDEuOCAxMjQuNiAxNDEuN0MxMjMuNSAxNDEuMSAxMjMuNSAxNDEgMTIzLjYgMTQyLjVDMTIzLjkgMTQ4LjEgMTI0LjEgMTQ5LjkgMTI1LjEgMTUyLjhDMTI1LjYgMTU0LjcgMTI2LjQgMTU2LjMgMTI3LjIgMTU3LjNDMTI3LjQgMTU3LjYgMTI3LjYgMTU3LjkgMTI3LjcgMTU4LjFDMTI3LjkgMTU4LjUgMTMwIDE2MS4zIDEzMC4zIDE2MS41QzEzMC40IDE2MS43IDEzMC43IDE2MiAxMzAuOSAxNjIuM0MxMzEuNyAxNjMuMiAxMzUuNCAxNjYuOCAxMzYuMiAxNjcuNEMxMzYuNCAxNjcuNSAxMzYuOCAxNjcuOCAxMzcuMSAxNjguMUMxMzcuNCAxNjguMyAxMzcuOSAxNjguOCAxMzguMyAxNjlDMTM4LjYgMTY5LjMgMTM5IDE2OS41IDEzOS4xIDE2OS42QzEzOS4yIDE2OS43IDEzOS40IDE2OS45IDEzOS43IDE3MC4xQzE0MS4yIDE3MC44IDE0MS44IDE3MiAxNDEuMyAxNzMuMUMxNDAuOCAxNzQuMiAxMzkuMiAxNzQuMyAxMzcuNyAxNzMuM0MxMzcuNCAxNzMuMSAxMzYuOCAxNzIuOCAxMzYuNSAxNzIuN0MxMzUuMSAxNzIgMTMyLjIgMTcwLjIgMTMxLjMgMTY5LjZDMTMxIDE2OS40IDEzMC41IDE2OSAxMzAuMyAxNjguOUMxMjcuNSAxNjYuOSAxMjQuMiAxNjQgMTIyLjUgMTYxLjlDMTIyLjIgMTYxLjUgMTIxLjggMTYxIDEyMS41IDE2MC43QzExOS44IDE1OC42IDExOC40IDE1Ni4yIDExNy40IDE1My4zQzExNi43IDE1MS40IDExNi41IDE1MC41IDExNS4yIDE0NC40QzExNC45IDE0Mi45IDExNC41IDE0MS4yIDExNC4zIDE0MC41QzExNC4xIDEzOS45IDExMy44IDEzOC42IDExMy42IDEzNy44QzExMy4zIDEzNi45IDExMy4xIDEzNiAxMTMgMTM1LjlDMTEyLjggMTM1LjUgMTExLjcgMTMyLjcgMTExLjcgMTMyLjZDMTExLjcgMTMyLjUgMTEwIDEyOC44IDEwOS44IDEyOC41QzEwOS41IDEyOCAxMDkuNSAxMjguMSAxMDkuMyAxMjkuMkMxMDkuMiAxMjkuOCAxMDkgMTMwLjYgMTA4LjkgMTMxQzEwOC44IDEzMS40IDEwOC42IDEzMi4xIDEwOC41IDEzMi42QzEwOC4zIDEzMy4yIDEwOCAxMzQuMSAxMDcuOCAxMzQuN0MxMDcuNiAxMzUuMyAxMDcuMiAxMzYuMSAxMDcuMSAxMzYuNUMxMDcgMTM2LjggMTA2LjYgMTM3LjcgMTA2LjIgMTM4LjVDMTA1LjggMTM5LjMgMTA1LjUgMTQwIDEwNS41IDE0MC4yQzEwNS41IDE0MC40IDEwNS40IDE0MC43IDEwNS4zIDE0MC44QzEwNS4xIDE0MS4yIDEwNS45IDE0Mi43IDEwNi42IDE0My41QzEwNi44IDE0My43IDEwNy4yIDE0NC4yIDEwNy40IDE0NC42QzEwNy43IDE0NSAxMDguMSAxNDUuNSAxMDguMiAxNDUuN0MxMDkuNCAxNDYuOSAxMDkuNCAxNDggMTA4LjMgMTQ4LjNDMTA3LjcgMTQ4LjUgMTA3LjUgMTQ4LjMgMTA1LjQgMTQ2LjJDMTA0LjMgMTQ1LjEgMTAzLjMgMTQ0LjIgMTAzLjMgMTQ0LjNDMTAzLjMgMTQ0LjMgMTAyLjkgMTQ1IDEwMi41IDE0NS45QzEwMS43IDE0Ny42IDEwMS40IDE0OC4xIDEwMSAxNDguOUMxMDAuNyAxNDkuMyA5OS45IDE1MS4yIDk5LjMgMTUyLjVDOTkuMiAxNTIuOCA5OC45IDE1My40IDk4LjggMTUzLjhDOTguNiAxNTQuMyA5OC40IDE1NC45IDk4LjMgMTU1LjJDOTcuNCAxNTcuNSA5Ny40IDE2MS44IDk4LjEgMTY1LjRDOTguOCAxNjguNiA5OS4zIDE3MC4yIDEwMC45IDE3My45QzEwMiAxNzYuNiAxMDEuNyAxNzcuNyA5OS44IDE3Ny43Qzk4LjggMTc3LjcgOTguOCAxNzcuNyA5OC4zIDE3Ny4zWiIvPjwvc3ZnPg==");
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--testata) + 16px); }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body {
  margin: 0;
  background: var(--tovaglia);
  color: var(--inchiostro);
  font-family: var(--f-testo);
  font-size: var(--t-m);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  overflow-x: clip;
}
img, picture, svg { display: block; max-width: 100%; }
img { height: auto; }
a { color: inherit; }
button { font: inherit; color: inherit; }
h1, h2, h3, p, ul, ol, dl, dd, figure, blockquote { margin: 0; }
ul, ol { padding: 0; }
h1, h2, h3 { font-family: var(--f-titolo); font-weight: 400; line-height: 1; letter-spacing: -.015em; text-wrap: balance; }
p { text-wrap: pretty; }
:focus-visible { outline: 3px solid var(--sole); outline-offset: 3px; border-radius: 2px; }
.vh { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.salta { position: fixed; left: 12px; top: 12px; transform: translateY(-200%); z-index: 100; background: var(--sole); color: var(--notte); padding: 10px 16px; font-weight: 600; text-decoration: none; }
.salta:focus { transform: none; }
[hidden] { display: none !important; }

/* ------------------------------------------------------------- elementi */
.titolo-sezione { font-size: var(--t-3xl); max-width: 16ch; }
.attacco { font-size: var(--t-l); line-height: 1.5; max-width: 38ch; margin-top: 1.1rem; color: var(--grigio); }
.piccolo { font-size: var(--t-s); line-height: 1.55; color: var(--grigio); max-width: 60ch; }
.oro { color: var(--sole); }

.bottone {
  display: inline-flex; align-items: center; justify-content: center; gap: .6rem;
  min-height: 52px; padding: .8rem 1.4rem;
  font-family: var(--f-testo); font-weight: 600; font-size: 1rem; line-height: 1.1;
  text-decoration: none; border: 2px solid transparent; border-radius: var(--raggio);
  cursor: pointer; transition: background-color .2s, color .2s, border-color .2s, transform .2s;
}
.bottone svg { width: 20px; height: 20px; flex: none; }
.bottone:active { transform: translateY(1px); }
.bottone--sole { background: var(--sole); color: var(--notte); }
.bottone--sole:hover { background: var(--sole-chiaro); }
.bottone--blu { background: var(--blu); color: #fff; }
.bottone--blu:hover { background: var(--notte); }
.bottone--notte { background: var(--notte); color: var(--tovaglia); }
.bottone--notte:hover { background: var(--notte-2); }
.bottone--linea { border-color: currentColor; color: var(--tovaglia); background: transparent; }
.bottone--linea:hover { background: rgba(251, 250, 246, .1); }
.bottone--linea-scura { border-color: var(--inchiostro); color: var(--inchiostro); background: transparent; }
.bottone--linea-scura:hover { background: var(--inchiostro); color: var(--tovaglia); }
.bottone--piccolo { min-height: 44px; padding: .55rem 1rem; font-size: .95rem; }

.collegamento {
  display: inline-flex; align-items: center; min-height: 44px;
  font-weight: 600; color: var(--blu); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px;
}
.collegamento:hover { color: var(--inchiostro); }
.collegamento--chiaro { color: var(--sole); }
.collegamento--chiaro:hover { color: var(--tovaglia); }
.collegamento--bottone { background: none; border: 0; padding: 0; cursor: pointer; }

/* ------------------------------------------------------------- testata */
.testata { position: fixed; inset: 0 0 auto; z-index: 50; color: var(--tovaglia); background: rgba(14, 36, 64, .9); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
.testata__barra { height: var(--testata); max-width: calc(var(--larghezza) + 2 * var(--margine)); margin: 0 auto; padding: 0 var(--margine); display: flex; align-items: center; gap: 1.5rem; }
.marchio { display: flex; align-items: center; gap: .7rem; text-decoration: none; min-height: 44px; }
.marchio__sole { width: 40px; height: 40px; flex: none; color: var(--logo-blu-su-scuro); }
.marchio__nome { font-family: var(--f-titolo); font-size: 1.3rem; letter-spacing: .12em; text-transform: uppercase; line-height: 1; display: flex; flex-direction: column; gap: .25rem; }
.marchio__nome small { font-family: var(--f-testo); font-size: .7rem; letter-spacing: .14em; opacity: .75; }
.testata__nav { display: flex; gap: .25rem; margin-left: auto; }
.testata__nav a { text-decoration: none; padding: .6rem .7rem; font-weight: 500; font-size: .95rem; border-radius: var(--raggio); }
.testata__nav a:hover { background: rgba(251, 250, 246, .08); }
.stato { display: inline-flex; align-items: center; gap: .5rem; font-size: .9rem; font-weight: 500; white-space: nowrap; }
.stato__breve { display: none; }
.stato__punto { width: 9px; height: 9px; border-radius: 50%; background: #9aa6b5; flex: none; }
.stato.aperto .stato__punto { background: #4FD18B; box-shadow: 0 0 0 4px rgba(79, 209, 139, .2); }
.stato.chiuso .stato__punto { background: #E2725B; }
.testata__chiama svg { width: 18px; height: 18px; }
.testata__menu { display: none; width: 48px; height: 48px; border: 0; background: transparent; cursor: pointer; padding: 0; position: relative; }
.testata__menu-righe, .testata__menu-righe::before, .testata__menu-righe::after { position: absolute; left: 12px; width: 24px; height: 2px; background: currentColor; content: ""; }
.testata__menu-righe { top: 23px; }
.testata__menu-righe::before { left: 0; top: -7px; }
.testata__menu-righe::after { left: 0; top: 7px; width: 16px; }
.progresso { height: 2px; background: transparent; }
.progresso span { display: block; height: 100%; width: 100%; background: var(--sole); transform-origin: 0 50%; transform: scaleX(0); }

/* cassetto (menu a tutto schermo) */
.cassetto { position: fixed; inset: 0; z-index: 60; background: var(--notte); color: var(--tovaglia); overflow-y: auto; }
.cassetto__dentro { min-height: 100%; padding: 88px var(--margine) 32px; display: grid; grid-template-columns: 1fr; gap: 28px; align-content: start; }
.cassetto__chiudi { position: absolute; top: 8px; right: calc(var(--margine) - 8px); width: 48px; height: 48px; display: grid; place-items: center; background: none; border: 0; cursor: pointer; }
.cassetto__chiudi svg { width: 28px; height: 28px; }
.cassetto__anteprima { aspect-ratio: 16 / 9; overflow: hidden; border-radius: var(--raggio); max-height: 30vh; }
.cassetto__anteprima img { width: 100%; height: 100%; object-fit: cover; }
.cassetto__nav { display: flex; flex-direction: column; }
.cassetto__nav a { font-family: var(--f-titolo); font-size: clamp(2rem, 8vw, 3.4rem); line-height: 1.1; text-decoration: none; padding: .35rem 0; border-bottom: 1px solid var(--linea-chiara); }
.cassetto__nav a:hover, .cassetto__nav a:focus-visible { color: var(--sole); }
.cassetto__piede { display: grid; gap: 12px; justify-items: start; }

/* ------------------------------------------------------------- apertura */
.apertura { position: relative; background: var(--notte); color: var(--tovaglia); }
.apertura__scena {
  position: relative; min-height: 100vh; min-height: 100svh; overflow: hidden;
  padding: calc(var(--testata) + clamp(28px, 6vh, 72px)) var(--bordo) clamp(28px, 5vh, 56px);
  display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: clamp(16px, 2.5vw, 40px); align-items: center;
  background: radial-gradient(60% 70% at 78% 55%, rgba(43, 98, 174, .38), transparent 70%), var(--notte);
}
.apertura__raggi { position: absolute; width: min(120vw, 1500px); height: min(120vw, 1500px); right: calc(-1 * min(30vw, 380px)); top: 50%; margin-top: calc(-1 * min(60vw, 750px)); color: var(--blu); opacity: .2; --sole-oro: rgba(242, 169, 59, .55); pointer-events: none; }
.apertura__testo { grid-column: 1 / span 6; position: relative; z-index: 3; min-width: 0; }
.apertura__dove { font-size: var(--t-s); font-weight: 500; color: var(--sole-chiaro); margin-bottom: 1.2rem; }
.apertura__titolo { font-size: clamp(2.6rem, min(1rem + 6.2vw, 14vh), 8.4rem); line-height: .92; letter-spacing: -.025em; }
.apertura__sotto { font-size: var(--t-l); line-height: 1.5; max-width: 34ch; margin-top: 1.4rem; color: rgba(251, 250, 246, .86); }
.apertura__invito { margin-top: clamp(.9rem, 3vh, 2rem); font-size: 1.125rem; font-weight: 600; line-height: 1.3; color: var(--tovaglia); }
.apertura__azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2rem; }
.apertura__invito + .apertura__azioni { margin-top: .7rem; }
.apertura__oggi { margin-top: 1.1rem; font-size: var(--t-s); color: rgba(251, 250, 246, .7); }
.apertura__tavola { grid-column: 7 / span 6; position: relative; z-index: 2; width: min(42vw, 74vh, 42rem); aspect-ratio: 1; justify-self: end; }
.apertura .bottone--linea { background: rgba(14, 36, 64, .78); }
.piatto { position: absolute; width: 88%; aspect-ratio: 1; left: -9%; top: 14%; }
.piatto__forma {
  position: absolute; inset: 0; border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, #fff 0 58%, #eef2f6 59% 64%, #fff 66% 86%, var(--blu) 87% 91%, #fff 92% 100%);
  box-shadow: 0 40px 80px rgba(0, 0, 0, .45), inset 0 -10px 30px rgba(14, 36, 64, .12);
}
.pizza { position: absolute; inset: 0; will-change: transform; }
.pizza__entra { position: absolute; inset: 0; }
.pizza__entra::before { content: ""; position: absolute; inset: 6% 4% 2% 6%; border-radius: 50%; background: rgba(0, 0, 0, .45); filter: blur(28px); transform: translate(3%, 5%); }
.pizza__img { position: relative; width: 100%; height: 100%; object-fit: contain; animation: gira 90s linear infinite; }
@keyframes gira { to { transform: rotate(360deg); } }
.apertura__velo { display: none; }
.apertura__dopo { grid-column: 1 / -1; position: relative; z-index: 4; margin-top: 3rem; max-width: 760px; }
.apertura__dopo-titolo { font-family: var(--f-titolo); font-size: var(--t-3xl); line-height: 1; }
.apertura__dopo-testo { font-size: var(--t-l); margin: 1rem 0 1.6rem; max-width: 36ch; color: rgba(251, 250, 246, .88); }
.apertura__scorri { display: none; }

/* versione animata: la crescita della pizza (attivata da main.js) */
.anima .apertura__scena { height: 100vh; height: 100svh; }
.anima .apertura__velo { display: block; position: absolute; inset: 0; z-index: 3; background: radial-gradient(circle at 50% 50%, rgba(14, 36, 64, .55), rgba(14, 36, 64, .82)); opacity: 0; pointer-events: none; }
.anima .apertura__dopo { position: absolute; left: var(--margine); right: var(--margine); top: 50%; margin: 0 auto; transform: translateY(-50%); text-align: center; opacity: 0; visibility: hidden; display: flex; flex-direction: column; align-items: center; }
.anima .apertura__dopo-testo { margin-left: auto; margin-right: auto; }
.anima .apertura__scorri { display: block; position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); z-index: 3; font-size: .8rem; letter-spacing: .08em; color: rgba(251, 250, 246, .6); }
.anima .apertura__scorri::after { content: ""; display: block; width: 1px; height: 28px; margin: 8px auto 0; background: currentColor; animation: scorri 1.8s ease-in-out infinite; transform-origin: top; }
@keyframes scorri { 0% { transform: scaleY(0); } 50% { transform: scaleY(1); } 100% { transform: scaleY(0); transform-origin: bottom; } }

/* ------------------------------------------------------------- nastro */
.nastro { background: var(--sole); color: var(--notte); overflow: hidden; border-block: 1px solid rgba(14, 36, 64, .2); }
.nastro__binario { display: flex; width: max-content; animation: nastro 38s linear infinite; }
.nastro__voci { display: flex; list-style: none; flex: none; }
.nastro__voci li { font-family: var(--f-titolo); font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem); white-space: nowrap; padding: .9rem 0; display: flex; align-items: center; }
.nastro__voci li::after { content: ""; width: 26px; height: 26px; margin: 0 1.4rem; background: var(--notte); -webkit-mask: var(--sole-maschera) center / contain no-repeat; mask: var(--sole-maschera) center / contain no-repeat; }
@keyframes nastro { to { transform: translateX(-50%); } }

/* ------------------------------------------------------------- due tempi */
.tempi { display: grid; grid-template-columns: 1fr 1fr; }
.tempo { padding: var(--sezione) var(--margine) calc(var(--sezione) * .8); display: flex; flex-direction: column; align-items: flex-start; gap: 1.1rem; }
.tempo p { max-width: 42ch; }
.tempo--giorno { background: var(--bruma); }
.tempo--sera { background: var(--notte); color: var(--tovaglia); }
.tempo--sera p { color: rgba(251, 250, 246, .86); }
.tempo__ora { font-family: var(--f-titolo); font-size: clamp(4rem, 2rem + 8vw, 10rem); line-height: .85; letter-spacing: -.03em; color: var(--blu); }
.tempo--sera .tempo__ora { color: var(--sole); }
.tempo__titolo { font-size: var(--t-2xl); max-width: 14ch; }
.tempo__quando { font-weight: 600; display: flex; align-items: center; gap: .6rem; }
.tempo__quando::before { content: ""; width: 18px; height: 18px; flex: none; background: var(--blu); -webkit-mask: var(--sole-maschera) center / contain no-repeat; mask: var(--sole-maschera) center / contain no-repeat; }
.tempo--sera .tempo__quando { color: var(--tovaglia) !important; }
.tempo--sera .tempo__quando::before { background: var(--sole); }
.fatti { grid-column: 1 / -1; list-style: none; display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 4vw, 64px); padding: clamp(48px, 7vw, 96px) var(--margine); max-width: calc(var(--larghezza) + 2 * var(--margine)); margin: 0 auto; width: 100%; }
.fatti li { display: grid; gap: .6rem; border-top: 2px solid var(--inchiostro); padding-top: 1.2rem; }
.fatti__numero { font-family: var(--f-titolo); font-size: clamp(3.4rem, 2rem + 5vw, 6.5rem); line-height: .9; color: var(--blu); }
.fatti__testo { font-size: var(--t-l); line-height: 1.4; max-width: 22ch; }

/* ------------------------------------------------------------- distanze */
.distanze { background: var(--notte); color: var(--tovaglia); padding: var(--sezione) var(--bordo); overflow: hidden; }
.distanze__testa { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 24px; }
.distanze__titolo { grid-column: 1 / span 7; font-size: var(--t-3xl); max-width: 13ch; }
.distanze__sotto { grid-column: 8 / span 5; align-self: end; font-size: var(--t-l); line-height: 1.5; color: rgba(251, 250, 246, .86); }
.percorso { list-style: none; position: relative; height: 330px; margin: clamp(48px, 6vw, 80px) 90px 28px; }
.percorso::before { content: ""; position: absolute; left: -90px; right: -90px; top: 50%; height: 4px; margin-top: -2px; background: repeating-linear-gradient(90deg, var(--sole) 0 22px, transparent 22px 38px); opacity: .9; }
.percorso__tappa { position: absolute; left: var(--pos); top: 50%; width: 0; height: 0; }
.percorso__tappa::before { content: ""; position: absolute; left: -9px; top: -9px; width: 18px; height: 18px; border-radius: 50%; background: var(--notte); border: 3px solid var(--sole); }
.percorso__testo { position: absolute; left: 0; width: 220px; transform: translateX(-50%); display: grid; gap: .15rem; text-align: center; }
.percorso__tappa--inizio .percorso__testo { transform: translateX(-30px); text-align: left; }
.percorso__tappa--fine .percorso__testo { transform: translateX(calc(-100% + 30px)); text-align: right; }
.percorso__tappa[data-lato="su"] .percorso__testo { bottom: 30px; }
.percorso__tappa[data-lato="giu"] .percorso__testo { top: 30px; }
.percorso__tappa[data-lato="giu"] .percorso__km { order: 3; }
.percorso__km { font-family: var(--f-titolo); font-size: clamp(2rem, 1.4rem + 1.8vw, 3rem); line-height: 1; color: var(--sole); }
.percorso__luogo { font-weight: 600; font-size: var(--t-m); line-height: 1.3; }
.percorso__dettaglio { font-size: .9rem; line-height: 1.4; color: rgba(251, 250, 246, .72); }
.percorso__tappa--qui::before { display: none; }
.percorso__sole { position: absolute; width: 96px; height: 96px; max-width: none; left: -48px; top: -48px; color: var(--logo-blu-su-scuro); }
.percorso__tappa--qui .percorso__testo { bottom: 60px; }
.percorso__tappa--qui[data-lato="giu"] .percorso__testo { bottom: auto; top: 58px; }
.percorso__tappa--qui .percorso__luogo { font-family: var(--f-titolo); font-weight: 400; font-size: var(--t-xl); color: var(--sole); }
.distanze__nota { font-size: .9rem; color: rgba(251, 250, 246, .65); max-width: 70ch; }

/* ------------------------------------------------------------- pranzo */
.pranzo { background: var(--bruma); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: stretch; }
.pranzo__foto { grid-column: 1 / span 5; position: relative; min-height: 520px; }
.pranzo__foto picture, .pranzo__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pranzo__testo { grid-column: 7 / span 5; padding: var(--sezione) 0; }
.formule { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 2rem; }
.formula { text-align: left; min-height: 64px; padding: .8rem 1rem; border: 2px solid var(--inchiostro); background: transparent; border-radius: var(--raggio); cursor: pointer; font-family: var(--f-titolo); font-size: 1.3rem; line-height: 1.1; transition: background-color .2s, color .2s; }
.formula:hover { background: rgba(19, 34, 56, .06); }
.formula[aria-selected="true"] { background: var(--notte); color: var(--tovaglia); border-color: var(--notte); }
.biglietto {
  position: relative; margin-top: 1.4rem; background: #fff; padding: 1.6rem 1.6rem 1.4rem; color: var(--inchiostro);
  border-radius: var(--raggio);
  -webkit-mask: radial-gradient(circle 8px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 8px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
  mask: radial-gradient(circle 8px at 0 50%, transparent 98%, #000) left / 51% 100% no-repeat, radial-gradient(circle 8px at 100% 50%, transparent 98%, #000) right / 51% 100% no-repeat;
  box-shadow: 0 1px 0 rgba(19, 34, 56, .08);
}
.biglietto__testa { display: flex; align-items: center; gap: .8rem; padding-bottom: 1rem; border-bottom: 2px dashed var(--linea); }
.biglietto__testa svg { width: 34px; height: 34px; color: #0151A1; }
.biglietto__nome { font-family: var(--f-titolo); font-size: var(--t-xl); line-height: 1.05; }
.biglietto__righe { list-style: none; padding: 1rem 0; display: grid; gap: .45rem; font-size: var(--t-l); }
.biglietto__righe li { display: flex; gap: .7rem; align-items: baseline; }
.biglietto__righe li::before { content: ""; width: 8px; height: 8px; flex: none; border-radius: 50%; background: var(--blu); transform: translateY(-2px); }
.biglietto__compresi-titolo { font-weight: 600; font-size: var(--t-s); padding-top: .9rem; border-top: 2px dashed var(--linea); }
.biglietto__compresi { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin-top: .6rem; }
.biglietto__compresi li { background: var(--sole-chiaro); padding: .3rem .7rem; border-radius: var(--raggio); font-size: .95rem; font-weight: 500; }
.biglietto__nota { margin-top: 1rem; color: var(--grigio); font-size: var(--t-s); }
.pranzo__azioni { display: flex; flex-wrap: wrap; gap: 12px; margin: 1.6rem 0 1.4rem; }
.pranzo__testo .piccolo + .piccolo { margin-top: .8rem; }

/* ------------------------------------------------------------- 79 pizze */
.pizze { padding: var(--sezione) var(--margine); max-width: calc(var(--larghezza) + 2 * var(--margine)); margin: 0 auto; }
.pizze__testa { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 24px; }
.pizze__testa .titolo-sezione { grid-column: 1 / span 7; max-width: 15ch; }
.pizze__testa .attacco { grid-column: 8 / span 5; align-self: end; }
.pizze__corpo { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; margin-top: clamp(40px, 6vw, 80px); align-items: start; }
.scelte { grid-column: 1 / span 5; position: sticky; top: calc(var(--testata) + 20px); min-width: 0; }
.gruppo + .gruppo { margin-top: 1.3rem; }
.gruppo__nome { font-weight: 600; font-size: var(--t-s); margin-bottom: .55rem; display: flex; align-items: center; gap: .5rem; }
.gruppo__nome::before { content: ""; width: 14px; height: 14px; background: var(--blu); -webkit-mask: var(--sole-maschera) center / contain no-repeat; mask: var(--sole-maschera) center / contain no-repeat; }
.gruppo__voci { display: flex; flex-wrap: wrap; gap: 6px; }
.ingrediente { min-height: 44px; padding: .5rem .85rem; border: 1.5px solid var(--linea); background: #fff; border-radius: var(--raggio); cursor: pointer; font-size: .95rem; font-weight: 500; transition: background-color .15s, border-color .15s, transform .15s; }
.ingrediente:hover { border-color: var(--inchiostro); }
.ingrediente[aria-pressed="true"] { background: var(--sole); border-color: var(--sole); color: var(--notte); }
.ingrediente[aria-pressed="true"]::before { content: "✓ "; }
.ingrediente:disabled { opacity: .35; cursor: default; }
.scelte__fondo { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: 1.6rem; padding-top: 1.2rem; border-top: 1px solid var(--linea); }
.interruttore { display: inline-flex; align-items: center; gap: .7rem; min-height: 44px; cursor: pointer; font-weight: 600; }
.interruttore input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.interruttore__pista { width: 46px; height: 26px; border-radius: 13px; background: #c6cfda; position: relative; transition: background-color .2s; flex: none; }
.interruttore__pista::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: #fff; transition: transform .2s; }
.interruttore input:checked + .interruttore__pista { background: var(--blu); }
.interruttore input:checked + .interruttore__pista::after { transform: translateX(20px); }
.interruttore input:focus-visible + .interruttore__pista { outline: 3px solid var(--sole); outline-offset: 3px; }

.risultati { grid-column: 7 / span 6; min-width: 0; }
.risultati__conta { display: flex; align-items: baseline; gap: 1rem; padding-bottom: 1rem; border-bottom: 2px solid var(--inchiostro); }
.risultati__numero { font-family: var(--f-titolo); font-size: clamp(3.6rem, 2rem + 4vw, 6rem); line-height: .85; color: var(--blu); min-width: 2ch; }
.risultati__etichetta { font-size: var(--t-l); line-height: 1.4; }
.risultati__lista { list-style: none; }
.pizza-voce { display: grid; grid-template-columns: 1fr auto; gap: .3rem 1rem; padding: 1.2rem 0; border-bottom: 1px solid var(--linea); }
.pizza-voce__nome { font-family: var(--f-titolo); font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); line-height: 1.05; }
.pizza-voce__famiglia { font-size: .85rem; font-weight: 600; color: var(--blu); align-self: center; white-space: nowrap; }
.pizza-voce__ingredienti { grid-column: 1 / -1; color: var(--grigio); max-width: 56ch; }
.pizza-voce__ingredienti mark { background: var(--sole-chiaro); color: var(--inchiostro); padding: 0 .2em; border-radius: 2px; }
.pizza-voce__azioni { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 4px 18px; font-size: .95rem; }
.pizza-voce__azioni a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 600; color: var(--blu); text-underline-offset: 5px; }
.pizza-voce__glutine { grid-column: 1 / -1; font-size: .92rem; font-weight: 500; color: var(--notte); background: var(--bruma); padding: .4rem .7rem; border-radius: var(--raggio); justify-self: start; }
.pizza-voce--parziale .pizza-voce__nome { color: var(--grigio); }
.risultati__separatore { padding: 1.4rem 0 .2rem; font-weight: 600; color: var(--grigio); font-size: var(--t-s); }
.risultati__famiglia { font-family: var(--f-titolo); font-size: var(--t-xl); padding: 2rem 0 .3rem; color: var(--blu); }
.risultati__vuoto { padding: 1.6rem 0; font-size: var(--t-l); max-width: 40ch; }
.risultati__fondo { display: grid; gap: 1rem; justify-items: start; margin-top: 1.6rem; }
.entra { animation: entra .45s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes entra { from { opacity: 0; transform: translateY(10px); } }

/* ------------------------------------------------------------- banner */
.banner { position: relative; min-height: max(560px, 86vh); display: flex; align-items: flex-end; color: var(--tovaglia); overflow: hidden; background: var(--notte); }
.banner__foto { position: absolute; inset: -8% 0; }
.banner__foto img { width: 100%; height: 100%; object-fit: cover; }
.banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 36, 64, .1) 20%, rgba(14, 36, 64, .88) 100%), linear-gradient(90deg, rgba(14, 36, 64, .55), transparent 65%); }
.banner__testo { position: relative; z-index: 1; padding: var(--sezione) var(--margine) clamp(48px, 7vw, 96px) var(--bordo); max-width: calc(1100px + var(--bordo)); }
.banner__titolo { font-size: clamp(3.4rem, 1.6rem + 8vw, 9.5rem); line-height: .9; letter-spacing: -.03em; max-width: 10ch; }
.banner__testo p { font-size: var(--t-l); max-width: 38ch; margin: 1.4rem 0 1.8rem; color: rgba(251, 250, 246, .9); }

/* ------------------------------------------------------------- cucina */
.cucina { padding: var(--sezione) var(--margine); max-width: calc(var(--larghezza) + 2 * var(--margine)); margin: 0 auto; }
.cucina__testa { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 0 24px; }
.cucina__testa .titolo-sezione { grid-column: 1 / span 7; }
.cucina__testa .attacco { grid-column: 8 / span 5; align-self: end; }
.cucina__griglia { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; margin-top: clamp(48px, 7vw, 96px); }
.lato { display: grid; gap: 28px; align-content: start; }
.lato--mare { grid-column: 1 / span 6; }
.lato--terra { grid-column: 8 / span 5; margin-top: clamp(80px, 16vw, 260px); }
.lato__foto { overflow: hidden; border-radius: var(--raggio); }
.lato__foto img { width: 100%; height: 100%; object-fit: cover; }
.lato__foto--alta { aspect-ratio: 4 / 5; }
.lato--mare .lato__foto--alta { order: 1; width: 86%; }
.lato--mare .lato__foto--larga { order: 2; width: 62%; margin-left: auto; aspect-ratio: 16 / 10; margin-top: -160px; position: relative; border: 10px solid var(--tovaglia); }
.lato--mare .lato__testo { order: 3; }
.lato--terra .lato__foto--larga { aspect-ratio: 3 / 2; width: 84%; }
.lato--terra .lato__foto--alta { width: 78%; margin-left: auto; aspect-ratio: 5 / 4; }
.lato__testo { max-width: 44ch; }
.lato__testo h3 { font-size: var(--t-2xl); margin-bottom: .9rem; }
.voci { list-style: none; margin-top: 1rem; border-top: 1px solid var(--linea); }
.voci li { padding: .6rem 0; border-bottom: 1px solid var(--linea); font-weight: 500; }
.cucina__azione { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; margin-top: clamp(48px, 6vw, 80px); }

/* ------------------------------------------------------------- glutine */
.glutine { background: var(--sole); color: var(--notte); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; padding: 0 var(--margine); align-items: center; }
.glutine__testo { grid-column: 1 / span 7; padding: var(--sezione) 0; }
.glutine__titolo { font-size: clamp(3rem, 1.6rem + 6vw, 7.4rem); line-height: .92; letter-spacing: -.025em; max-width: 11ch; }
.glutine__testo > p { font-size: var(--t-l); max-width: 40ch; margin-top: 1.6rem; line-height: 1.5; }
.glutine__citazione { margin: 2rem 0; }
.glutine__citazione p { font-family: var(--f-titolo); font-size: var(--t-xl); line-height: 1.15; }
.glutine__citazione footer { margin-top: .4rem; font-size: var(--t-s); }
.glutine__citazione a { min-height: 44px; display: inline-flex; align-items: center; }
.glutine__foto { grid-column: 9 / span 4; align-self: stretch; margin: -48px 0; position: relative; z-index: 1; }
.glutine__foto picture, .glutine__foto img { height: 100%; width: 100%; object-fit: cover; border-radius: var(--raggio); }

/* ------------------------------------------------------------- recensioni */
.voci-clienti { background: var(--bruma); padding: calc(var(--sezione) + 48px) var(--margine) var(--sezione); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.voci-clienti__voto { grid-column: 1 / span 4; }
.voci-clienti__numero { font-family: var(--f-titolo); font-size: clamp(7rem, 4rem + 10vw, 15rem); line-height: .8; color: var(--blu); letter-spacing: -.04em; }
.voci-clienti__su { font-size: var(--t-l); margin: 1rem 0 .4rem; max-width: 20ch; }
.voci-clienti__temi { grid-column: 6 / span 7; }
.temi { margin-top: 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0 32px; }
.temi div { padding: 1.1rem 0; border-top: 1px solid var(--linea); }
.temi dt { font-family: var(--f-titolo); font-size: var(--t-xl); line-height: 1.1; }
.temi dd { margin-top: .4rem; color: var(--grigio); }

/* ------------------------------------------------------------- serate */
.serate { background: var(--notte); color: var(--tovaglia); display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; align-items: center; }
.serate__foto { grid-column: 1 / span 5; align-self: stretch; min-height: 560px; position: relative; }
.serate__foto picture, .serate__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.serate__testo { grid-column: 7 / span 5; padding: var(--sezione) var(--margine) var(--sezione) 0; }
.serate__testo .attacco { color: rgba(251, 250, 246, .82); }
.elenco-sole { list-style: none; margin-top: 1.8rem; display: grid; gap: .9rem; }
.elenco-sole li { display: grid; grid-template-columns: 22px 1fr; gap: .8rem; align-items: start; color: rgba(251, 250, 246, .9); }
.elenco-sole li::before { content: ""; width: 20px; height: 20px; margin-top: .25rem; background: var(--sole); -webkit-mask: var(--sole-maschera) center / contain no-repeat; mask: var(--sole-maschera) center / contain no-repeat; }
.serate__azioni { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 2rem; }

/* ------------------------------------------------------------- galleria */
.galleria { padding: var(--sezione) var(--margine); max-width: calc(var(--larghezza) + 2 * var(--margine)); margin: 0 auto; }
.galleria__mosaico { display: grid; grid-template-columns: 2fr 1fr 1fr; grid-auto-rows: clamp(170px, 20vw, 290px); gap: 12px; margin-top: clamp(32px, 5vw, 64px); }
.galleria__voce { display: block; overflow: hidden; border-radius: var(--raggio); position: relative; }
.galleria__voce picture, .galleria__voce img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
.galleria__voce:hover img { transform: scale(1.04); }
.galleria__voce--1 { grid-row: span 2; }
.galleria__nota { margin-top: 1rem; }

/* ------------------------------------------------------------- orari */
.orari__striscia { position: relative; height: clamp(260px, 44vh, 460px); overflow: hidden; background: var(--notte); }
.orari__striscia picture, .orari__striscia img { width: 100%; height: 100%; object-fit: cover; }
.orari__striscia::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(14, 36, 64, .7)); }
.orari__indirizzo { position: absolute; z-index: 1; left: var(--bordo); right: var(--margine); bottom: clamp(20px, 4vw, 48px); font-family: var(--f-titolo); color: var(--tovaglia); font-size: clamp(2.4rem, 1rem + 6vw, 7rem); line-height: .95; letter-spacing: -.02em; }
.orari__corpo { padding: var(--sezione) var(--margine); max-width: calc(var(--larghezza) + 2 * var(--margine)); margin: 0 auto; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 24px; }
.orari__tabella { grid-column: 1 / span 6; }
.orari__strada { grid-column: 8 / span 5; }
.stato--grande { margin: 1.4rem 0 1rem; font-size: var(--t-l); font-weight: 600; }
.stato--grande .stato__punto { width: 12px; height: 12px; }
.settimana { width: 100%; border-collapse: collapse; font-size: var(--t-m); margin-bottom: 1rem; }
.settimana th, .settimana td { text-align: left; padding: .75rem .5rem .75rem 0; border-bottom: 1px solid var(--linea); }
.settimana thead th { font-size: var(--t-s); color: var(--grigio); font-weight: 600; }
.settimana tbody th { font-weight: 600; }
.settimana .oggi th, .settimana .oggi td { background: var(--bruma); }
.settimana .oggi th { box-shadow: inset 4px 0 0 var(--blu); padding-left: .8rem; }
.settimana .vuoto { color: var(--grigio); }
.settimana td { white-space: nowrap; }
.orari__strada h3 { font-size: var(--t-2xl); }
.passi { margin: 1.4rem 0 1rem; display: grid; gap: .9rem; counter-reset: passo; list-style: none; }
.passi li { display: grid; grid-template-columns: 40px 1fr; gap: .8rem; counter-increment: passo; }
.passi li::before { content: counter(passo); width: 34px; height: 34px; border-radius: 50%; background: var(--notte); color: var(--sole); display: grid; place-items: center; font-family: var(--f-titolo); font-size: 1.1rem; }
.mappa { margin: 1.6rem 0 1.2rem; aspect-ratio: 16 / 11; background: var(--bruma); border-radius: var(--raggio); overflow: hidden; position: relative; }
.mappa iframe { width: 100%; height: 100%; border: 0; display: block; }
.mappa__segnaposto { position: absolute; inset: 0; display: grid; place-content: center; justify-items: center; gap: 1rem; padding: 24px; text-align: center; max-width: 40ch; margin: 0 auto; font-size: var(--t-s); }
.orari__azioni { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }

/* ------------------------------------------------------------- finale */
.finale { position: relative; min-height: max(560px, 92vh); display: flex; align-items: center; color: var(--tovaglia); overflow: hidden; background: var(--notte); }
.finale__foto { position: absolute; inset: 0; }
.finale__foto img { width: 100%; height: 100%; object-fit: cover; }
.finale::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14, 36, 64, .86), rgba(14, 36, 64, .35) 70%, rgba(14, 36, 64, .15)); }
.finale__testo { position: relative; z-index: 1; padding: var(--sezione) var(--margine) var(--sezione) var(--bordo); max-width: calc(900px + var(--bordo)); }
.finale__titolo { font-size: var(--t-3xl); max-width: 12ch; }
.finale__numero { display: inline-block; font-family: var(--f-titolo); font-size: clamp(3rem, 1rem + 8.5vw, 9rem); line-height: 1; letter-spacing: -.02em; color: var(--sole); text-decoration: none; margin: 1.6rem 0 1.4rem; white-space: nowrap; }
.finale__numero:hover { color: var(--sole-chiaro); }
.finale__testo p { font-size: var(--t-l); max-width: 40ch; color: rgba(251, 250, 246, .88); }

/* ------------------------------------------------------------- piede */
.piede { background: var(--notte); color: rgba(251, 250, 246, .86); padding: clamp(56px, 8vw, 104px) var(--margine) 32px; border-top: 1px solid var(--linea-chiara); }
.piede__griglia { max-width: var(--larghezza); margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; }
.piede__marchio svg { width: 64px; height: 64px; color: var(--logo-blu-su-scuro); margin-bottom: .8rem; }
.piede__nome { font-family: var(--f-titolo); font-size: 1.8rem; letter-spacing: .12em; text-transform: uppercase; color: var(--tovaglia); }
.piede__titolo { font-weight: 600; color: var(--sole); margin-bottom: .5rem; }
.piede a { min-height: 44px; display: inline-flex; align-items: center; }
.piede__fondo { max-width: var(--larghezza); margin: 48px auto 0; padding-top: 24px; border-top: 1px solid var(--linea-chiara); display: flex; flex-wrap: wrap; gap: 8px 32px; justify-content: space-between; font-size: .9rem; }
.piede__fondo a { margin-right: 18px; }
.piede__cookie { background: none; border: 0; padding: 0; min-height: 44px; text-decoration: underline; cursor: pointer; color: inherit; }

/* ------------------------------------------------------------- barra azioni (telefono) */
.barra-azioni { display: none; }

/* ------------------------------------------------------------- lightbox */
.lightbox { position: fixed; inset: 0; z-index: 80; background: rgba(8, 20, 36, .94); display: grid; place-items: center; padding: 56px 16px; }
.lightbox img { max-width: min(1400px, 100%); max-height: 100%; object-fit: contain; border-radius: var(--raggio); }
.lightbox__chiudi { position: absolute; top: 10px; right: 10px; width: 52px; height: 52px; border: 0; background: none; color: #fff; cursor: pointer; display: grid; place-items: center; }
.lightbox__chiudi svg { width: 30px; height: 30px; }

/* ------------------------------------------------------------- cookie */
.cookie { position: fixed; z-index: 70; right: 16px; bottom: 16px; width: min(440px, calc(100% - 32px)); background: var(--tovaglia); color: var(--inchiostro); padding: 20px; border-radius: var(--raggio); box-shadow: 0 18px 50px rgba(8, 20, 36, .35); font-size: .95rem; }
.cookie__titolo { font-family: var(--f-titolo); font-size: 1.4rem; margin-bottom: .4rem; }
.cookie a { color: var(--blu); }
.cookie__scelte { margin-top: .9rem; display: grid; gap: .3rem; }
.cookie__voce { display: flex; align-items: center; gap: .6rem; min-height: 44px; }
.cookie__voce input { width: 20px; height: 20px; accent-color: var(--blu); }
.cookie__bottoni { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; margin-top: 1rem; }
.bottone--cookie { background: var(--notte); color: var(--tovaglia); padding-inline: .6rem; }
.bottone--cookie:hover { background: var(--blu); }

/* ------------------------------------------------------------- comparse */
.anima [data-compari] { opacity: 0; transform: translateY(24px); }

/* ------------------------------------------------------------- tablet */
@media (max-width: 1240px) {
  .testata__nav { display: none; }
  .testata__menu { display: block; }
  .stato { margin-left: auto; }
}

@media (max-width: 900px), (max-width: 1100px) and (orientation: portrait) {
  :root { --testata: 60px; }
  .testata__chiama { display: none; }
  .marchio__sole { width: 34px; height: 34px; }
  .marchio__nome { font-size: 1.1rem; white-space: nowrap; letter-spacing: .08em; }

  .apertura__scena { grid-template-columns: 1fr; align-items: start; padding-bottom: 0; }
  .apertura__testo { grid-column: 1; }
  .apertura__titolo { font-size: clamp(2.3rem, min(13.5vw, 8.4vh), 6.2rem); }
  .apertura__dove { margin-bottom: clamp(.5rem, 2vh, 1.2rem); }
  .apertura__sotto { margin-top: clamp(.7rem, 2.2vh, 1.4rem); }
  .apertura__azioni { margin-top: clamp(1rem, 3vh, 2rem); }
  .apertura__tavola { grid-column: 1; width: min(94vw, 560px); justify-self: end; margin: 2rem calc(-1 * var(--margine) - 12vw) 0 0; }
  .apertura__raggi { right: -60vw; top: auto; bottom: -50vw; margin-top: 0; }
  .anima .apertura__tavola { position: absolute; right: 0; bottom: 0; margin: 0; width: min(94vw, 56svh, 560px); transform: translate(24%, 52%); }
  .anima .apertura__oggi { display: none; }
  .anima .apertura__scorri { display: none; }
  .apertura__dopo { margin: 2rem 0 3rem; }
  .anima .apertura__dopo { margin: 0; }

  .tempi { grid-template-columns: 1fr; }
  .distanze { padding-inline: var(--margine); }
  .distanze__testa { grid-template-columns: 1fr; }
  .distanze__titolo, .distanze__sotto { grid-column: 1; }
  .distanze__sotto { margin-top: 1rem; }
  .percorso { height: auto; margin: 40px 0 24px; display: grid; gap: 26px; }
  .percorso::before { left: 14px; right: auto; top: 0; bottom: 0; width: 4px; height: auto; margin: 0; background: repeating-linear-gradient(180deg, var(--sole) 0 18px, transparent 18px 30px); }
  .percorso__tappa { position: relative; left: 0; top: 0; width: auto; height: auto; padding-left: 52px; min-height: 40px; }
  .percorso__tappa::before { left: 7px; top: 6px; }
  .percorso__testo, .percorso__tappa--inizio .percorso__testo, .percorso__tappa--fine .percorso__testo { position: static; width: auto; transform: none; text-align: left; }
  .percorso__tappa[data-lato="giu"] .percorso__km { order: 0; }
  .percorso__sole { width: 56px; height: 56px; left: -12px; top: -8px; }
  .percorso__tappa--qui { padding-top: 4px; }
  .fatti { grid-template-columns: 1fr; gap: 28px; }

  .pranzo { grid-template-columns: 1fr; }
  .pranzo__foto { grid-column: 1; min-height: 0; aspect-ratio: 3 / 2; }
  .pranzo__testo { grid-column: 1; padding: clamp(48px, 10vw, 80px) var(--margine) var(--sezione); }

  .pizze__testa, .pizze__corpo, .cucina__testa, .cucina__griglia, .glutine, .voci-clienti, .serate, .orari__corpo { grid-template-columns: 1fr; }
  .pizze__testa > *, .scelte, .risultati, .cucina__testa > *, .lato--mare, .lato--terra, .glutine__testo, .glutine__foto, .voci-clienti__voto, .voci-clienti__temi, .serate__foto, .serate__testo, .orari__tabella, .orari__strada { grid-column: 1 / -1; }
  .pizze__testa .titolo-sezione, .pizze__testa .attacco, .cucina__testa .titolo-sezione, .cucina__testa .attacco { grid-column: 1 / -1; }
  .scelte { position: static; }
  .gruppo__voci { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--margine)); padding: 2px var(--margine) 8px; scrollbar-width: none; scroll-snap-type: x proximity; }
  .gruppo__voci::-webkit-scrollbar { display: none; }
  .ingrediente { flex: none; scroll-snap-align: start; }
  .risultati { margin-top: 1rem; }

  .lato--terra { margin-top: 32px; }
  .lato--mare .lato__foto--alta { width: 100%; }
  .lato--mare .lato__foto--larga { margin-top: -70px; width: 70%; }

  .glutine { padding-bottom: 0; }
  .glutine__testo { padding-bottom: 32px; }
  .glutine__foto { margin: 0 0 0 auto; width: 72%; aspect-ratio: 4 / 5; transform: translateY(40px); }
  .voci-clienti { padding-top: calc(var(--sezione) + 40px); }
  .temi { grid-template-columns: 1fr; }

  .serate__foto { min-height: 0; aspect-ratio: 4 / 3; }
  .serate__foto img { object-position: 50% 22%; }
  .settimana { font-size: .95rem; }
  .settimana th, .settimana td { padding-right: .35rem; }
  .serate__testo { padding: clamp(40px, 9vw, 72px) var(--margine) var(--sezione); }

  .galleria__mosaico { grid-template-columns: 1fr 1fr; grid-auto-rows: clamp(140px, 40vw, 260px); }
  .galleria__voce--1 { grid-column: span 2; grid-row: span 1; }

  .piede__griglia { grid-template-columns: 1fr 1fr; }
  .piede__marchio { grid-column: 1 / -1; }

  .barra-azioni {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
    background: var(--notte); color: var(--tovaglia); border-top: 1px solid var(--linea-chiara);
    padding-bottom: env(safe-area-inset-bottom);
  }
  .barra-azioni a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; min-height: 60px; font-size: .78rem; font-weight: 600; text-decoration: none; }
  .barra-azioni a:first-child { background: var(--sole); color: var(--notte); }
  .barra-azioni svg { width: 22px; height: 22px; }
  body { padding-bottom: calc(60px + env(safe-area-inset-bottom)); }
  .cookie { bottom: calc(72px + env(safe-area-inset-bottom)); right: 12px; width: calc(100% - 24px); }
}

@media (max-width: 900px) and (min-height: 800px), (max-width: 1100px) and (orientation: portrait) and (min-height: 800px) {
  .anima .apertura__tavola { transform: translate(14%, 28%); }
}

@media (min-width: 900px) {
  .cassetto__dentro { grid-template-columns: 1fr 1fr; align-items: center; min-height: 100vh; padding-top: 32px; }
  .cassetto__anteprima { order: 2; max-height: none; aspect-ratio: 4 / 5; }
  .cassetto__piede { grid-column: 1; }
}

@media (max-width: 520px) {
  .marchio__nome small { display: none; }
  .testata__barra { gap: .8rem; }
  .testata .stato [data-stato-testo] { display: none; }
  .testata .stato .stato__breve { display: inline; }
  .apertura__sotto { font-size: 1.05rem; }
  .apertura__azioni .bottone { flex: 1 1 100%; }
  .formule { grid-template-columns: 1fr 1fr; }
  .formula { font-size: 1.1rem; }
  .biglietto { padding: 1.3rem 1.2rem; }
  .finale__numero { font-size: clamp(2.6rem, 14vw, 4rem); }
  .cookie__bottoni { grid-template-columns: 1fr 1fr 1fr; }
  .piede__griglia { grid-template-columns: 1fr; }
}

@media (max-width: 520px) and (max-height: 700px) {
  .apertura__sotto { font-size: .95rem; line-height: 1.45; }
  .apertura__dove { font-size: .85rem; }
  .apertura__azioni { gap: 8px; }
  .apertura__azioni .bottone { min-height: 46px; }
}

@media (max-width: 360px) {
  .testata__barra { gap: .5rem; }
  .marchio { gap: .45rem; }
  .marchio__sole { width: 28px; height: 28px; }
  .marchio__nome { font-size: .98rem; letter-spacing: .06em; }
  .testata__menu { width: 44px; height: 44px; }
  .testata__menu-righe { left: 10px; top: 21px; }
  .cookie__bottoni { grid-template-columns: 1fr; }
  .marchio__nome small { display: none; }
  .stato { font-size: .8rem; }
  .bottone { padding-inline: 1rem; }
}

/* telefono in orizzontale: niente blocchi alti */
@media (max-height: 500px) and (orientation: landscape) {
  :root { --testata: 56px; }
  .apertura__scena { min-height: 100vh; min-height: 100svh; grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); align-items: center; padding-bottom: 20px; }
  .apertura__testo { grid-column: 1; }
  .apertura__titolo { font-size: clamp(2rem, 1rem + 7vh, 3.4rem); }
  .apertura__dove { margin-bottom: .4rem; font-size: .85rem; }
  .apertura__sotto { font-size: .95rem; line-height: 1.45; margin-top: .6rem; max-width: 46ch; }
  .apertura__azioni { margin-top: .9rem; }
  .apertura__azioni .bottone { flex: 0 1 auto; min-height: 44px; }
  .apertura__oggi { display: none; }
  .apertura__tavola { grid-column: 2; grid-row: 1; width: min(34vw, 66vh); margin: 0 -4vw 0 0; justify-self: end; align-self: center; }
  .apertura__dopo { grid-column: 1 / -1; margin: 1.5rem 0; }
  .apertura__raggi { right: -30vw; bottom: auto; top: -20vh; }
  .barra-azioni { display: none; }
  body { padding-bottom: 0; }
  .testata__chiama { display: inline-flex; }
  .testata .stato { display: none; }
  .cookie { bottom: 12px; }
  .banner, .finale { min-height: 0; }
  .cassetto__anteprima { display: none; }
}

@media (max-height: 420px) and (orientation: landscape) {
  .apertura__sotto { display: none; }
  .apertura__titolo { font-size: clamp(2rem, 1rem + 8vh, 3.2rem); }
  .apertura__azioni { margin-top: 1.2rem; }
}

@media (min-width: 2000px) {
  html { font-size: 118.75%; }
  :root { --larghezza: 1720px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
  .nastro__binario { animation: none; flex-wrap: wrap; width: auto; }
  .nastro__voci { flex-wrap: wrap; padding: 0 var(--margine); }
  .nastro__voci[aria-hidden="true"] { display: none; }
}

/* ------------------------------------------------------------- varianti demo */
[data-tema="tramonto"] { --notte: #2A1B14; --notte-2: #3B2619; --blu: #9C4A1F; --blu-chiaro: #F0B36A; --bruma: #F3E6D6; }
[data-tema="mare"] { --notte: #062F45; --notte-2: #0B4262; --blu: #11709E; --blu-chiaro: #5DC1E8; --bruma: #DDEFF5; }

/* telefoni bassi: il bottone e l'invito vengono prima della descrizione */
@media (max-width: 900px) and (max-height: 700px) {
  .apertura__sotto { display: none; }
}
