:root{
  --navy:#001E41; --navy-2:#0A2B55; --navy-3:#00142E; --line-dark:#1B3F6B;
  --navy-hover:#163C6E; --line-faint:#0B2547; --navy-rgb:0 30 65; /* famiglia del blu navy: si cambia solo qui */
  --oro:#C9AC78; --oro-rgb:201 172 120; --oro-scuro:#75603A;
  --azzurro:#A9BFD6; --azzurro-rgb:169 191 214; --azzurro-scuro:#46658A; --line-azzurro:#D6DFEA;
  /* ORO = punti di maggiore importanza (pulsanti, linee sotto i titoli, numeri del metodo, bordo foto).
     AZZURRO = elementi secondari (etichette, icone, menu, link secondari, focus, bordi).
     Le versioni -scuro sono per i fondi chiari, dove i colori tenui non si leggerebbero. */
  --cream:#EFEBE2; --paper:#FAF9F5; --white:#FFFFFF; --line:#E1DACB;
  --ink:#14202B; --text:#3E4A55; --muted:#5A6570; --on-dark:#D3E1E7; --on-dark-soft:#A9C0CA; --ivory:#F6F3EA;
  --font-titoli:'Cormorant Garamond', Georgia, serif; --serif:var(--font-titoli); --sans:'Montserrat', 'Helvetica Neue', Arial, sans-serif;
}
*{box-sizing:border-box}
[hidden]{display:none!important} /* l'attributo hidden vince sempre sugli stili display */

/* Cormorant Garamond (titoli) ospitato sul sito: fontsource 5.3.0, latino. Licenza: fonts/OFL-cormorant-garamond.txt */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/cormorant-garamond-latin-600-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/cormorant-garamond-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url(fonts/cormorant-garamond-latin-500-italic.woff2) format('woff2')}
/* Montserrat ospitato sul sito (fonts/), niente server Google. Licenza: fonts/OFL.txt */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/montserrat-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/montserrat-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/montserrat-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/montserrat-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 32px}
.skip{position:absolute;left:-9999px;top:0;background:var(--oro);color:var(--navy);padding:12px 16px;z-index:100}
.skip:focus{left:16px;top:16px}
:focus-visible{outline:2px solid var(--azzurro);outline-offset:3px}
.light :focus-visible,.cream :focus-visible{outline-color:var(--azzurro-scuro)}

/* type */
h1,h2,h3{font-family:var(--serif);margin:0;font-weight:600;line-height:1.1}
h1{font-size:clamp(46px,6vw,86px);line-height:1.02}
h2{font-size:clamp(36px,4.5vw,56px)}
h3{font-size:34px;font-weight:700}
.eyebrow{margin:0;font-size:13px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:var(--azzurro-scuro)}
.dark .eyebrow{color:var(--azzurro)}
.rule{width:96px;height:4px;background:var(--oro)}

/* sections */
.dark{background:var(--navy);color:var(--ivory)}
.dark h1,.dark h2,.dark h3{color:var(--ivory)}
.dark p{color:var(--on-dark)}
.light{background:var(--paper)}
.cream{background:var(--cream)}
.sec{padding:112px 0}
.sec-head{display:flex;flex-direction:column;gap:14px;max-width:720px;margin-bottom:56px}
.sec-head p{margin:0;font-size:17px;line-height:1.7;color:var(--text)}
.dark .sec-head p{color:var(--on-dark)}

/* header */
.site-header{background:var(--navy);color:var(--ivory)}
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 40px;padding-top:20px;padding-bottom:20px}
.brand{display:flex;flex-direction:column;gap:2px}
.brand .n{font-family:var(--serif);font-size:30px;font-weight:700;line-height:1.1;color:var(--ivory)}
.brand .l{font-size:12px;font-weight:600;letter-spacing:2.2px;text-transform:uppercase;color:var(--azzurro)}
.menu-btn{display:none;min-height:48px;padding:0 18px;background:transparent;color:var(--ivory);border:1px solid var(--line-dark);font:500 14px var(--sans);cursor:pointer}
nav.main{display:flex;flex-wrap:wrap;align-items:center;gap:0 28px}
nav.main a{font-size:14px;font-weight:500;padding:12px 0;color:#FFFFFF}
nav.main a:is(:hover,:focus-visible),nav.main a[aria-current="page"]{color:var(--azzurro)}
/* sottolineatura oro: larga quanto la parola, si estende da sinistra a destra; fissa sulla pagina corrente */
.nav-label{position:relative;display:inline-block}
.nav-label::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:2px;background:var(--azzurro);transform:scaleX(0);transform-origin:left center;transition:transform .25s ease}
nav.main a:is(:hover,:focus-visible) .nav-label::after,nav.main a[aria-current="page"] .nav-label::after{transform:scaleX(1)}
@media (prefers-reduced-motion:reduce){.nav-label::after{transition:none}}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 32px;background:var(--oro);color:var(--navy);font:600 15px var(--sans);border:none;border-radius:2px;cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.sm{min-height:48px;padding:0 22px;font-size:14px}
.btn.navy{background:var(--navy);color:var(--ivory)}
nav.main .btn{color:var(--navy)}
.link{display:inline-flex;align-items:center;gap:10px;min-height:48px;font-size:15px;font-weight:600;color:var(--azzurro-scuro);border-bottom:1px solid var(--azzurro-scuro);align-self:flex-start}
.link:hover{color:var(--ink);border-bottom-color:var(--ink)}
.dark .link{color:var(--azzurro);border-bottom-color:rgb(var(--azzurro-rgb) / .45);font-weight:500}
.dark .link:hover{color:var(--ivory);border-bottom-color:var(--azzurro)}
.arrow{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* hero */
.hero .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:64px;padding-top:72px;padding-bottom:112px}
.hero .copy{flex:1 1 520px;min-width:0;display:flex;flex-direction:column;gap:28px}
.hero h1{font-size:clamp(46px,5.6vw,80px)} /* un filo più piccolo del titolo generico: con il punto finale il titolo resta su due righe */
.hero .copy p.hero-tagline{margin:0 0 -14px;max-width:580px;font-family:var(--serif);font-style:italic;font-weight:500;font-size:clamp(21px,2vw,25px);line-height:1.35;color:var(--azzurro)} /* frase sopra il paragrafo: spazio ridotto sotto */
.hero .copy p.lead{margin:0;max-width:580px;font-size:19px;line-height:1.65}
.hero .actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 36px;margin-top:8px}
.photo{flex:0 1 400px;min-width:260px;width:100%;max-width:400px}
.photo .ph{aspect-ratio:4/5;width:100%;background:var(--navy-2);border:1px solid rgb(var(--oro-rgb) / .6);box-shadow:16px 16px 0 var(--navy-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px}
.photo.left .ph{box-shadow:-16px 16px 0 var(--navy-2)}
.photo .ph b{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--ivory)}
.photo .ph span{font-size:14px;color:var(--on-dark-soft)}
.photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;object-position:50% 30%;border:1px solid rgb(var(--oro-rgb) / .6);box-shadow:16px 16px 0 var(--navy-2)}
.photo.left img{box-shadow:-16px 16px 0 var(--navy-2)}
.idstrip{background:var(--navy-3)}
.idstrip .wrap{display:flex;flex-direction:column;align-items:center;gap:12px;padding-top:24px;padding-bottom:24px;font-size:14px;color:var(--on-dark-soft)}

/* cards */
.cards{display:flex;flex-wrap:wrap;gap:32px}
.card{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:20px;background:var(--white);border:1px solid var(--line-azzurro);padding:48px}
.card-top{display:flex;align-items:center;gap:16px}
.card .num{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--oro-scuro)}
.card h3{font-size:42px}
.card p{margin:0;font-size:16px;line-height:1.7;color:var(--text)}
.rows{display:flex;flex-direction:column}
.rows div{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding:14px 0;font-size:16px}
/* punto elenco: triangolo pieno oro scurito (7x9px), si sposta di 3px a destra al passaggio del mouse */
.rows div::before{content:"";flex:none;width:7px;height:9px;background:#A8884F;clip-path:polygon(0 0,100% 50%,0 100%);transition:transform .2s ease}
.rows div:hover::before{transform:translateX(3px)}
@media (prefers-reduced-motion:reduce){.rows div::before{transition:none}.rows div:hover::before{transform:none}}
.rows div:last-child{border-bottom:1px solid var(--line)}

/* steps */
.steps{display:flex;flex-wrap:wrap;gap:48px}
.step{flex:1 1 280px;min-width:0;display:flex;flex-direction:column;gap:16px;border-top:1px solid var(--line-dark);padding-top:18px}
.step .n{font-family:var(--serif);font-size:72px;font-weight:600;line-height:1;color:var(--oro)}
.step p{margin:0;font-size:16px;line-height:1.7}

/* videos */
/* griglia: tante colonne quanti video (fino a 3), una sola su telefono; 2 video = 2 colonne uguali, senza buchi */
.vgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px;align-items:start}
.vcard{min-width:0;display:flex;flex-direction:column;gap:20px}
button.vthumb{border:0;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}
.vthumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)} /* toglie le sottili bande nere delle miniature 4:3 di YouTube */
.vthumb .play{position:relative;box-shadow:0 4px 18px rgb(var(--navy-rgb) / .35)}
/* con la miniatura il pulsante va nell'angolo, così non copre il volto */
.vthumb:has(img) .play{position:absolute;left:16px;bottom:16px;width:56px;height:56px}
.vthumb:has(img) .play svg{width:22px;height:22px}
.vthumb{overflow:hidden}
button.vthumb:hover .play{filter:brightness(1.08)}
.vmore{margin:40px 0 0}
/* pulsante al canale YouTube: blu petrolio su fondo avorio, freccia che scivola a destra al passaggio */
.btn-channel{gap:12px;background:var(--navy);color:#FFFFFF;transition:background-color .2s ease}
.btn-channel:hover{filter:none;background:var(--navy-hover)}
.btn-channel .arrow{flex:none;transition:transform .2s ease}
.btn-channel:hover .arrow{transform:translateX(4px)}
.cream .btn-channel:focus-visible{outline:3px solid var(--azzurro-scuro);outline-offset:3px}
.vnote{margin:24px 0 0;max-width:720px;font-size:13px;line-height:1.7;color:var(--muted)}
.vthumb{aspect-ratio:16/9;width:100%;background:var(--navy);position:relative;display:flex;align-items:center;justify-content:center}
.vthumb iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.play{width:72px;height:72px;border-radius:50%;background:var(--oro);display:flex;align-items:center;justify-content:center}
.play svg{width:28px;height:28px;stroke:var(--navy);fill:none;stroke-width:2;stroke-linejoin:round}
.badge{position:absolute;left:16px;top:16px;padding:6px 12px;background:var(--navy-2);color:#E6EFF3;font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.vtitle{font-family:var(--serif);font-size:28px;font-weight:700;line-height:1.15;color:var(--ink)}
.vtag{font-size:14px;color:var(--muted)}

/* about */
.about .wrap{display:flex;flex-wrap:wrap;align-items:center;gap:72px;padding-top:112px;padding-bottom:112px}
.about .photo{flex-basis:380px;max-width:380px}
.about .copy{flex:1 1 480px;min-width:0;display:flex;flex-direction:column;gap:28px}
.quote{margin:0;font-family:var(--serif);font-size:30px;font-style:italic;font-weight:500;line-height:1.3;color:var(--ivory)}
.copy p.body{margin:0;font-size:16px;line-height:1.7}
.facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px;margin-top:8px} /* 2x2: con le icone quattro in fila non stanno */
@media (max-width:480px){.facts{grid-template-columns:1fr;gap:16px}}
.fact{min-width:0;display:flex;align-items:flex-start;gap:14px;border-top:1px solid var(--line-dark);padding-top:16px}
.fact > p{margin:0;min-width:0;display:flex;flex-direction:column;gap:6px}
.fact .k{font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--azzurro)}
.fact .v{font-size:16px;color:#E6EFF3}

/* page head */
.pagehead .wrap{padding-top:80px;padding-bottom:88px;display:flex;flex-direction:column;gap:24px}
.pagehead h1{font-size:clamp(44px,5.5vw,72px)}
.pagehead p.lead{margin:0;max-width:720px;font-size:19px;line-height:1.65}

/* topics + faq */
.topics{display:flex;flex-wrap:wrap;gap:32px}
.topic{flex:1 1 440px;min-width:0;background:var(--white);border:1px solid var(--line-azzurro);padding:36px;display:flex;flex-direction:column;gap:12px}
.topic h3{font-size:32px}
.topic p{margin:0;font-size:16px;line-height:1.7;color:var(--text)}
details.faq{border-top:1px solid var(--line)}
details.faq:last-of-type{border-bottom:1px solid var(--line)}
details.faq summary{cursor:pointer;list-style:none;min-height:64px;padding:18px 0;font-family:var(--sans);font-size:18px;font-weight:600;line-height:1.4;display:flex;justify-content:space-between;align-items:center;gap:24px}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-family:var(--sans);font-size:28px;color:var(--azzurro-scuro)}
details.faq[open] summary::after{content:"\2212"}
details.faq p{margin:0 0 24px;max-width:720px;font-size:16px;line-height:1.7;color:var(--text)}
.prose{max-width:720px;display:flex;flex-direction:column;gap:20px}
.prose p{margin:0;font-size:17px;line-height:1.75;color:var(--text)}

/* contact */
.contact-grid{display:flex;flex-wrap:wrap;gap:48px}
form.contact{flex:1.3 1 480px;min-width:0;display:flex;flex-direction:column;gap:22px;background:var(--white);border:1px solid var(--line);padding:48px}
.field{display:flex;flex-direction:column;gap:8px;flex:1 1 200px}
.field-row{display:flex;flex-wrap:wrap;gap:22px}
form.contact > .field{flex:none}
label{font-size:13px;font-weight:600;color:var(--ink)}
input[type=text],input[type=tel],input[type=email],select,textarea{width:100%;min-height:52px;padding:0 16px;font:400 16px var(--sans);color:var(--ink);background:var(--white);border:1px solid #B9AF98;border-radius:2px}
textarea{min-height:0;padding:14px 16px;line-height:1.55;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--azzurro-scuro);outline-offset:1px}
.check{display:flex;align-items:flex-start;gap:12px}
.check input{width:22px;height:22px;margin:2px 0 0;flex:none}
.check label{font-weight:400;font-size:14px;line-height:1.6;color:var(--text)}
form.contact .note{margin:0;font-size:14px;line-height:1.65;color:var(--text)}
.hp{position:absolute;left:-9999px}
.info{flex:1 1 300px;min-width:0;display:flex;flex-direction:column}
.info > div{display:flex;align-items:flex-start;gap:16px;border-top:1px solid var(--line);padding:22px 0}
.info > div:last-child{border-bottom:1px solid var(--line)}
.info > div > p{margin:0;min-width:0;display:flex;flex-direction:column;gap:6px}
.info .k{font-size:12px;font-weight:600;letter-spacing:1.6px;text-transform:uppercase;color:var(--azzurro-scuro)}
.info .v{font-size:17px;line-height:1.5;overflow-wrap:anywhere}
/* link di contatto (WhatsApp, Chiama, email, PEC): a riposo identici al testo intorno;
   si illuminano solo al passaggio del mouse, al focus da tastiera e al clic. */
.info .v a{color:inherit;font-weight:inherit;text-decoration:underline 1px transparent;text-underline-offset:4px;transition:color .2s ease,text-decoration-color .2s ease}
.info .v a:is(:hover,:focus-visible,:active){color:var(--azzurro-scuro);text-decoration-color:currentColor}
/* fascia sotto l'hero: telefono ed email sono un unico link (cerchio + testo) che si illumina d'oro */
.idlink{display:inline-flex;align-items:center;gap:10px;text-align:left;color:inherit}
.idlink .idtxt{text-decoration:underline 1px transparent;text-underline-offset:4px;transition:color .2s ease,text-decoration-color .2s ease}
.idlink .ico{transition:background-color .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease}
.idlink:is(:focus-visible,:active) .idtxt{color:var(--oro);text-decoration-color:var(--oro)}
.idlink:is(:focus-visible,:active) .ico{--ring:var(--oro);--tint:var(--oro);box-shadow:0 0 12px rgb(var(--oro-rgb) / .35)}
.idlink:focus-visible{outline-color:var(--oro)}
@media (hover:hover){
  .idlink:hover .idtxt{color:var(--oro);text-decoration-color:var(--oro)}
  .idlink:hover .ico{--ring:var(--oro);--tint:var(--oro);box-shadow:0 0 12px rgb(var(--oro-rgb) / .35)}
}
@media (prefers-reduced-motion:reduce){.info .v a,.idlink .idtxt,.idlink .ico{transition:none}}
/* su telefono: area di tocco di almeno 44px */
@media (max-width:760px){.info .v a,.idlink{display:inline-flex;align-items:center;min-height:44px}}

/* ambiti di intervento (home): fondo bianco puro, testi navy, icone a linea navy senza cerchio,
   linee verticali grigio-azzurro; linea sottile in alto per staccarla dalla sezione chiara sopra */
.temi-sec{--temi-sep:#D5DEE8;--temi-testo:#3A4A60;background:var(--white);border-top:1px solid #E6E1D6}
.temi-sec .rule{background:var(--oro-scuro)}
.temi-sec h2{color:var(--navy)}
.temi-sec .sec-head p,.temi-outro{color:var(--temi-testo)}
.sec-head.centered{align-items:center;text-align:center;margin-inline:auto}
.temi{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:48px}
.temi li{display:flex}
.temi li:not(:nth-child(3n+1)){border-left:1px solid var(--temi-sep)}
.tema{flex:1;display:flex;flex-direction:column;align-items:center;gap:18px;padding:8px 28px;text-align:center;color:var(--navy)}
.tema-ico{color:var(--navy);transition:color .2s ease}
.tema-ico svg{display:block;width:36px;height:36px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tema-nome{font-family:var(--sans);font-size:16px;font-weight:400;line-height:1.4;max-width:15em;text-wrap:balance;text-decoration:underline 1px transparent;text-underline-offset:5px;transition:color .2s ease,text-decoration-color .2s ease}
a.tema:is(:hover,:focus-visible) :is(.tema-ico,.tema-nome){color:var(--azzurro-scuro)}
a.tema:is(:hover,:focus-visible) .tema-nome{text-decoration-color:currentColor}
.temi-outro{margin:56px auto 0;max-width:640px;text-align:center;font-size:16px;line-height:1.7}
.temi-outro a{color:var(--azzurro-scuro);text-decoration:underline 1px;text-underline-offset:4px}
.temi-outro a:hover{color:var(--navy)}
@media (max-width:900px){
  .temi{grid-template-columns:repeat(2,minmax(0,1fr))}
  .temi li:not(:nth-child(3n+1)){border-left:0}
  .temi li:nth-child(2n){border-left:1px solid var(--temi-sep)}
}
@media (max-width:600px){
  .temi{grid-template-columns:1fr;row-gap:0}
  .temi li:nth-child(2n){border-left:0}
  .temi li + li{border-top:1px solid var(--temi-sep)}
  .tema{flex-direction:row;justify-content:flex-start;text-align:left;padding:20px 0;gap:16px}
  .tema-ico svg{width:30px;height:30px}
  .tema-nome{font-size:15px;max-width:none}
  .temi-outro{margin-top:40px}
}
@media (prefers-reduced-motion:reduce){.tema-ico,.tema-nome{transition:none}}

/* icone nel cerchio: linea 1.5px, 24px; cerchio 56px (schede) o 40px (contatti). Colori secondo il fondo. */
.ico{--ring:var(--azzurro-scuro);--fill:var(--ivory);--tint:var(--azzurro-scuro);flex:none;width:56px;height:56px;border-radius:50%;border:1px solid var(--ring);background:var(--fill);color:var(--tint);display:inline-flex;align-items:center;justify-content:center;transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.ico.sm{width:40px;height:40px}
.ico svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.dark .ico,.idstrip .ico{--ring:var(--azzurro);--fill:var(--navy-2);--tint:var(--azzurro)}
.card:hover .ico{--fill:var(--azzurro-scuro);--ring:var(--azzurro-scuro);--tint:#FFFFFF}
/* due righe centrate: Ordine + indirizzo, telefono + email */
.idrow{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 40px}
.idrow > :is(span,a){display:inline-flex;align-items:center;gap:10px;text-align:left}
@media (prefers-reduced-motion:reduce){.ico{transition:none}}

/* footer */
.site-footer{background:var(--navy-3);color:var(--on-dark)}
.site-footer .wrap{padding-top:64px;padding-bottom:96px;display:flex;flex-direction:column;gap:40px}
.foot-top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:32px 64px}
.foot-top .n{font-family:var(--serif);font-size:30px;font-weight:700;color:var(--ivory)}
.foot-top p{margin:12px 0 0;font-size:14px;line-height:1.75;color:var(--on-dark-soft)}
.foot-nav{display:flex;flex-wrap:wrap;gap:0 28px;align-content:flex-start}
.foot-nav a{font-size:14px;padding:12px 0;color:var(--on-dark)}
.foot-nav a:hover{color:var(--azzurro)}
.foot-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px}
/* icone social: area di tocco 44px; il margine negativo allinea il disegno al testo dei link sopra */
.social{display:flex;flex-wrap:wrap;gap:4px;margin:0 -12px 0 0;padding:0;list-style:none}
.social a{display:flex;align-items:center;justify-content:center;width:44px;height:44px;color:var(--azzurro);transition:color .2s ease,transform .2s ease}
.social svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.social svg .dot{fill:currentColor}
.social a:hover{color:var(--ivory);transform:translateY(-2px)}
.disc{margin:0;border-top:1px solid var(--line-faint);padding-top:24px;font-size:13px;line-height:1.7;color:var(--on-dark-soft)}

@media (max-width:1100px){
  .menu-btn{display:inline-flex;align-items:center}
  nav.main{display:none;width:100%;flex-direction:column;align-items:stretch;gap:0;padding-top:8px}
  nav.main.open{display:flex}
  nav.main a:not(.btn){border-top:1px solid var(--line-dark);font-size:15px}
  nav.main .btn{margin-top:16px;align-self:flex-start}
}
@media (max-width:760px){
  .wrap{padding:0 20px}
  .idstrip .wrap{align-items:flex-start;gap:6px}
  .idrow{flex-direction:column;align-items:flex-start;gap:6px}
  .foot-right{align-items:flex-start}
  .social{margin:0 0 0 -12px}
  .sec{padding:72px 0}
  .card,form.contact{padding:28px}
  .hero .wrap{padding-top:48px;padding-bottom:72px;gap:40px}
  .about .wrap{padding-top:72px;padding-bottom:72px;gap:48px}
  .photo .ph,.photo img,.photo.left .ph,.photo.left img{box-shadow:8px 8px 0 var(--navy-2)}
  details.faq summary{font-size:17px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* movimento discreto */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}
.card,.topic,.vcard .vthumb{transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}
.card:hover,.topic:hover{transform:translateY(-3px);border-color:var(--azzurro-scuro)}
.vcard button.vthumb:hover{transform:translateY(-3px)}
.btn,.link,nav.main a,.foot-nav a{transition:filter .2s ease,color .2s ease,border-color .2s ease}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .card,.topic,.vcard .vthumb{transition:none}
  .card:hover,.topic:hover,.vcard button.vthumb:hover,.social a:hover,.btn-channel:hover .arrow{transform:none}
  .btn-channel .arrow{transition:none}
  .social a{transition:none}
}

/* logo */
/* header: immagine (bilancia + nome), sotto "Avv. Lidia Perri" in corsivo e l'ornamento del logo del footer */
.brand{align-items:center;gap:0}
.brand .blogo{display:block;height:60px;width:auto}
.brand .bsub{margin-top:3px;font-family:var(--font-titoli);font-style:italic;font-weight:500;font-size:17px;line-height:1.1;letter-spacing:.3px;color:var(--azzurro)}
.brand .born{display:block;width:96px;height:auto;margin-top:3px;opacity:.85}
.flogo{display:block;height:auto;width:220px;max-width:100%;margin-bottom:8px}
.nowrap{white-space:nowrap}
@media (max-width:760px){.brand .blogo{height:46px}.brand .bsub{font-size:14px;margin-top:2px}.brand .born{width:76px;margin-top:2px}}

/* approfondimenti */
.posts{max-width:860px;display:flex;flex-direction:column}
.post{display:flex;flex-direction:column;gap:14px;border-top:1px solid var(--line);padding:40px 0}
.post:last-child{border-bottom:1px solid var(--line)}
.post h2{font-size:clamp(30px,3.4vw,40px);font-weight:700}
.post h2 a:hover{color:var(--azzurro-scuro)}
.post p{margin:0;font-size:16px;line-height:1.7;color:var(--text)}
.post .post-meta,.post-empty{font-size:13px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.draft{display:inline-block;margin-left:14px;padding:4px 10px;border:1px solid var(--azzurro-scuro);color:var(--azzurro-scuro);font-size:12px;font-weight:600;letter-spacing:1px;text-transform:uppercase}
.pagehead .draft{align-self:flex-start;margin-left:0;border-color:var(--azzurro);color:var(--azzurro)}
.article h2{font-size:clamp(30px,3.4vw,38px);margin-top:28px}
.article h3{font-size:26px;margin-top:12px}
.article ul{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:10px;font-size:17px;line-height:1.75;color:var(--text)}
.article strong{color:var(--ink);font-weight:600}
.article a:not(.link){color:var(--azzurro-scuro);text-decoration:underline}
.article .article-note{margin-top:24px;border-top:1px solid var(--line);padding-top:24px;font-size:14px;line-height:1.6;color:var(--muted)}

/* mappa (si carica solo al clic) */
.map-box{background:var(--navy-2);border-top:1px solid var(--line-dark)}
.map-box iframe{display:block;width:100%;height:400px;border:0}
.map-ph{min-height:400px;display:flex;align-items:center;max-width:1200px;margin:0 auto;padding:40px 32px;color:var(--ivory)}
.map-copy{display:flex;flex-direction:column;gap:16px;max-width:640px;border-left:4px solid var(--oro);padding-left:28px}
.map-ph .eyebrow{color:var(--azzurro)}
.map-addr{margin:0;font-family:var(--serif);font-size:clamp(28px,3.4vw,40px);font-weight:600;line-height:1.15}
.map-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 32px}
.map-ph .link{color:var(--azzurro);border-bottom-color:rgb(var(--azzurro-rgb) / .45);font-weight:500}
.map-ph .link:hover{color:var(--ivory);border-bottom-color:var(--azzurro)}
.map-note{margin:0;font-size:13px;line-height:1.7;color:var(--on-dark-soft)}
@media (max-width:760px){
  .map-box iframe{height:300px}
  .map-ph{min-height:300px;padding:32px 20px}
  .map-copy{gap:12px;padding-left:18px}
  .map-actions{gap:8px 24px}
  .map-note{font-size:12.5px}
}

/* pulsante WhatsApp flottante: pillola avorio con cerchio verde; su mobile solo il cerchio */
/* contenitore fisso: solo position + bottom/right, nessun transform (su iOS resta ancorato in basso) */
.wa-float{position:fixed;right:16px;bottom:calc(20px + env(safe-area-inset-bottom, 0px));z-index:90;display:block;border-radius:999px;text-decoration:none}
.wa-float:focus-visible{outline:2px solid var(--azzurro);outline-offset:3px}
/* aspetto e sollevamento all'hover sull'elemento interno */
.wa-inner{display:inline-flex;align-items:center;gap:10px;padding:6px 6px 6px 16px;border-radius:999px;background:#FFFFFF;border:1px solid #E3DCCB;color:var(--navy);font-size:14px;font-weight:600;line-height:1;box-shadow:0 4px 14px rgb(var(--navy-rgb) / .10);transition:transform .2s ease,border-color .2s ease}
@media (hover:hover){.wa-float:hover .wa-inner{transform:translateY(-2px);border-color:#D3C8AE}}
.wa-ico{flex:none;width:32px;height:32px;border-radius:50%;background:#25D366;color:#FFFFFF;display:inline-flex;align-items:center;justify-content:center}
.wa-ico svg{width:18px;height:18px;fill:currentColor}
@media (max-width:760px){
  .wa-inner{padding:0;background:transparent;border:0;box-shadow:none}
  .wa-text{display:none}
  .wa-ico{width:52px;height:52px;border:2px solid #FFFFFF;box-shadow:0 4px 14px rgb(var(--navy-rgb) / .10)}
  .wa-ico svg{width:28px;height:28px}
}
@media (prefers-reduced-motion:reduce){.wa-inner{transition:none}.wa-float:hover .wa-inner{transform:none}}

/* ---------- pagina "Di cosa mi occupo" ---------- */
/* hero con indice dei due gruppi */
.aree-hero .wrap{padding-bottom:72px}
.aree-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px;margin-top:28px;border-top:1px solid var(--line-dark);padding-top:40px}
.ai-group{display:flex;flex-direction:column;gap:14px}
.ai-label{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;font-family:var(--serif);font-size:32px;font-weight:600;color:var(--ivory)}
.ai-label .arrow{color:var(--oro);transition:transform .2s ease}
.ai-label:hover .arrow{transform:translateX(4px)}
.ai-group p{margin:0;max-width:520px;font-size:15px;line-height:1.7;color:var(--on-dark-soft)}
.ai-group ol{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column}
.ai-group ol a{display:flex;align-items:baseline;gap:14px;padding:9px 0;border-top:1px solid var(--line-faint);font-size:15px;color:var(--on-dark);transition:color .2s ease}
.ai-group ol a span{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--oro);min-width:24px}
.ai-group ol a:hover{color:var(--azzurro)}

/* sezioni: penale su navy, civile su avorio; testo e illustrazione si alternano */
.area-group.ivory{background:var(--ivory);color:var(--navy)}
.area-sec{padding:104px 0}
.area-group .area-sec + .area-sec{border-top:1px solid var(--line-faint)}
.area-group.ivory .area-sec + .area-sec{border-top-color:#E6E1D6}
.area-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center}
.area-sec.rev .area-copy{order:2}
.area-copy{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:540px}
.area-num{font-family:var(--serif);font-size:clamp(64px,7vw,96px);font-weight:600;line-height:.85;color:var(--oro);margin-bottom:6px}
.ivory .area-num{color:var(--oro-scuro)}
.area-copy h2{font-size:clamp(34px,3.8vw,50px)}
.ivory .area-copy h2{color:var(--navy)}
.ivory .eyebrow{color:var(--azzurro-scuro)}
.area-text{margin:0;font-size:17px;line-height:1.7;color:var(--on-dark)}
.ivory .area-text{color:#3A4A60}
.area-points{list-style:none;margin:4px 0 8px;padding:0;display:flex;flex-direction:column;gap:12px;width:100%}
.area-points li{display:flex;align-items:center;gap:14px;font-size:16px;line-height:1.45;color:var(--ivory)}
.ivory .area-points li{color:var(--navy)}
.pt-ico{flex:none;display:inline-flex}
.pt-ico svg{width:22px;height:22px;fill:none;stroke:var(--azzurro);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.ivory .pt-ico svg{stroke:var(--azzurro-scuro)}

/* illustrazioni a linea: tre livelli di profondità + accento oro */
.illu{margin:0;width:100%;max-width:520px;justify-self:center}
.illu-svg{display:block;width:100%;height:auto;overflow:visible;fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.illu-svg .il-back{stroke:var(--azzurro);opacity:.3}
.illu-svg .il-mid{stroke:var(--azzurro);opacity:.8}
.illu-svg .il-front{stroke:var(--ivory)}
.illu-svg .il-oro{stroke:var(--oro);stroke-width:1.8}
.ivory .illu-svg .il-back{stroke:var(--azzurro-scuro);opacity:.3}
.ivory .illu-svg .il-mid{stroke:var(--azzurro-scuro);opacity:.85}
.ivory .illu-svg .il-front{stroke:var(--navy)}
.ivory .illu-svg .il-oro{stroke:var(--oro-scuro)}
/* parallax leggero: i livelli scorrono a velocità diverse (--px impostato dallo script) */
.illu-svg .il-back{transform:translateY(calc(var(--px, 0) * 22px))}
.illu-svg .il-front,.illu-svg .il-oro{transform:translateY(calc(var(--px, 0) * -14px))}
/* le linee si disegnano quando la sezione entra nello schermo (solo con animazioni attive) */
.illu.reveal .illu-svg g > *{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 1.4s ease}
.illu.reveal .illu-svg .il-mid > *{transition-delay:.25s}
.illu.reveal .illu-svg .il-front > *{transition-delay:.5s}
.illu.reveal .illu-svg .il-oro > *{transition-delay:.9s}
.illu.in .illu-svg g > *{stroke-dashoffset:0}
.illu-foto img{display:block;width:100%;height:auto;aspect-ratio:5/4;object-fit:cover;border:1px solid rgb(var(--oro-rgb) / .6)}

/* barra laterale di avanzamento (desktop) e linea in cima alla pagina */
.page-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:95;pointer-events:none}
.page-progress span{display:block;height:100%;background:var(--oro);transform:scaleX(0);transform-origin:left center}
.aree-progress{display:none}
@media (min-width:1180px){
  .aree-progress{position:fixed;left:18px;top:50%;z-index:80;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 7px;border-radius:999px;background:rgb(255 255 255 / .94);border:1px solid #E3DCCB;box-shadow:0 4px 14px rgb(var(--navy-rgb) / .10);transform:translateY(-50%) translateX(-8px);opacity:0;visibility:hidden;transition:opacity .3s ease,transform .3s ease,visibility .3s}
  .aree-progress.on{opacity:1;visibility:visible;transform:translateY(-50%)}
  /* lascia spazio alla barra (circa 80px dal bordo) sugli schermi dove il margine non basta */
  .aree-body .wrap{padding-left:max(32px, calc(84px - (100vw - 1200px) / 2))}
}
.ap-track{position:absolute;left:50%;top:22px;bottom:22px;width:2px;margin-left:-1px;background:#E3DCCB}
.ap-fill{display:block;height:100%;background:var(--oro);transform:scaleY(0);transform-origin:top center}
.ap-group{position:relative;padding:4px 0;text-align:center;line-height:1;font-size:8px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--azzurro-scuro)}
.ap-group + a{margin-top:0}
.aree-progress a{position:relative;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#FFFFFF;border:1px solid #D5DEE8;font-size:11px;font-weight:600;color:var(--navy);transition:background-color .2s ease,border-color .2s ease}
.aree-progress a:hover{border-color:var(--azzurro-scuro)}
.aree-progress a.active{background:var(--oro);border-color:var(--oro)}

/* domande frequenti e invito finale */
.faq-list{max-width:900px}
details.faq p a{color:var(--azzurro-scuro);text-decoration:underline 1px;text-underline-offset:3px}
details.faq p a:hover{color:var(--navy)}
.aree-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:32px}
.aree-cta h2{max-width:640px}
.aree-cta p{margin:12px 0 0;font-size:17px;line-height:1.7}

/* menu nel footer */
.foot-menu{justify-content:flex-end}

@media (max-width:900px){
  .area-grid{grid-template-columns:1fr;gap:40px}
  .area-sec.rev .area-copy{order:0}
  .illu{order:-1;max-width:420px;justify-self:start}
  .aree-index{grid-template-columns:1fr}
}
@media (max-width:760px){
  .area-sec{padding:72px 0}
  .ai-label{font-size:28px}
  .foot-menu{justify-content:flex-start}
}
@media (prefers-reduced-motion:reduce){
  .illu-svg .il-back,.illu-svg .il-front,.illu-svg .il-oro{transform:none}
  .ai-label .arrow,.aree-progress,.aree-progress a{transition:none}
}

/* Chi sono: sezione bianca "Formazione ed esperienza" (testi navy, niente azzurro chiaro) */
.percorso{background:var(--white);color:var(--navy)}
.percorso .eyebrow{color:var(--azzurro-scuro)}
.percorso h2,.percorso h3{color:var(--navy)}
.percorso-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 64px}
.percorso-col{display:flex;flex-direction:column;gap:14px;border-top:1px solid #D5DEE8;padding-top:28px}
.percorso-col h3{display:flex;align-items:center;gap:14px;font-size:32px}
.percorso .pt-ico svg{width:28px;height:28px;fill:none;stroke:var(--navy);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.percorso-col p{margin:0;max-width:540px;font-size:17px;line-height:1.75;color:#3A4A60}
.percorso-cta{margin-top:48px;border-top:1px solid #D5DEE8;padding-top:48px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px}
.percorso-cta p{margin:0;font-family:var(--serif);font-size:26px;font-weight:600;color:var(--navy)}
.percorso .btn{background:var(--navy);color:#FFFFFF;transition:background-color .2s ease}
.percorso .btn:hover{filter:none;background:var(--navy-hover)}
.percorso .btn:focus-visible{outline-color:var(--azzurro-scuro)}
@media (max-width:760px){
  .percorso-cols{grid-template-columns:1fr}
  .percorso-col h3{font-size:28px}
  .percorso-cta p{font-size:22px}
}

/* Chi sono: "Alcuni miei interventi" (video su fondo navy, griglia 2x2) */
.interventi .vgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.dark .vtitle{color:var(--ivory)}
.dark .vtag{color:var(--azzurro)}
.dark .vnote{color:var(--on-dark-soft)}
/* stesso pulsante della pagina Video, a colori invertiti per stare sul navy */
.dark .btn-channel{background:var(--ivory);color:var(--navy)}
.dark .btn-channel:hover{background:#FFFFFF}
.dark .btn-channel:focus-visible{outline:3px solid var(--azzurro);outline-offset:3px}
@media (max-width:760px){.interventi .vgrid{grid-template-columns:1fr}}

/* Domande frequenti (home e pagine principali): bianco puro, linea sottile in alto per staccarla dalle sezioni chiare */
.faq-sec{background:var(--white);border-top:1px solid #E6E1D6}
.faq-sec .eyebrow{color:var(--azzurro-scuro)}
.faq-sec h2,.faq-sec details.faq summary{color:var(--navy)}
.faq-sec details.faq{border-top-color:#D5DEE8}
.faq-sec details.faq:last-of-type{border-bottom-color:#D5DEE8}
.faq-sec details.faq p{color:#3A4A60}

/* FAQ: link "Guarda sulla mappa" (come "Guarda i video informativi", colori per fondo chiaro) */
details.faq p a.faq-map{display:inline-flex;min-height:0;margin-left:4px;gap:8px;font-size:inherit;font-weight:600;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--navy);transition:color .2s ease,border-color .2s ease}
details.faq p a.faq-map:hover{color:var(--oro);border-bottom-color:var(--oro)}
details.faq p a.faq-map .arrow{width:16px;height:16px}
@media (prefers-reduced-motion:reduce){details.faq p a.faq-map{transition:none}}

/* Home: valutazione Google (compare solo con home.google.mostra = true) */
.rating-sec{background:var(--paper)} /* stesso fondo della sezione "Aree di attività" sotto, così le due parti sono continue */
.rating-rule{height:1px;background:#E6E1D6} /* larga quanto il contenuto, allineata alle card */
.rating-sec + .sec{padding-top:44px} /* spazio sotto la linea uguale a quello sopra */
.rating{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px 28px;padding-top:30px;padding-bottom:44px;text-align:center}
.rating p{margin:0;font-size:16px;color:#3A4A60}
.rating strong{font-family:var(--serif);font-size:28px;font-weight:600;color:var(--navy);vertical-align:-3px}
.stars{position:relative;display:inline-flex}
.stars-empty,.stars-full{display:inline-flex;gap:4px}
.stars-fill{position:absolute;top:0;left:0;height:100%;overflow:hidden;white-space:nowrap}
.stars svg{flex:none;width:22px;height:22px;stroke:var(--oro);stroke-width:1.5;stroke-linejoin:round}
.stars-empty svg{fill:none}
.stars-full svg{fill:var(--oro)}
.rating .link{align-self:center;color:var(--navy);border-bottom-color:var(--navy)}
.rating .link:hover{color:var(--azzurro-scuro);border-bottom-color:var(--azzurro-scuro)}

/* Home: fascia di numeri (navy, numeri oro, etichette azzurre, separatori sottili) */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.stats{background:var(--navy);color:var(--ivory)}
.stats-list{list-style:none;margin:0;padding:72px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.stats-list li{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px 20px;text-align:center}
.stats-list li + li{border-left:1px solid rgb(var(--azzurro-rgb) / .25)}
.stat-num{font-family:var(--serif);font-size:clamp(52px,5.6vw,72px);font-weight:600;line-height:1;color:var(--oro);font-variant-numeric:lining-nums proportional-nums}
/* numero e "+" attaccati; la larghezza resta quella del valore finale (copia invisibile sotto) così nulla si sposta mentre conta */
.stat-val{display:inline-flex;align-items:baseline}
.stat-digits{display:inline-grid;justify-items:end}
.stat-digits > *{grid-area:1 / 1}
.stat-ghost{visibility:hidden}
.stat-suf{font-size:.7em;margin-left:.03em;position:relative;top:-.18em}
.stat-label{font-size:12px;font-weight:600;letter-spacing:2px;text-transform:uppercase;line-height:1.5;color:var(--azzurro)}
@media (max-width:760px){
  .stats-list{grid-template-columns:repeat(2,minmax(0,1fr));padding:48px 0;row-gap:0}
  .stats-list li{padding:24px 12px}
  .stats-list li + li{border-left:0}
  .stats-list li:nth-child(2n){border-left:1px solid rgb(var(--azzurro-rgb) / .25)}
  .stats-list li:nth-child(n+3){border-top:1px solid rgb(var(--azzurro-rgb) / .25)}
  .stat-label{font-size:11px;letter-spacing:1.5px}
}

/* Home: sezione video su bianco puro (sopra e sotto ci sono sezioni navy) */
.video-home{background:var(--white)}

/* Contatti: riquadro di conferma dopo l'invio (prende il posto del modulo) */
.sent{flex:1.3 1 480px;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:18px;background:var(--white);border:1px solid var(--line);padding:56px 48px;outline:none;align-self:flex-start;animation:sent-in .6s ease both}
.sent-ico{width:64px;height:64px;border-radius:50%;border:1px solid var(--oro);display:inline-flex;align-items:center;justify-content:center}
.sent-ico svg{width:28px;height:28px;fill:none;stroke:var(--oro);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.sent h2{font-size:clamp(34px,3.6vw,46px);color:var(--navy)}
.sent p{margin:0;max-width:520px;font-size:17px;line-height:1.7;color:#3A4A60}
.sent .link{color:var(--navy);border-bottom-color:var(--navy);margin-top:6px}
.sent .link:hover{color:var(--azzurro-scuro);border-bottom-color:var(--azzurro-scuro)}
@keyframes sent-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:760px){.sent{padding:36px 28px}}
@media (prefers-reduced-motion:reduce){.sent{animation:none}}
