/* DM Sans, ospitato qui dentro: nessuna richiesta a Google, nessun
   consenso da chiedere, e il sito si vede uguale anche offline. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/font/dm-sans-400-ext.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:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('assets/font/dm-sans-400.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/font/dm-sans-500-ext.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:'DM Sans';font-style:normal;font-weight:500;font-display:swap;src:url('assets/font/dm-sans-500.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/font/dm-sans-600-ext.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:'DM Sans';font-style:normal;font-weight:600;font-display:swap;src:url('assets/font/dm-sans-600.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/font/dm-sans-700-ext.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:'DM Sans';font-style:normal;font-weight:700;font-display:swap;src:url('assets/font/dm-sans-700.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}


:root{
  --viola:#650065; --viola-acceso:#9F019F; --argento:#808080; --grafite:#333333;
  --grigio:#666666; --chiaro:#F4F5F7; --bianco:#fff; --bordo:#E4E4E8;
  --argento-txt:#6E6E6E;
  --ok:#177245; --warn:#B3261E; --ambra-bg:#FBEAD0;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;
  --r:12px; --rb:8px;
  --ombra:0 2px 8px rgba(10,42,94,.08);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"DM Sans",Verdana,Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--grafite);background:var(--bianco);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--viola);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{line-height:1.2;margin:0 0 var(--s2);color:var(--viola);font-weight:700}
h1{font-size:clamp(32px,5vw,52px)}
h2{font-size:clamp(26px,3.4vw,36px)}
h3{font-size:clamp(19px,2.2vw,23px);font-weight:500}
h4{font-size:17px;font-weight:700;color:var(--grafite)}
p{margin:0 0 var(--s2);max-width:68ch}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--s3)}
section{padding:var(--s7) 0}
section.tight{padding:var(--s5) 0}
.muted{color:var(--grigio);font-size:15px}
.cap{font-size:13px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--grigio)}
.center{text-align:center}
.center>p,.center>.cap,.center>.lead,.center>ul,.center>ol{margin-left:auto;margin-right:auto}
.lead{font-size:20px;color:var(--grafite)}

/* ---------- barra prototipo ---------- */
#proto{background:var(--grafite);color:#fff;font-size:13px;padding:8px 16px;text-align:center;position:relative;z-index:60}
#proto b{color:#fff}
#proto button{background:none;border:1px solid #666;color:#ddd;border-radius:99px;padding:2px 10px;font:inherit;cursor:pointer;margin-left:8px}

/* ---------- header ---------- */
header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--bordo)}
header .wrap{max-width:1300px;padding:0 var(--s4);min-height:74px}
.nav{display:flex;align-items:center;gap:var(--s3);height:74px}
.logo{display:flex;align-items:center;gap:10px;flex-shrink:0;cursor:pointer;text-decoration:none}
.logo img{width:min(210px,38vw);height:auto;display:block}
.logo .pay{font-size:9px;letter-spacing:.06em;color:var(--argento-txt);text-transform:uppercase;font-weight:700;line-height:1;margin-top:3px}
nav.main{display:flex;gap:17px;margin-left:auto;align-items:center;flex-wrap:nowrap}
nav.main a{color:var(--grafite);font-size:15px;font-weight:500;white-space:nowrap;text-decoration:none;padding:6px 0;border-bottom:2px solid transparent;transition:color .15s}
nav.main a:hover{color:var(--viola);border-bottom-color:var(--viola-acceso)}
nav.main a.on{color:var(--viola);border-bottom-color:var(--viola)}
nav.main a.hdr-cta{color:#fff;font-weight:600;border-bottom:0;padding:0 20px}
.hdr-cta{margin-left:26px;flex-shrink:0;position:relative;height:42px;border-radius:11px}
.hdr-cta::before{content:"";position:absolute;left:-26px;top:50%;transform:translateY(-50%);width:1px;height:26px;background:var(--bordo)}
.hdr-cta:hover{filter:brightness(1.07)}
.hdr-cta:focus-visible{outline:2px solid var(--viola);outline-offset:2px}
.burger{display:none;margin-left:auto;background:none;border:1px solid var(--bordo);border-radius:var(--rb);width:46px;height:46px;cursor:pointer;align-items:center;justify-content:center}
.burger span{display:block;width:20px;height:2px;background:var(--grafite);position:relative}
.burger span:before,.burger span:after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--grafite)}
.burger span:before{top:-6px}.burger span:after{top:6px}

/* ---------- pulsanti ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:500;border-radius:var(--rb);padding:0 22px;height:48px;cursor:pointer;border:1.5px solid transparent;text-decoration:none;transition:.15s}
.btn:hover{text-decoration:none;transform:translateY(-1px)}
.btn-p{background:var(--viola-acceso);color:#fff}
.btn-p:hover{background:var(--viola)}
.btn-s{background:transparent;color:var(--viola);border-color:var(--viola)}
.btn-s:hover{background:var(--viola);color:#fff}
.btn-w{background:#fff;color:var(--viola)}
.btn-wo{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-wo:hover{background:#fff;color:var(--viola)}
.btn-sm{height:40px;padding:0 16px;font-size:15px}
.btns{display:flex;gap:var(--s2);flex-wrap:wrap;margin-top:var(--s3)}

/* ---------- blocchi ---------- */
.hero{background:linear-gradient(rgba(101,0,101,.72),rgba(101,0,101,.72)),var(--argento);color:#fff;padding:var(--s7) 0}
.hero h1{color:#fff;max-width:16ch}
.hero p{color:rgba(255,255,255,.92);font-size:20px;max-width:56ch}
.bivio{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s5)}
.card-b{background:#fff;border-radius:var(--r);padding:var(--s4)}
.card-b h2{color:var(--viola);font-weight:700;font-size:22px}
.card-b p{color:var(--grafite);font-size:16px;margin-bottom:var(--s3)}

.fascia{background:var(--chiaro);border-top:1px solid var(--bordo);border-bottom:1px solid var(--bordo)}
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--s3);text-align:center}
.nums>div>b{display:block;font-size:clamp(28px,3.4vw,40px);font-weight:700;color:var(--viola);line-height:1.1}
.nums>div>span{display:block;font-size:14.5px;color:var(--grigio);margin-top:6px}
.nums .n{font-size:clamp(28px,4vw,40px);font-weight:700;color:var(--viola);line-height:1.1}
.nums .l{font-size:14.5px;color:var(--grigio);margin-top:6px}

.viola{background:var(--viola);color:#fff}
.viola h2,.viola h3{color:#fff}
.viola p{color:rgba(255,255,255,.92)}

.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s3)}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);align-items:start}
.grid2>*,.grid3>*,.grid4>*,.bivio>*{min-width:0}
.card{background:#fff;border:1px solid var(--bordo);border-radius:var(--r);padding:var(--s3)}
.shot{position:relative;background:#faf7fa;border:2px dashed var(--viola);border-radius:var(--r);padding:var(--s4) var(--s3) var(--s3);text-align:center;display:flex;flex-direction:column;justify-content:center;min-height:230px}
.shot.r169{aspect-ratio:16/9;min-height:0}
.shot.r45{aspect-ratio:4/5;min-height:0}
.shot .sn{position:absolute;top:-14px;left:var(--s3);background:var(--viola);color:#fff;font-size:13px;font-weight:700;letter-spacing:.08em;padding:5px 12px;border-radius:20px}
.shot b{display:block;color:var(--viola);font-size:18px;margin-bottom:8px}
.shot small{display:block;color:var(--grigio);font-size:14.5px;line-height:1.5;max-width:44ch;margin:0 auto}
.shot .fmt{margin-top:10px;font-size:12.5px;color:var(--argento-txt);text-transform:uppercase;letter-spacing:.06em}
.brief{background:#fffdf4;border:1px solid #e6d9a8;border-left:4px solid #c9a227;border-radius:var(--r);padding:var(--s4)}
.brief h3{color:#7a5f00}
.brief ol{margin:var(--s2) 0 0 20px}
.brief ol>li{margin-bottom:14px;padding-left:4px}
.brief .no{background:#fff4f4;border-left-color:#a4001c}
.art{max-width:740px}
.art>p+p,.art>ul,.art>ol,.art>table,.art>.note{margin-top:var(--s2)}
.art h2{margin-top:var(--s5);font-size:24px}
.art h3{margin-top:var(--s4);font-size:19px}
.art ul,.art ol{margin-left:20px}
.art li{margin-bottom:9px}
.art .fonti{margin-top:var(--s5);padding-top:var(--s3);border-top:1px solid var(--bordo);font-size:14px;color:var(--grigio)}
.art .fonti li{margin-bottom:5px}
.gmeta{display:block;margin-bottom:var(--s2);font-size:14px;color:var(--argento-txt)}
.team{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;max-width:1120px;margin-left:auto;margin-right:auto}
.tp{display:block;background:#fff;border:1px solid var(--bordo);border-radius:14px;overflow:hidden;text-align:left}
.tp img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;border-bottom:1px solid var(--bordo)}
.tp .att{width:100%;aspect-ratio:4/5;border-bottom:1px dashed var(--argento);background:linear-gradient(160deg,#efe6f2,#e3d3ea);display:flex;align-items:center;justify-content:center}
.tp .att span{color:var(--viola);font-size:28px;font-weight:700;letter-spacing:.02em}
.tp .tb{padding:13px 15px 15px;min-width:0}
.tp h3{color:var(--viola);margin:0 0 4px;font-size:17px;line-height:1.25;font-weight:700}
.tp p{font-size:13.5px;line-height:1.45;color:var(--grigio);margin:0}
.rec{background:#fff;border:1px solid var(--bordo);border-radius:var(--r);padding:var(--s3);display:flex;flex-direction:column;gap:10px}
.rec .stars{color:#f0a202;font-size:17px;letter-spacing:2px}
.rec blockquote{margin:0;font-size:16.5px;color:var(--grafite);line-height:1.6}
.gscore{display:inline-flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--bordo);border-radius:var(--r);padding:14px 20px;text-decoration:none}
.glogo{width:22px;height:22px;flex:0 0 22px}
.rec .who .glogo{width:15px;height:15px;flex:0 0 15px;vertical-align:-3px;margin-right:5px}
.gscore b{font-size:30px;color:var(--viola);line-height:1}
.gscore .st{color:#f0a202;font-size:17px;letter-spacing:1px;display:block}
.gscore .n{font-size:14.5px;color:var(--grigio);display:block;margin-top:2px}
.gmini{display:inline-flex;align-items:center;gap:9px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:7px 16px;text-decoration:none;margin-top:var(--s2)}
.gmini .st{color:#ffd24d;font-size:14px;letter-spacing:1px}
.gmini span{color:#fff;font-size:14px}
.gmini b{color:#fff}
.gmini.chiaro{background:#fff;border-color:var(--bordo)}
.gmini.chiaro span{color:var(--grafite)}
.gmini.chiaro b{color:var(--grafite)}
.cerca{background:#fff;border:1px solid var(--bordo);border-radius:var(--r);padding:var(--s3);max-width:980px;margin:var(--s3) auto 0}
.cerca .tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:var(--s2)}
.cerca .tabs button{font:inherit;font-size:14.5px;font-weight:600;padding:9px 18px;border-radius:999px;border:1.5px solid var(--bordo);background:#fff;color:var(--grafite);cursor:pointer}
.cerca .tabs button.on{background:var(--viola);border-color:var(--viola);color:#fff}
.cerca .righe{display:grid;grid-template-columns:1fr 1fr 1fr 1fr auto;gap:10px;align-items:end}
.cerca .f{margin:0}
@media(max-width:1150px){
  nav.main{gap:11px}
  nav.main a{font-size:14px}
  .hdr-cta{margin-left:15px}
  .hdr-cta::before{left:-15px}
  nav.main a.hdr-cta{padding:0 14px}
}
@media(max-width:980px){.cerca .righe{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.cerca .righe{grid-template-columns:1fr}}
.rec .who{font-size:14.5px;color:var(--grigio);margin-top:auto}
.rec .piu{font-size:14.5px;color:var(--accento);font-weight:600;text-decoration:none}
.rec .piu:hover{text-decoration:underline}
.rec.vuota{border-style:dashed;border-color:var(--viola);background:#faf7fa}
.rec.vuota .lab{color:var(--viola);font-weight:700;font-size:14px;letter-spacing:.06em;text-transform:uppercase}
.rec.vuota ul{margin:0;padding-left:18px;font-size:14.5px;color:var(--grigio);line-height:1.7}
#app p a:not(.btn):not(.piu):not(.go),#app li a:not(.btn),.rec a,footer .legal a,label.privacy a,.bread a{text-decoration:underline;text-underline-offset:2px}
label.privacy a{display:inline-block;min-height:24px;line-height:1.5;padding:3px 0}
/* aree di tocco: minimo 24px in altezza per link e caselle */
@media(hover:none){
  #app p a:not(.btn),#app li a:not(.btn),.bread a,.rec a{display:inline-block;min-height:24px;line-height:24px}
  label.privacy input[type=checkbox]{width:24px;height:24px;flex:0 0 24px}
}
label.privacy{display:flex;align-items:flex-start;gap:10px;padding:4px 0}
label.privacy>span.pvtxt{flex:1 1 auto;min-width:0}
@media(hover:none){
}
.vbox{display:grid;grid-template-columns:minmax(0,320px) 1fr;gap:var(--s4);align-items:center;background:var(--chiaro);border-radius:var(--r);padding:var(--s4)}
.vbox video{width:100%;max-width:320px;border-radius:var(--r);display:block;background:#000;box-shadow:0 10px 30px rgba(0,0,0,.18)}
.vbox .vtxt h3{color:var(--viola);font-size:22px;margin-bottom:8px}
.vbox .vtxt p{font-size:16.5px;color:var(--grafite)}
.vbox .vnote{font-size:14px;color:var(--grigio);margin-top:10px}
@media(max-width:760px){.vbox{grid-template-columns:1fr}.vbox video{max-width:100%;margin:0 auto}}
.vg{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--s3)}
.vc{border:1px solid var(--bordo);border-radius:var(--r);overflow:hidden;background:#fff;display:flex;flex-direction:column}
.vc .vimg{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#f2f2f4,#f2f2f4 10px,#e9e9ee 10px,#e9e9ee 20px);display:flex;align-items:center;justify-content:center;position:relative}
.vc .vimg span{font-size:13px;color:var(--grigio);text-align:center;padding:0 12px}
.vc .vbadge{position:absolute;top:10px;left:10px;background:var(--viola)!important;color:#fff!important;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:20px}
.vc .vb{padding:var(--s3);display:flex;flex-direction:column;gap:8px;flex:1}
.vc h3{font-size:17.5px;color:var(--grafite);margin:0;line-height:1.3;font-weight:700}
.vc .vprice{font-size:23px;font-weight:700;color:var(--viola)}
.vc .vspec{font-size:14.5px;color:var(--grigio);line-height:1.6}
.vc .vfoot{margin-top:auto;padding-top:10px;border-top:1px solid var(--bordo);font-size:13.5px;color:var(--grigio)}
.campo{background:#fff3cd;color:#7a5f00;padding:0 5px;border-radius:3px;font-weight:600}
.hero-logo{width:min(320px,62vw);height:auto;display:block;margin-bottom:var(--s3);filter:brightness(0) invert(1)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sub-h1{font-size:24px;color:var(--grafite);font-weight:400;max-width:34ch;line-height:1.35;margin-bottom:var(--s3)}
.fonte{display:block;margin-top:6px;font-size:13.5px;color:var(--argento-txt)}
ul.lista{margin:var(--s2) 0 0 0;padding-left:20px}
ul.lista li{margin-bottom:10px;font-size:16px;color:var(--grafite);line-height:1.55}
.fonte:before{content:"Fonte: "}
.legalbox{background:var(--chiaro);border:1px solid var(--bordo);border-radius:var(--r);padding:var(--s3);font-size:14.5px;color:var(--grigio);line-height:1.6}
.legalbox strong{color:var(--grafite)}
a.card{text-decoration:none;display:block;transition:border-color .15s,box-shadow .15s,transform .15s}
a.card:hover{border-color:var(--viola);box-shadow:0 6px 22px rgba(101,0,101,.10);transform:translateY(-2px)}
a.card h3{color:var(--viola)}
a.card .go{display:inline-block;margin-top:10px;color:var(--accento);font-weight:600;font-size:15px}
.card h3,.grid2>div>h3,.grid3>div>h3,.grid4>div>h3{margin-bottom:6px;font-size:19px;font-weight:700;color:var(--grafite)}
.card p{font-size:15.5px;color:var(--grigio);margin:0}
.step{border-top:3px solid var(--viola-acceso);padding-top:var(--s2)}
.grid4.passi5{grid-template-columns:repeat(5,1fr)}
.mappa-it{width:min(520px,100%);height:auto;display:block;margin:0 auto}
.appshot{width:100%;height:auto;display:block;border:1px solid var(--bordo);border-radius:var(--r);box-shadow:0 14px 34px rgba(31,31,35,.14)}
.premio{background:#fff;border:1.5px solid var(--viola);border-radius:var(--r);padding:var(--s4);max-width:720px;margin:var(--s3) auto 0;text-align:center}
.premio .anno{display:inline-block;background:var(--viola);color:#fff;font-weight:700;font-size:13px;letter-spacing:.04em;padding:6px 15px;border-radius:999px}
.premio h3{color:var(--viola);font-size:26px;margin:14px 0 4px}
.premio .sub{font-size:16px;color:var(--grafite);font-weight:600;letter-spacing:.02em}
.premio p{margin-top:12px}
.premio.conimg{display:grid;grid-template-columns:300px 1fr;gap:var(--s4);align-items:center;text-align:left;max-width:900px}
.premio.conimg .att{width:100%;height:auto;display:block;border:1px solid var(--bordo);border-radius:10px;box-shadow:0 12px 30px rgba(31,31,35,.16)}
.premio.conimg h3{margin-top:0}
@media(max-width:820px){.premio.conimg{grid-template-columns:1fr}.premio.conimg .att{max-width:300px;margin:0 auto}}
.legmap{text-align:center;margin:var(--s2) auto 0;max-width:none}
.legmap .pallino{display:inline-block;width:13px;height:13px;border-radius:50%;vertical-align:-1px;margin-right:6px}
@media(max-width:1100px){.grid4.passi5{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.grid4.passi5{grid-template-columns:1fr}}
.step .cap{color:var(--viola-acceso)}
.step h3{font-size:19px;margin:4px 0 6px}

table{border-collapse:collapse;width:100%;font-size:16px;margin:var(--s3) 0}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--bordo);vertical-align:top}
th{background:var(--chiaro);font-weight:700;color:var(--viola);font-size:15px}
td strong{color:var(--grafite)}
tr.neg td{background:var(--ambra-bg)}
.tscroll{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch;margin:var(--s3) 0}
.tscroll table{margin:0;min-width:0}
.tscroll table td,.tscroll table th{overflow-wrap:anywhere}
.tscroll table.wide{min-width:560px}

.ph{border:2px dashed var(--argento);border-radius:var(--r);background:repeating-linear-gradient(45deg,#fafafa,#fafafa 10px,#f3f3f3 10px,#f3f3f3 20px);padding:var(--s4) var(--s3);text-align:center;color:var(--grigio)}
.ph .cap{color:var(--viola-acceso);display:block;margin-bottom:8px}
.ph b{color:var(--grafite);display:block;font-size:17px;margin-bottom:6px}
.ph small{font-size:14px;display:block;max-width:52ch;margin:0 auto}
.ph.tall{padding:var(--s7) var(--s3)}

.faq{border-bottom:1px solid var(--bordo)}
.faq summary{cursor:pointer;padding:18px 0;font-weight:500;font-size:17.5px;color:var(--viola);list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"+";font-size:24px;line-height:1;color:var(--viola-acceso)}
.faq[open] summary:after{content:"–"}
.faq p{padding-bottom:18px;margin:0;font-size:16px}

form .f{margin-bottom:var(--s2)}
form label{display:block;font-size:14.5px;font-weight:500;margin-bottom:5px;color:var(--grafite)}
form input,form select,form textarea{width:100%;font:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--bordo);border-radius:var(--rb);background:#fff;color:var(--grafite)}
form input:focus,form select:focus,form textarea:focus{outline:2px solid var(--viola-acceso);outline-offset:1px;border-color:var(--viola-acceso)}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:var(--s2)}
fieldset.fradio{border:0;padding:0;margin:0 0 var(--s2)}
fieldset.fradio legend{padding:0;font-size:14.5px;font-weight:600;color:var(--grafite);margin-bottom:6px}
fieldset.fradio .opts{display:flex;flex-wrap:wrap;gap:14px}
fieldset.fradio label{display:inline-flex;align-items:center;gap:7px;font-size:15px;color:var(--grafite);min-height:24px}
fieldset.fradio input{width:24px;height:24px;flex:0 0 24px;margin:0}
.privacy{font-size:14px;color:var(--grigio);display:flex;gap:8px;align-items:flex-start;margin:var(--s2) 0}
.privacy input,label.privacy input[type=checkbox]{width:24px;height:24px;flex:0 0 24px;margin-top:1px}
.boxform{background:var(--chiaro);border:1px solid var(--bordo);border-radius:var(--r);padding:var(--s4)}

.ngrid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s3)}
.nc>img{width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;display:block;border-bottom:1px solid var(--bordo)}
.nc .all{font-size:14.5px;color:var(--grigio);margin:-4px 0 0}
.nc .can sup{color:var(--viola-acceso);font-weight:700}
.cgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s3)}
.cg{margin:0;background:#fff;border:1px solid var(--bordo);border-radius:var(--r);overflow:hidden}
.cg img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.cg figcaption{padding:10px 12px;font-size:14px;font-weight:600;color:var(--grafite)}
.nc{position:relative;background:#fff;border:1px solid var(--bordo);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column}
.nc .nimg{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#fafafa,#fafafa 10px,#f3f3f3 10px,#f3f3f3 20px);border-bottom:1px solid var(--bordo);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--grigio);font-size:13px;line-height:1.45;padding:var(--s3);position:relative}
.nc .ndet:empty{display:none}
.nseg{align-self:flex-start;background:var(--viola);color:#fff;font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px;letter-spacing:.02em}
.nc .nb{padding:var(--s3);display:flex;flex-direction:column;gap:10px;flex:1}
.nc h3{font-size:18px;color:var(--grafite);margin:0}
.nc .can{margin:0;display:flex;align-items:baseline;gap:7px;flex-wrap:wrap}
.nc .can b{font-size:25px;color:var(--viola);line-height:1.1}
.nc .can span{font-size:13.5px;color:var(--grigio)}
.nc ul.ndet{margin:0;padding-left:18px;font-size:14.5px;color:var(--grigio)}
.nc ul.ndet li{margin-bottom:3px}
.nc .ninc{font-size:13px;line-height:1.5;color:var(--grigio);margin:0}
.nc .btn{margin-top:auto;width:100%;justify-content:center}
.pack{display:grid;grid-template-columns:1fr 1fr;gap:var(--s3);margin-top:var(--s3)}
.pk{background:#fff;border:2px solid var(--bordo);border-radius:var(--r);padding:var(--s4);text-align:center}
.pk .cap{display:block;color:var(--viola-acceso)}
.pk b{display:block;font-size:44px;line-height:1.05;color:var(--viola);margin:10px 0 6px;letter-spacing:-.01em}
.pk small{display:block;font-size:14px;color:var(--grigio);line-height:1.5}
.pk-u35{border-color:var(--viola)}
.adbox{background:#fff;border:0;border-radius:var(--r);padding:var(--s4);display:flex;flex-direction:column;height:100%;box-shadow:0 16px 38px rgba(0,0,0,.22)}
.adbox h3,.grid2>.adbox>h3{color:var(--viola);font-size:23px;margin:12px 0 10px}
.adbox p{color:var(--grafite);margin-bottom:10px}
.adbox p.mini{font-size:13.5px;line-height:1.55;color:var(--argento-txt)}
.adbox .btn{margin-top:auto;align-self:flex-start;background:var(--viola);border-color:var(--viola);color:#fff}
.adbox .btn:hover{background:var(--viola-acceso);border-color:var(--viola-acceso);color:#fff}
.adtag{display:inline-block;align-self:flex-start;background:var(--viola);color:#fff;font-weight:700;font-size:13px;padding:6px 14px;border-radius:999px;letter-spacing:.02em}
.loghi{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:stretch;justify-content:center;margin:var(--s3) 0}
.lslot{border:2px dashed var(--argento);border-radius:var(--r);background:#fafafa;min-width:220px;padding:20px 24px;text-align:center}
.opwrap{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;margin-top:var(--s3)}
.opname{display:flex;flex-direction:column;align-items:center;gap:3px;background:#fff;border:1px solid var(--bordo);border-radius:14px;padding:22px 44px;min-width:280px}
.opname b{font-size:23px;letter-spacing:.04em;color:var(--grafite);font-weight:700}
.opname b .lite{color:var(--argento-txt);font-weight:600}
.opname small{font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--argento-txt)}
.opsep{align-self:center;color:var(--argento-txt);font-size:14px}
.lslot b{display:block;color:var(--grafite);font-size:16.5px}
.lslot small{display:block;color:var(--grigio);font-size:12.5px;margin-top:5px;line-height:1.45}
.vdet{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s5);align-items:start}
.vgal .vimg{aspect-ratio:4/3;background:repeating-linear-gradient(45deg,#f2f2f4,#f2f2f4 10px,#e9e9ee 10px,#e9e9ee 20px);display:flex;align-items:center;justify-content:center;position:relative;border:1px solid var(--bordo);border-radius:8px;overflow:hidden}
.vgal .vimg span:not(.vbadge){font-size:13px;color:var(--grigio);text-align:center;padding:0 12px;line-height:1.5}
.vgal .vmain{border-radius:var(--r)}
.vgal .vbadge{position:absolute;top:10px;left:10px;background:var(--viola);color:#fff;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:4px 9px;border-radius:20px}
.vmini{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.vmini .vimg span{font-size:15px;font-weight:700;color:var(--argento-txt)}
.vinfo h1{font-size:clamp(26px,3.2vw,36px);margin-bottom:6px}
.vinfo .vall{font-size:17px;color:var(--grigio);margin-bottom:var(--s3)}
.vprezzo{font-size:clamp(30px,4vw,40px);font-weight:700;color:var(--viola);line-height:1.1}
.vprezzo-nota{font-size:14px;color:var(--grigio);margin:6px 0 var(--s3)}
.vchiavi{list-style:none;padding:0;margin:0 0 var(--s3);display:grid;grid-template-columns:repeat(3,1fr);gap:12px 14px;border-top:1px solid var(--bordo);border-bottom:1px solid var(--bordo);padding:var(--s3) 0}
.vchiavi li{display:flex;flex-direction:column;gap:3px;min-width:0}
.vchiavi b{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--argento-txt);font-weight:700}
.vsede{font-size:14.5px;color:var(--grigio);margin-top:var(--s3)}
@media(max-width:900px){.vdet{grid-template-columns:1fr;gap:var(--s4)}.vchiavi{grid-template-columns:repeat(2,1fr)}}
.grazie{text-align:center;max-width:64ch;margin:0 auto}
.spunta{width:64px;height:64px;margin:0 auto var(--s3);border-radius:50%;background:var(--viola);color:#fff;display:flex;align-items:center;justify-content:center}
.spunta svg{width:34px;height:34px}
.grazie h1{font-size:clamp(28px,3.6vw,40px)}
.grazie .lead{margin-top:var(--s2)}
#app p a:not(.btn):not(.go),#app li a:not(.btn):not(.go),#app td a:not(.btn):not(.go),#app .legalbox a:not(.btn),#app .fonti a:not(.btn){text-decoration:underline;text-underline-offset:2px}
.gform{display:flex;align-items:center;gap:9px;background:var(--chiaro);border:1px solid var(--bordo);border-radius:10px;padding:9px 12px;margin:0 0 var(--s3);text-decoration:none;line-height:1}
.gform svg{width:19px;height:19px;flex:0 0 19px}
.gform b{font-size:19px;color:var(--viola)}
.gform .st{color:#f0a202;font-size:13.5px;letter-spacing:.5px}
.gform .n{font-size:13px;color:var(--grigio)}
@media(max-width:420px){.gform .n{font-size:12px}}
footer .social{display:flex;gap:10px;margin-top:12px}
footer .social a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.22);border-radius:50%;transition:background .18s,border-color .18s}
footer .social a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.45)}
footer .social svg{width:19px;height:19px;fill:currentColor}
footer .legal a{display:inline;padding:0}
.legal .firma{display:block;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);font-size:12.5px;color:#9a9a9e}
.pnote{display:flex;flex-wrap:wrap;gap:8px var(--s5);justify-content:center;max-width:860px;margin:var(--s4) auto 0;text-align:center}
.pnote p{margin:0;max-width:38ch;font-size:14.5px;color:var(--grigio);line-height:1.6}
.pnote strong{color:var(--grafite)}
@media(max-width:700px){.pnote{gap:12px}.pnote p{max-width:none}}
.pgruppi{display:flex;flex-wrap:wrap;gap:var(--s4) calc(var(--s5) + 12px);align-items:flex-start;justify-content:center;margin:var(--s4) auto 0}
.pgruppo{display:flex;flex-direction:column;align-items:center;gap:14px}
.petichetta{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--argento-txt);margin:0}
.plogo{display:inline-flex;align-items:center;min-height:44px}
.plogo img{height:44px;width:auto;display:block}
.pmarchi{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px 38px;min-height:46px}
.pmarchi img{width:auto;display:block}
.m-compass{height:28px}
.m-sella{height:44px}
.m-fiditalia{height:46px}
@media(max-width:560px){.plogo img,.plogo{height:36px;min-height:36px}.pmarchi{min-height:38px;gap:14px 26px}.m-compass{height:23px}.m-sella{height:36px}.m-fiditalia{height:38px}}
.partners{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:center;margin:var(--s3) auto 0;max-width:900px}
.partners span{background:#fff;border:1px solid var(--bordo);border-radius:999px;padding:11px 22px;font-weight:700;color:var(--grafite);font-size:15.5px;letter-spacing:0;line-height:1.2}

.quote{border-left:3px solid var(--viola-acceso);padding-left:var(--s3);font-size:19px;color:var(--grafite)}
.note{background:var(--chiaro);border-left:3px solid var(--argento);padding:var(--s3);border-radius:0 var(--rb) var(--rb) 0;font-size:15.5px;color:var(--grigio)}
.note strong{color:var(--grafite)}

.bread{font-size:14px;color:var(--grigio);padding:var(--s3) 0 0}
.bread a{color:var(--grigio)}

footer{background:var(--grafite);color:#c9c9cc;padding:var(--s6) 0 var(--s3);font-size:15px}
footer h3,footer h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--s2);font-weight:700}
footer a{color:#c9c9cc;display:block;padding:4px 0;text-decoration:none}
footer a:hover{color:#fff}
.fgrid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--s4)}
.fdossier{background:var(--chiaro);border:1px solid var(--bordo);border-radius:var(--r);padding:var(--s3)}
.fdossier .btn{width:100%;justify-content:center;margin-top:var(--s2)}
.legal{border-top:1px solid #4a4a4a;margin-top:var(--s5);padding-top:var(--s3);font-size:13px;color:#9a9a9e;line-height:1.7}

.bottombar{display:none}
.page{display:none}
.page.on{display:block}

@media(max-width:1100px){.team{grid-template-columns:repeat(3,1fr);max-width:860px}}
@media(max-width:980px){
  nav.main{display:none;position:fixed;inset:0;top:0;background:#fff;flex-direction:column;justify-content:center;gap:var(--s3);z-index:70;padding:var(--s5)}
  nav.main.open{display:flex}
  nav.main a{font-size:24px;padding:10px 0;border:0}
  .burger{display:flex}
  .hdr-cta{display:none}
  nav.main .hdr-cta{display:inline-flex;margin:var(--s3) 0 0;box-shadow:none;height:52px;padding:0 26px;font-size:18px;color:#fff;border-bottom:0}
  .hdr-cta::before{display:none}
  .bivio,.grid2,.grid3,.grid4,.f2,.nums{grid-template-columns:1fr}
  .vg{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))!important}
  .team{grid-template-columns:repeat(2,1fr);max-width:640px;gap:20px}
  .pack{grid-template-columns:1fr}
  .ngrid{grid-template-columns:1fr}
  .cgrid{grid-template-columns:1fr 1fr}
  .nums{gap:var(--s3);text-align:left}
  .fgrid{grid-template-columns:1fr 1fr}
  section{padding:var(--s5) 0}
  body{padding-bottom:72px}
  .bottombar{display:grid;grid-template-columns:2fr 1fr;gap:10px;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--bordo);padding:10px 14px;z-index:55;box-shadow:0 -2px 12px rgba(0,0,0,.08)}
  .bottombar .btn{width:100%}
  table{font-size:14.5px}
  th,td{padding:9px 8px}
}
@media(max-width:600px){.fgrid{grid-template-columns:1fr}
  .team{grid-template-columns:repeat(2,1fr);max-width:none;gap:14px}
  .ngrid{grid-template-columns:1fr}
  .tp .tb{padding:10px 11px 12px}
  .tp h3{font-size:14.5px}
  .tp p{font-size:12.5px}
}

/* ---- MODALITÀ LANDING ---- */
body.lp nav.main,body.lp .burger,body.lp .hdr-cta,body.lp footer .fgrid{display:none!important}
body.lp #lpcta{display:inline-flex}
body.lp header .wrap{justify-content:space-between}
body.lp footer{padding-top:var(--s4)}
body.lp footer .legal{border-top:0;padding-top:0}
#lpcta{display:none;margin-left:auto;flex-shrink:0}
.lpnav{margin-left:14px}
.lpnav a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.lphero{background:linear-gradient(180deg,var(--viola) 0%,#4d004d 100%);color:#fff;padding:var(--s6) 0 var(--s7)}
.lphero h1{color:#fff;max-width:none}
.lphero .lead{color:rgba(255,255,255,.95)}
.lphero .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:var(--s5);align-items:start}
.lphero .boxform{background:#fff;border:0;box-shadow:0 18px 50px rgba(0,0,0,.28)}
.lphero .boxform h3,.boxform .fh{color:var(--viola);font-size:22px;margin-bottom:4px}
.lphero .boxform .sub{color:var(--grigio);font-size:15px;margin-bottom:var(--s3)}
.lpbadge{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:var(--s3);padding:0;list-style:none}
.lpbadge li{font-size:15.5px;color:rgba(255,255,255,.95);position:relative;padding-left:20px;line-height:1.5}
.lpbadge li:before{content:"✓";color:#fff;font-weight:700;position:absolute;left:0;top:0}
.optional{border:1px solid var(--bordo);border-radius:var(--r);padding:var(--s2) var(--s3);margin:var(--s2) 0}
.optional summary{cursor:pointer;font-size:15px;color:var(--viola);font-weight:600;list-style:none}
.optional summary::-webkit-details-marker{display:none}
.optional summary:before{content:"+ ";font-weight:700}
.optional[open] summary:before{content:"– "}
.lphero .wrap>*{min-width:0}
.lphero input,.lphero select,.lphero textarea{min-width:0;max-width:100%}
.privacy{overflow-wrap:anywhere}
.privacy .muted{white-space:nowrap}
@media(max-width:900px){.lphero .wrap{grid-template-columns:1fr;gap:var(--s4)}.lphero{padding:var(--s5) 0 var(--s5)}}
/* --- ritmo visivo --- */
.__rv{opacity:0;transform:translateY(18px)}
.__rv.on{opacity:1;transform:none;transition:opacity .6s cubic-bezier(.2,.6,.2,1),transform .6s cubic-bezier(.2,.6,.2,1)}
.wrap.hcenter>h2,.wrap.hcenter>p.lead,.wrap.hcenter>.kicker,.wrap.hcenter>p.muted{text-align:center;margin-left:auto;margin-right:auto;max-width:760px}
.wrap.hcenter>.btns{justify-content:center}
.card,.nc,.cg,.tp{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
a.card:hover,.nc:hover,.cg:hover{transform:translateY(-4px);box-shadow:0 10px 28px rgba(101,0,101,.13);border-color:var(--viola-acceso)}
.ico{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:12px;background:#f3e9f5;color:var(--viola);margin-bottom:var(--s2)}
.ico svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
a.card:hover .ico{background:var(--viola);color:#fff}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}html{scroll-behavior:auto}
 .__rv,.__rv.on{opacity:1;transform:none}
 a.card:hover,.nc:hover,.cg:hover{transform:none}}

.grid4.passi8{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.grid4.passi8{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.grid4.passi8{grid-template-columns:1fr}}
/* contatti: quattro referenti */
.grid4.cnt4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1080px){.grid4.cnt4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid4.cnt4{grid-template-columns:1fr}}


/* Griglia a tre colonne che centra l'ultima riga quando gli elementi non sono
   un multiplo di tre: evita la casella vuota in fondo (es. le otto guide). */
.grid3.centrata{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3)}
.grid3.centrata>*{flex:0 1 calc(33.333% - var(--s3)*2/3);min-width:270px}
@media(max-width:820px){.grid3.centrata>*{flex:1 1 100%}}


/* Accessibilita': link di salto, visibile solo quando riceve il focus da tastiera */
.skip{position:absolute;left:-9999px;top:0;z-index:999;background:var(--viola);color:#fff;
padding:12px 18px;border-radius:0 0 8px 0;font-weight:700;text-decoration:none}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--viola-acceso);outline-offset:2px}
@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms !important;transition-duration:.01ms !important}}

/* Barra mobile con un solo pulsante (landing nazionali): una sola
   colonna, altrimenti il pulsante resta stretto come quando erano due. */
@media(max-width:820px){.bottombar.bbar-uno{grid-template-columns:1fr}}

/* Moduli collegati alla tabella lead
   .trappola  campo invisibile: se un robot lo compila, la richiesta cade
   .esito     riga di risposta sotto il pulsante di invio */
.trappola{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.esito{margin:12px 0 0;font-size:15px;line-height:1.55}
.esito:empty{display:none}
.esito.ko{color:#8a1420;background:#fdf0f1;border:1px solid #f2c8cc;border-radius:10px;padding:11px 13px}
.esito.ko a{color:#8a1420;font-weight:600;text-decoration:underline;text-underline-offset:2px}
form button[disabled]{opacity:.65;cursor:progress}

/* Foto di gruppo in fondo alla sezione delle persone */
.fgruppo{margin:var(--s4) auto 0;max-width:1120px}
.fgruppo img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;display:block;border-radius:14px;border:1px solid var(--bordo)}

/* Banner cookie — unico riquadro che si sovrappone alla pagina.
   Sta sopra la barra mobile e non impedisce di scorrere il sito. */
.ck{position:fixed;left:0;right:0;bottom:0;z-index:90;padding:14px}
.ck[hidden]{display:none}
.ck-box,.ck-pan{max-width:1000px;margin:0 auto;background:#fff;border:1px solid var(--bordo);
  border-radius:16px;box-shadow:0 -6px 34px rgba(0,0,0,.18);padding:20px 22px}
.ck-box[hidden],.ck-pan[hidden]{display:none}
.ck-box{display:grid;grid-template-columns:1fr auto;gap:18px 26px;align-items:center}
.ck h2{font-size:18px;color:var(--viola);margin:0 0 6px}
.ck p{margin:0;font-size:15px;line-height:1.6;color:var(--grafite)}
.ck a{color:var(--viola);text-decoration:underline;text-underline-offset:2px}
.ck-tasti{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ck-tasti .btn{white-space:nowrap}
.ck-link{background:none;border:0;padding:8px 4px;font:inherit;font-size:15px;color:var(--viola);
  text-decoration:underline;text-underline-offset:2px;cursor:pointer;min-height:44px}
.ck-lista{list-style:none;margin:14px 0 18px;padding:0;display:grid;gap:2px}
.ck-lista li{display:flex;gap:16px;align-items:center;justify-content:space-between;
  border-top:1px solid var(--bordo);padding:14px 0}
.ck-lista li:last-child{border-bottom:1px solid var(--bordo)}
.ck-lista li>label{display:flex;gap:16px;align-items:center;justify-content:space-between;
  width:100%;cursor:pointer;margin:0}
.ck-lista strong{display:block;font-size:15.5px}
.ck-lista span{display:block;font-size:14px;color:var(--grigio);line-height:1.5;margin-top:2px}
.ck-lista input[type=checkbox]{width:26px;height:26px;flex:0 0 26px;accent-color:var(--viola);cursor:pointer}
.ck-sempre{font-size:13.5px;color:var(--grigio);white-space:nowrap;flex:0 0 auto}
.ck-pan{max-width:640px;max-height:80vh;overflow:auto}
@media(max-width:820px){
  .ck{bottom:78px;padding:10px}
  .ck-box{grid-template-columns:1fr;gap:14px;padding:18px}
  .ck-tasti{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .ck-tasti .ck-link{grid-column:1 / -1;text-align:center}
  .ck-pan .ck-tasti{grid-template-columns:1fr}
}

/* Le due foto della sede: una larga e una verticale, affiancate */
.fsede{display:grid;grid-template-columns:1.55fr 1fr;gap:16px;align-items:stretch;margin-top:var(--s4)}
.fsede img{width:100%;height:100%;object-fit:cover;display:block;border-radius:14px;border:1px solid var(--bordo)}
@media(max-width:820px){
  .fsede{grid-template-columns:1fr;gap:12px}
  .fsede img{height:auto;aspect-ratio:16/9}
  .fsede img:last-child{aspect-ratio:4/5}
}
