/* ==========================================================================
   AppE20 · restyle appe20.it — sistema di stile comune (sketch)
   Identità del sito attuale (rosso #BE2D29, ink, navy, triangoli, spunte,
   card col bordo rosso, raggio 8) con la scala ridotta del 15-25%:
   vedi brief/analisi-sito-attuale.md §4. Contrasti misurati, non stimati.
   ========================================================================== */

/* Avenir Next: Demi per testi piccoli, etichette e menu (il Bold sotto i ~18px si impasta); Bold solo per i titoli grandi */
@font-face{font-family:"Avenir Next";src:url("../fonts/avenir-next-demi.woff2") format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Avenir Next";src:url("../fonts/avenir-next-bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"TT Norms";src:url("../fonts/tt-norms-medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}

:root{
  /* colore */
  --red:#BE2D29;          /* bianco su rosso 5,84:1 */
  --red-dark:#9C2421;     /* hover bottone */
  --red-tint:#FBEAE9;
  --ink:#3C3E3F;          /* su bianco 10,75:1 */
  --ink-strong:#232526;
  --muted:#5B6873;        /* su bianco 5,6:1 (l'attuale #798B97 era 3,53:1) */
  --navy:#171A29;
  --navy-2:#23273A;
  --on-navy:#C9CFDA;      /* su navy 11,5:1 */
  --panel:#EFF2F6;
  --line:#DFE5EA;
  --white:#fff;
  --green:#27AE60;
  /* forma */
  --r:8px;
  --shadow:0 6px 20px rgba(40,60,80,.12);
  --shadow-lg:0 24px 56px rgba(40,60,80,.22);
  --border-card:6px solid var(--red);
  /* griglia e ritmo */
  --container:1240px;
  --gutter:clamp(20px,4vw,48px);
  --space:clamp(3.5rem,2rem + 3.5vw,5.5rem);
  --space-head:clamp(2rem,1.4rem + 1.6vw,3.5rem);
  --gap:clamp(1.5rem,1rem + 2vw,4rem);
  /* tipo */
  --font-d:"Avenir Next","Segoe UI",system-ui,sans-serif;
  --font-t:"TT Norms","Segoe UI",system-ui,sans-serif;
  --fs-h1:clamp(1.875rem,1rem + 2.7vw,3.625rem);
  --fs-h2:clamp(1.625rem,.9rem + 1.8vw,2.75rem);
  --fs-sub:clamp(1.0625rem,.8rem + .6vw,1.5rem);
  --fs-h3:clamp(1.125rem,1rem + .35vw,1.375rem);
  --fs-body:clamp(.97rem,.9rem + .25vw,1.125rem);
  --fs-small:.875rem;
  --fs-num:clamp(2.5rem,1.5rem + 3.5vw,5rem);
  --track:.12em;          /* unico valore di tracking, solo sotto i 20px in maiuscolo */
  --nav-h:76px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font-t);font-weight:500;
  font-size:var(--fs-body);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{max-width:100%;height:auto;display:block}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3,h4{font-family:var(--font-d);font-weight:600;color:var(--ink);margin:0 0 .5em;line-height:1.12;text-wrap:balance}
h1,h2{font-weight:700}
h1{font-size:var(--fs-h1);letter-spacing:-.01em}
h2{font-size:var(--fs-h2);letter-spacing:-.005em}
h3{font-size:var(--fs-h3);line-height:1.25}
strong,b{font-family:var(--font-d);font-weight:600}
:focus-visible{outline:3px solid var(--red);outline-offset:3px;border-radius:4px}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r);z-index:100}
.skip:focus{left:8px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.container{width:min(var(--container),100% - 2*var(--gutter));margin-inline:auto}
.narrow{max-width:760px}
.center{text-align:center;margin-inline:auto}

/* ---------- sezioni ---------- */
.section{padding-block:var(--space);position:relative}
.section--panel{background:var(--panel)}
.section--navy{background:var(--navy);color:var(--on-navy)}
.section--navy h2,.section--navy h3,.section--navy strong{color:#fff}
.section--red{background:var(--red);color:#fff;overflow:hidden}
.section--red h2,.section--red h3{color:#fff}
.section--tight{padding-block:calc(var(--space)*.6)}
.section-head{margin-bottom:var(--space-head);max-width:780px}
.section-head.center{margin-inline:auto}
.section-head p{color:var(--muted);font-size:var(--fs-sub);line-height:1.4;margin:0}
.section-head .eyebrow{font-size:.8125rem;color:var(--red);line-height:1.4;margin:0 0 14px}
.section-head.center .eyebrow,.center > .eyebrow{justify-content:center}
.section--navy .section-head .eyebrow{color:#FF8F8B}
.section--red .section-head .eyebrow{color:#fff}
.section--navy .section-head p{color:var(--on-navy)}
.section--red .section-head p{color:#fff}

.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-d);font-size:.8125rem;
  text-transform:uppercase;letter-spacing:var(--track);color:var(--red);margin:0 0 14px}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.section--navy .eyebrow{color:#FF8F8B}   /* su navy 7,3:1 */
.section--red .eyebrow{color:#fff}
.lead{font-size:var(--fs-sub);line-height:1.4;color:var(--muted)}
.muted{color:var(--muted)}
.small{font-size:var(--fs-small)}

/* ---------- bottoni ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;
  min-width:200px;border-radius:var(--r);font-family:var(--font-d);font-size:1.0625rem;text-decoration:none;
  border:2px solid transparent;cursor:pointer;transition:background .2s,color .2s,border-color .2s,transform .2s}
.btn--primary{background:var(--red);color:#fff}
.btn--primary:hover{background:var(--red-dark)}
.btn--ghost{border-color:var(--ink);color:var(--ink);background:transparent}
.btn--ghost:hover{background:var(--ink);color:#fff}
.btn--light{background:#fff;color:var(--red)}
.btn--light:hover{background:var(--red-tint)}
.btn--outline-light{border-color:#fff;color:#fff}
.btn--outline-light:hover{background:#fff;color:var(--red)}
.section--navy .btn--outline-light:hover{color:var(--navy)}
.btn-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}
.link-arrow{font-family:var(--font-d);color:var(--red);text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.link-arrow::after{content:"→";transition:transform .2s}
.link-arrow:hover::after{transform:translateX(4px)}
.section--navy .link-arrow{color:#FF8F8B}

/* ---------- header / nav ---------- */
/* il blur sta su ::before: un backdrop-filter sull'header diventerebbe il containing block
   del pannello mobile (position:fixed), che resterebbe alto quanto l'header */
.site-header{position:sticky;top:0;z-index:50;transition:box-shadow .25s}
.site-header::before{content:"";position:absolute;inset:0;z-index:-1;background:rgba(255,255,255,.96);backdrop-filter:saturate(1.4) blur(8px)}
.site-header.is-scrolled{box-shadow:0 8px 30px rgba(40,60,80,.12)}
.nav{display:flex;align-items:center;gap:28px;height:var(--nav-h)}
.nav__logo{flex:none;display:block;width:128px}
.nav__menu{display:flex;align-items:center;gap:4px;margin-left:auto;list-style:none;padding:0;margin-block:0}
.nav__menu > li{position:relative}
.nav__link{display:inline-flex;white-space:nowrap;align-items:center;gap:6px;padding:10px 12px;font-family:var(--font-d);font-size:1rem;
  color:var(--ink);text-decoration:none;border-radius:var(--r);background:none;border:0;cursor:pointer}
.nav__link:hover,.nav__link[aria-current="page"]{color:var(--red)}
.nav__link[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--red);border-radius:0}
.nav__drop{position:absolute;top:calc(100% + 6px);left:-8px;min-width:270px;background:#fff;border-radius:var(--r);
  box-shadow:var(--shadow-lg);padding:10px;list-style:none;margin:0;opacity:0;visibility:hidden;transform:translateY(6px);
  transition:opacity .18s,transform .18s,visibility .18s}
.nav__menu > li:hover .nav__drop,.nav__menu > li:focus-within .nav__drop,.nav__menu > li.is-open .nav__drop{opacity:1;visibility:visible;transform:none}
.nav__drop a{display:block;padding:10px 12px;border-radius:6px;text-decoration:none;color:var(--ink)}
.nav__drop a:hover{background:var(--panel);color:var(--red)}
.nav__drop small{display:block;color:var(--muted);font-size:.8125rem;margin-top:2px}
.nav__drop b{font-size:.9375rem}
.nav__caret{width:10px;height:10px;transition:transform .2s}
.nav__actions{display:flex;align-items:center;gap:12px}
.nav__actions .btn{min-width:0;min-height:44px;padding:0 20px;font-size:.9375rem}
@media(min-width:1241px) and (max-width:1400px){.nav__link{padding-inline:8px;font-size:.9375rem}.nav{gap:18px}}
.lang{display:flex;gap:2px;font-family:var(--font-d);font-size:.8125rem;letter-spacing:var(--track)}
.lang a{padding:6px 7px;text-decoration:none;color:var(--muted);border-radius:4px}
.lang a[aria-current="true"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--red);border-radius:0}
.nav__toggle{display:none;margin-left:auto;background:none;border:2px solid var(--ink);border-radius:var(--r);
  height:44px;padding:0 14px;font-family:var(--font-d);font-size:.9375rem;color:var(--ink);cursor:pointer}

@media (max-width:1240px){
  .nav__toggle{display:inline-flex;align-items:center}
  .nav__panel{position:fixed;inset:var(--nav-h) 0 0 0;background:#fff;padding:20px var(--gutter) 40px;overflow:auto;
    display:none;flex-direction:column;align-items:stretch;gap:16px}
  .nav__panel.is-open{display:flex}
  .nav__menu{flex-direction:column;align-items:stretch;margin:0}
  .nav__link{width:100%;font-size:1.125rem;padding:14px 4px;border-bottom:1px solid var(--line);border-radius:0}
  .nav__link[aria-current="page"]{box-shadow:none}
  /* sottomenu a fisarmonica: chiuso finché non si tocca «Soluzioni» */
  .nav__drop{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:4px 0 8px 12px;min-width:0}
  .nav__menu > li.is-open .nav__drop{display:block}
  .nav__menu > li:hover .nav__drop,.nav__menu > li:focus-within .nav__drop{display:none}
  .nav__menu > li.is-open:hover .nav__drop,.nav__menu > li.is-open:focus-within .nav__drop{display:block}
  .nav__link[aria-haspopup]{justify-content:space-between}
  .nav__caret{width:14px;height:14px}
  .nav__menu > li.is-open .nav__caret{transform:rotate(180deg)}
  .nav__actions{flex-direction:column;align-items:stretch}
  .nav__actions .btn{min-height:52px}
  .lang a{padding:12px 14px}
}
@media (min-width:1241px){.nav__panel{display:flex;align-items:center;gap:20px;margin-left:auto}.nav__menu{margin-left:0}}

/* ---------- hero ---------- */
.hero{position:relative;padding-block:clamp(2.5rem,1.5rem + 3vw,4.5rem) var(--space);overflow:hidden}
.hero__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--gap);align-items:center;position:relative;z-index:1}
.hero h1{margin-bottom:.45em}
.hero .lead{max-width:34ch;margin-bottom:1.3em}
.hero__tri{position:absolute;right:0;top:0;height:100%;width:min(46vw,620px);z-index:0;pointer-events:none}
.hero__tri polygon{fill:var(--red)}
.hero__media{position:relative}
.hero--page{padding-bottom:calc(var(--space)*.8)}
.hero--page .hero__grid{grid-template-columns:1.1fr .9fr}
@media (max-width:900px){
  .hero__grid,.hero--page .hero__grid{grid-template-columns:1fr}
  .hero__tri{width:70vw;height:60%;top:auto;bottom:0}
}

.checks{list-style:none;padding:0;margin:0 0 8px;display:grid;gap:12px}
.checks li{display:flex;align-items:center;gap:14px;font-family:var(--font-d);color:var(--ink)}
.checks li::before{content:"";flex:none;width:28px;height:28px;border-radius:4px;background:var(--red) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}
.checks--sm li{font-family:var(--font-t);font-size:var(--fs-body)}
.checks--sm li::before{width:22px;height:22px;background-size:14px}
.section--navy .checks li,.section--red .checks li{color:#fff}
.section--red .checks li::before{background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%23BE2D29' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}

.dots{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.dots li{position:relative;padding-left:20px;color:var(--muted)}
.dots li::before{content:"";position:absolute;left:2px;top:.62em;width:6px;height:6px;background:var(--ink);border-radius:1px}

.breadcrumb{font-size:var(--fs-small);color:var(--muted);margin-bottom:18px}
.breadcrumb a{color:var(--muted);display:inline-block;padding-block:12px;margin-block:-12px}
.breadcrumb span[aria-current]{color:var(--ink)}

/* ---------- griglie ---------- */
.grid{display:grid;gap:clamp(1.25rem,.8rem + 1.2vw,2rem)}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

.split{display:grid;grid-template-columns:1fr 1fr;gap:var(--gap);align-items:center}
.split--wide-media{grid-template-columns:.85fr 1.15fr}
.split--reverse > :first-child{order:2}
@media (max-width:900px){.split,.split--wide-media{grid-template-columns:1fr}.split--reverse > :first-child{order:0}}

/* ---------- card ---------- */
.card{background:#fff;border-radius:var(--r);box-shadow:var(--shadow);padding:clamp(1.5rem,1.1rem + 1vw,2.5rem) clamp(1.25rem,1rem + .8vw,2rem);
  border-bottom:var(--border-card);display:flex;flex-direction:column;gap:10px;position:relative}
.card h3{margin:0}
.card p{color:var(--muted);margin:0}
.card__icon{width:44px;height:44px;margin-bottom:6px}
.card__icon img{width:100%;height:100%;object-fit:contain}
.card--link{text-decoration:none;transition:transform .25s,box-shadow .25s}
.card--link:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card--link .link-arrow{margin-top:auto;padding-top:8px}
.card--flat{box-shadow:none;border:1px solid var(--line);border-bottom:var(--border-card)}
.card--dark{background:var(--navy);color:var(--on-navy)}
.card--dark h3{color:#fff}
.card--dark p{color:var(--on-navy)}
.card .pill{align-self:flex-start}

.pill{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:var(--red-tint);
  color:var(--red-dark);font-family:var(--font-d);font-size:.8125rem}
.pill--dot::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}
.pill--grey{background:var(--panel);color:var(--ink)}
.pill--green{background:#E4F5EB;color:#1B7A43}

/* modulo con icona grande, stile blocchi attuali */
.feature{display:flex;flex-direction:column;gap:8px}
.feature__icon{width:48px;height:48px}
.feature h3{margin:6px 0 0}
.feature p{color:var(--muted);margin:0}
.feature-list{display:grid;gap:clamp(1.75rem,1.2rem + 1.5vw,2.75rem)}

/* pannello media (mockup su fondo grigio chiaro, come oggi) */
.media-panel{background:var(--panel);border-radius:var(--r);padding:clamp(1.25rem,.8rem + 2vw,3rem);display:grid;place-items:center;
  position:relative;overflow:hidden}
.media-panel img{border-radius:4px}

/* ---------- illustrazioni di prodotto in HTML ---------- */
.browser{background:#fff;border-radius:var(--r);box-shadow:var(--shadow-lg);overflow:hidden;width:100%}
.browser__bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#F6F8FA;border-bottom:1px solid var(--line)}
.browser__bar i{width:10px;height:10px;border-radius:50%;background:#D9DEE3}
.browser__url{margin-left:10px;flex:1;background:#fff;border:1px solid var(--line);border-radius:6px;padding:4px 10px;
  font-size:.75rem;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.browser__body{padding:clamp(16px,2vw,28px)}

.phone{width:min(260px,100%);aspect-ratio:9/18.5;background:#1B1D22;border-radius:34px;padding:10px;box-shadow:var(--shadow-lg);position:relative}
.phone__screen{background:#fff;border-radius:26px;height:100%;overflow:hidden;display:flex;flex-direction:column}
.phone__notch{position:absolute;top:10px;left:50%;transform:translateX(-50%);width:34%;height:18px;background:#1B1D22;border-radius:0 0 12px 12px;z-index:2}

.qr{width:100%;aspect-ratio:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-1 -1 27 27' shape-rendering='crispEdges'%3E%3Crect x='-1' y='-1' width='27' height='27' fill='%23fff'/%3E%3Cg fill='%233C3E3F'%3E%3Crect x='0' y='0' width='1' height='1'/%3E%3Crect x='1' y='0' width='1' height='1'/%3E%3Crect x='2' y='0' width='1' height='1'/%3E%3Crect x='3' y='0' width='1' height='1'/%3E%3Crect x='4' y='0' width='1' height='1'/%3E%3Crect x='5' y='0' width='1' height='1'/%3E%3Crect x='6' y='0' width='1' height='1'/%3E%3Crect x='12' y='0' width='1' height='1'/%3E%3Crect x='18' y='0' width='1' height='1'/%3E%3Crect x='19' y='0' width='1' height='1'/%3E%3Crect x='20' y='0' width='1' height='1'/%3E%3Crect x='21' y='0' width='1' height='1'/%3E%3Crect x='22' y='0' width='1' height='1'/%3E%3Crect x='23' y='0' width='1' height='1'/%3E%3Crect x='24' y='0' width='1' height='1'/%3E%3Crect x='0' y='1' width='1' height='1'/%3E%3Crect x='6' y='1' width='1' height='1'/%3E%3Crect x='8' y='1' width='1' height='1'/%3E%3Crect x='9' y='1' width='1' height='1'/%3E%3Crect x='11' y='1' width='1' height='1'/%3E%3Crect x='12' y='1' width='1' height='1'/%3E%3Crect x='14' y='1' width='1' height='1'/%3E%3Crect x='15' y='1' width='1' height='1'/%3E%3Crect x='16' y='1' width='1' height='1'/%3E%3Crect x='18' y='1' width='1' height='1'/%3E%3Crect x='24' y='1' width='1' height='1'/%3E%3Crect x='0' y='2' width='1' height='1'/%3E%3Crect x='2' y='2' width='1' height='1'/%3E%3Crect x='3' y='2' width='1' height='1'/%3E%3Crect x='4' y='2' width='1' height='1'/%3E%3Crect x='6' y='2' width='1' height='1'/%3E%3Crect x='9' y='2' width='1' height='1'/%3E%3Crect x='10' y='2' width='1' height='1'/%3E%3Crect x='14' y='2' width='1' height='1'/%3E%3Crect x='16' y='2' width='1' height='1'/%3E%3Crect x='18' y='2' width='1' height='1'/%3E%3Crect x='20' y='2' width='1' height='1'/%3E%3Crect x='21' y='2' width='1' height='1'/%3E%3Crect x='22' y='2' width='1' height='1'/%3E%3Crect x='24' y='2' width='1' height='1'/%3E%3Crect x='0' y='3' width='1' height='1'/%3E%3Crect x='2' y='3' width='1' height='1'/%3E%3Crect x='3' y='3' width='1' height='1'/%3E%3Crect x='4' y='3' width='1' height='1'/%3E%3Crect x='6' y='3' width='1' height='1'/%3E%3Crect x='8' y='3' width='1' height='1'/%3E%3Crect x='9' y='3' width='1' height='1'/%3E%3Crect x='11' y='3' width='1' height='1'/%3E%3Crect x='13' y='3' width='1' height='1'/%3E%3Crect x='14' y='3' width='1' height='1'/%3E%3Crect x='15' y='3' width='1' height='1'/%3E%3Crect x='18' y='3' width='1' height='1'/%3E%3Crect x='20' y='3' width='1' height='1'/%3E%3Crect x='21' y='3' width='1' height='1'/%3E%3Crect x='22' y='3' width='1' height='1'/%3E%3Crect x='24' y='3' width='1' height='1'/%3E%3Crect x='0' y='4' width='1' height='1'/%3E%3Crect x='2' y='4' width='1' height='1'/%3E%3Crect x='3' y='4' width='1' height='1'/%3E%3Crect x='4' y='4' width='1' height='1'/%3E%3Crect x='6' y='4' width='1' height='1'/%3E%3Crect x='9' y='4' width='1' height='1'/%3E%3Crect x='10' y='4' width='1' height='1'/%3E%3Crect x='11' y='4' width='1' height='1'/%3E%3Crect x='13' y='4' width='1' height='1'/%3E%3Crect x='14' y='4' width='1' height='1'/%3E%3Crect x='18' y='4' width='1' height='1'/%3E%3Crect x='20' y='4' width='1' height='1'/%3E%3Crect x='21' y='4' width='1' height='1'/%3E%3Crect x='22' y='4' width='1' height='1'/%3E%3Crect x='24' y='4' width='1' height='1'/%3E%3Crect x='0' y='5' width='1' height='1'/%3E%3Crect x='6' y='5' width='1' height='1'/%3E%3Crect x='8' y='5' width='1' height='1'/%3E%3Crect x='9' y='5' width='1' height='1'/%3E%3Crect x='12' y='5' width='1' height='1'/%3E%3Crect x='13' y='5' width='1' height='1'/%3E%3Crect x='18' y='5' width='1' height='1'/%3E%3Crect x='24' y='5' width='1' height='1'/%3E%3Crect x='0' y='6' width='1' height='1'/%3E%3Crect x='1' y='6' width='1' height='1'/%3E%3Crect x='2' y='6' width='1' height='1'/%3E%3Crect x='3' y='6' width='1' height='1'/%3E%3Crect x='4' y='6' width='1' height='1'/%3E%3Crect x='5' y='6' width='1' height='1'/%3E%3Crect x='6' y='6' width='1' height='1'/%3E%3Crect x='10' y='6' width='1' height='1'/%3E%3Crect x='11' y='6' width='1' height='1'/%3E%3Crect x='14' y='6' width='1' height='1'/%3E%3Crect x='18' y='6' width='1' height='1'/%3E%3Crect x='19' y='6' width='1' height='1'/%3E%3Crect x='20' y='6' width='1' height='1'/%3E%3Crect x='21' y='6' width='1' height='1'/%3E%3Crect x='22' y='6' width='1' height='1'/%3E%3Crect x='23' y='6' width='1' height='1'/%3E%3Crect x='24' y='6' width='1' height='1'/%3E%3Crect x='8' y='7' width='1' height='1'/%3E%3Crect x='10' y='7' width='1' height='1'/%3E%3Crect x='12' y='7' width='1' height='1'/%3E%3Crect x='0' y='8' width='1' height='1'/%3E%3Crect x='2' y='8' width='1' height='1'/%3E%3Crect x='3' y='8' width='1' height='1'/%3E%3Crect x='4' y='8' width='1' height='1'/%3E%3Crect x='5' y='8' width='1' height='1'/%3E%3Crect x='7' y='8' width='1' height='1'/%3E%3Crect x='8' y='8' width='1' height='1'/%3E%3Crect x='9' y='8' width='1' height='1'/%3E%3Crect x='11' y='8' width='1' height='1'/%3E%3Crect x='12' y='8' width='1' height='1'/%3E%3Crect x='13' y='8' width='1' height='1'/%3E%3Crect x='14' y='8' width='1' height='1'/%3E%3Crect x='16' y='8' width='1' height='1'/%3E%3Crect x='17' y='8' width='1' height='1'/%3E%3Crect x='20' y='8' width='1' height='1'/%3E%3Crect x='21' y='8' width='1' height='1'/%3E%3Crect x='22' y='8' width='1' height='1'/%3E%3Crect x='23' y='8' width='1' height='1'/%3E%3Crect x='24' y='8' width='1' height='1'/%3E%3Crect x='0' y='9' width='1' height='1'/%3E%3Crect x='1' y='9' width='1' height='1'/%3E%3Crect x='2' y='9' width='1' height='1'/%3E%3Crect x='3' y='9' width='1' height='1'/%3E%3Crect x='7' y='9' width='1' height='1'/%3E%3Crect x='8' y='9' width='1' height='1'/%3E%3Crect x='9' y='9' width='1' height='1'/%3E%3Crect x='11' y='9' width='1' height='1'/%3E%3Crect x='14' y='9' width='1' height='1'/%3E%3Crect x='15' y='9' width='1' height='1'/%3E%3Crect x='16' y='9' width='1' height='1'/%3E%3Crect x='18' y='9' width='1' height='1'/%3E%3Crect x='19' y='9' width='1' height='1'/%3E%3Crect x='21' y='9' width='1' height='1'/%3E%3Crect x='23' y='9' width='1' height='1'/%3E%3Crect x='0' y='10' width='1' height='1'/%3E%3Crect x='1' y='10' width='1' height='1'/%3E%3Crect x='3' y='10' width='1' height='1'/%3E%3Crect x='11' y='10' width='1' height='1'/%3E%3Crect x='12' y='10' width='1' height='1'/%3E%3Crect x='14' y='10' width='1' height='1'/%3E%3Crect x='16' y='10' width='1' height='1'/%3E%3Crect x='19' y='10' width='1' height='1'/%3E%3Crect x='22' y='10' width='1' height='1'/%3E%3Crect x='23' y='10' width='1' height='1'/%3E%3Crect x='24' y='10' width='1' height='1'/%3E%3Crect x='2' y='11' width='1' height='1'/%3E%3Crect x='4' y='11' width='1' height='1'/%3E%3Crect x='5' y='11' width='1' height='1'/%3E%3Crect x='8' y='11' width='1' height='1'/%3E%3Crect x='10' y='11' width='1' height='1'/%3E%3Crect x='12' y='11' width='1' height='1'/%3E%3Crect x='14' y='11' width='1' height='1'/%3E%3Crect x='15' y='11' width='1' height='1'/%3E%3Crect x='16' y='11' width='1' height='1'/%3E%3Crect x='17' y='11' width='1' height='1'/%3E%3Crect x='18' y='11' width='1' height='1'/%3E%3Crect x='20' y='11' width='1' height='1'/%3E%3Crect x='21' y='11' width='1' height='1'/%3E%3Crect x='22' y='11' width='1' height='1'/%3E%3Crect x='23' y='11' width='1' height='1'/%3E%3Crect x='0' y='12' width='1' height='1'/%3E%3Crect x='2' y='12' width='1' height='1'/%3E%3Crect x='3' y='12' width='1' height='1'/%3E%3Crect x='4' y='12' width='1' height='1'/%3E%3Crect x='6' y='12' width='1' height='1'/%3E%3Crect x='7' y='12' width='1' height='1'/%3E%3Crect x='8' y='12' width='1' height='1'/%3E%3Crect x='11' y='12' width='1' height='1'/%3E%3Crect x='14' y='12' width='1' height='1'/%3E%3Crect x='16' y='12' width='1' height='1'/%3E%3Crect x='18' y='12' width='1' height='1'/%3E%3Crect x='19' y='12' width='1' height='1'/%3E%3Crect x='23' y='12' width='1' height='1'/%3E%3Crect x='11' y='13' width='1' height='1'/%3E%3Crect x='12' y='13' width='1' height='1'/%3E%3Crect x='14' y='13' width='1' height='1'/%3E%3Crect x='15' y='13' width='1' height='1'/%3E%3Crect x='16' y='13' width='1' height='1'/%3E%3Crect x='18' y='13' width='1' height='1'/%3E%3Crect x='23' y='13' width='1' height='1'/%3E%3Crect x='24' y='13' width='1' height='1'/%3E%3Crect x='2' y='14' width='1' height='1'/%3E%3Crect x='3' y='14' width='1' height='1'/%3E%3Crect x='4' y='14' width='1' height='1'/%3E%3Crect x='5' y='14' width='1' height='1'/%3E%3Crect x='6' y='14' width='1' height='1'/%3E%3Crect x='7' y='14' width='1' height='1'/%3E%3Crect x='8' y='14' width='1' height='1'/%3E%3Crect x='9' y='14' width='1' height='1'/%3E%3Crect x='14' y='14' width='1' height='1'/%3E%3Crect x='17' y='14' width='1' height='1'/%3E%3Crect x='19' y='14' width='1' height='1'/%3E%3Crect x='23' y='14' width='1' height='1'/%3E%3Crect x='24' y='14' width='1' height='1'/%3E%3Crect x='0' y='15' width='1' height='1'/%3E%3Crect x='1' y='15' width='1' height='1'/%3E%3Crect x='2' y='15' width='1' height='1'/%3E%3Crect x='3' y='15' width='1' height='1'/%3E%3Crect x='7' y='15' width='1' height='1'/%3E%3Crect x='8' y='15' width='1' height='1'/%3E%3Crect x='13' y='15' width='1' height='1'/%3E%3Crect x='14' y='15' width='1' height='1'/%3E%3Crect x='15' y='15' width='1' height='1'/%3E%3Crect x='16' y='15' width='1' height='1'/%3E%3Crect x='17' y='15' width='1' height='1'/%3E%3Crect x='18' y='15' width='1' height='1'/%3E%3Crect x='20' y='15' width='1' height='1'/%3E%3Crect x='23' y='15' width='1' height='1'/%3E%3Crect x='24' y='15' width='1' height='1'/%3E%3Crect x='0' y='16' width='1' height='1'/%3E%3Crect x='1' y='16' width='1' height='1'/%3E%3Crect x='4' y='16' width='1' height='1'/%3E%3Crect x='5' y='16' width='1' height='1'/%3E%3Crect x='8' y='16' width='1' height='1'/%3E%3Crect x='12' y='16' width='1' height='1'/%3E%3Crect x='13' y='16' width='1' height='1'/%3E%3Crect x='16' y='16' width='1' height='1'/%3E%3Crect x='18' y='16' width='1' height='1'/%3E%3Crect x='22' y='16' width='1' height='1'/%3E%3Crect x='9' y='17' width='1' height='1'/%3E%3Crect x='12' y='17' width='1' height='1'/%3E%3Crect x='15' y='17' width='1' height='1'/%3E%3Crect x='16' y='17' width='1' height='1'/%3E%3Crect x='17' y='17' width='1' height='1'/%3E%3Crect x='20' y='17' width='1' height='1'/%3E%3Crect x='22' y='17' width='1' height='1'/%3E%3Crect x='0' y='18' width='1' height='1'/%3E%3Crect x='1' y='18' width='1' height='1'/%3E%3Crect x='2' y='18' width='1' height='1'/%3E%3Crect x='3' y='18' width='1' height='1'/%3E%3Crect x='4' y='18' width='1' height='1'/%3E%3Crect x='5' y='18' width='1' height='1'/%3E%3Crect x='6' y='18' width='1' height='1'/%3E%3Crect x='8' y='18' width='1' height='1'/%3E%3Crect x='9' y='18' width='1' height='1'/%3E%3Crect x='14' y='18' width='1' height='1'/%3E%3Crect x='16' y='18' width='1' height='1'/%3E%3Crect x='19' y='18' width='1' height='1'/%3E%3Crect x='20' y='18' width='1' height='1'/%3E%3Crect x='21' y='18' width='1' height='1'/%3E%3Crect x='22' y='18' width='1' height='1'/%3E%3Crect x='24' y='18' width='1' height='1'/%3E%3Crect x='0' y='19' width='1' height='1'/%3E%3Crect x='6' y='19' width='1' height='1'/%3E%3Crect x='9' y='19' width='1' height='1'/%3E%3Crect x='12' y='19' width='1' height='1'/%3E%3Crect x='13' y='19' width='1' height='1'/%3E%3Crect x='15' y='19' width='1' height='1'/%3E%3Crect x='19' y='19' width='1' height='1'/%3E%3Crect x='20' y='19' width='1' height='1'/%3E%3Crect x='21' y='19' width='1' height='1'/%3E%3Crect x='23' y='19' width='1' height='1'/%3E%3Crect x='24' y='19' width='1' height='1'/%3E%3Crect x='0' y='20' width='1' height='1'/%3E%3Crect x='2' y='20' width='1' height='1'/%3E%3Crect x='3' y='20' width='1' height='1'/%3E%3Crect x='4' y='20' width='1' height='1'/%3E%3Crect x='6' y='20' width='1' height='1'/%3E%3Crect x='8' y='20' width='1' height='1'/%3E%3Crect x='10' y='20' width='1' height='1'/%3E%3Crect x='11' y='20' width='1' height='1'/%3E%3Crect x='12' y='20' width='1' height='1'/%3E%3Crect x='17' y='20' width='1' height='1'/%3E%3Crect x='18' y='20' width='1' height='1'/%3E%3Crect x='19' y='20' width='1' height='1'/%3E%3Crect x='22' y='20' width='1' height='1'/%3E%3Crect x='0' y='21' width='1' height='1'/%3E%3Crect x='2' y='21' width='1' height='1'/%3E%3Crect x='3' y='21' width='1' height='1'/%3E%3Crect x='4' y='21' width='1' height='1'/%3E%3Crect x='6' y='21' width='1' height='1'/%3E%3Crect x='8' y='21' width='1' height='1'/%3E%3Crect x='9' y='21' width='1' height='1'/%3E%3Crect x='11' y='21' width='1' height='1'/%3E%3Crect x='13' y='21' width='1' height='1'/%3E%3Crect x='15' y='21' width='1' height='1'/%3E%3Crect x='16' y='21' width='1' height='1'/%3E%3Crect x='20' y='21' width='1' height='1'/%3E%3Crect x='22' y='21' width='1' height='1'/%3E%3Crect x='23' y='21' width='1' height='1'/%3E%3Crect x='0' y='22' width='1' height='1'/%3E%3Crect x='2' y='22' width='1' height='1'/%3E%3Crect x='3' y='22' width='1' height='1'/%3E%3Crect x='4' y='22' width='1' height='1'/%3E%3Crect x='6' y='22' width='1' height='1'/%3E%3Crect x='8' y='22' width='1' height='1'/%3E%3Crect x='9' y='22' width='1' height='1'/%3E%3Crect x='14' y='22' width='1' height='1'/%3E%3Crect x='16' y='22' width='1' height='1'/%3E%3Crect x='18' y='22' width='1' height='1'/%3E%3Crect x='19' y='22' width='1' height='1'/%3E%3Crect x='20' y='22' width='1' height='1'/%3E%3Crect x='21' y='22' width='1' height='1'/%3E%3Crect x='22' y='22' width='1' height='1'/%3E%3Crect x='23' y='22' width='1' height='1'/%3E%3Crect x='24' y='22' width='1' height='1'/%3E%3Crect x='0' y='23' width='1' height='1'/%3E%3Crect x='6' y='23' width='1' height='1'/%3E%3Crect x='8' y='23' width='1' height='1'/%3E%3Crect x='9' y='23' width='1' height='1'/%3E%3Crect x='11' y='23' width='1' height='1'/%3E%3Crect x='12' y='23' width='1' height='1'/%3E%3Crect x='14' y='23' width='1' height='1'/%3E%3Crect x='17' y='23' width='1' height='1'/%3E%3Crect x='19' y='23' width='1' height='1'/%3E%3Crect x='20' y='23' width='1' height='1'/%3E%3Crect x='21' y='23' width='1' height='1'/%3E%3Crect x='0' y='24' width='1' height='1'/%3E%3Crect x='1' y='24' width='1' height='1'/%3E%3Crect x='2' y='24' width='1' height='1'/%3E%3Crect x='3' y='24' width='1' height='1'/%3E%3Crect x='4' y='24' width='1' height='1'/%3E%3Crect x='5' y='24' width='1' height='1'/%3E%3Crect x='6' y='24' width='1' height='1'/%3E%3Crect x='11' y='24' width='1' height='1'/%3E%3Crect x='12' y='24' width='1' height='1'/%3E%3Crect x='13' y='24' width='1' height='1'/%3E%3Crect x='14' y='24' width='1' height='1'/%3E%3Crect x='15' y='24' width='1' height='1'/%3E%3Crect x='16' y='24' width='1' height='1'/%3E%3Crect x='17' y='24' width='1' height='1'/%3E%3Crect x='18' y='24' width='1' height='1'/%3E%3Crect x='23' y='24' width='1' height='1'/%3E%3Crect x='24' y='24' width='1' height='1'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;border-radius:4px}

/* form finto (anteprima landing) */
.fake-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fake-field{border:1.5px solid #CDD5DC;border-radius:6px;padding:9px 10px;font-size:.75rem;color:var(--muted);background:#fff}
.fake-field--full{grid-column:1/-1}
.fake-btn{grid-column:1/-1;background:var(--red);color:#fff;border-radius:6px;text-align:center;padding:10px;font-family:var(--font-d);font-size:.8125rem}

/* ---------- numeri e loghi ---------- */
.stats{display:flex;flex-wrap:wrap;gap:clamp(2rem,1rem + 5vw,7rem);justify-content:center}
.stat{text-align:center}
.stat__num{font-family:var(--font-d);font-size:var(--fs-num);line-height:1;color:var(--red)}
.stat__label{color:var(--muted);max-width:22ch;margin:8px auto 0}
.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee__track{display:flex;gap:20px;width:max-content;animation:marquee 60s linear infinite}
.marquee--rev .marquee__track{animation-direction:reverse}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee img{height:84px;width:auto;border-radius:var(--r);box-shadow:0 4px 14px rgba(40,60,80,.08);background:#fff}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ---------- fasce ---------- */
.band-photo{position:absolute;inset:0;background-size:cover;background-position:center;mix-blend-mode:luminosity;opacity:.16;pointer-events:none}
.band-tri{position:absolute;pointer-events:none}
.cta-band{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--gap);align-items:center;position:relative;z-index:1}
@media (max-width:900px){.cta-band{grid-template-columns:1fr}}

/* passi */
.steps{counter-reset:step;display:grid;gap:clamp(1.25rem,.8rem + 1.2vw,2rem)}
.step{position:relative;padding-top:56px}
.step::before{counter-increment:step;content:counter(step,decimal-leading-zero);position:absolute;top:0;left:0;
  font-family:var(--font-d);font-size:2.5rem;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--red)}
.step h3{margin-bottom:6px}
.step p{color:var(--muted);margin:0}
.section--navy .step p{color:var(--on-navy)}

/* FAQ */
.faq{display:grid;gap:12px}
.faq details{background:#fff;border-radius:var(--r);box-shadow:0 2px 10px rgba(40,60,80,.07);padding:0 22px}
.faq summary{list-style:none;cursor:pointer;padding:18px 36px 18px 0;font-family:var(--font-d);color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:1.5rem;color:var(--red);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faq details > div{padding-bottom:18px;color:var(--muted)}

/* confronto a due card (sistema completo / solo Arena) */
.paths{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1rem,.6rem + 1.2vw,1.75rem)}
@media (max-width:820px){.paths{grid-template-columns:1fr}}
.path{border-radius:var(--r);padding:clamp(1.5rem,1rem + 1.5vw,2.75rem);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden}
.path h3{font-size:clamp(1.25rem,1rem + .8vw,1.75rem);margin:0}
.path p{margin:0}
.path .checks{margin-top:6px}
.path .btn-row{margin-top:auto;padding-top:18px}
.path--full{background:var(--navy);color:var(--on-navy)}
.path--full h3{color:#fff}
.path--full .checks li{color:#fff;font-family:var(--font-t)}
.path--solo{background:#fff;border:2px solid var(--red);box-shadow:var(--shadow)}
.path--solo .checks li{font-family:var(--font-t)}
.path__tag{font-family:var(--font-d);font-size:.8125rem;text-transform:uppercase;letter-spacing:var(--track);color:var(--red)}
.path--full .path__tag{color:#FF8F8B}

/* form */
.form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:flex;flex-direction:column;gap:6px;font-family:var(--font-d);font-size:.9375rem;color:var(--ink)}
.form .full{grid-column:1/-1}
.form input,.form textarea,.form select{font:inherit;font-family:var(--font-t);font-size:1rem;color:var(--ink);border:2px solid #C9C9C9;
  border-radius:var(--r);padding:12px 14px;background:#fff}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(190,45,41,.18)}
.form .consent{flex-direction:row;align-items:flex-start;gap:10px;font-family:var(--font-t);font-size:.875rem;color:var(--muted)}
.form .consent input{width:20px;height:20px;margin-top:2px;flex:none;accent-color:var(--red)}
@media (max-width:640px){.form{grid-template-columns:1fr}}

/* ---------- footer ---------- */
.site-footer{padding-top:1px;background:var(--navy);color:var(--on-navy);border-bottom:6px solid var(--red);font-size:.9375rem}
.site-footer a{color:var(--on-navy);text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.footer__eco{display:flex;gap:18px;align-items:center;background:#1E8A4C;color:#fff;border-radius:var(--r);padding:20px 26px;
  margin:48px 0 44px;position:relative;overflow:hidden}   /* verde scurito: bianco su #1E8A4C 4,6:1 */
.footer__eco::after{content:"";position:absolute;inset:0;background:url("../img/foto/S-footer-b-001.png") right center/auto 140% no-repeat;opacity:.25}
.footer__eco p{margin:0;position:relative;z-index:1}
.footer__eco strong{display:block;font-size:1.0625rem}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.1fr;gap:clamp(1.5rem,1rem + 2vw,3rem);padding-block:8px 48px}
.footer__grid h2{font-size:.8125rem;text-transform:uppercase;letter-spacing:var(--track);color:#fff;margin:0 0 14px}
.footer__grid ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.footer__legal{border-top:1px solid rgba(255,255,255,.14);padding-block:22px;font-size:.8125rem;line-height:1.6}
.footer__legal p{margin:0 0 4px}
@media (max-width:900px){.footer__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.footer__grid{grid-template-columns:1fr}}
/* touch: link del footer con area di tocco piena (lista verticale fitta) */
@media (max-width:760px){.footer__grid ul{gap:0}.footer__grid ul a{display:inline-block;padding-block:12px}}

/* barra CTA persistente su mobile */
.mobile-cta{display:none}
@media (max-width:760px){
  .mobile-cta{display:flex;position:fixed;left:12px;right:12px;bottom:12px;z-index:40;box-shadow:var(--shadow-lg)}
  .mobile-cta .btn{width:100%}
  body{padding-bottom:76px}
}

/* ---------- movimento ---------- */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1;transform:none;transition:none}
  .marquee__track{animation:none}
  *{transition-duration:.01ms!important}
}

/* etichetta di sketch: dichiara i contenuti illustrativi */
.sketch-note{font-size:.75rem;color:var(--muted);margin-top:10px;text-align:center}

/* mobile: hero più compatto, bottoni a tutta larghezza.
   Il triangolo non sta più dietro testo e bottoni: si disegna solo dietro l'ultimo blocco della hero
   (l'immagine), ovunque. La colonna unica vince anche sulle griglie ridefinite dalle pagine. */
@media (max-width:900px){
  .hero__media img{max-width:320px}
  .hero__grid{grid-template-columns:1fr!important}
  .hero__tri{display:none}
  /* z-index:auto: se il blocco crea un proprio contesto di impilamento (es. z-index:1 in .fx-map, .ct-card)
     il triangolo a z-index:-1 finisce sopra il suo sfondo; così resta sotto, nel contesto di .hero__grid */
  .hero__grid > :last-child{position:relative;z-index:auto;padding-top:24px}
  .hero__grid > :last-child::before{content:"";position:absolute;right:calc(-1*var(--gutter));top:0;bottom:calc(-.8*var(--space));
    width:78vw;background:var(--red);clip-path:polygon(100% 0,100% 100%,0 100%);z-index:-1}
}
@media (max-width:480px){.btn-row .btn{width:100%}}

/* correzioni emerse scrivendo le pagine interne */
.section--red .link-arrow{color:#fff}
.checks li{align-items:flex-start}
.checks li::before{margin-top:-1px}
.checks--sm li::before{margin-top:2px}
.card h2{font-size:var(--fs-h3);margin:0}

/* Hero a tutta altezza su desktop (revisione 2026-10-01): la prima schermata è solo la hero.
   Il contenuto si centra in verticale; le fasce in fondo (es. .launch-hero__strip) restano in basso.
   Escluse le hero che fanno da semplice titolo: Cookie (.lg-hero) e Configuratore (.wz-hero),
   dove il contenuto utile deve restare sopra la piega. */
@media (min-width:1001px) and (min-height:620px){
  .hero:not(.lg-hero):not(.wz-hero){min-height:calc(100svh - var(--nav-h));display:flex;flex-direction:column}
  .hero:not(.lg-hero):not(.wz-hero) > .container{margin-block:auto}
  .hero:not(.lg-hero):not(.wz-hero) > .launch-hero__strip{margin-block:0}
}
