:root {
  --notte: #0b2545;
  --notte-2: #071a33;
  --blu: #0a5f8f;
  --acqua: #19d3c5;
  --acqua-chiara: #74eadf;
  --corallo: #ff7a45;
  --giallo: #ffd166;
  --verde-wa: #25d366;
  --chiaro: #eef6fb;
  --bianco: #ffffff;
  --inchiostro: #0b2545;
  --tenue: #47607d;
  --linea: #d6e4ef;
  --ombra: 0 24px 60px rgba(11, 37, 69, .16), 0 6px 16px rgba(11, 37, 69, .08);
  --ombra-forte: 0 40px 90px rgba(4, 16, 34, .45), 0 12px 30px rgba(4, 16, 34, .3);
  --carattere: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --carattere-titoli: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --barra: 68px;
}

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
  overflow-x: clip;
}

body {
  margin: 0;
  background: var(--chiaro);
  color: var(--inchiostro);
  font: 17px/1.62 var(--carattere);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
  overflow-x: clip;
}

img { display: block; max-width: 100%; height: auto; }
picture { display: block; }
.apertura-foto picture, .scena-sfondo picture, .numeri-sfondo picture, .fondatori-sfondo picture, .chiusura-sfondo picture, .come-foto picture { width: 100%; height: 100%; }
a { color: var(--blu); text-underline-offset: 3px; }
a:hover { color: var(--corallo); }
p { margin: 0 0 1em; }
h1, h2, h3 { font-family: var(--carattere-titoli); margin: 0; }
strong { font-weight: 800; }
.intero, a[href^="tel:"] { white-space: nowrap; }
:focus-visible { outline: 3px solid var(--giallo); outline-offset: 3px; border-radius: 8px; }

section, .nastro, footer { scroll-margin-top: calc(var(--barra) + 8px); }

.contenitore { width: 100%; max-width: 1200px; margin: 0 auto; padding: 0 20px; }

.occhiello {
  display: inline-flex; align-items: center; gap: 10px;
  margin: 0 0 14px;
  font-size: .82rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase;
  color: var(--acqua);
}
.occhiello::before { content: ""; width: 34px; height: 3px; border-radius: 3px; background: linear-gradient(90deg, var(--acqua), var(--giallo), var(--corallo)); }

.titolo-sezione {
  font-size: clamp(2.05rem, 4.8vw, 3.5rem);
  line-height: 1.06; letter-spacing: -.025em; font-weight: 800;
  margin-bottom: 16px;
}
.sottotitolo { font-size: clamp(1.08rem, 1.7vw, 1.3rem); color: var(--tenue); max-width: 760px; }

.brilla {
  background: linear-gradient(100deg, var(--acqua-chiara) 0%, var(--giallo) 30%, var(--acqua-chiara) 55%, var(--acqua) 80%, var(--acqua-chiara) 100%);
  background-size: 220% 100%;
  -webkit-background-clip: text; background-clip: text;
  color: transparent; -webkit-text-fill-color: transparent;
  animation: brilla 7s linear infinite;
}
@keyframes brilla { to { background-position: -220% 0; } }

/* tasti */
.tasto {
  position: relative; overflow: hidden;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 54px; padding: 13px 26px;
  border-radius: 999px; border: 2px solid transparent;
  font: 800 1.02rem/1.15 var(--carattere); letter-spacing: -.005em;
  text-decoration: none; white-space: nowrap;
  transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease;
  isolation: isolate;
}
.tasto svg { width: 22px; height: 22px; flex: none; }
.tasto::after {
  content: ""; position: absolute; top: -20%; bottom: -20%; left: -60%; width: 40%; z-index: -1;
  background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .55), transparent);
  transform: skewX(-20deg);
  animation: lampo 4.2s ease-in-out infinite;
}
@keyframes lampo { 0%, 62% { left: -60%; } 100% { left: 130%; } }
.tasto:hover { transform: translateY(-3px); }
.tasto-wa { background: var(--verde-wa); color: #04331a; box-shadow: 0 12px 30px rgba(37, 211, 102, .35); }
.tasto-wa:hover { color: #04331a; box-shadow: 0 18px 38px rgba(37, 211, 102, .5); }
.tasto-chiaro { background: rgba(255, 255, 255, .12); color: #fff; border-color: rgba(255, 255, 255, .7); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.tasto-chiaro:hover { color: #fff; background: rgba(255, 255, 255, .22); }
.tasto-scuro { background: var(--notte); color: #fff; box-shadow: 0 12px 30px rgba(11, 37, 69, .3); }
.tasto-scuro:hover { color: #fff; background: var(--blu); }
.tasto-bianco { background: #fff; color: var(--notte); box-shadow: 0 12px 30px rgba(4, 16, 34, .25); }
.tasto-bianco:hover { color: var(--notte); }
.tasti { display: flex; flex-wrap: wrap; gap: 14px; }

/* marchio */
.logo { width: 40px; height: 40px; flex: none; border-radius: 50%; box-shadow: 0 0 0 2px rgba(255, 255, 255, .95); }
.logo .vela-1, .logo .vela-2 { transform-box: fill-box; transform-origin: 50% 100%; animation: sventola 3.6s ease-in-out infinite; }
.logo .vela-2 { animation-delay: -1.4s; }
@keyframes sventola { 0%, 100% { transform: skewX(0deg) scaleX(1); } 50% { transform: skewX(-4deg) scaleX(.94); } }

/* barra in alto */
.barra-alta {
  position: fixed; top: 0; left: 0; right: 0; z-index: 60;
  height: var(--barra);
  display: flex; align-items: center; gap: 18px;
  padding: 0 max(16px, env(safe-area-inset-right)) 0 max(16px, env(safe-area-inset-left));
  color: #fff;
  transition: background-color .35s ease, box-shadow .35s ease, color .35s ease;
}
.barra-alta.solida, .pagina-dati .barra-alta {
  background: rgba(255, 255, 255, .86);
  -webkit-backdrop-filter: saturate(1.6) blur(16px); backdrop-filter: saturate(1.6) blur(16px);
  box-shadow: 0 8px 30px rgba(11, 37, 69, .12);
  color: var(--notte);
}
.marchio { display: inline-flex; align-items: center; gap: 10px; color: inherit; text-decoration: none; font: 800 1.22rem/1 var(--carattere-titoli); letter-spacing: -.02em; white-space: nowrap; }
.marchio:hover { color: inherit; }
.voci { display: none; margin-left: auto; gap: 4px; }
.voci a { position: relative; padding: 9px 12px; color: inherit; text-decoration: none; font-weight: 700; font-size: .95rem; border-radius: 10px; white-space: nowrap; }
.voci a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 2px; border-radius: 2px; background: var(--acqua); transform: scaleX(0); transform-origin: left; transition: transform .3s ease; }
.voci a:hover::after { transform: scaleX(1); }
.barra-alta .tasto { margin-left: auto; min-height: 44px; padding: 8px 18px; font-size: .95rem; }
.barra-alta .tasto svg { width: 20px; height: 20px; }
.avanzamento { position: absolute; left: 0; bottom: 0; height: 3px; width: 100%; transform-origin: left; transform: scaleX(0); background: linear-gradient(90deg, var(--acqua), var(--giallo), var(--corallo)); }
@media (min-width: 1040px) { .voci { display: flex; } .barra-alta .voci + .tasto { margin-left: 8px; } }
@media (max-width: 400px) {
  .marchio { font-size: 1.08rem; gap: 8px; }
  .logo { width: 34px; height: 34px; }
  .barra-alta { gap: 10px; }
  .barra-alta .tasto { padding: 8px 14px; font-size: .9rem; }
  .barra-alta .tasto svg { width: 18px; height: 18px; }
}

/* barra in basso, solo telefono */
.barra-bassa {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  display: flex; gap: 10px;
  padding: 10px max(12px, env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));
  background: rgba(7, 26, 51, .9);
  -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  box-shadow: 0 -10px 30px rgba(4, 16, 34, .3);
  transition: transform .45s cubic-bezier(.2, .8, .2, 1), visibility 0s;
}
.barra-nascosta .barra-bassa { transform: translateY(110%); visibility: hidden; transition: transform .45s cubic-bezier(.2, .8, .2, 1), visibility 0s linear .45s; }
.barra-bassa .tasto { flex: 1 1 auto; min-height: 50px; padding: 10px 12px; font-size: .95rem; gap: 8px; }
.barra-bassa .tasto svg { width: 20px; height: 20px; }
.barra-bassa .tasto-chiaro { flex: 0 1 auto; }
.barra-bassa .lungo { display: none; }
@media (min-width: 440px) { .barra-bassa .lungo { display: inline; } }
body { padding-bottom: calc(72px + env(safe-area-inset-bottom)); }
@media (min-width: 900px) {
  .barra-bassa { display: none; }
  body { padding-bottom: 0; }
}

/* comparse allo scorrimento */
.js [data-rivela] { opacity: 0; transform: translate3d(0, 46px, 0); transition: opacity 1s ease, transform 1.1s cubic-bezier(.16, .84, .3, 1); transition-delay: var(--ritardo, 0s); }
.js [data-rivela="sinistra"] { transform: translate3d(-60px, 0, 0); }
.js [data-rivela="destra"] { transform: translate3d(60px, 0, 0); }
.js [data-rivela="zoom"] { transform: scale(.86); }
.js [data-rivela].visto { opacity: 1; transform: none; }

/* onde */
.onde { position: absolute; left: 0; right: 0; bottom: -1px; height: 120px; overflow: hidden; pointer-events: none; z-index: 2; }
.onde svg { position: absolute; left: 0; bottom: 0; width: 200%; height: 100%; }
.onde .o1 { animation: onda 16s linear infinite; height: 52%; }
.onde .o2 { animation: onda 11s linear infinite reverse; height: 78%; }
.onde .o3 { animation: onda 23s linear infinite; height: 100%; }
@keyframes onda { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }

/* bolle */
.bolle { position: absolute; inset: 0; pointer-events: none; overflow: hidden; z-index: 1; }
.bolla {
  position: absolute; bottom: -60px; left: var(--x, 50%);
  width: var(--s, 14px); height: var(--s, 14px); border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, .45); background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, .55), rgba(255, 255, 255, .05) 60%);
  animation: sali var(--d, 12s) linear infinite; animation-delay: var(--r, 0s);
  opacity: 0;
}
@keyframes sali {
  0% { transform: translate3d(0, 0, 0); opacity: 0; }
  10% { opacity: .9; }
  50% { transform: translate3d(26px, -55vh, 0); }
  100% { transform: translate3d(-10px, -115vh, 0); opacity: 0; }
}

/* APERTURA */
.apertura {
  position: relative; isolation: isolate;
  min-height: 100vh; min-height: 100svh;
  display: flex; align-items: center;
  padding: calc(var(--barra) + 34px) 0 150px;
  color: #fff; background: var(--notte);
  overflow: hidden;
}
.apertura-foto { position: absolute; inset: 0; z-index: -3; overflow: hidden; }
.apertura-foto img { width: 100%; height: 100%; object-fit: cover; object-position: 55% 60%; transform-origin: 60% 62%; animation: kenburns 30s ease-in-out infinite alternate; }
@keyframes kenburns { from { transform: scale(1.04) translate3d(0, 0, 0); } to { transform: scale(1.17) translate3d(-2.2%, -1.6%, 0); } }
.apertura-velo { position: absolute; inset: 0; z-index: -2;
  background:
    linear-gradient(180deg, rgba(7, 26, 51, .88) 0%, rgba(7, 26, 51, .62) 38%, rgba(7, 26, 51, .32) 62%, rgba(7, 26, 51, .7) 100%);
}
.apertura-luci { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.apertura-luci::before {
  content: ""; position: absolute; width: 70vmax; height: 70vmax; left: -18vmax; top: -30vmax; border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 244, 214, .42), rgba(255, 236, 190, 0) 62%);
  animation: sole 9s ease-in-out infinite alternate;
}
@keyframes sole { from { transform: scale(.9); opacity: .65; } to { transform: scale(1.12); opacity: 1; } }
.scintilla {
  position: absolute; left: var(--x); top: var(--y);
  width: 5px; height: 5px; border-radius: 50%; background: #fff;
  box-shadow: 0 0 10px 3px rgba(255, 255, 255, .85), 0 0 22px 8px rgba(170, 236, 255, .35);
  opacity: 0; animation: luccica var(--d, 3s) ease-in-out infinite; animation-delay: var(--r, 0s);
}
@keyframes luccica { 0%, 100% { opacity: 0; transform: scale(.3); } 45% { opacity: 1; transform: scale(1); } 60% { opacity: .2; transform: scale(.6); } }
.apertura-testo { position: relative; z-index: 3; max-width: 900px; }
.apertura h1 {
  font-size: clamp(2.7rem, 6.5vw, 5.4rem);
  line-height: .98; letter-spacing: -.035em; font-weight: 800;
  margin: 6px 0 22px;
  text-shadow: 0 10px 40px rgba(0, 0, 0, .35);
}
.apertura h1 .parola { display: inline-block; opacity: 0; transform: translate3d(0, .6em, 0) rotate(3deg); animation: entra .9s cubic-bezier(.16, .84, .3, 1) forwards; animation-delay: var(--ritardo, 0s); }
.apertura h1 .riga { display: block; }
@keyframes entra { to { opacity: 1; transform: none; } }
.apertura .occhiello { color: var(--giallo); animation: appare 1s ease .1s both; }
.apertura .sotto { font-size: clamp(1.12rem, 1.9vw, 1.42rem); line-height: 1.5; max-width: 640px; color: rgba(255, 255, 255, .94); margin-bottom: 30px; animation: appare 1.1s ease .9s both; }
.apertura .tasti { animation: appare 1.1s ease 1.15s both; }
.apertura .sotto-tasti { margin: 16px 0 26px; font-size: 1rem; color: rgba(255, 255, 255, .9); animation: appare 1.1s ease 1.3s both; }
.apertura .sotto-tasti a { color: #fff; font-weight: 800; text-decoration: none; }
.apertura .sotto-tasti .societa { display: block; margin-top: 2px; }
.apertura .sotto, .apertura .sotto-tasti { text-shadow: 0 2px 14px rgba(4, 16, 34, .6); }
@keyframes appare { from { opacity: 0; transform: translate3d(0, 24px, 0); } to { opacity: 1; transform: none; } }
.pillole { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.pillole li {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; border-radius: 999px;
  background: rgba(255, 255, 255, .13); border: 1px solid rgba(255, 255, 255, .32);
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  font-weight: 700; font-size: .93rem;
  opacity: 0; animation: appare .9s ease both; animation-delay: var(--ritardo, 1.5s);
}
.pillole li::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--acqua); box-shadow: 0 0 0 4px rgba(25, 211, 197, .25); animation: pulsa 2.2s ease-in-out infinite; }
.pillole li:nth-child(2)::before { background: var(--giallo); box-shadow: 0 0 0 4px rgba(255, 209, 102, .25); animation-delay: -.7s; }
.pillole li:nth-child(3)::before { background: var(--corallo); box-shadow: 0 0 0 4px rgba(255, 122, 69, .25); animation-delay: -1.4s; }
@keyframes pulsa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.45); } }
.giu { position: absolute; left: 50%; bottom: 112px; z-index: 3; width: 30px; height: 48px; margin-left: -15px; border: 2px solid rgba(255, 255, 255, .7); border-radius: 18px; }
.giu::before { content: ""; position: absolute; left: 50%; top: 9px; width: 6px; height: 10px; margin-left: -3px; border-radius: 3px; background: #fff; animation: rotella 1.8s ease-in-out infinite; }
@keyframes rotella { 0% { transform: translateY(0); opacity: 1; } 80% { transform: translateY(16px); opacity: 0; } 100% { opacity: 0; } }
@media (max-width: 899px) {
  .apertura { align-items: flex-start; padding-bottom: 170px; }
  .apertura-foto img { object-position: 55% 60%; }
  .giu { display: none; }
  .apertura .sotto-tasti { display: inline-block; padding: 8px 14px; border-radius: 16px; background: rgba(7, 26, 51, .7); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
}
@media (min-width: 900px) {
  .apertura-velo {
    background:
      linear-gradient(90deg, rgba(7, 26, 51, .9) 0%, rgba(7, 26, 51, .72) 34%, rgba(7, 26, 51, .2) 64%, rgba(7, 26, 51, .05) 100%),
      linear-gradient(0deg, rgba(7, 26, 51, .55) 0%, rgba(7, 26, 51, 0) 34%);
  }
  .apertura-foto img { object-position: 50% 62%; }
}
@media (min-width: 1600px) {
  .apertura-velo {
    background:
      linear-gradient(90deg, rgba(7, 26, 51, .9) 0%, rgba(7, 26, 51, .76) 42%, rgba(7, 26, 51, .26) 72%, rgba(7, 26, 51, .05) 100%),
      linear-gradient(0deg, rgba(7, 26, 51, .55) 0%, rgba(7, 26, 51, 0) 34%);
  }
}

/* nastro */
.nastri { position: relative; z-index: 5; background: var(--notte); padding: 20px 0 30px; overflow: hidden; }
.nastro { position: relative; display: flex; overflow: hidden; padding: 15px 0; background: linear-gradient(90deg, var(--blu), #0b4f7a 50%, var(--blu)); color: #fff; transform: rotate(-1.6deg) scale(1.04); box-shadow: 0 14px 30px rgba(0, 0, 0, .25); }
.nastro + .nastro { margin-top: -6px; background: linear-gradient(90deg, var(--acqua), #12b3a8 50%, var(--acqua)); color: var(--notte); transform: rotate(1.3deg) scale(1.04); }
.nastro-scorre { display: flex; flex: none; width: max-content; animation: nastro 46s linear infinite; }
.nastro + .nastro .nastro-scorre { animation-duration: 58s; animation-direction: reverse; }
.nastro ul { display: flex; flex: none; list-style: none; margin: 0; padding: 0; }
.nastro li { display: inline-flex; align-items: center; gap: 18px; padding-right: 18px; font-weight: 800; font-size: clamp(1rem, 1.6vw, 1.2rem); white-space: nowrap; letter-spacing: -.005em; }
.nastro li::after { content: ""; width: 22px; height: 22px; flex: none; background: currentColor; opacity: .9;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v12H4z M14 6v8h6z M2 16h20l-2.5 4.5h-15z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v12H4z M14 6v8h6z M2 16h20l-2.5 4.5h-15z'/%3E%3C/svg%3E") center / contain no-repeat;
}
@keyframes nastro { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-50%, 0, 0); } }

/* STORIA in 3 schermate */
.storia { position: relative; background: var(--notte); }
.scena { position: relative; overflow: hidden; isolation: isolate; color: #fff; min-height: 92vh; min-height: 92svh; display: flex; align-items: flex-end; padding: 110px 0 60px; }
.scena-sfondo { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.scena-sfondo img { width: 100%; height: 100%; object-fit: cover; }
.scena-1 .scena-sfondo img { transform-origin: 50% 50%; animation: dondola 7s ease-in-out infinite; }
@keyframes dondola { 0%, 100% { transform: scale(1.1) rotate(-.8deg) translate3d(0, -4px, 0); } 50% { transform: scale(1.12) rotate(.8deg) translate3d(0, 6px, 0); } }
.riflessi { position: absolute; inset: -20%; z-index: -1; pointer-events: none; mix-blend-mode: soft-light; opacity: .7;
  background:
    radial-gradient(ellipse 12% 6% at 20% 30%, rgba(255, 255, 255, .9), transparent 70%),
    radial-gradient(ellipse 10% 5% at 70% 20%, rgba(255, 255, 255, .8), transparent 70%),
    radial-gradient(ellipse 14% 7% at 40% 70%, rgba(255, 255, 255, .85), transparent 70%),
    radial-gradient(ellipse 9% 5% at 85% 60%, rgba(255, 255, 255, .8), transparent 70%),
    radial-gradient(ellipse 11% 6% at 10% 85%, rgba(255, 255, 255, .8), transparent 70%);
  animation: riflessi 9s ease-in-out infinite alternate;
}
@keyframes riflessi { from { transform: translate3d(-3%, -2%, 0) scale(1); } to { transform: translate3d(3%, 3%, 0) scale(1.08); } }
.scena-velo { position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(7, 26, 51, .85) 0%, rgba(7, 26, 51, .25) 45%, rgba(7, 26, 51, 0) 70%); }
.scena-testo { position: relative; max-width: 620px; padding: 28px 30px; border-radius: 26px; background: rgba(7, 26, 51, .55); border: 1px solid rgba(255, 255, 255, .18); -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3); box-shadow: var(--ombra-forte); }
.scena-testo p { margin: 0; font-family: var(--carattere-titoli); font-size: clamp(1.35rem, 2.6vw, 2.15rem); line-height: 1.28; font-weight: 700; letter-spacing: -.015em; }
.scena-numero { display: flex; gap: 8px; margin-bottom: 16px; }
.scena-numero span { width: 34px; height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .28); }
.scena-numero span.attivo { background: linear-gradient(90deg, var(--acqua), var(--giallo)); }
.scena-2 { background: radial-gradient(ellipse at 70% 20%, #1a8cc0 0%, var(--blu) 35%, var(--notte) 100%); align-items: center; }
.scena-2 .contenitore { display: grid; gap: 40px; align-items: center; }
.scena-2 .scena-testo { background: rgba(255, 255, 255, .1); }
.scena-2 .vela-grande { position: absolute; z-index: -1; opacity: .1; width: 46vmax; height: 46vmax; right: -12vmax; top: -6vmax; animation: deriva 14s ease-in-out infinite alternate; }
@keyframes deriva { from { transform: translate3d(0, 0, 0) rotate(-4deg); } to { transform: translate3d(-4vmax, 3vmax, 0) rotate(4deg); } }
.scena-3 .scena-sfondo img { animation: kenburns 28s ease-in-out infinite alternate; }
.scena-3 .scena-testo { margin-left: auto; }
.scena-3 .scena-sfondo img { object-position: 30% 70%; }
@media (max-width: 899px) { .scena-3 { align-items: flex-start; } .scena-3 .scena-velo { background: linear-gradient(180deg, rgba(7, 26, 51, .85) 0%, rgba(7, 26, 51, .25) 45%, rgba(7, 26, 51, 0) 70%); } }
@media (min-width: 900px) {
  .scena-2 .contenitore { grid-template-columns: 1.1fr .9fr; }
  .scena-1 .scena-velo { background: linear-gradient(90deg, rgba(7, 26, 51, .78) 0%, rgba(7, 26, 51, .2) 50%, rgba(7, 26, 51, 0) 70%), linear-gradient(0deg, rgba(7, 26, 51, .5), rgba(7, 26, 51, 0) 40%); }
  .scena-1 { align-items: center; }
  .scena-3 .scena-velo { background: linear-gradient(270deg, rgba(7, 26, 51, .8) 0%, rgba(7, 26, 51, .2) 50%, rgba(7, 26, 51, 0) 72%); }
  .scena-3 { align-items: center; }
  .scena-3 .scena-sfondo img { object-position: 50% 60%; }
}
@media (min-width: 900px) and (min-height: 620px) {
  .scena { position: sticky; top: 0; height: 100vh; min-height: 0; box-shadow: 0 -30px 60px rgba(0, 0, 0, .35); }
}

/* telefono */
.telefono-figura { margin: 0; display: flex; flex-direction: column; align-items: center; }
.telefono-scena { position: relative; width: var(--larghezza-telefono, 290px); max-width: 100%; animation: galleggia 6s ease-in-out infinite; animation-delay: var(--ritardo-galla, 0s); padding-bottom: 26px; }
@keyframes galleggia { 0%, 100% { transform: translate3d(0, 0, 0) rotate(-1deg); } 50% { transform: translate3d(0, -14px, 0) rotate(1deg); } }
.telefono {
  position: relative; width: 100%;
  padding: 3.1%; border-radius: 15% / 8.4%;
  background: linear-gradient(150deg, #2a3a50 0%, #0a1018 45%, #1b2636 100%);
  box-shadow: var(--ombra-forte), inset 0 0 0 2px rgba(255, 255, 255, .16), inset 0 0 0 6px rgba(0, 0, 0, .55);
}
.telefono-schermo { position: relative; overflow: hidden; border-radius: 12.4% / 7.1%; background: #eef6fb; }
.telefono-barra { position: relative; height: 0; padding-top: 7.2%; }
.telefono-isola { position: absolute; left: 50%; top: 22%; width: 26%; height: 56%; transform: translateX(-50%); border-radius: 999px; background: #000; }
.telefono-schermo img { width: 100%; height: auto; }
.telefono-schermo::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(125deg, rgba(255, 255, 255, .16) 0%, rgba(255, 255, 255, 0) 30%); }
.telefono-tasto { position: absolute; width: 1.6%; border-radius: 3px; background: #1b2636; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .12); }
.telefono-tasto.a { left: -1.3%; top: 20%; height: 6%; }
.telefono-tasto.b { left: -1.3%; top: 28%; height: 10%; }
.telefono-tasto.c { right: -1.3%; top: 24%; height: 12%; }
.fascia {
  position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  display: inline-flex; align-items: center; gap: 10px; white-space: nowrap;
  margin: 0; padding: 10px 18px; border-radius: 14px;
  background: var(--giallo); color: var(--notte);
  font-weight: 800; font-size: .95rem; letter-spacing: .01em;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .3), inset 0 0 0 2px rgba(11, 37, 69, .16);
}
.fascia::before, .fascia::after { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--corallo); flex: none; }

/* COME FUNZIONA */
.come { position: relative; overflow: hidden; padding: 110px 0 120px; background: linear-gradient(180deg, #ffffff 0%, var(--chiaro) 100%); }
.come-griglia { display: grid; gap: 40px; }
.come-foto { position: relative; border-radius: 30px; overflow: hidden; box-shadow: var(--ombra); aspect-ratio: 4 / 3; }
.come-foto img { width: 100%; height: 100%; object-fit: cover; animation: kenburns 26s ease-in-out infinite alternate; }
.come-foto::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4); border-radius: inherit; }
.passi { position: relative; list-style: none; margin: 34px 0 0; padding: 0 0 0 66px; display: grid; gap: 20px; }
.passi::before { content: ""; position: absolute; left: 24px; top: 26px; bottom: 26px; width: 4px; border-radius: 4px;
  background: repeating-linear-gradient(180deg, var(--acqua) 0 12px, transparent 12px 22px);
  animation: rotta 1.4s linear infinite;
}
@keyframes rotta { from { background-position: 0 0; } to { background-position: 0 22px; } }
.barchetta { position: absolute; left: 4px; top: 0; width: 44px; height: 44px; z-index: 2; animation: naviga 12s ease-in-out infinite alternate; }
.barchetta svg { width: 100%; height: 100%; filter: drop-shadow(0 6px 10px rgba(11, 37, 69, .35)); animation: beccheggio 2.4s ease-in-out infinite; }
@keyframes naviga { from { top: 0; } to { top: calc(100% - 44px); } }
@keyframes beccheggio { 0%, 100% { transform: rotate(-7deg); } 50% { transform: rotate(7deg); } }
.passo { position: relative; padding: 24px 26px; border-radius: 24px; background: #fff; box-shadow: var(--ombra); border: 1px solid rgba(214, 228, 239, .8); overflow: hidden; }
.passo::before { content: ""; position: absolute; left: -54px; top: 30px; width: 18px; height: 18px; border-radius: 50%; background: var(--corallo); box-shadow: 0 0 0 6px rgba(255, 122, 69, .2); }
.passo-cifra { position: absolute; right: 14px; top: -18px; font: 800 7rem/1 var(--carattere-titoli); color: var(--acqua); opacity: .12; pointer-events: none; }
.passo h3 { font-size: 1.28rem; margin-bottom: 6px; letter-spacing: -.01em; }
.passo p { margin: 0; color: var(--tenue); }
.passo-icona { display: inline-flex; width: 50px; height: 50px; border-radius: 16px; align-items: center; justify-content: center; margin-bottom: 12px; background: linear-gradient(135deg, var(--acqua), var(--blu)); color: #fff; box-shadow: 0 10px 22px rgba(10, 95, 143, .3); }
.passo-icona svg { width: 26px; height: 26px; }
.passo:nth-child(odd) .passo-icona { background: linear-gradient(135deg, var(--corallo), #ff9f6e); box-shadow: 0 10px 22px rgba(255, 122, 69, .3); }
@media (min-width: 1000px) {
  .come-griglia { grid-template-columns: .95fr 1.05fr; gap: 64px; align-items: start; }
  .come-foto { position: sticky; top: calc(var(--barra) + 30px); aspect-ratio: auto; height: min(78vh, 720px); }
}

/* NUMERI */
.numeri { position: relative; overflow: hidden; isolation: isolate; padding: 120px 0 130px; color: #fff; background: var(--notte); }
.numeri-sfondo { position: absolute; inset: -110px 0; z-index: -2; }
.numeri-sfondo img { width: 100%; height: 100%; object-fit: cover; animation: kenburns 32s ease-in-out infinite alternate; }
.numeri-velo { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(7, 26, 51, .93) 0%, rgba(7, 26, 51, .74) 40%, rgba(7, 26, 51, .55) 70%, rgba(7, 26, 51, .9) 100%); }
.numeri .titolo-sezione { text-align: center; }
.riquadri { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 40px 0 46px; }
.riquadro {
  position: relative; overflow: hidden;
  padding: 26px 22px; border-radius: 26px;
  background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .24);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}
.riquadro::before { content: ""; position: absolute; inset: -40% -40% auto auto; width: 160px; height: 160px; border-radius: 50%; background: radial-gradient(circle, rgba(25, 211, 197, .45), transparent 70%); animation: alone 5s ease-in-out infinite alternate; }
@keyframes alone { from { transform: translate3d(0, 0, 0) scale(.9); opacity: .6; } to { transform: translate3d(-20px, 20px, 0) scale(1.2); opacity: 1; } }
.riquadro .grande { position: relative; display: block; font: 800 clamp(2.6rem, 5.4vw, 4rem)/1 var(--carattere-titoli); letter-spacing: -.03em; color: var(--giallo); margin-bottom: 12px; white-space: nowrap; }
.riquadro .grande.parole { font-size: clamp(1.55rem, 2.8vw, 2.2rem); line-height: 1.1; white-space: normal; color: var(--acqua-chiara); padding-top: .3em; }
.riquadro p { position: relative; margin: 0; font-weight: 600; font-size: 1.02rem; color: rgba(255, 255, 255, .92); }
.riquadro.evidenza { background: linear-gradient(140deg, rgba(25, 211, 197, .35), rgba(10, 95, 143, .35)); border-color: rgba(116, 234, 223, .6); }
.riquadro.evidenza .grande { color: #fff; }
@media (min-width: 900px) { .riquadri { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 420px) { .riquadro { padding: 22px 16px; } .riquadro p { font-size: .95rem; } }
.confronto { position: relative; max-width: 960px; margin: 0 auto; padding: clamp(24px, 4vw, 42px); border-radius: 30px; background: #fff; color: var(--inchiostro); box-shadow: var(--ombra-forte); }
.barra-riga + .barra-riga { margin-top: 26px; }
.barra-etichetta { display: block; margin-bottom: 10px; font-size: clamp(1.05rem, 2vw, 1.3rem); font-weight: 600; color: var(--tenue); }
.barra-etichetta strong { color: var(--inchiostro); }
.barra-binario { position: relative; height: clamp(40px, 6vw, 56px); border-radius: 999px; background: #e6eef5; box-shadow: inset 0 2px 6px rgba(11, 37, 69, .12); }
.barra-piena { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 999px; transform-origin: left; overflow: hidden; }
.noi .barra-piena { width: 53.6%; background: linear-gradient(90deg, #0fb5a9, var(--acqua) 60%, var(--acqua-chiara)); box-shadow: 0 10px 24px rgba(25, 211, 197, .45); }
.loro .barra-piena { width: 92.9%; background: linear-gradient(90deg, #7d93ab, #5d7490); }
.barra-piena::after { content: ""; position: absolute; top: 0; bottom: 0; left: -30%; width: 30%; background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .6), transparent); animation: corsa 2.8s ease-in-out infinite; }
@keyframes corsa { 0% { left: -30%; } 70%, 100% { left: 110%; } }
.js .barra-piena { transform: scaleX(0); transition: transform 2s cubic-bezier(.2, .8, .2, 1); }
.js .loro .barra-piena { transition-delay: .35s; }
.js .visto .barra-piena { transform: scaleX(1); }
.punta { position: absolute; top: 50%; left: calc(53.6% - 24px); width: 48px; height: 48px; margin-top: -24px; z-index: 2; transition: opacity .6s ease 1.6s; }
.punta svg { width: 100%; height: 100%; filter: drop-shadow(0 6px 8px rgba(11, 37, 69, .3)); animation: beccheggio 2.4s ease-in-out infinite; }
.js .punta { opacity: 0; }
.js .visto .punta { opacity: 1; }
.confronto-frase { margin: 30px 0 14px; font-size: clamp(1.1rem, 2vw, 1.32rem); font-weight: 700; line-height: 1.45; }
.nota { margin: 0; font-size: .86rem; color: var(--tenue); line-height: 1.5; }

/* APP */
.app { position: relative; overflow: hidden; padding: 110px 0 170px; background: linear-gradient(180deg, var(--chiaro) 0%, #d7ecfa 100%); }
.app .titolo-sezione, .app .sottotitolo { text-align: center; margin-left: auto; margin-right: auto; }
.telefoni { display: flex; gap: 20px; margin-top: 46px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 20px 11vw 40px; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.telefoni::-webkit-scrollbar { display: none; }
.telefoni .telefono-figura { flex: 0 0 76vw; max-width: 330px; scroll-snap-align: center; }
.telefoni figcaption, .figura-didascalia { margin-top: 18px; max-width: 330px; font-size: 1rem; color: var(--tenue); text-align: left; }
.telefoni figcaption strong, .figura-didascalia strong { color: var(--inchiostro); }
.puntini { display: flex; justify-content: center; gap: 8px; margin-top: 4px; }
.puntini span { width: 10px; height: 10px; border-radius: 50%; background: rgba(11, 37, 69, .2); transition: width .3s ease, background-color .3s ease; }
.puntini span.attivo { width: 28px; border-radius: 6px; background: var(--corallo); }
.flottiglia { position: absolute; left: 0; right: 0; bottom: 0; height: 110px; pointer-events: none; overflow: hidden; }
.flottiglia .mare { position: absolute; left: 0; bottom: 0; width: 200%; height: 70px; animation: onda 14s linear infinite; }
.barca-va { position: absolute; bottom: 38px; left: 0; width: 46px; height: 46px; animation: attraversa var(--d, 40s) linear infinite; animation-delay: var(--r, 0s); }
.barca-va svg { width: 100%; height: 100%; animation: beccheggio 2.6s ease-in-out infinite; }
@keyframes attraversa { from { transform: translate3d(-80px, 0, 0); } to { transform: translate3d(calc(100vw + 80px), 0, 0); } }
@media (min-width: 900px) {
  .telefoni { overflow: visible; justify-content: center; gap: clamp(24px, 4vw, 60px); padding: 20px 0 40px; scroll-snap-type: none; }
  .telefoni .telefono-figura { flex: 0 1 320px; }
  .telefoni .telefono-figura:nth-child(2) { transform: translateY(-26px); }
  .puntini { display: none; }
}

/* PENSIAMO A TUTTO NOI */
.noi-sezione { position: relative; overflow: hidden; isolation: isolate; padding: 120px 0 90px; color: #fff; background: linear-gradient(160deg, var(--notte) 0%, #0b3a63 50%, var(--blu) 100%); }
.noi-sezione .sottotitolo { color: rgba(255, 255, 255, .86); }
.noi-sezione .vela-grande { position: absolute; z-index: -1; width: 40vmax; height: 40vmax; left: -14vmax; bottom: -10vmax; opacity: .08; animation: deriva 16s ease-in-out infinite alternate; }
.noi-griglia { display: grid; gap: 40px; margin-top: 40px; align-items: center; }
.vantaggi { display: grid; gap: 16px; }
.vantaggio { position: relative; padding: 24px 24px 22px; border-radius: 24px; background: rgba(255, 255, 255, .09); border: 1px solid rgba(255, 255, 255, .2); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); transition: transform .3s ease, background-color .3s ease; }
.vantaggio:hover { transform: translateY(-4px); background: rgba(255, 255, 255, .14); }
.vantaggio-icona { display: inline-flex; width: 52px; height: 52px; border-radius: 16px; align-items: center; justify-content: center; margin-bottom: 14px; background: linear-gradient(135deg, var(--acqua), #0fa3b8); color: var(--notte); box-shadow: 0 12px 26px rgba(25, 211, 197, .3); animation: sobbalza 3.2s ease-in-out infinite; animation-delay: var(--ritardo-icona, 0s); }
.vantaggio-icona svg { width: 28px; height: 28px; }
@keyframes sobbalza { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }
.vantaggio p { margin: 0; color: rgba(255, 255, 255, .9); }
.vantaggio p strong { display: block; color: #fff; font-size: 1.18rem; margin-bottom: 4px; }
.noi-telefono { display: flex; flex-direction: column; align-items: center; }
.noi-telefono .figura-didascalia { color: rgba(255, 255, 255, .86); text-align: center; }
.noi-telefono .figura-didascalia strong { color: #fff; }
@media (min-width: 760px) { .vantaggi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1000px) { .noi-griglia { grid-template-columns: 1.55fr 1fr; gap: 56px; } }
.giochi { position: relative; margin-top: 70px; overflow: hidden; padding: 10px 0 30px; }
.giochi-scorre { display: flex; width: max-content; gap: 22px; animation: giochi 48s linear infinite; }
@media (hover: hover) { .giochi:hover .giochi-scorre { animation-play-state: paused; } }
.giochi-giro { display: flex; gap: 22px; flex: none; }
.gioco { position: relative; flex: none; width: clamp(250px, 30vw, 390px); margin: 0; border-radius: 24px; overflow: hidden; box-shadow: 0 24px 50px rgba(0, 0, 0, .35); transform: rotate(var(--inclina, 0deg)); }
.gioco img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; transition: transform .6s ease; }
.gioco:hover img { transform: scale(1.06); }
.gioco figcaption { position: absolute; left: 14px; bottom: 14px; padding: 8px 14px; border-radius: 999px; background: rgba(255, 255, 255, .92); color: var(--notte); font-weight: 800; font-size: .98rem; box-shadow: 0 8px 18px rgba(0, 0, 0, .2); }
@keyframes giochi { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(-25%, 0, 0); } }

/* FONDATORI */
.fondatori { position: relative; overflow: hidden; isolation: isolate; padding: 130px 0; color: #fff; background: #c2410c; }
.fondatori-sfondo { position: absolute; inset: -110px 0; z-index: -2; }
.fondatori-sfondo img { width: 100%; height: 100%; object-fit: cover; object-position: 60% 50%; animation: kenburns 30s ease-in-out infinite alternate; }
.fondatori-velo { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(194, 65, 12, .95) 0%, rgba(194, 65, 12, .92) 60%, rgba(176, 56, 10, .88) 100%); }
.fondatori-griglia { display: grid; gap: 34px; align-items: center; }
.bollino { position: relative; width: 190px; height: 190px; flex: none; }
.bollino-cerchio { position: absolute; inset: 18px; border-radius: 50%; background: #fff; color: #c2410c; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; box-shadow: 0 24px 50px rgba(120, 40, 10, .35); animation: battito 2.6s ease-in-out infinite; }
.bollino-cerchio b { font: 800 4.4rem/0.9 var(--carattere-titoli); letter-spacing: -.04em; }
.bollino-cerchio span { font-size: .82rem; font-weight: 800; text-transform: uppercase; letter-spacing: .1em; color: var(--notte); margin-top: 6px; }
.bollino-anello { position: absolute; inset: 0; border-radius: 50%; border: 3px dashed rgba(255, 255, 255, .85); animation: gira 18s linear infinite; }
.bollino-anello::before { content: ""; position: absolute; top: -9px; left: 50%; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: var(--giallo); box-shadow: 0 0 0 5px rgba(255, 209, 102, .35); }
@keyframes gira { to { transform: rotate(360deg); } }
@keyframes battito { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.06); } }
.fondatori .occhiello { color: #fff; }
.fondatori .occhiello::before { background: #fff; }
.fondatori .titolo-sezione { max-width: 760px; text-shadow: 0 6px 30px rgba(120, 40, 10, .25); }
.fondatori-testo p { font-size: clamp(1.1rem, 1.8vw, 1.3rem); max-width: 640px; color: rgba(255, 255, 255, .96); margin-bottom: 28px; }
@media (min-width: 900px) {
  .fondatori-griglia { grid-template-columns: auto 1fr; gap: 60px; }
  .bollino { width: 240px; height: 240px; }
  .bollino-cerchio b { font-size: 5.6rem; }
  .fondatori-velo { background: linear-gradient(100deg, rgba(194, 65, 12, .96) 0%, rgba(194, 65, 12, .92) 80%, rgba(194, 65, 12, .55) 100%); }
}

/* DOMANDE */
.domande { position: relative; overflow: hidden; padding: 110px 0 170px; background: #fff; }
.domande .titolo-sezione { text-align: center; }
.elenco-domande { display: grid; gap: 14px; margin-top: 40px; align-items: start; }
.domanda { border-radius: 22px; background: var(--chiaro); border: 1px solid var(--linea); transition: background-color .3s ease, box-shadow .3s ease; }
.domanda[open] { background: #fff; box-shadow: var(--ombra); }
.domanda summary { position: relative; list-style: none; cursor: pointer; padding: 22px 64px 22px 24px; font: 800 1.12rem/1.35 var(--carattere-titoli); letter-spacing: -.01em; }
.domanda summary::-webkit-details-marker { display: none; }
.domanda summary::after { content: ""; position: absolute; right: 20px; top: 50%; width: 30px; height: 30px; margin-top: -15px; border-radius: 50%; background: var(--acqua) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2545' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 16px no-repeat; transition: transform .35s ease, background-color .35s ease; }
.domanda[open] summary::after { transform: rotate(135deg); background-color: var(--giallo); }
.risposta { padding: 0 24px 22px; color: var(--tenue); }
.risposta p:last-child { margin-bottom: 0; }
.domanda[open] .risposta { animation: apri .45s ease; }
@keyframes apri { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
.dati-collegamento { display: flex; justify-content: center; margin-top: 40px; }
@media (min-width: 900px) { .elenco-domande { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; } }

/* CHI SIAMO */
.chi { position: relative; overflow: hidden; padding: 110px 0 120px; background: linear-gradient(180deg, var(--chiaro) 0%, #ffffff 100%); }
.chi-griglia { display: grid; gap: 44px; align-items: center; }
.chi-testo > p { font-size: clamp(1.08rem, 1.7vw, 1.25rem); max-width: 620px; }
.dati-societa { list-style: none; margin: 26px 0 0; padding: 24px 26px; border-radius: 24px; background: #fff; border-left: 6px solid var(--acqua); box-shadow: var(--ombra); display: grid; gap: 8px; font-size: .98rem; }
.dati-societa li:first-child { font-weight: 800; font-size: 1.08rem; }
.chi-foto { position: relative; justify-self: center; width: min(100%, 520px); }
.chi-foto picture { border-radius: 28px; overflow: hidden; box-shadow: var(--ombra); animation: galleggia 7s ease-in-out infinite; }
.chi-foto .vela-dec { position: absolute; width: 90px; height: 90px; right: -18px; top: -30px; animation: deriva 9s ease-in-out infinite alternate; }
@media (min-width: 900px) { .chi-griglia { grid-template-columns: 1.1fr .9fr; gap: 60px; } }

/* CHIUSURA */
.chiusura { position: relative; overflow: hidden; isolation: isolate; padding: 140px 0 200px; color: #fff; text-align: center; background: var(--notte); }
.chiusura-sfondo { position: absolute; inset: -110px 0; z-index: -2; }
.chiusura-sfondo img { width: 100%; height: 100%; object-fit: cover; animation: kenburns 30s ease-in-out infinite alternate; }
.chiusura-velo { position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 50% 45%, rgba(7, 26, 51, .72) 0%, rgba(7, 26, 51, .86) 60%, rgba(7, 26, 51, .95) 100%); }
.chiusura .occhiello { color: var(--giallo); justify-content: center; }
.chiusura h2 { font-size: clamp(2.6rem, 7.6vw, 6rem); line-height: 1; letter-spacing: -.035em; font-weight: 800; margin-bottom: 26px; }
.chiusura .testo { max-width: 760px; margin: 0 auto; }
.chiusura .testo p { font-size: clamp(1.08rem, 1.8vw, 1.3rem); color: rgba(255, 255, 255, .94); }
.chiusura .tasti { justify-content: center; margin-top: 34px; }
.chiusura .sotto-tasti { margin-top: 16px; color: rgba(255, 255, 255, .9); }
.chiusura .sotto-tasti a { color: #fff; font-weight: 800; text-decoration: none; }

/* PIÈ DI PAGINA */
.piede { position: relative; padding: 70px 0 50px; background: var(--notte-2); color: rgba(255, 255, 255, .78); font-size: .92rem; }
.piede .marchio { color: #fff; margin-bottom: 22px; }
.piede p { max-width: 980px; }
.piede a { color: #fff; }
.piede a:hover { color: var(--acqua-chiara); }
.piede .marchio-nota { margin-top: 22px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: .84rem; color: rgba(255, 255, 255, .6); }

/* PAGINA DEI DATI */
.dati-testata { position: relative; overflow: hidden; isolation: isolate; padding: calc(var(--barra) + 70px) 0 150px; color: #fff; background: linear-gradient(160deg, var(--notte) 0%, #0b3a63 55%, var(--blu) 100%); }
.dati-testata h1 { font-size: clamp(1.9rem, 4.6vw, 3.3rem); line-height: 1.08; letter-spacing: -.025em; font-weight: 800; max-width: 900px; margin-bottom: 14px; }
.dati-testata .riferimento { font-size: clamp(1.02rem, 1.6vw, 1.2rem); color: rgba(255, 255, 255, .88); margin: 0; }
.dati-testata .vela-grande { position: absolute; z-index: -1; width: 38vmax; height: 38vmax; right: -10vmax; top: -6vmax; opacity: .1; animation: deriva 14s ease-in-out infinite alternate; }
.dati-corpo { position: relative; z-index: 3; margin-top: -90px; padding-bottom: 90px; }
.dati-scheda { max-width: 900px; padding: clamp(24px, 4vw, 44px); border-radius: 30px; background: #fff; box-shadow: var(--ombra); }
.dati-elenco { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 14px; }
.dati-elenco li { overflow-wrap: anywhere; }
.aggiornata { margin: 22px 0 0; font-size: .92rem; color: var(--tenue); }
.dati-elenco li { position: relative; padding: 16px 18px 16px 58px; border-radius: 18px; background: var(--chiaro); }
.dati-elenco li::before { content: ""; position: absolute; left: 16px; top: 17px; width: 26px; height: 26px; border-radius: 50%; background: var(--acqua) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2545' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4 8-9'/%3E%3C/svg%3E") center / 15px no-repeat; }
.torna { margin-top: 30px; }
