/* EvoSoccorso · sito pubblico (15/11/2026, Evox, dallo stile di EvoAbita). Colori del marchio: blu #0f5e9c, rosso #e5383b,
   barre Evo verde #0B7A3B e rossa #CE2A36. Font Montserrat (SIL OFL) per i titoli, font di sistema per il testo. */
@font-face { font-family: "Montserrat"; src: url("font/Montserrat-SemiBold.ttf") format("truetype"); font-weight: 600; font-display: swap; }
@font-face { font-family: "Montserrat"; src: url("font/Montserrat-Bold.ttf") format("truetype"); font-weight: 700; font-display: swap; }

:root {
  --blu: #0f5e9c; --blu-scuro: #0b2238; --rosso: #e5383b; --accento: #e5383b;
  --inchiostro: #0b2238; --testo: #3a4560; --tenue: #545e78; --linea: #e2e6ef; --fondo: #f6f7fb; --bianco: #fff;
  --raggio: 16px; --ombra: 0 1px 2px rgba(20, 28, 51, .06), 0 10px 30px -12px rgba(20, 28, 51, .18);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 84px; }
body { margin: 0; font: 17px/1.6 system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; color: var(--testo); background: var(--bianco); }
img { max-width: 100%; height: auto; display: block; }
figure { margin: 0; }
a { color: var(--blu); }
h1, h2, h3 { font-family: "Montserrat", system-ui, sans-serif; color: var(--inchiostro); line-height: 1.2; margin: 0 0 .5em; }
h1 { font-size: clamp(2rem, 4.2vw, 3.3rem); letter-spacing: -.02em; }
h2 { font-size: clamp(1.6rem, 3vw, 2.3rem); letter-spacing: -.01em; }
h3 { font-size: 1.15rem; }
p { margin: 0 0 1em; }
.wrap { width: min(1200px, 100% - 40px); margin: 0 auto; }
.salta { position: absolute; left: -999px; top: 8px; background: var(--inchiostro); color: #fff; padding: 8px 14px; border-radius: 8px; z-index: 99; }
.salta:focus { left: 12px; }

/* intestazione */
.testata { position: sticky; top: 0; z-index: 50; background: rgba(255, 255, 255, .94); backdrop-filter: blur(8px); border-bottom: 1px solid var(--linea); }
.testata .wrap { display: flex; align-items: center; gap: 24px; height: 72px; }
.testata .logo img { height: 54px; width: auto; }
.menu { display: flex; gap: 22px; margin-left: auto; align-items: center; }
.menu a { color: var(--inchiostro); text-decoration: none; font-weight: 600; font-size: .95rem; }
.menu a:hover { color: var(--blu); }
.btn { display: inline-flex; align-items: center; gap: 8px; padding: 12px 22px; border-radius: 999px; background: var(--blu); color: #fff !important;
  font-weight: 700; text-decoration: none; border: 2px solid var(--blu); transition: background .15s; white-space: nowrap; }
.btn:hover { background: var(--blu-scuro); border-color: var(--blu-scuro); }
.btn.alt { background: transparent; color: var(--blu) !important; }
.btn.alt:hover { background: #eef6fd; }
.btn.piccolo { padding: 8px 16px; font-size: .92rem; }
.apri-menu { display: none; margin-left: auto; background: none; border: 1px solid var(--linea); border-radius: 10px; padding: 8px 12px; font: inherit; font-weight: 600; color: var(--inchiostro); }

/* apertura */
.apertura { background: radial-gradient(1100px 520px at 85% -10%, #cfe6f8 0%, rgba(255, 217, 189, 0) 60%), var(--fondo); padding: 64px 0 72px; overflow: hidden; }
.apertura .wrap { display: grid; grid-template-columns: 1fr 1.15fr; gap: 48px; align-items: center; }
.occhiello { display: inline-block; font: 700 .78rem/1 "Montserrat", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--blu);
  background: #cfe6f8; padding: 8px 12px; border-radius: 999px; margin-bottom: 18px; }
.apertura .lead { font-size: 1.2rem; color: var(--testo); }
.leve { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; padding: 0; margin: 22px 0 28px; }
.leve li { background: #fff; border: 1px solid var(--linea); border-radius: 999px; padding: 6px 12px; font-size: .9rem; font-weight: 600; color: var(--inchiostro); }
.azioni { display: flex; flex-wrap: wrap; gap: 12px; }
.nota-cta { font-size: .92rem; color: var(--tenue); margin: 14px 0 0; max-width: 520px; }
.schermo { border-radius: 14px; overflow: hidden; box-shadow: var(--ombra); border: 1px solid var(--linea); background: #fff; }
.schermo .barra { height: 28px; background: #eef0f6; display: flex; gap: 6px; align-items: center; padding: 0 12px; border-bottom: 1px solid var(--linea); }
.schermo .barra i { width: 10px; height: 10px; border-radius: 50%; background: #d4d9e6; }
.schermo .barra span { margin-left: 10px; font-size: .75rem; color: var(--tenue); }
figcaption { font-size: .88rem; color: var(--tenue); margin-top: 10px; }

/* sezioni */
.sez { padding: 84px 0; }
.sez.tenue { background: var(--fondo); }
.sez .intro { max-width: 760px; margin-bottom: 40px; }
.sez .intro p { font-size: 1.1rem; }
.kick { display: block; font: 700 .78rem/1 "Montserrat", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--blu); margin-bottom: 12px; }

/* il ciclo */
.ciclo { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; list-style: none; padding: 0; margin: 0; counter-reset: passo; }
.ciclo li { background: #fff; border: 1px solid var(--linea); border-radius: var(--raggio); padding: 18px 18px 16px; counter-increment: passo; position: relative; }
.ciclo li::before { content: counter(passo, decimal-leading-zero); font: 700 .85rem/1 "Montserrat", sans-serif; color: var(--rosso); display: block; margin-bottom: 10px; }
.ciclo b { display: block; color: var(--inchiostro); font-size: 1.02rem; }
.ciclo span { font-size: .92rem; color: var(--tenue); }

/* aree con schermata */
.area { display: grid; grid-template-columns: 1fr 1.25fr; gap: 48px; align-items: center; padding: 40px 0; border-top: 1px solid var(--linea); }
.area:first-of-type { border-top: 0; }
.area.inverti .testo { order: 2; }
.area ul { padding-left: 0; list-style: none; margin: 16px 0 0; }
.area li { padding: 9px 0 9px 30px; position: relative; border-bottom: 1px dashed var(--linea); }
.area li:last-child { border-bottom: 0; }
.area li::before { content: ""; position: absolute; left: 4px; top: 16px; width: 12px; height: 12px; border-radius: 3px 10px; background: var(--rosso); }
.area li b { color: var(--inchiostro); }

/* griglia di schede */
.schede { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.scheda { background: #fff; border: 1px solid var(--linea); border-radius: var(--raggio); padding: 22px; }
.scheda h3 { display: flex; gap: 10px; align-items: center; }
.scheda h3 em { font-style: normal; font-size: .72rem; font-weight: 700; background: #fef3c7; color: #92400e; padding: 3px 8px; border-radius: 999px; letter-spacing: .04em; }
.scheda p { margin: 0; font-size: .97rem; }

/* passi per partire */
.passi { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; list-style: none; padding: 0; margin: 0; counter-reset: p; }
.passi li { counter-increment: p; background: #fff; border-radius: var(--raggio); padding: 22px; border: 1px solid var(--linea); }
.passi li::before { content: counter(p); display: grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; background: var(--blu); color: #fff;
  font: 700 1rem/1 "Montserrat", sans-serif; margin-bottom: 14px; }
.passi b { display: block; color: var(--inchiostro); margin-bottom: 4px; }
.costo { margin-top: 28px; background: #fff; border: 1px solid var(--linea); border-left: 4px solid var(--blu); border-radius: var(--raggio); padding: 22px 26px; max-width: 860px; }
.costo p { margin: 0 0 12px; }
.costo ul { margin: 0 0 18px; padding-left: 20px; }
.costo li { margin: 6px 0; }
.costo b { color: var(--inchiostro); }
@media (max-width: 760px) { .costo { padding: 18px; } .costo .btn { display: flex; justify-content: center; white-space: normal; text-align: center; } }

/* contatti */
.contatti { background: linear-gradient(135deg, #081b2e, #0f5e9c); color: #eaf3fb; }
.contatti h2, .contatti h3 { color: #fff; }
.contatti .wrap { display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.contatti a { color: #fff; }
.contatti .riquadro { background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .18); border-radius: var(--raggio); padding: 28px; }
.contatti .btn { background: #fff; color: var(--blu-scuro) !important; border-color: #fff; }
.contatti .btn.alt { background: transparent; color: #fff !important; border-color: rgba(255, 255, 255, .6); }

/* piede */
.piede { background: #06182a; color: #bcc3d4; padding: 44px 0 30px; font-size: .92rem; }
.piede .wrap { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 32px; }
.piede img { height: 44px; width: auto; margin-bottom: 12px; }
.piede a { color: #eaf3fb; }
.piede h3 { color: #fff; font-size: .95rem; }
.piede ul { list-style: none; padding: 0; margin: 0; }
.piede li { margin: 6px 0; }
.piede .legale { grid-column: 1 / -1; border-top: 1px solid #164a78; padding-top: 18px; margin-top: 8px; font-size: .84rem; }

/* pagine legali (privacy, cookie, condizioni) */
.legale-pagina { padding: 56px 0 72px; }
.legale-pagina .wrap { max-width: 860px; }
.legale-pagina h1 { font-size: clamp(1.8rem, 3.4vw, 2.5rem); }
.legale-pagina h2 { font-size: 1.3rem; margin-top: 36px; }
.legale-pagina h3 { font-size: 1.05rem; margin-top: 22px; }
.legale-pagina .aggiornato { color: var(--tenue); font-size: .92rem; }
.legale-pagina ul { padding-left: 22px; }
.legale-pagina li { margin: 6px 0; }
.legale-pagina table { width: 100%; border-collapse: collapse; font-size: .94rem; margin: 12px 0 20px; display: block; overflow-x: auto; }
.legale-pagina th, .legale-pagina td { text-align: left; border-bottom: 1px solid var(--linea); padding: 8px 10px; vertical-align: top; }
.legale-pagina th { background: var(--fondo); color: var(--inchiostro); }
.legale-pagina code { background: var(--fondo); padding: 1px 5px; border-radius: 4px; font-size: .9em; }
.legale-pagina .riquadro-prefs { background: var(--fondo); border: 1px solid var(--linea); border-radius: var(--raggio); padding: 18px 22px; margin: 24px 0; }

/* telefono e tablet */
@media (max-width: 980px) {
  .apertura .wrap, .area, .contatti .wrap { grid-template-columns: 1fr; gap: 28px; }
  .area.inverti .testo { order: 0; }
  .ciclo, .passi { grid-template-columns: repeat(2, 1fr); }
  .schede { grid-template-columns: repeat(2, 1fr); }
  .piede .wrap { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  body { font-size: 16px; }
  .wrap { width: calc(100% - 32px); }
  .apri-menu { display: block; }
  .menu { display: none; position: absolute; top: 72px; left: 0; right: 0; background: #fff; flex-direction: column; align-items: stretch; gap: 0;
    border-bottom: 1px solid var(--linea); padding: 8px 16px 16px; box-shadow: var(--ombra); }
  .menu.aperto { display: flex; }
  .menu a { padding: 12px 4px; border-bottom: 1px solid var(--linea); }
  .menu .btn { margin-top: 12px; justify-content: center; }
  .testata .logo img { height: 40px; }
  .apertura { padding: 40px 0 48px; }
  .sez { padding: 56px 0; }
  .ciclo, .passi, .schede, .piede .wrap { grid-template-columns: 1fr; }
  .azioni .btn { flex: 1 1 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .btn { transition: none; } }

/* ===== apertura "wow" (9/11/2026): foto vera a tutta pagina, velo blu notte, schermata e numeri che galleggiano ===== */
.apertura.wow { position: relative; background: #081b2e; padding: 96px 0 120px; overflow: hidden; isolation: isolate; }
.apertura-foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 70% 40%; z-index: -2; transform: scale(1.04); animation: respiro 18s ease-in-out infinite alternate; }
.apertura.wow::before { content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(100deg, rgba(6, 24, 42, .94) 0%, rgba(8, 27, 46, .86) 38%, rgba(15, 94, 156, .45) 68%, rgba(15, 94, 156, .15) 100%),
              radial-gradient(700px 400px at 15% 110%, rgba(229, 56, 59, .35), transparent 70%); }
.apertura.wow .wrap { display: grid; grid-template-columns: 1.05fr 1fr; gap: 56px; align-items: center; }
.apertura.wow h1 { color: #fff; font-size: clamp(2.2rem, 4.6vw, 3.8rem); }
.apertura.wow h1 em { font-style: normal; background: linear-gradient(90deg, #8fd0ff, #e5383b); -webkit-background-clip: text; background-clip: text; color: transparent; }
.apertura.wow .lead { color: #dde2ee; font-size: 1.18rem; max-width: 600px; }
.apertura.wow .occhiello { background: rgba(255, 255, 255, .12); color: #cfe6f8; border: 1px solid rgba(255, 255, 255, .22); backdrop-filter: blur(6px); }
.apertura.wow .nota-cta { color: #bcc3d4; }
.btn.caldo { background: linear-gradient(135deg, #f0575a, #e5383b 55%, #c92c2f); border-color: transparent; box-shadow: 0 12px 30px -10px rgba(229, 56, 59, .8); padding: 15px 28px; font-size: 1.05rem; }
.btn.caldo:hover { transform: translateY(-2px); background: linear-gradient(135deg, #f26a6c, #e94a4d 55%, #cf3134); }
.btn.vetro { background: rgba(255, 255, 255, .1); border-color: rgba(255, 255, 255, .35); padding: 15px 26px; backdrop-filter: blur(6px); }
.btn.vetro:hover { background: rgba(255, 255, 255, .2); border-color: #fff; }
.btn { transition: transform .2s, background .2s, border-color .2s; }
.apertura-testo > * { opacity: 0; animation: sale .8s cubic-bezier(.2, .7, .2, 1) forwards; }
.apertura-testo > :nth-child(2) { animation-delay: .1s; } .apertura-testo > :nth-child(3) { animation-delay: .2s; }
.apertura-testo > :nth-child(4) { animation-delay: .3s; } .apertura-testo > :nth-child(5) { animation-delay: .4s; }
.apertura-scena { position: relative; }
.apertura-scena .schermo { border: 1px solid rgba(255, 255, 255, .25); box-shadow: 0 40px 80px -30px rgba(0, 0, 0, .7); transform: perspective(1400px) rotateY(-9deg) rotateX(3deg); }
.galleggia { animation: galleggia 7s ease-in-out infinite; }
.badge { position: absolute; display: flex; gap: 10px; align-items: center; background: rgba(255, 255, 255, .96); color: var(--inchiostro); border-radius: 16px; padding: 12px 16px;
  box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .55); font-size: .88rem; opacity: 0; animation: compare .7s cubic-bezier(.2, .7, .2, 1) forwards, galleggia 6s ease-in-out infinite; }
.badge b { font: 700 1.35rem/1 "Montserrat", sans-serif; color: var(--blu); }
.badge.b1 { left: -28px; top: 14%; flex-direction: column; align-items: flex-start; gap: 4px; animation-delay: .6s, .6s; }
.badge.b1 b { color: #0b7a3b; }
.badge.b2 { right: -18px; bottom: 18%; flex-direction: column; align-items: flex-start; gap: 4px; animation-delay: .9s, 1.4s; }
.badge.b2 b { color: #c92c2f; }
.badge.b3 { left: 6%; bottom: -26px; animation-delay: 1.2s, 2.2s; }
.badge.b3 b { font: 700 .88rem/1.3 system-ui, sans-serif; color: var(--inchiostro); }
.punto { width: 10px; height: 10px; border-radius: 50%; background: #22c55e; box-shadow: 0 0 0 0 rgba(34, 197, 94, .6); animation: pulsa 1.8s infinite; flex-shrink: 0; }
.numeri-striscia { background: linear-gradient(90deg, #0f5e9c, #164a78); color: #dde2ee; padding: 34px 0; }
.numeri-striscia .wrap { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.numeri-striscia b { display: block; font: 700 2.2rem/1 "Montserrat", sans-serif; color: #8fd0ff; margin-bottom: 8px; }
.numeri-striscia span { font-size: .95rem; }
.area figure .schermo { transition: transform .4s, box-shadow .4s; }
.area figure:hover .schermo { transform: translateY(-6px); box-shadow: 0 30px 60px -28px rgba(20, 28, 51, .55); }
.rivela { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.2, .7, .2, 1), transform .8s cubic-bezier(.2, .7, .2, 1); }
.rivela.vista { opacity: 1; transform: none; }
@keyframes sale { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes compare { from { opacity: 0; transform: translateY(14px) scale(.96); } to { opacity: 1; transform: none; } }
@keyframes galleggia { 0%, 100% { translate: 0 0; } 50% { translate: 0 -10px; } }
@keyframes respiro { from { transform: scale(1.04); } to { transform: scale(1.1); } }
@keyframes pulsa { 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .6); } 70% { box-shadow: 0 0 0 10px rgba(34, 197, 94, 0); } 100% { box-shadow: 0 0 0 0 rgba(34, 197, 94, 0); } }
@media (max-width: 980px) {
  .apertura.wow { padding: 64px 0 90px; }
  .apertura.wow .wrap { grid-template-columns: 1fr; gap: 48px; }
  .apertura-scena .schermo { transform: none; }
  .badge.b1 { left: -6px; } .badge.b2 { right: -6px; }
  .numeri-striscia .wrap { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
  .badge { font-size: .8rem; padding: 9px 12px; } .badge b { font-size: 1.1rem; }
  .badge.b3 { left: 0; right: 0; bottom: -34px; }
  .numeri-striscia .wrap { grid-template-columns: 1fr; }
  .apertura.wow .azioni .btn { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  .apertura-foto, .galleggia, .badge, .punto, .apertura-testo > * { animation: none !important; opacity: 1 !important; transform: none; }
  .rivela { opacity: 1; transform: none; transition: none; }
}

/* ===== apertura a tutta larghezza (regola di Simone 9/11/2026: niente colonna vuota, tutto equilibrato) ===== */
.apertura.wow { padding: 88px 0 0; }
.apertura.wow .wrap { display: block; text-align: center; }
.apertura-testo { max-width: 1120px; margin: 0 auto; }
.apertura.wow h1 { font-size: clamp(2.3rem, 5.4vw, 4.6rem); line-height: 1.08; letter-spacing: -.025em; margin-bottom: .45em; }
.apertura.wow h1 em { display: block; }
.apertura.wow .lead { max-width: 820px; margin: 0 auto 30px; font-size: 1.22rem; }
.apertura.wow .azioni { justify-content: center; }
.apertura.wow .nota-cta { margin: 16px auto 0; max-width: 680px; }
.apertura.wow::before { background: linear-gradient(180deg, rgba(6, 24, 42, .9) 0%, rgba(8, 27, 46, .82) 45%, rgba(8, 27, 46, .55) 75%, rgba(246, 247, 251, 1) 100%),
                                    radial-gradient(900px 420px at 50% 20%, rgba(229, 56, 59, .28), transparent 70%); }
.apertura-scena { max-width: 1080px; margin: 64px auto 0; padding-bottom: 40px; }
.apertura-scena .schermo { transform: perspective(1800px) rotateX(7deg); transform-origin: 50% 100%; }
.badge.b1 { left: -36px; top: 18%; }
.badge.b2 { right: -36px; top: 42%; bottom: auto; }
.badge.b3 { left: 50%; bottom: 8px; transform: translateX(-50%); white-space: nowrap; }
.badge.b3 { animation-name: compare-centro, galleggia; }
@keyframes compare-centro { from { opacity: 0; transform: translate(-50%, 14px) scale(.96); } to { opacity: 1; transform: translateX(-50%); } }
.numeri-striscia { margin-top: 0; }
.numeri-striscia .wrap { text-align: center; }
.sez .intro { margin-left: auto; margin-right: auto; text-align: center; max-width: 860px; }
@media (max-width: 980px) {
  .apertura.wow { padding-top: 56px; }
  .apertura-scena { margin-top: 44px; }
  .apertura-scena .schermo { transform: none; }
  .badge.b1 { left: -4px; top: -18px; } .badge.b2 { right: -4px; top: auto; bottom: 22%; }
}
@media (max-width: 560px) {
  .badge.b3 { white-space: normal; width: 88%; left: 6%; transform: none; animation-name: compare, galleggia; }
}

/* ===== sezioni piene ed equilibrate (9/11/2026) ===== */
.per-chi-griglia { display: grid; grid-template-columns: 1fr 1.1fr; gap: 28px; align-items: stretch; }
.foto-grande { position: relative; border-radius: 22px; overflow: hidden; box-shadow: var(--ombra); min-height: 420px; }
.foto-grande img { width: 100%; height: 100%; object-fit: cover; }
.foto-grande figcaption { position: absolute; left: 16px; right: 16px; bottom: 16px; margin: 0; background: rgba(6, 24, 42, .78); color: #dde2ee;
  backdrop-filter: blur(8px); border-radius: 14px; padding: 14px 18px; font-size: .95rem; }
.foto-grande figcaption b { color: #8fd0ff; }
.schede.compatte { grid-template-columns: repeat(2, 1fr); gap: 14px; }
.schede.compatte .scheda { padding: 18px 20px; transition: transform .25s, box-shadow .25s, border-color .25s; }
.schede.compatte .scheda:hover { transform: translateY(-4px); box-shadow: var(--ombra); border-color: #cfe6f8; }
.schede.compatte .scheda h3 { font-size: 1.02rem; margin-bottom: 6px; }
.schede.compatte .scheda h3::before { content: ""; width: 10px; height: 10px; border-radius: 3px 10px; background: var(--rosso); flex-shrink: 0; }
.aree-foto { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.area-card { background: #fff; border: 1px solid var(--linea); border-radius: 20px; overflow: hidden; box-shadow: 0 1px 2px rgba(20, 28, 51, .05); transition: transform .3s, box-shadow .3s; }
.area-card:hover { transform: translateY(-6px); box-shadow: 0 28px 50px -26px rgba(20, 28, 51, .5); }
.area-card img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .6s; }
.area-card:hover img { transform: scale(1.05); }
.area-card div { padding: 18px 20px 22px; }
.area-card h3 { margin-bottom: 6px; }
.area-card p { margin: 0; font-size: .95rem; }
.autore { background: linear-gradient(135deg, #081b2e, #0f5e9c 60%, #1a6fb3); color: #dde2ee; }
.autore .wrap { display: grid; grid-template-columns: 1.05fr 1fr; gap: 48px; align-items: center; }
.autore h2 { color: #fff; }
.autore .kick { color: #8fd0ff; }
.autore a { color: #cfe6f8; }
.autore-foto img { border-radius: 22px; box-shadow: 0 40px 80px -36px rgba(0, 0, 0, .8); width: 100%; }
.autore-foto figcaption { color: #bcc3d4; }
.autore-fatti { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; list-style: none; padding: 0; margin: 22px 0; }
.autore-fatti li { background: rgba(255, 255, 255, .07); border: 1px solid rgba(255, 255, 255, .16); border-radius: 16px; padding: 14px 16px; }
.autore-fatti b { display: block; font: 700 1.8rem/1 "Montserrat", sans-serif; color: #8fd0ff; margin-bottom: 6px; }
.autore-fatti span { font-size: .88rem; }
.autore-gestionali { font-size: .98rem; }
.autore-gestionali b, .autore b { color: #fff; }
.autore-nota { font-size: .9rem; color: #bcc3d4; }
.faq { max-width: 900px; margin: 0 auto; display: grid; gap: 12px; }
.faq details { background: #fff; border: 1px solid var(--linea); border-radius: 16px; padding: 4px 22px; transition: box-shadow .25s; }
.faq details[open] { box-shadow: var(--ombra); }
.faq summary { cursor: pointer; font: 700 1.05rem/1.4 "Montserrat", sans-serif; color: var(--inchiostro); padding: 16px 0; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--rosso); font-size: 1.5rem; line-height: 1; transition: transform .25s; }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { margin: 0 0 18px; }
@media (max-width: 1100px) { .aree-foto { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 980px) {
  .per-chi-griglia, .autore .wrap { grid-template-columns: 1fr; }
  .foto-grande { min-height: 300px; }
}
@media (max-width: 600px) {
  .schede.compatte, .aree-foto { grid-template-columns: 1fr; }
  .autore-fatti { grid-template-columns: 1fr; }
  .autore-fatti li { display: flex; gap: 14px; align-items: center; } .autore-fatti b { margin: 0; font-size: 1.5rem; min-width: 74px; }
}

/* ===== correzioni dal parere di Codex (9/11/2026) ===== */
.btn.caldo { background: linear-gradient(135deg, #d8302f, #b5211f); box-shadow: 0 12px 30px -10px rgba(181, 33, 31, .8); }
.btn.caldo:hover { background: linear-gradient(135deg, #e03b3a, #c02726); }
:focus-visible { outline: 3px solid #e5383b; outline-offset: 4px; }
.galleggia { animation: none; }
.badge { animation: compare .7s cubic-bezier(.2, .7, .2, 1) forwards; }
.badge.b1 { animation-delay: .6s; } .badge.b2 { animation-delay: .9s; } .badge.b3 { animation-name: compare-centro; animation-delay: 1.2s; }
.etichetta-esempio { position: absolute; top: -30px; right: 0; font-size: .78rem; color: #bcc3d4; letter-spacing: .04em; z-index: 2; }
.apertura.wow::before { background: linear-gradient(180deg, rgba(6, 24, 42, .86) 0%, rgba(8, 27, 46, .74) 45%, rgba(8, 27, 46, .5) 75%, rgba(246, 247, 251, 1) 100%),
                                    radial-gradient(900px 420px at 50% 20%, rgba(229, 56, 59, .25), transparent 70%); }
.apertura.wow .nota-cta b { color: #fff; }
html:not(.js) .rivela { opacity: 1; transform: none; }
.costo { max-width: none; }
.autore-ritratto { background: radial-gradient(circle at 50% 35%, #cfe6f8, #e5383b 70%); border-radius: 26px; overflow: hidden; max-width: 420px; margin: 0 auto;
  box-shadow: 0 40px 80px -36px rgba(0, 0, 0, .8); }
.autore-ritratto img { width: 100%; height: auto; display: block; mix-blend-mode: multiply; }
.autore-foto figcaption { text-align: center; }
.autore-foto figcaption b { color: #fff; }
@media (max-width: 1100px) {
  .apri-menu { display: block; }
  .menu { display: none; position: absolute; top: 72px; left: 0; right: 0; background: #fff; flex-direction: column; align-items: stretch; padding: 16px 20px 22px; gap: 14px; border-bottom: 1px solid var(--linea); box-shadow: var(--ombra); }
  .menu.aperto { display: flex; }
}

/* ===== EvoSoccorso (15/11/2026) ===== */
.apertura.wow h1 em { background: linear-gradient(90deg, #8fd0ff, #e3f2ff); -webkit-background-clip: text; background-clip: text; color: transparent; }
.apertura-foto { object-position: 50% 30%; }
.badge.b2 b { color: #c92c2f; }
.autore-ritratto { background: radial-gradient(circle at 50% 35%, #cfe6f8, #2f86c8 70%); }
.aree-foto.tre { grid-template-columns: repeat(3, 1fr); }
.moduli { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-top: 8px; }
.moduli div { background: #fff; border: 1px solid var(--linea); border-radius: 14px; padding: 16px 18px; }
.moduli b { display: block; color: var(--inchiostro); font-family: "Montserrat", sans-serif; margin-bottom: 4px; }
.moduli span { font-size: .93rem; }
@media (max-width: 1100px) { .aree-foto.tre { grid-template-columns: repeat(3, 1fr); } .moduli { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 760px) { .aree-foto.tre, .moduli { grid-template-columns: 1fr; } }
/* logo con le proporzioni del marchio Evo ufficiale (più largo e più basso) */
.testata .logo img { height: 38px; width: auto; }
.piede img { height: 34px; }
@media (max-width: 760px) { .testata .logo img { height: 28px; } }
/* chi ha creato EvoSoccorso: foto vera al lavoro nello studio, taglio orizzontale, niente fondo colorato né alone (15/11/2026) */
.autore .wrap { grid-template-columns: 1.15fr 1fr; align-items: stretch; }
.autore-foto.studio { display: flex; flex-direction: column; gap: 12px; }
.autore-foto.studio img { flex: 1; width: 100%; min-height: 380px; object-fit: cover; object-position: 55% 45%; border-radius: 18px; box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .7); }
.autore-foto.studio figcaption { text-align: left; margin: 0; }
.autore-testo { align-self: center; }
@media (max-width: 980px) { .autore .wrap { grid-template-columns: 1fr; } .autore-foto.studio img { min-height: 0; aspect-ratio: 16 / 9; } }
/* Titolo, testo, pulsanti e numeri dell'apertura sono SEMPRE visibili: l'ingresso animato muove soltanto, non nasconde.
   (15/11/2026: se il browser ritarda le animazioni, con l'opacità a zero l'apertura restava vuota.) */
.apertura-testo > *, .badge { opacity: 1 !important; animation-name: entra !important; animation-delay: 0s !important; animation-fill-mode: none !important; }
.badge.b3 { animation-name: entra-centro !important; }
@keyframes entra { from { transform: translateY(16px); } to { transform: none; } }
@keyframes entra-centro { from { transform: translate(-50%, 14px); } to { transform: translateX(-50%); } }
@media (max-width: 560px) { .badge.b3 { animation-name: entra !important; } }
