
:root{--bg:#f5f6f8;--s:#fff;--s2:#eef0f3;--t:#101318;--m:#5b6471;--b:#e11d2e;--b2:#ff5a36;--l:#e3e6ea;--r:18px;
box-sizing:border-box;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bg:#0b0d10;--s:#14171c;--s2:#1b1f26;--t:#f2f4f7;--m:#98a1ae;--l:#262b33;color-scheme:dark}}
:root[data-theme="dark"]{--bg:#0b0d10;--s:#14171c;--s2:#1b1f26;--t:#f2f4f7;--m:#98a1ae;--l:#262b33;color-scheme:dark}
*{box-sizing:border-box}
html{scroll-padding-top:calc(env(safe-area-inset-top,0px) + 70px)}
body{margin:0;background:var(--bg);color:var(--t);font:16px/1.6 "Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--s);z-index:20}
a{color:inherit;text-decoration:none}
.w{max-width:1120px;margin:0 auto;padding:0 20px}
header{position:sticky;top:env(safe-area-inset-top,0px);z-index:19;background:color-mix(in srgb,var(--s) 85%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--l)}
.bar{display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-weight:800;font-size:20px;letter-spacing:-.04em;display:flex;align-items:center;gap:8px}
.logo i{width:26px;height:26px;border-radius:50%;border:6px solid var(--b);display:inline-block;box-shadow:inset 0 0 0 3px var(--s),inset 0 0 0 5px var(--t)}
nav{display:flex;gap:4px;align-items:center}
nav a{padding:8px 14px;border-radius:99px;font-size:14px;font-weight:600;color:var(--m);transition:.2s}
nav a:hover{background:var(--s2);color:var(--t)}
nav a.on{background:var(--s2);color:var(--t)}
nav a.cta{background:var(--b);color:#111;margin-left:6px}
#mb{display:none;background:var(--s2);border:0;color:var(--t);width:42px;height:42px;border-radius:12px;font-size:20px;cursor:pointer}
@media(max-width:820px){#mb{display:block}nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--s);padding:12px 20px 18px;border-bottom:1px solid var(--l)}nav.open{display:flex}nav a{padding:13px 14px;font-size:16px}nav a.cta{margin:6px 0 0;text-align:center}}
.btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--b),var(--b2));color:#fff;padding:14px 26px;border-radius:99px;font-weight:700;border:0;font-size:16px;cursor:pointer;box-shadow:0 8px 24px -8px var(--b);transition:.2s}
.btn:hover{transform:translateY(-2px)}
.btn.g{background:rgba(255,255,255,.1);box-shadow:none;border:1px solid rgba(255,255,255,.3)}
.btn.o{background:var(--s2);color:var(--t);box-shadow:none}
.pg{display:none;animation:in .4s ease}
.pg.on{display:block}
@keyframes in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 85% 20%,rgba(225,29,46,.35),transparent 60%),#0b0d10;color:#fff;padding:90px 0 100px}
.hero h1{font-size:clamp(34px,7vw,68px);line-height:1.02;letter-spacing:-.045em;margin:14px 0 18px;max-width:760px}
.hero h1 em{font-style:normal;background:linear-gradient(90deg,var(--b),var(--b2));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero p{font-size:19px;color:#b9c0cb;max-width:540px;margin:0 0 30px}
.tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--b);background:color-mix(in srgb,var(--b) 12%,transparent);padding:6px 12px;border-radius:99px}
.hero .tag{color:#ff8a8a;background:rgba(255,255,255,.08)}
.tire{position:absolute;right:-120px;top:50%;translate:0 -50%;width:520px;height:520px;border-radius:50%;border:70px solid #1a1d22;box-shadow:inset 0 0 0 14px #262a31,0 0 0 2px #2d323a;opacity:.7;animation:spin 40s linear infinite}
.tire::after{content:"";position:absolute;inset:60px;border-radius:50%;border:10px dashed #3a4049}
@keyframes spin{to{rotate:360deg}}
@media(max-width:700px){.tire{width:340px;height:340px;border-width:46px;right:-140px;opacity:.4}.hero{padding:60px 0 70px}}
.row{display:flex;gap:12px;flex-wrap:wrap}
section{padding:64px 0}
h2{font-size:clamp(26px,4.5vw,40px);letter-spacing:-.035em;line-height:1.1;margin:10px 0 10px}
.sub{color:var(--m);max-width:560px;margin:0 0 34px;font-size:17px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.card{background:var(--s);border:1px solid var(--l);border-radius:var(--r);padding:26px;transition:.25s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(0,0,0,.35)}
.card h3{margin:14px 0 6px;font-size:19px;letter-spacing:-.02em}
.card p{margin:0;color:var(--m);font-size:15px}
.ic{width:48px;height:48px;border-radius:14px;background:color-mix(in srgb,var(--b) 12%,transparent);display:grid;place-items:center;font-size:24px}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--l);border:1px solid var(--l);border-radius:var(--r);overflow:hidden}
.stats div{background:var(--s);padding:28px 18px;text-align:center}
.stats b{display:block;font-size:36px;letter-spacing:-.04em;background:linear-gradient(90deg,var(--b),var(--b2));-webkit-background-clip:text;background-clip:text;color:transparent}
.stats span{color:var(--m);font-size:14px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{background:var(--s);border:1px solid var(--l);padding:10px 20px;border-radius:99px;font-weight:700;font-size:14px}
.banner{background:linear-gradient(135deg,var(--b),var(--b2));color:#fff;border-radius:28px;padding:44px 32px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
.banner h2{margin:0;color:#fff}.banner p{margin:6px 0 0;opacity:.9}
.banner .btn{background:#fff;color:var(--b);box-shadow:none}
.phead{padding:56px 0 8px}
.phead h1{font-size:clamp(32px,6vw,54px);letter-spacing:-.04em;line-height:1.05;margin:10px 0}
.phead p{color:var(--m);font-size:18px;max-width:600px;margin:0}
ul.ck{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:8px}
ul.ck li{padding-left:26px;position:relative;font-size:15px;color:var(--m)}
ul.ck li::before{content:"✓";position:absolute;left:0;color:var(--b);font-weight:800}
.two{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
@media(max-width:820px){.two{grid-template-columns:1fr}}
.pic{aspect-ratio:4/3;border-radius:24px;background:radial-gradient(circle at 70% 30%,rgba(225,29,46,.5),transparent 55%),linear-gradient(135deg,#1a1d22,#2c313a);display:grid;place-items:center;font-size:90px}
.pr{display:flex;flex-direction:column;gap:10px}
.pr .dt{font-size:13px;font-weight:700;color:var(--b)}
form{background:var(--s);border:1px solid var(--l);border-radius:24px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.f{display:flex;flex-direction:column;gap:6px}.f.full{grid-column:1/-1}
label{font-size:13px;font-weight:700}
input,select,textarea{font:inherit;padding:13px 14px;border:1px solid var(--l);border-radius:12px;background:var(--bg);color:var(--t);width:100%}
input:focus,select:focus,textarea:focus{outline:2px solid var(--b);outline-offset:1px}
.chk{display:flex;gap:10px;font-size:13px;font-weight:400;color:var(--m);align-items:flex-start}.chk input{width:auto;margin-top:4px}
#ok{display:none;grid-column:1/-1;padding:14px 16px;border-radius:12px;border:1px solid var(--b);background:color-mix(in srgb,var(--b) 10%,transparent)}
@media(max-width:640px){form{grid-template-columns:1fr;padding:20px}section{padding:48px 0}}
table{border-collapse:collapse;width:100%}td{padding:9px 0;border-bottom:1px solid var(--l);font-size:15px}td:last-child{text-align:right;font-weight:600}
footer{background:#0b0d10;color:#98a1ae;padding:44px 0 30px;margin-top:30px}
footer .g{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
footer h4{color:#fff;margin:0 0 10px;font-size:14px}footer a{display:block;padding:3px 0;font-size:14px}footer a:hover{color:#fff}
footer small{display:block;margin-top:30px;padding-top:18px;border-top:1px solid #20242b;font-size:13px}
@media(max-width:640px){footer .g{grid-template-columns:1fr}}

.w{max-width:1120px;margin:0 auto;padding:0 20px}
header{--b:#ffd100;--b2:#ffd100;--t:#101318;--m:#5b6471;--s:#fff;--s2:#eef0f3;--l:#e3e6ea;position:sticky;top:env(safe-area-inset-top,0px);z-index:19;background:#fff;border-bottom:4px solid var(--b)}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:#fff;z-index:20}
.bar{display:flex;align-items:center;height:64px;gap:12px}
.logo{display:block}.logo img,.lg-dr{display:block;width:auto}
.lg-pg{height:44px}.lg-dr{height:22px}
header a,footer a{color:inherit;text-decoration:none}
nav{display:flex;gap:4px;align-items:center;margin-left:auto}
nav a{padding:8px 14px;border-radius:99px;font-size:14px;font-weight:600;color:var(--m);transition:.2s}
nav a:hover,nav a[aria-current="page"]{background:var(--s2);color:var(--t)}
nav a.cta{background:var(--b);color:#111;margin-left:6px}
#mb{display:none;background:var(--s2);border:0;color:var(--t);width:42px;height:42px;border-radius:12px;font-size:20px;cursor:pointer;padding:0}
@media(max-width:820px){#mb{display:block}nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;background:#fff;padding:12px 20px 18px;border-bottom:1px solid var(--l);margin-left:0}nav.open{display:flex}nav a{padding:13px 14px;font-size:16px}nav a.cta{margin:6px 0 0;text-align:center}.lg-pg{height:36px}.lg-dr{height:18px;margin-left:auto}}
footer{background:#0b0d10;color:#98a1ae;padding:44px 0 30px;margin-top:30px;font-size:14px;line-height:1.6;border-top:4px solid #ffd100}
footer .g{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px}
footer h4{color:#fff;margin:0 0 10px;font-size:14px}footer .g a{display:block;padding:3px 0}footer a:hover{color:#fff}
footer small{display:block;margin-top:30px;padding-top:18px;border-top:1px solid #20242b;font-size:13px}
@media(max-width:640px){footer .g{grid-template-columns:1fr}}
.da-compilare{background:#fff3b0;color:#111;padding:0 5px;border-radius:4px}

.testo{max-width:740px}.testo h2{font-size:22px;margin:30px 0 8px;letter-spacing:-.02em}.testo p{color:var(--m);margin:0 0 12px}
.avviso{background:#fff3b0;color:#111;border:1px solid #e0c200;border-radius:12px;padding:12px 16px;margin:0 0 20px}
.codice{display:inline-block;background:#0b0d10;color:#fff;border-radius:16px;padding:14px 24px;font-size:clamp(24px,6vw,42px);font-weight:800;letter-spacing:.03em;margin:6px 0 26px}.codice b{color:var(--b)}
.leg b{display:block;font-size:30px;letter-spacing:-.03em;color:var(--b)}
td:first-child{font-weight:600}

/* Palette come l'area riservata: giallo, nero e grigio */
:root{--b:#ffd100;--b2:#ffd100;--bt:#111;--bg:#f3f5f6;--l:#d3d7dc}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--bt:#ffd100}}
:root[data-theme="dark"]{--bt:#ffd100}
.btn{background:var(--b);color:#111;box-shadow:0 8px 24px -12px rgba(0,0,0,.4)}
.btn.g{color:#fff}
.hero{background:radial-gradient(900px 500px at 85% 20%,rgba(255,209,0,.18),transparent 60%),#0b0d10}
.hero h1 em{background:none;-webkit-text-fill-color:initial;color:var(--b)}
.tag{color:var(--bt);background:color-mix(in srgb,var(--b) 35%,transparent)}
.hero .tag{color:var(--b);background:rgba(255,255,255,.08)}
.ic{background:color-mix(in srgb,var(--b) 35%,transparent)}
.card{border-top:4px solid var(--b)}
.stats b{background:none;-webkit-text-fill-color:initial;color:var(--t);display:inline-block;border-bottom:4px solid var(--b);padding-bottom:2px;margin-bottom:6px}
.banner{background:var(--b);color:#111}.banner h2{color:#111}.banner p{opacity:.85}.banner .btn{background:#111;color:#fff;box-shadow:none}
ul.ck li::before,.pr .dt,.leg b{color:var(--bt)}
.pic{background:radial-gradient(circle at 70% 30%,rgba(255,209,0,.45),transparent 55%),linear-gradient(135deg,#1a1d22,#2c313a)}
.codice b{color:var(--b)}

/* Pagina Azienda: foto e galleria */
.az-hero{display:grid;gap:36px;grid-template-columns:1.1fr .9fr;align-items:center}
.az-foto{position:relative;margin:0}
.az-foto img{display:block;width:100%;height:auto;border-radius:22px;position:relative;z-index:1;box-shadow:0 24px 50px -28px rgba(0,0,0,.55)}
.az-foto::before{content:"";position:absolute;inset:18px -14px -14px 18px;border-radius:22px;background:var(--b);z-index:0}
.az-foto figcaption{position:absolute;z-index:2;left:14px;bottom:14px;background:rgba(11,13,16,.82);color:#fff;font-size:13px;font-weight:600;padding:6px 12px;border-radius:99px}
.gal{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}
.gal figure{margin:0;position:relative;overflow:hidden;border-radius:18px;aspect-ratio:3/4;background:#1a1d22}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.gal figure:hover img{transform:scale(1.05)}
.gal figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;color:#fff;font-size:14px;font-weight:600;background:linear-gradient(transparent,rgba(0,0,0,.78))}
.az-dove{display:grid;gap:30px;grid-template-columns:1fr 1fr;align-items:center}
.az-dove img{display:block;width:100%;max-width:680px;height:auto;border-radius:18px;border:4px solid var(--b);box-shadow:0 20px 40px -26px rgba(0,0,0,.5)}
.marchi{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.marchi span{background:var(--s);color:var(--t);border:1px solid var(--l);border-radius:99px;padding:6px 14px;font-weight:600;font-size:14px}
@media(max-width:900px){.az-hero,.az-dove{grid-template-columns:1fr}.az-hero .az-foto{max-width:420px;margin:0 auto 14px}.gal{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.gal{gap:10px}.gal figcaption{font-size:13px;padding:26px 10px 9px}}

/* Azienda: filosofia, storia, missione, garanzie */
.filo{font-size:clamp(18px,2.6vw,22px);font-weight:700;letter-spacing:-.01em;margin:0 0 6px}
.mq{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0 0}
.mq div{background:var(--s);color:var(--t);border:1px solid var(--l);border-left:6px solid var(--b);border-radius:14px;padding:14px 16px}
.mq b{display:block;color:var(--t);font-size:clamp(26px,4vw,34px);letter-spacing:-.03em;line-height:1.1}
.mq span{color:var(--m);font-size:14px}
.missione{position:relative;background:#0b0d10;color:#fff;border-radius:24px;padding:clamp(28px,5vw,52px);overflow:hidden;border-bottom:6px solid var(--b)}
.missione::before{content:"“";position:absolute;right:22px;top:-26px;font-size:200px;line-height:1;color:var(--b);opacity:.9;font-family:Georgia,serif}
.missione .tag{background:rgba(255,255,255,.1);color:var(--b)}
.missione h2{color:#fff;font-size:clamp(24px,4vw,34px);letter-spacing:-.02em;margin:10px 0 12px;max-width:560px}
.missione p{color:#d9dde3;font-size:clamp(16px,2.2vw,19px);max-width:680px;margin:0}
.garanzie{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));counter-reset:g;margin-top:22px}
.garanzie .card{counter-increment:g;position:relative;padding-top:46px}
.garanzie .card::before{content:counter(g);position:absolute;left:18px;top:14px;width:30px;height:30px;border-radius:50%;background:var(--b);color:#111;font-weight:800;display:grid;place-items:center}
.garanzie h3{font-size:17px}
@media(max-width:560px){.mq{grid-template-columns:1fr}}

.az-banner{margin:18px 0 0}
.az-banner img{display:block;width:100%;height:auto;border-radius:22px;border-bottom:6px solid var(--b);box-shadow:0 24px 50px -28px rgba(0,0,0,.55)}
.az-dove.solo{grid-template-columns:1fr;max-width:760px}

.logos{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));margin:14px 0 0}
.logos div{background:#fff;border:1px solid var(--l);border-radius:14px;height:78px;display:grid;place-items:center;padding:12px 14px}
.logos img{display:block;max-width:100%;max-height:44px;width:auto;height:auto}
.altri{margin:14px 0 0;font-weight:700;font-size:17px}

.az-dove .logos img{border:0;border-radius:0;box-shadow:none;width:auto;max-width:100%}

.ic.ic-img{padding:0;overflow:hidden;background:#000}
.ic.ic-img img{display:block;width:100%;height:100%}

.logo-tile{background:#fff;border:1px solid var(--l);border-radius:14px;padding:14px 18px;display:grid;place-items:center;max-width:260px}
.logo-tile img{display:block;width:100%;height:auto;max-height:90px;object-fit:contain}

.logo-tile{border:0;border-radius:10px;padding:6px 10px;max-width:150px;display:block}
.logo-tile img{max-height:56px;margin:0 auto}

/* Carosello loghi marchi */
.carosello{overflow:hidden;margin:14px 0 0;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.traccia{display:flex;gap:12px;width:max-content;animation:scorri 28s linear infinite}
.carosello:hover .traccia{animation-play-state:paused}
.traccia div{flex:none;width:150px;height:78px;background:#fff;border:1px solid var(--l);border-radius:14px;display:grid;place-items:center;padding:12px 16px}
.traccia img{display:block;max-width:100%;max-height:44px;width:auto;height:auto;border:0;border-radius:0;box-shadow:none}
@keyframes scorri{to{transform:translateX(calc(-50% - 6px))}}
@media(prefers-reduced-motion:reduce){.traccia{animation:none}.carosello{overflow-x:auto;-webkit-mask-image:none;mask-image:none}.traccia div[aria-hidden]{display:none}}
@media(max-width:480px){.traccia div{width:120px;height:66px}.traccia img{max-height:36px}}

.az-dove>*{min-width:0}.carosello{max-width:100%}
html,body{overflow-x:clip}

.logo-storia{background:#fff;border-radius:14px;padding:14px 20px;margin:22px 0 0;max-width:360px}
.logo-storia img{display:block;width:100%;height:auto}

.logo-storia{background:none;border-radius:0;padding:0}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .logo-storia img{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}}
:root[data-theme="dark"] .logo-storia img{filter:drop-shadow(0 0 1px #fff) drop-shadow(0 0 1px #fff)}

.ic.ic-giallo{background:var(--b);padding:9px}
.ic.ic-giallo img{display:block;width:100%;height:100%}

.ic.ic-giallo{padding:5px}

/* Pagina Servizi */
.sv-hero{position:relative;color:#fff;padding:72px 0 80px;background:linear-gradient(90deg,rgba(11,13,16,.94) 0%,rgba(11,13,16,.8) 55%,rgba(11,13,16,.55)),#0b0d10;border-bottom:6px solid var(--b)}
.sv-hero .tag{color:var(--b);background:rgba(255,255,255,.1)}
.sv-hero h1{font-size:clamp(32px,6.5vw,58px);line-height:1.04;letter-spacing:-.04em;margin:14px 0 16px;max-width:760px}
.sv-hero h1 em{font-style:normal;color:var(--b)}
.sv-hero p{color:#cfd4db;font-size:18px;max-width:560px;margin:0 0 26px}
.sv-hero .btn.g{color:#fff}
.sv-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:22px}
.sv-item{display:flex;gap:14px;align-items:flex-start;background:var(--s);color:var(--t);border:1px solid var(--l);border-left:5px solid var(--b);border-radius:16px;padding:16px;transition:.2s}
.sv-item:hover{transform:translateY(-3px);box-shadow:0 14px 30px -18px rgba(0,0,0,.4)}
.sv-item .ic{flex:none;width:44px;height:44px;font-size:22px;border-radius:12px}
.sv-item h3{margin:2px 0 4px;font-size:17px;letter-spacing:-.01em}
.sv-item p{margin:0;color:var(--m);font-size:14.5px}
.sv-veicoli{display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-top:22px}
.sv-veicoli div{background:var(--s);color:var(--t);border:1px solid var(--l);border-radius:18px;padding:24px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.sv-veicoli svg{width:92px;height:58px;fill:currentColor;color:var(--t);background:var(--b);border-radius:14px;padding:10px 12px;box-sizing:content-box;color:#111}
.sv-veicoli b{font-size:16px}
.sv-deposito .tag{margin-bottom:4px}
.sv-passi{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:12px;grid-template-columns:repeat(3,1fr);counter-reset:p}
.sv-passi li{counter-increment:p;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:16px;padding:16px 16px 18px;position:relative}
.sv-passi li::before{content:counter(p);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--b);color:#111;font-weight:800;margin-bottom:10px}
.sv-passi b{display:block;color:#fff;font-size:17px;margin-bottom:4px}
.sv-passi span{color:#cfd4db;font-size:15px}
.sv-chips span{background:var(--s);color:var(--t)}
.sv-orari h3{margin:0 0 12px}
.sv-orari dl{display:grid;grid-template-columns:1fr auto;gap:8px 16px;margin:0 0 18px;font-size:15px}
.sv-orari dt{color:var(--m)}.sv-orari dd{margin:0;font-weight:700;text-align:right}
.sv-pano{position:relative}
.sv-pano img{aspect-ratio:16/8;object-fit:cover}
.sv-pano figcaption{position:absolute;left:14px;bottom:20px;background:rgba(11,13,16,.85);color:#fff;font-weight:700;padding:8px 14px;border-radius:99px;font-size:14px;max-width:calc(100% - 28px)}
@media(max-width:820px){.sv-passi{grid-template-columns:1fr}}
@media(max-width:640px){.sv-veicoli{grid-template-columns:1fr}.sv-veicoli div{flex-direction:row;text-align:left;padding:14px}.sv-veicoli svg{width:70px;height:44px}.sv-hero{padding:52px 0 60px}}

.sv-deposito::before{display:none}

.sv-hero{background:linear-gradient(90deg,rgba(11,13,16,.88) 0%,rgba(11,13,16,.6) 55%,rgba(11,13,16,.3)),url(../img/hero-servizi.jpg) center 52%/cover no-repeat,#0b0d10}
@media(max-width:640px){.sv-hero{background:linear-gradient(180deg,rgba(11,13,16,.5) 0%,rgba(11,13,16,.85) 100%),url(../img/hero-servizi.jpg) center 45%/cover no-repeat,#0b0d10}}

.sv-hero{background:linear-gradient(90deg,rgba(11,13,16,.95) 0%,rgba(11,13,16,.82) 55%,rgba(11,13,16,.62)),url(../img/hero-servizi.jpg) center 52%/cover no-repeat,#0b0d10}
.sv-hero h1,.sv-hero p{text-shadow:0 2px 14px rgba(0,0,0,.55)}
@media(max-width:640px){.sv-hero{background:linear-gradient(180deg,rgba(11,13,16,.78) 0%,rgba(11,13,16,.93) 100%),url(../img/hero-servizi.jpg) center 45%/cover no-repeat,#0b0d10}}

.sv-foto-alta img{max-height:620px;object-fit:cover}

.sv-foto-alta{max-width:400px;justify-self:center}
.sv-foto-alta img{max-height:500px}
@media(max-width:900px){.az-hero .sv-foto-alta{max-width:290px;margin:0 auto 14px}.sv-foto-alta img{max-height:none}}

.sv-item .ic.ic-giallo{padding:6px}

/* Servizi: carosello noleggio */
.sv-car .traccia{animation-duration:20s}
.sv-car .traccia div{width:160px}
.sv-car .traccia img{max-height:46px}
@media(max-width:480px){.sv-car .traccia div{width:130px}.sv-car .traccia img{max-height:38px}}
.two>*{min-width:0}.sv-car{max-width:100%}

/* Azienda: più spazio sopra "Chi siamo" */
.phead{padding-top:72px}

/* Azienda: logo Driver nelle statistiche */
.stats span{display:block}
.stats b.st-logo{display:inline-block;padding:0 0 10px;margin-bottom:8px}
.stats b.st-logo img{display:block;width:150px;max-width:100%;height:auto;margin:0 auto}
.stats .st-sub{font-size:12px;letter-spacing:.04em}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .stats b.st-logo img{filter:invert(1)}}
:root[data-theme="dark"] .stats b.st-logo img{filter:invert(1)}

.stats div{display:flex;flex-direction:column;align-items:center;justify-content:center}

/* Statistiche dinamiche */
.stats b[data-n]{font-variant-numeric:tabular-nums}
.stats div{transition:background .25s,transform .25s}
.stats div:hover{background:var(--s2)}
.stats.js-st div{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease,background .25s}
.stats.js-st.in div{opacity:1;transform:none}
.stats.js-st b{border-bottom:0;padding-bottom:8px;background:linear-gradient(var(--b),var(--b)) left bottom/0 4px no-repeat;-webkit-text-fill-color:initial}
.stats.js-st.in b{background-size:100% 4px;transition:background-size .9s ease .5s}
.stats.js-st b.st-logo{padding-bottom:12px}
.stats b.st-logo img{transition:transform .35s ease}
.stats div:hover b.st-logo img{transform:scale(1.05)}
@media(prefers-reduced-motion:reduce){.stats div,.stats b.st-logo img{transition:none}}

/* Servizi: didascalia in alto per non coprire la foto */
.sv-pano figcaption{bottom:auto;top:14px}

/* Servizi: nota orari */
.sv-orari dl{margin-bottom:12px}
.nota-orari{margin:0 0 18px;padding:10px 12px;border-left:4px solid var(--b);background:var(--s2);border-radius:8px;font-size:14px;color:var(--t)}

.sv-orari .nota-orari{margin:0 0 20px;color:var(--t)}

/* Servizi: passi deposito dinamici */
.sv-passi li{transition:transform .3s ease,border-color .3s,background .3s}
.sv-passi li:hover{transform:translateY(-4px);border-color:var(--b);background:rgba(255,255,255,.1)}
.sv-passi.js-pa li{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease,border-color .3s,background .3s}
.sv-passi.js-pa.in li{opacity:1;transform:none}
.sv-passi.js-pa.in li:hover{transform:translateY(-4px)}
.sv-passi.js-pa li::before{transform:scale(0);transition:transform .5s cubic-bezier(.34,1.56,.64,1)}
.sv-passi.js-pa.in li::before{transform:scale(1);transition-delay:inherit}
.sv-passi li:not(:last-child)::after{content:"";position:absolute;background:var(--b);border-radius:2px;left:31px;top:auto;bottom:-13px;height:13px;width:2px;transform:scaleY(0);transform-origin:top;transition:transform .6s ease}
.sv-passi.in li:not(:last-child)::after{transform:scaleY(1)}
.sv-passi.js-pa li:not(:last-child)::after{transition-delay:inherit}
@media(min-width:821px){.sv-passi li:not(:last-child)::after{left:54px;right:-13px;top:31px;bottom:auto;width:auto;height:2px;transform:scaleX(0);transform-origin:left}.sv-passi.in li:not(:last-child)::after{transform:scaleX(1)}}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(255,209,0,.55)}100%{box-shadow:0 0 0 14px rgba(255,209,0,0)}}
.sv-passi.in li::before{animation:ping 1.4s ease-out 1}
@media(prefers-reduced-motion:reduce){.sv-passi li,.sv-passi li::before,.sv-passi li::after{transition:none!important;animation:none!important}}

/* Servizi: sottotitolo e animazione veicoli */
.sv-sub{margin:-2px 0 0;font-size:15px;color:var(--m)}
.sv-veicoli .vv{transform-box:fill-box;transform-origin:center}
.sv-veicoli div{transition:transform .3s ease,border-color .3s,box-shadow .3s}
.sv-veicoli div:hover{transform:translateY(-4px);border-color:var(--b);box-shadow:0 14px 30px -18px rgba(0,0,0,.5)}
.sv-veicoli div:hover svg{transform:scale(1.06)}
.sv-veicoli svg{transition:transform .3s ease}
.sv-veicoli.js-vv div{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease,border-color .3s,box-shadow .3s}
.sv-veicoli.js-vv.in div{opacity:1;transform:none}
.sv-veicoli.js-vv.in div:hover{transform:translateY(-4px)}
.sv-veicoli.js-vv .vv{transform:translateX(-90px);opacity:0}
.sv-veicoli.js-vv.in .vv{animation:arrivo .9s cubic-bezier(.22,1.2,.36,1) var(--d,0ms) forwards,sospensioni 2.4s ease-in-out calc(var(--d,0ms) + 1.1s) infinite}
.sv-veicoli.js-vv.in div:nth-child(3) .vv{animation-name:arrivo,rollio}
@keyframes arrivo{0%{transform:translateX(-90px);opacity:0}60%{opacity:1}100%{transform:none;opacity:1}}
@keyframes sospensioni{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.6px)}}
@keyframes rollio{0%,100%{transform:rotate(0)}50%{transform:rotate(-1.8deg)}}
@media(prefers-reduced-motion:reduce){.sv-veicoli div,.sv-veicoli svg{transition:none}.sv-veicoli .vv{animation:none!important}}

/* Servizi: cerchi in lega, loghi marche */
.sv-cerchi::before{display:none}
.sv-cerchi h2{max-width:620px}
.sv-logocerchi{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.sv-logocerchi div{background:#fff;border-radius:18px;height:104px;display:grid;place-items:center;padding:16px 20px;position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.sv-logocerchi div::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--b);transform:scaleX(.25);transform-origin:left;transition:transform .4s ease}
.sv-logocerchi div:hover{transform:translateY(-5px);box-shadow:0 16px 30px -14px rgba(255,209,0,.55)}
.sv-logocerchi div:hover::after{transform:scaleX(1)}
.sv-logocerchi img{display:block;max-width:100%;max-height:56px;width:auto;height:auto;transition:transform .35s ease}
.sv-logocerchi div:hover img{transform:scale(1.07)}
.sv-logocerchi.js-lc div{opacity:0;transform:translateY(20px) scale(.96);transition:opacity .6s ease,transform .6s ease,box-shadow .3s}
.sv-logocerchi.js-lc.in div{opacity:1;transform:none}
.sv-logocerchi.js-lc.in div:hover{transform:translateY(-5px)}
@media(max-width:700px){.sv-logocerchi{grid-template-columns:repeat(2,1fr)}.sv-logocerchi div{height:92px}}
@media(prefers-reduced-motion:reduce){.sv-logocerchi div,.sv-logocerchi img,.sv-logocerchi div::after{transition:none}}

/* Servizi: orari a larghezza piena */
.sv-orari-solo{max-width:640px}

/* Servizi: orari e preventivo affiancati su schermi larghi */
.sv-duo{display:grid;gap:20px;align-items:stretch}
.sv-duo .sv-orari-solo{max-width:none}
@media(min-width:900px){.sv-duo{grid-template-columns:minmax(340px,5fr) 7fr}.sv-duo .banner{flex-direction:column;align-items:flex-start;justify-content:center;gap:20px;height:100%}}

/* Promozioni: promo invernale Pirelli */
.pm-hero{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(20px,4vw,48px);align-items:center;background:#0b0d10;color:#fff;border-radius:26px;border-bottom:6px solid var(--b);padding:clamp(18px,4vw,40px)}
.pm-hero figure{margin:0}
.pm-hero img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 24px 50px -24px rgba(0,0,0,.8)}
.pm-hero .tag{background:rgba(255,255,255,.1);color:var(--b)}
.pm-hero h2{color:#fff;font-size:clamp(26px,4.4vw,40px);letter-spacing:-.02em;margin:12px 0}
.pm-hero p{color:#d9dde3;font-size:clamp(16px,2.2vw,18px);margin:0 0 12px}
.pm-hero strong{color:#fff}
.pm-hero .pm-date{display:inline-block;background:var(--b);color:#111;font-weight:800;padding:8px 16px;border-radius:99px;font-size:15px;margin:0 0 16px}
.pm-req{list-style:none;padding:0;margin:0 0 20px;display:grid;gap:10px}
.pm-req li{position:relative;padding-left:34px;color:#d9dde3}
.pm-req li::before{content:"✓";position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:50%;background:var(--b);color:#111;display:grid;place-items:center;font-weight:900;font-size:14px}
.pm-hero .row{display:flex;gap:12px;flex-wrap:wrap}
.pm-sconti{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:22px}
.pm-sconti>div{position:relative;background:var(--s);border:1px solid var(--l);border-radius:22px;padding:30px 18px 26px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center;transition:transform .3s ease,box-shadow .3s ease}
.pm-sconti>div:hover{transform:translateY(-6px);box-shadow:0 20px 36px -22px rgba(0,0,0,.5)}
.pm-dia{font-weight:700;color:var(--m);font-size:15px}
.pm-eur{font-size:clamp(46px,8vw,64px);letter-spacing:-.04em;line-height:1;color:var(--t);font-variant-numeric:tabular-nums;border-bottom:5px solid var(--b);padding-bottom:6px;margin:6px 0}
.pm-eur i{font-style:normal}
.pm-sub{font-size:14px;color:var(--m)}
.pm-top{background:var(--b)!important;border-color:var(--b)!important}
.pm-top .pm-dia,.pm-top .pm-sub{color:#222}.pm-top .pm-eur{color:#111;border-bottom-color:#111}
.pm-top em{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:#111;color:var(--b);font-style:normal;font-weight:800;font-size:12px;letter-spacing:.06em;text-transform:uppercase;padding:5px 12px;border-radius:99px;white-space:nowrap}
.pm-sconti.js-pm>div{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease,box-shadow .3s}
.pm-sconti.js-pm.in>div{opacity:1;transform:none}
.pm-sconti.js-pm.in>div:hover{transform:translateY(-6px)}
.pm-esempi{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}
.pm-esempi>div{display:flex;gap:16px;align-items:center;background:var(--s);border:1px solid var(--l);border-left:6px solid var(--b);border-radius:18px;padding:20px;transition:transform .3s ease}
.pm-esempi>div:hover{transform:translateY(-4px)}
.pm-esempi p{margin:0;color:var(--t)}
.pm-misura{flex:none;background:#111;color:var(--b);font-weight:800;border-radius:12px;padding:12px 14px;font-size:15px;letter-spacing:.02em}
.pm-nota{margin:20px 0 0;padding:12px 14px;border-left:4px solid var(--b);background:var(--s2);border-radius:8px;font-size:15px;color:var(--t)}
@media(max-width:820px){.pm-hero{grid-template-columns:1fr}.pm-sconti{grid-template-columns:1fr;gap:22px}.pm-esempi{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pm-sconti>div,.pm-esempi>div{transition:none}}

.pm-hero{margin-top:18px}

/* Promozioni: scheda compatta (se ne possono impilare più) */
.pm-list{display:grid;gap:18px}
.pm-card{display:grid;grid-template-columns:230px minmax(0,1fr);grid-template-areas:"fig head" "fig body";column-gap:26px;row-gap:0;align-items:start;background:#0b0d10;color:#fff;border-radius:22px;border-bottom:5px solid var(--b);padding:22px;margin-top:6px}
.pm-card figure{grid-area:fig;margin:0}
.pm-card figure img{display:block;width:100%;height:auto;border-radius:14px;box-shadow:0 18px 36px -20px rgba(0,0,0,.8)}
.pm-head{grid-area:head}.pm-body{grid-area:body}
.pm-card .tag{background:rgba(255,255,255,.1);color:var(--b)}
.pm-card h2{color:#fff;font-size:clamp(22px,3.6vw,30px);letter-spacing:-.02em;margin:8px 0}
.pm-card .pm-date{display:inline-block;background:var(--b);color:#111;font-weight:800;padding:6px 14px;border-radius:99px;font-size:14px;margin:0}
.pm-cond{margin:14px 0 0;color:#d9dde3;font-size:15.5px}.pm-cond strong{color:#fff}
.pm-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}
.pm-mini>div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:10px 8px;text-align:center;transition:transform .3s ease}
.pm-mini>div:hover{transform:translateY(-3px)}
.pm-mini small{display:block;color:#cfd4db;font-size:12px;line-height:1.25;min-height:30px;display:flex;align-items:center;justify-content:center}
.pm-mini b{display:block;font-size:clamp(24px,5.5vw,32px);letter-spacing:-.03em;color:var(--b);font-variant-numeric:tabular-nums}
.pm-mini i{font-style:normal}
.pm-mini .pm-top{background:var(--b);border-color:var(--b)}.pm-mini .pm-top small{color:#222}.pm-mini .pm-top b{color:#111}
.pm-mini.js-pm>div{opacity:0;transform:translateY(16px);transition:opacity .5s ease,transform .5s ease}
.pm-mini.js-pm.in>div{opacity:1;transform:none}
.pm-more{margin:6px 0 14px}
.pm-more summary{cursor:pointer;color:var(--b);font-weight:700;font-size:15px;list-style:none;display:inline-flex;align-items:center;gap:8px;padding:6px 0}
.pm-more summary::-webkit-details-marker{display:none}
.pm-more summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--b);border-bottom:2px solid var(--b);transform:rotate(45deg);transition:transform .25s;margin-top:-3px}
.pm-more[open] summary::after{transform:rotate(-135deg);margin-top:3px}
.pm-more ul{margin:6px 0 10px;padding-left:20px;color:#d9dde3;font-size:15px;display:grid;gap:6px}.pm-more li strong{color:#fff}
.pm-more p{margin:0;padding:10px 12px;border-left:4px solid var(--b);background:rgba(255,255,255,.07);border-radius:8px;color:#d9dde3;font-size:14px}
.pm-card .row{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:700px){.pm-card{grid-template-columns:92px minmax(0,1fr);grid-template-areas:"fig head" "body body";column-gap:14px;padding:16px}.pm-card h2{font-size:21px}.pm-card .pm-date{font-size:13px}.pm-body{margin-top:6px}}

/* Promo compatta: testo più grande (senza pulsanti) */
.pm-card{grid-template-columns:250px minmax(0,1fr);padding:26px}
.pm-card h2{font-size:clamp(26px,4vw,38px)}
.pm-card .pm-date{font-size:16px;padding:8px 16px}
.pm-cond{font-size:18px;margin-top:16px}
.pm-mini small{font-size:14px;min-height:36px}
.pm-mini b{font-size:clamp(28px,6vw,40px)}
.pm-more{margin:8px 0 0}.pm-more summary{font-size:17px}
.pm-more ul{font-size:17px}.pm-more p{font-size:15.5px}
@media(max-width:700px){.pm-card{grid-template-columns:92px minmax(0,1fr);padding:16px}.pm-card h2{font-size:22px}.pm-card .pm-date{font-size:13px;padding:6px 12px}.pm-cond{font-size:16px}.pm-mini small{font-size:12px;min-height:30px}.pm-mini b{font-size:clamp(24px,6.5vw,30px)}}

/* Promo a 4 fasce */
.pm-mini4{grid-template-columns:repeat(4,1fr)}
@media(max-width:700px){.pm-mini4{grid-template-columns:repeat(2,1fr)}}

/* Bordo bianco per riquadri e schede (visibili anche in modalità notte) */
.pm-card{border:2px solid #fff;border-bottom:5px solid var(--b)}
.pm-mini>div{border:2px solid #fff}
.pm-mini .pm-top{border-color:#fff}

/* Scheda PagoDIL */
.pm-logo{background:#fff;border-radius:14px;padding:16px;display:flex;align-items:center;justify-content:center;aspect-ratio:1/1}
.pm-card .pm-logo img{box-shadow:none;border-radius:0;max-height:100%;object-fit:contain}
.pm-sh{margin:16px 0 0;font-weight:800;color:#fff;font-size:18px}
.pm-steps{margin-top:10px}
.pm-steps>div{text-align:left;display:flex;align-items:center;gap:12px;padding:14px}
.pm-steps b{flex:none;width:36px;height:36px;border-radius:50%;background:var(--b);color:#111;display:grid;place-items:center;font-size:19px}
.pm-steps .pm-top b{background:#111;color:var(--b)}
.pm-steps small{min-height:0;display:block;text-align:left;color:#fff;font-size:15px;line-height:1.3}
.pm-steps .pm-top small{color:#111;font-weight:600}
@media(max-width:700px){.pm-steps{grid-template-columns:1fr}.pm-steps small{font-size:15px;min-height:0}.pm-steps b{font-size:19px}.pm-card.pm-pago{grid-template-columns:92px minmax(0,1fr)}.pm-logo{padding:8px}}

/* PagoDIL: 4 passaggi */
.pm-steps.pm-mini4{grid-template-columns:repeat(4,1fr)}
.pm-steps>div{gap:10px;padding:12px 10px}
.pm-steps small{font-size:14.5px}
@media(max-width:700px){.pm-steps.pm-mini4{grid-template-columns:1fr}}

/* Pulsante "Esempi/Documenti e condizioni" ben visibile */
.pm-more{margin:12px 0 0}
.pm-more summary{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;box-sizing:border-box;background:var(--b);color:#111;font-weight:800;font-size:17px;padding:13px 20px;border-radius:99px;border:2px solid #fff;box-shadow:0 8px 20px -10px rgba(255,209,0,.7);transition:transform .2s,filter .2s}
.pm-more summary:hover{transform:translateY(-2px);filter:brightness(1.06)}
.pm-more summary::after{border-color:#111;margin-top:-3px}
.pm-more[open] summary::after{margin-top:3px}
.pm-more[open] summary{margin-bottom:12px}
@media(min-width:701px){.pm-more summary{width:auto;display:inline-flex}}

/* Pulsante condizioni: senza bordo, più piccolo */
.pm-more summary{border:0;width:auto;display:inline-flex;font-size:15px;padding:9px 18px;gap:8px}
.pm-more summary::after{width:7px;height:7px}
@media(min-width:701px){.pm-more summary{width:auto}}

/* Promozione terminata */
.pm-end{display:inline-block;margin:0 8px 6px 0;background:#d62828;color:#fff;font-weight:800;font-size:14px;letter-spacing:.08em;text-transform:uppercase;padding:6px 14px;border-radius:99px}
.pm-scaduta{border-bottom-color:#6b7077}
.pm-scaduta figure img{filter:grayscale(1) opacity(.55)}
.pm-scaduta .pm-logo{opacity:.55}
.pm-scaduta h2,.pm-scaduta .pm-cond,.pm-scaduta .pm-mini,.pm-scaduta .pm-sh{opacity:.55}
.pm-scaduta .pm-date{background:#6b7077;color:#fff;text-decoration:line-through}
.pm-scaduta .pm-more summary{background:#6b7077;color:#fff;box-shadow:none}
.pm-scaduta .pm-more summary::after{border-color:#fff}

/* Contatti */
.ct-link{font-weight:700;font-size:18px;text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.grid .card .ic.ic-giallo{width:56px;height:56px;border-radius:16px;padding:9px;margin-bottom:6px}

.ct-link{font-size:15.5px;word-break:normal;overflow-wrap:anywhere;white-space:nowrap}
.grid .card:has(a[href^="tel:"]) .ct-link{font-size:19px}
@media(max-width:700px){.ct-link{font-size:17px}}

/* Contatti: card orari a tutta larghezza */
/* Contatti: le quattro card sulla stessa riga (2 su tablet, 1 su telefono) */
.ct-orari{grid-column:auto}
.ct-orari dl{max-width:none;font-size:14.5px}
.ct-orari .nota-orari{max-width:none;margin-bottom:0;font-size:14px}
@media(min-width:1000px){.grid:has(.ct-orari){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:561px) and (max-width:999px){.grid:has(.ct-orari){grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Azienda: logo + metrature animati */
.mq i{font-style:normal;font-variant-numeric:tabular-nums}
.mq div{transition:transform .3s ease,box-shadow .3s ease}
.mq div:hover{transform:translateY(-3px);box-shadow:0 14px 28px -18px rgba(0,0,0,.45)}
.logo-storia img{transition:transform .4s ease}
.logo-storia:hover img{transform:scale(1.02)}
.js-mq .logo-storia{opacity:0;transform:translateX(-28px) scale(.97);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1);position:relative;overflow:hidden}
.js-mq.in .logo-storia{opacity:1;transform:none}
.js-mq .logo-storia::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-18deg);pointer-events:none}
.js-mq.in .logo-storia::after{animation:mqShine 1.3s ease .9s 1 both}
@keyframes mqShine{from{left:-60%}to{left:140%}}
.js-mq .mq div{opacity:0;transform:translateX(-34px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.js-mq.in .mq div{opacity:1;transform:none}
.js-mq .mq div{border-left-color:transparent;background-image:linear-gradient(var(--b),var(--b));background-repeat:no-repeat;background-size:6px 0;background-position:left center}
.js-mq.in .mq div{background-size:6px 100%;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1),background-size .8s ease .9s,box-shadow .3s}
@media(prefers-reduced-motion:reduce){.logo-storia img,.mq div{transition:none}}

.ct-nota{margin:10px 0 0;padding:10px 12px;border-left:4px solid var(--b);background:var(--s2);border-radius:8px;font-size:14px;color:var(--t)}

/* FAQ */
.faq-list{display:grid;gap:12px;margin-top:22px;max-width:860px}
.faq-i{background:var(--s);border:1px solid var(--l);border-left:6px solid var(--b);border-radius:16px;transition:box-shadow .3s,transform .3s,border-color .3s}
.faq-i:hover{transform:translateY(-2px);box-shadow:0 16px 30px -22px rgba(0,0,0,.5)}
.faq-i[open]{box-shadow:0 18px 34px -24px rgba(0,0,0,.55)}
.faq-i summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:14px;padding:16px 18px}
.faq-i summary::-webkit-details-marker{display:none}
.faq-n{flex:none;width:36px;height:36px;border-radius:50%;background:var(--b);color:#111;display:grid;place-items:center;font-weight:800;font-size:17px}
.faq-q{flex:1;font-weight:700;font-size:17px;line-height:1.3;color:var(--t)}
.faq-c{flex:none;width:34px;height:34px;border-radius:50%;background:var(--s2);position:relative;transition:background .25s,transform .3s}
.faq-c::before{content:"";position:absolute;left:50%;top:50%;width:9px;height:9px;border-right:2.5px solid var(--t);border-bottom:2.5px solid var(--t);transform:translate(-50%,-70%) rotate(45deg);transition:transform .3s}
.faq-i[open] .faq-c{background:var(--b)}
.faq-i[open] .faq-c::before{border-color:#111;transform:translate(-50%,-30%) rotate(-135deg)}
.faq-a{padding:0 18px 18px 68px;animation:faqIn .35s ease}
.faq-a p{margin:0;color:var(--m);font-size:16px;line-height:1.55}
.faq-a strong{color:var(--t)}
@keyframes faqIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq-list.js-faq .faq-i{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease,box-shadow .3s}
.faq-list.js-faq.in .faq-i{opacity:1;transform:none}
@media(max-width:560px){.faq-i summary{padding:14px}.faq-q{font-size:16px}.faq-a{padding:0 14px 16px 14px}.faq-n{width:32px;height:32px}}
@media(prefers-reduced-motion:reduce){.faq-a{animation:none}}

/* Contatti: più spazio attorno alla nota preventivi */
.ct-nota{margin:20px 0 6px;padding:16px 18px;line-height:1.55}
.card:has(.ct-nota) p:first-of-type{margin-bottom:0}
.card .ct-nota{margin:30px 0 8px}

/* Banner CTA dinamico */
.cta-dyn{position:relative;overflow:hidden;isolation:isolate;background-size:200% 200%;animation:ctaBg 7s ease-in-out infinite}
.cta-dyn::before,.cta-dyn::after{content:"";position:absolute;border-radius:50%;z-index:-1;pointer-events:none}
.cta-dyn::before{width:320px;height:320px;right:-90px;top:-120px;border:34px solid rgba(255,255,255,.28);animation:ctaSpin 14s linear infinite;border-top-color:rgba(0,0,0,.12)}
.cta-dyn::after{width:180px;height:180px;left:-60px;bottom:-90px;background:rgba(255,255,255,.2);animation:ctaFloat 6s ease-in-out infinite}
.cta-dyn h2,.cta-dyn p{position:relative}
.cta-dyn .btn{position:relative;overflow:hidden;font-size:17px;padding:16px 28px;animation:ctaPulse 2.2s ease-out infinite;transition:transform .25s}
.cta-dyn .btn:hover{transform:scale(1.06)}
.cta-dyn .btn::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:ctaShine 3.4s ease-in-out infinite}
.cta-arr{display:inline-block;margin-left:6px;animation:ctaNudge 1.3s ease-in-out infinite}
.js-cta{opacity:0;transform:translateY(26px) scale(.98);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.js-cta.in{opacity:1;transform:none}
@keyframes ctaBg{0%,100%{background-position:0 50%}50%{background-position:100% 50%}}
@keyframes ctaSpin{to{transform:rotate(360deg)}}
@keyframes ctaFloat{0%,100%{transform:translate(0,0)}50%{transform:translate(30px,-16px)}}
@keyframes ctaPulse{0%{box-shadow:0 0 0 0 rgba(17,17,17,.55)}70%{box-shadow:0 0 0 18px rgba(17,17,17,0)}100%{box-shadow:0 0 0 0 rgba(17,17,17,0)}}
@keyframes ctaShine{0%,60%{left:-70%}100%{left:140%}}
@keyframes ctaNudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
@media(prefers-reduced-motion:reduce){.cta-dyn,.cta-dyn::before,.cta-dyn::after,.cta-dyn .btn,.cta-dyn .btn::after,.cta-arr{animation:none}}

/* Banner CTA: due pulsanti */
.cta-btns{display:flex;gap:12px;flex-wrap:wrap;position:relative}
.cta-dyn .btn.cta-book{background:#fff;color:#111;border:2px solid #111;animation:none;box-shadow:none}
.cta-dyn .btn.cta-book::after{animation-delay:1.7s}
.cta-dyn .btn.cta-book:hover{background:#111;color:#fff}
@media(max-width:560px){.cta-btns{flex-direction:column;width:100%;align-items:flex-start}}

/* Footer: loghi */
.ft-logos{background:#fff;border-radius:16px;padding:16px 18px;max-width:300px;display:flex;flex-direction:column;align-items:center;gap:12px}
.ft-logos img{display:block;width:100%;height:auto;max-width:260px}
.ft-logos .ft-it{max-width:170px}
.ft-sep{width:100%;height:1px;background:#e3e6ea}
.ft-logos+p{margin-top:16px!important}

/* Footer loghi: senza sfondo, più piccoli */
.ft-logos{background:none;border-radius:0;padding:0;max-width:none;align-items:flex-start;gap:14px}
.ft-logos img{width:150px;max-width:100%}
.ft-logos .ft-it{width:105px}
.ft-logos img{width:190px}
.ft-logos .ft-it{width:125px}

/* Pulsante "Prenota appuntamento": contorno fine e pulito */
.cta-dyn .btn.cta-book{border:1px solid #111;overflow:visible;box-shadow:none;background-clip:padding-box;transition:background .25s,color .25s,transform .25s}
.cta-dyn .btn.cta-book::after{display:none}
.cta-dyn .btn.cta-book:hover{transform:scale(1.05)}

/* Social con icone */
.soc-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:18px}
.soc-btn{display:inline-flex;align-items:center;gap:12px;background:var(--s);border:1px solid var(--l);border-radius:99px;padding:10px 24px 10px 12px;font-weight:700;font-size:17px;color:var(--t);transition:transform .25s,box-shadow .25s,border-color .25s}
.soc-btn img{width:40px;height:40px;border-radius:10px;display:block;transition:transform .35s}
.soc-btn:hover{transform:translateY(-3px);box-shadow:0 14px 26px -16px rgba(0,0,0,.5);border-color:var(--b)}
.soc-btn:hover img{transform:rotate(-8deg) scale(1.1)}
@media(max-width:480px){.soc-row{flex-direction:column}.soc-btn{width:100%;box-sizing:border-box}}
.ct-orari h3{margin-top:14px}

/* Azienda: intestazione a tutta larghezza con la facciata */
.sv-hero.az-h{padding:84px 0 92px;background:linear-gradient(90deg,rgba(11,13,16,.93) 0%,rgba(11,13,16,.75) 55%,rgba(11,13,16,.5)),url(../img/ingresso.jpg) center 55%/cover no-repeat,#0b0d10}
@media(max-width:640px){.sv-hero.az-h{padding:56px 0 64px;background:linear-gradient(180deg,rgba(11,13,16,.8) 0%,rgba(11,13,16,.93) 100%),url(../img/ingresso.jpg) center 55%/cover no-repeat,#0b0d10}}

/* Azienda: foto del negozio in fondo al riquadro missione, a tutta larghezza */
.missione{--pad:clamp(28px,5vw,52px)}
.missione .mis-foto{display:block;width:calc(100% + 2 * var(--pad));max-width:none;height:auto;margin:clamp(24px,4vw,36px) calc(-1 * var(--pad)) calc(-1 * var(--pad))}

/* Home: gomma di sfondo rifatta (battistrada, spalla, cerchio in lega a 5 razze) */
.tire{width:600px;height:600px;right:-170px;border:0;opacity:.95;translate:0 -50%;
  background:repeating-conic-gradient(#20242b 0 2.4deg,#0c0e11 2.4deg 5.2deg);
  box-shadow:0 0 0 3px #2a2e35,0 0 90px rgba(255,209,0,.14),inset 0 0 40px rgba(0,0,0,.8);animation:spin 60s linear infinite}
.tire::before{content:"";position:absolute;inset:44px;border-radius:50%;
  background:radial-gradient(circle,#0b0d10 0 58%,#16191e 59% 100%);
  box-shadow:inset 0 0 0 3px #232830,inset 0 0 0 9px #0b0d10,inset 0 0 0 11px rgba(255,209,0,.55)}
.tire::after{content:"";position:absolute;inset:118px;border-radius:50%;border:8px solid #cfd4db;
  background:radial-gradient(circle,#ffd100 0 5%,#0b0d10 5.5% 10%,transparent 10.5%),
    conic-gradient(from 0deg,#c3c8d0 0 12deg,#14171b 12deg 72deg,#c3c8d0 72deg 84deg,#14171b 84deg 144deg,#c3c8d0 144deg 156deg,#14171b 156deg 216deg,#c3c8d0 216deg 228deg,#14171b 228deg 288deg,#c3c8d0 288deg 300deg,#14171b 300deg 360deg);
  box-shadow:inset 0 0 0 10px #0b0d10,0 0 0 4px #0b0d10;inset:118px}
@media(max-width:700px){.tire{width:380px;height:380px;right:-170px;opacity:.4}.tire::before{inset:28px}.tire::after{inset:76px;border-width:5px}}
/* Home: bottoni dinamici come nella pagina Contatti */
.hero-btns{display:flex;flex-wrap:wrap;gap:14px}
.hero-btns .btn{position:relative;overflow:hidden;font-size:17px;padding:16px 28px;transition:transform .25s,background .25s,color .25s}
.hero-btns .btn:not(.g){animation:heroPulse 2.2s ease-out infinite}
.hero-btns .btn::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);transform:skewX(-20deg);animation:ctaShine 3.4s ease-in-out infinite;pointer-events:none}
.hero-btns .btn.g{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.75)}
.hero-btns .btn.g::after{animation-delay:1.7s;background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent)}
.hero-btns .btn:hover{transform:scale(1.06)}
.hero-btns .btn.g:hover{background:#fff;color:#111}
@keyframes heroPulse{0%{box-shadow:0 0 0 0 rgba(255,209,0,.6)}70%{box-shadow:0 0 0 18px rgba(255,209,0,0)}100%{box-shadow:0 0 0 0 rgba(255,209,0,0)}}
@media(max-width:560px){.hero-btns{flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.tire,.hero-btns .btn,.hero-btns .btn::after{animation:none}}

/* Home: promozioni compatte */
.pm-home{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}
.pm-home .pm-card.pm-c{grid-template-columns:96px minmax(0,1fr);grid-template-areas:"fig head" "fig body";column-gap:14px;padding:16px;border-radius:18px;align-items:start;align-content:start}
.pm-home .pm-c figure{aspect-ratio:1;overflow:hidden;border-radius:12px;background:#fff}
.pm-home .pm-c figure img{width:100%;height:100%;object-fit:cover;border-radius:0;box-shadow:none}
.pm-home .pm-c.pm-pago figure img{object-fit:contain}
.pm-home .pm-c .tag{font-size:10.5px;padding:4px 9px;letter-spacing:.08em}
.pm-home .pm-c h3{color:#fff;font-size:18px;line-height:1.15;letter-spacing:-.02em;margin:7px 0 7px}
.pm-home .pm-c .pm-date{font-size:12.5px;padding:4px 10px;display:inline-block;background:var(--b);color:#111;font-weight:800;border-radius:99px;margin:0}
.pm-home .pm-c .pm-body{margin-top:10px}
.pm-home .pm-one{margin:0 0 8px;color:#fff;font-weight:700;font-size:15px;line-height:1.3}
.pm-home .pm-go{display:inline-flex;align-items:center;gap:6px;color:var(--b);font-weight:800;font-size:14px;text-decoration:none;border-bottom:2px solid var(--b);padding-bottom:1px}
.pm-home .pm-go:hover{color:#fff;border-color:#fff}
@media(max-width:900px){.pm-home{grid-template-columns:1fr}.pm-home .pm-c figure{grid-row:1/3}}
.pm-home .pm-c .pm-date{border-radius:12px;line-height:1.25}
.pm-home .pm-c .tag{border-radius:10px;line-height:1.25}

/* Home: servizi dinamici */
.sv-dyn .sv-item{position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s}
.sv-dyn .sv-item.js-sv{opacity:0;transform:translateY(28px) scale(.97);transition:opacity .6s ease var(--d,0ms),transform .7s cubic-bezier(.2,.8,.2,1) var(--d,0ms),box-shadow .3s,border-color .3s}
.sv-dyn .sv-item.js-sv.in{opacity:1;transform:none}
.sv-dyn .sv-item::after{content:"";position:absolute;top:0;bottom:0;left:-80%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,209,0,.28),transparent);transform:skewX(-20deg);pointer-events:none;transition:left .7s ease}
.sv-dyn .sv-item:hover{transform:translateY(-6px);box-shadow:0 18px 32px -18px rgba(0,0,0,.45);border-color:var(--b)}
.sv-dyn .sv-item:hover::after{left:140%}
.sv-dyn .sv-item .ic{transition:transform .35s cubic-bezier(.3,1.6,.5,1)}
.sv-dyn .sv-item:hover .ic{transform:rotate(-8deg) scale(1.15)}
.sv-dyn .sv-item.js-sv.in .ic{animation:svPop .6s cubic-bezier(.3,1.6,.5,1) both;animation-delay:calc(var(--d,0ms) + 250ms)}
@keyframes svPop{from{transform:scale(.4) rotate(-20deg)}to{transform:none}}
@media(prefers-reduced-motion:reduce){.sv-dyn .sv-item,.sv-dyn .sv-item .ic,.sv-dyn .sv-item::after{transition:none;animation:none}.sv-dyn .sv-item:hover{transform:none}}

/* Home: come funziona, versione compatta */
.pas{background:var(--s);border:1px solid var(--l);border-top:4px solid var(--b);border-radius:var(--r);padding:22px 24px}
.pas-top{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 20px;margin-bottom:16px}
.pas-top h2{margin:8px 0 0;font-size:clamp(22px,3.4vw,30px)}
.pas-cta{white-space:nowrap}
.pas-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 22px;position:relative}
.pas-list li{display:flex;gap:12px;align-items:flex-start;position:relative}
.pas-n{flex:none;width:34px;height:34px;border-radius:50%;background:var(--b);color:#111;font-weight:800;display:grid;place-items:center;position:relative;z-index:1}
.pas-list h3{margin:0 0 2px;font-size:17px;letter-spacing:-.01em}
.pas-list p{margin:0;color:var(--m);font-size:14.5px;line-height:1.4}
.pas-list a{color:var(--t);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.pas-nota{margin:16px 0 0;padding:9px 12px;border-left:4px solid var(--b);background:color-mix(in srgb,var(--b) 14%,transparent);border-radius:8px;font-size:14px;color:var(--t)}
@media(min-width:821px){.pas-list li:not(:last-child)::after{content:"";position:absolute;left:44px;right:-22px;top:17px;border-top:2px dashed color-mix(in srgb,var(--b) 70%,transparent);z-index:0}.pas-list li>div{background:var(--s);padding-right:6px;position:relative;z-index:1}}
@media(max-width:820px){.pas{padding:18px 16px}.pas-list{grid-template-columns:1fr;gap:0}.pas-list li{padding-bottom:14px}.pas-list li:not(:last-child)::after{content:"";position:absolute;left:16px;top:38px;bottom:2px;border-left:2px dashed color-mix(in srgb,var(--b) 70%,transparent)}.pas-top{align-items:flex-start}.pas-cta{width:100%;text-align:center}}

/* Home: foto officina */
.foto-gt3{position:relative;margin:0;border-radius:22px;overflow:hidden;border-bottom:6px solid var(--b);box-shadow:0 24px 50px -28px rgba(0,0,0,.6);align-self:stretch;min-height:320px;background:#111}
.foto-gt3 img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 52%;transform:scale(1.001);transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.foto-gt3:hover img{transform:scale(1.06)}
.foto-gt3::after{content:"";position:absolute;inset:auto 0 0 0;height:45%;background:linear-gradient(180deg,transparent,rgba(11,13,16,.88));pointer-events:none}
.foto-gt3 figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:1;color:#fff;display:flex;flex-direction:column;gap:2px}
.foto-gt3 figcaption b{font-size:19px;letter-spacing:-.01em}
.foto-gt3 figcaption span{display:inline-block;align-self:flex-start;margin-top:4px;background:var(--b);color:#111;font-weight:800;font-size:12.5px;padding:3px 10px;border-radius:99px}
@media(max-width:820px){.foto-gt3{aspect-ratio:4/5;min-height:0}}
@media(prefers-reduced-motion:reduce){.foto-gt3 img{transition:none}.foto-gt3:hover img{transform:none}}
.foto-gt3 img{position:absolute;inset:0}
.foto-gt3{min-height:420px}
@media(max-width:820px){.foto-gt3{min-height:0}}
/* Home: foto officina, dimensioni esplicite (compatibile con Safari) */
.foto-gt3{width:100%;box-sizing:border-box;display:block}
@media(max-width:820px){.foto-gt3{aspect-ratio:auto;height:min(118vw,520px);min-height:340px}}

/* Home: marchi, due file in direzioni opposte */
.mq2-wrap{display:grid;gap:14px;margin-top:18px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);padding:6px 0}
.mq2{overflow:visible}
.mq2-t{display:flex;gap:14px;width:max-content;animation:mq2a 34s linear infinite}
.mq2.b .mq2-t{animation-name:mq2b;animation-duration:40s}
.mq2-wrap:hover .mq2-t{animation-play-state:paused}
.mq2-t div{flex:none;width:190px;height:92px;background:#fff;border:1px solid var(--l);border-radius:18px;display:grid;place-items:center;padding:14px 22px;box-shadow:0 10px 24px -18px rgba(0,0,0,.5);transition:transform .3s,box-shadow .3s,border-color .3s}
.mq2-t div:hover{transform:translateY(-6px) scale(1.06);box-shadow:0 18px 30px -16px rgba(0,0,0,.55);border-color:var(--b)}
.mq2-t img{display:block;max-width:100%;max-height:50px;width:auto;height:auto;border:0;border-radius:0;box-shadow:none}
@keyframes mq2a{to{transform:translateX(calc(-50% - 7px))}}
@keyframes mq2b{from{transform:translateX(calc(-50% - 7px))}to{transform:translateX(0)}}
@media(max-width:480px){.mq2-t div{width:140px;height:72px;padding:10px 14px}.mq2-t img{max-height:38px}}
@media(prefers-reduced-motion:reduce){.mq2-t{animation:none}.mq2{overflow-x:auto}.mq2-t div[aria-hidden]{display:none}.mq2-wrap{-webkit-mask-image:none;mask-image:none}}

/* Home: certificazione ISO in evidenza */
.iso-box{position:relative;overflow:hidden;display:flex;align-items:center;gap:16px;max-width:780px;margin-top:22px;padding:18px 20px;background:var(--b);color:#111;border-radius:18px;box-shadow:0 18px 36px -22px rgba(255,209,0,.55)}
.iso-box::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:ctaShine 4.2s ease-in-out infinite;pointer-events:none}
.iso-b{flex:none;display:inline-flex;align-items:center;gap:7px;background:#111;color:var(--b);font-weight:800;font-size:15px;letter-spacing:.04em;padding:10px 14px;border-radius:12px}
.iso-box p{margin:0;font-size:clamp(16px,2.4vw,19px);font-weight:600;line-height:1.35;color:#111}
.iso-box strong{font-weight:800}
@media(max-width:560px){.iso-box{flex-direction:column;align-items:flex-start;gap:12px}}
@media(prefers-reduced-motion:reduce){.iso-box::after{animation:none}}

/* Home: carosello clienti */
.mq2-cl{margin:6px 0 18px;max-width:100%}
.mq2-cl .mq2-t{animation-duration:46s}
.mq2-cl .mq2-t div{width:200px;height:84px}
.mq2-cl .mq2-t img{max-height:44px}
@media(max-width:480px){.mq2-cl .mq2-t div{width:150px;height:68px}.mq2-cl .mq2-t img{max-height:36px}}

/* Home: società di noleggio */
.nol-logos{list-style:none;margin:20px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.nol-logos li{background:#fff;border:1px solid var(--l);border-radius:18px;height:96px;display:grid;place-items:center;padding:16px 22px;box-shadow:0 10px 24px -18px rgba(0,0,0,.5);transition:transform .3s,box-shadow .3s,border-color .3s}
.nol-logos li:hover{transform:translateY(-6px) scale(1.04);box-shadow:0 18px 30px -16px rgba(0,0,0,.55);border-color:var(--b)}
.nol-logos img{display:block;max-width:100%;max-height:48px;width:auto;height:auto}
@media(max-width:700px){.nol-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.nol-logos li{height:84px}}
@media(prefers-reduced-motion:reduce){.nol-logos li{transition:none}.nol-logos li:hover{transform:none}}
/* Clienti piu veloce + ISO piu sobrio */
.mq2-cl .mq2-t{animation-duration:28s}
.iso-box{background:rgba(255,209,0,.12);border:1px solid rgba(255,209,0,.45);box-shadow:none;color:var(--t)}
.iso-box::after{display:none}
.iso-b{background:transparent;color:var(--t);border:1px solid rgba(255,209,0,.7);font-size:14px;padding:8px 12px}
.iso-b svg{color:#c9a000}
.iso-box p{color:var(--t);font-weight:500}
.iso-box strong{font-weight:700}
/* Banner PagoDIL dinamico */
.pd-banner{position:relative;overflow:hidden;isolation:isolate;box-shadow:0 24px 44px -26px rgba(255,209,0,.6)}
.pd-banner>*{position:relative;z-index:1}
.pd-banner .pd-ring{position:absolute;z-index:0;border-radius:50%;border:26px solid rgba(255,255,255,.22);pointer-events:none}
.pd-banner .r1{width:300px;height:300px;right:-90px;top:-120px;animation:spin 26s linear infinite}
.pd-banner .r2{width:190px;height:190px;right:150px;bottom:-110px;border-width:18px;border-color:rgba(0,0,0,.07);animation:spin 34s linear infinite reverse}
.pd-banner::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:35%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);transform:skewX(-20deg);animation:ctaShine 5s ease-in-out infinite;pointer-events:none;z-index:0}
.pd-logo{display:inline-block;background:#fff;border-radius:14px;padding:8px 14px;margin-bottom:14px;box-shadow:0 10px 22px -14px rgba(0,0,0,.5);animation:pdFloat 4s ease-in-out infinite}
.pd-logo img{display:block;height:34px;width:auto}
@keyframes pdFloat{50%{transform:translateY(-4px)}}
.pd-btn{display:inline-flex;align-items:center;gap:10px;animation:ctaPulse 2.6s ease-in-out infinite;transition:transform .25s}
.pd-btn:hover{transform:translateY(-3px) scale(1.04)}
.pd-ar{display:inline-block;transition:transform .25s;animation:pdArr 1.6s ease-in-out infinite}
.pd-btn:hover .pd-ar{transform:translateX(5px)}
@keyframes pdArr{50%{transform:translateX(4px)}}
@media(max-width:560px){.pd-banner .r1{width:220px;height:220px;right:-80px;top:-90px}.pd-banner .r2{display:none}.pd-logo img{height:30px}}
@media(prefers-reduced-motion:reduce){.pd-banner .pd-ring,.pd-banner::after,.pd-logo,.pd-btn,.pd-ar{animation:none}}
/* PagoDIL banner: logo piu grande, meno bordo */
#pagodil,#pirelli,#bridgestone{scroll-margin-top:8px}
.pd-banner{padding:26px 28px}
.pd-banner .pd-ring{border-width:12px}
.pd-banner .r2{border-width:9px}
.pd-logo{padding:4px 10px;margin-bottom:10px;border-radius:12px}
.pd-logo img{height:54px}
@media(max-width:560px){.pd-banner{padding:22px 20px}.pd-logo img{height:48px}}
/* Banner finale piu piccolo */
.bn-sm{padding:22px 24px;gap:14px;border-radius:22px}
.bn-sm h2{font-size:clamp(20px,3.4vw,26px);line-height:1.15}
.bn-sm p{font-size:15px;margin-top:4px}
.bn-sm .row{display:flex;gap:10px;flex-wrap:wrap}
.bn-sm .btn{padding:11px 18px;font-size:15px;min-height:0}
@media(max-width:560px){.bn-sm{padding:18px 18px}.bn-sm .row{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:8px}.bn-sm .btn{padding:11px 8px;font-size:14px;text-align:center;justify-content:center}}
/* GT3: didascalia + pulsante */
.foto-gt3 figcaption{z-index:2}
.foto-gt3 figcaption a.gt3-btn{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;margin-top:10px;background:var(--b);color:#111;font-weight:800;font-size:15px;padding:10px 18px;border-radius:99px;text-decoration:none;transition:transform .25s,box-shadow .25s}
.foto-gt3 figcaption a.gt3-btn:hover{transform:translateY(-2px);box-shadow:0 10px 22px -10px rgba(255,209,0,.8)}
.foto-gt3 figcaption a.gt3-btn span{transition:transform .25s}
.foto-gt3 figcaption a.gt3-btn:hover span{transform:translateX(4px)}
.foto-gt3 figcaption b{font-size:22px}
/* Banner finale: pulsanti animati */
.bn-sm .btn{position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}
.bn-sm .btn::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,209,0,.55),transparent);transform:skewX(-20deg);animation:ctaShine 3.6s ease-in-out infinite;pointer-events:none}
.bn-sm .btn:nth-child(2)::after{animation-delay:1.1s}
.bn-sm .btn:first-child{animation:ctaPulse 2.6s ease-in-out infinite}
.bn-sm .btn:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 14px 24px -12px rgba(0,0,0,.6)}
.bn-sm .btn:active{transform:scale(.97)}
@media(prefers-reduced-motion:reduce){.bn-sm .btn,.bn-sm .btn::after{animation:none}}

/* Banner offerta dinamico */
.bn-dyn{background:linear-gradient(120deg,var(--b),#ffe566,var(--b));background-size:220% 100%;animation:bnFlow 9s ease-in-out infinite}
@keyframes bnFlow{50%{background-position:100% 0}}
.bn-dyn.js-bn{opacity:0;transform:translateY(26px) scale(.97);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1)}
.bn-dyn.js-bn.in{opacity:1;transform:none}
.bn-dyn.js-bn h2,.bn-dyn.js-bn p,.bn-dyn.js-bn .btn,.bn-dyn.js-bn .bn-live{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
.bn-dyn.js-bn.in .bn-live{opacity:1;transform:none;transition-delay:.15s}
.bn-dyn.js-bn.in h2{opacity:1;transform:none;transition-delay:.3s}
.bn-dyn.js-bn.in p{opacity:1;transform:none;transition-delay:.45s}
.bn-dyn.js-bn.in .btn{opacity:1;transform:none;transition-delay:.6s}
.bn-dyn.js-bn.in .btn:hover{transform:translateY(-3px) scale(1.04);transition-delay:0s}
.bn-live{display:inline-flex;align-items:center;gap:8px;background:rgba(17,17,17,.9);color:#fff;font-weight:800;font-size:13px;padding:6px 12px;border-radius:99px;margin-bottom:12px}
.bn-live i{width:9px;height:9px;border-radius:50%;background:#35d07f;animation:ping 1.8s ease-out infinite}
.bn-dyn .btn{position:relative;overflow:hidden;font-size:17px;padding:15px 26px}
.bn-dyn .btn::after{content:"";position:absolute;top:0;bottom:0;left:-70%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,209,0,.6),transparent);transform:skewX(-20deg);animation:ctaShine 3.4s ease-in-out infinite;pointer-events:none}
@media(max-width:560px){.bn-dyn .btn{width:100%;justify-content:center}}
@media(prefers-reduced-motion:reduce){.bn-dyn,.bn-live i,.bn-dyn .btn::after{animation:none}}

/* Home: cerchio con 5 razze tutte uguali */
.tire::after{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='%23c3c8d0'%3E%3Crect x='92.5' y='4' width='15' height='85' rx='4' transform='rotate%280 100 100%29'/%3E%3Crect x='92.5' y='4' width='15' height='85' rx='4' transform='rotate%2872 100 100%29'/%3E%3Crect x='92.5' y='4' width='15' height='85' rx='4' transform='rotate%28144 100 100%29'/%3E%3Crect x='92.5' y='4' width='15' height='85' rx='4' transform='rotate%28216 100 100%29'/%3E%3Crect x='92.5' y='4' width='15' height='85' rx='4' transform='rotate%28288 100 100%29'/%3E%3C/g%3E%3Ccircle cx='100' cy='100' r='15' fill='%230b0d10'/%3E%3Ccircle cx='100' cy='100' r='8' fill='%23ffd100'/%3E%3C/svg%3E") center/100% 100% no-repeat,#14171b}
@media(min-width:701px){.tire{right:-110px}}
/* Home: ruota intera e vicina ai contenuti sugli schermi larghi */
@media(min-width:1200px){.tire{width:560px;height:560px;right:max(-110px,calc((100vw - 1120px)/2 - 290px))}.tire::before{inset:41px}.tire::after{inset:110px}}

/* Footer: pulsante Torna su */
.torna-su{display:flex;align-items:center;gap:8px;width:max-content;margin:20px auto 0;background:#ffd100;color:#111!important;font-weight:800;font-size:15px;padding:10px 20px;border-radius:99px;text-decoration:none;transition:transform .25s,box-shadow .25s}.torna-su svg{width:18px;height:18px;fill:currentColor;transition:transform .25s}.torna-su:hover{transform:translateY(-3px);box-shadow:0 12px 22px -12px rgba(255,209,0,.8)}.torna-su:hover svg{transform:translateY(-3px)}.torna-su:focus-visible{outline:3px solid #fff;outline-offset:3px}@media(prefers-reduced-motion:reduce){.torna-su,.torna-su svg{transition:none}}
.torna-su{border:0;cursor:pointer;font-family:inherit;line-height:1.2}
/* Torna su: in alto nel footer, freccia che sale */
.torna-su{margin:0 auto 28px}.torna-su svg{animation:suFreccia 1.6s ease-in-out infinite}@keyframes suFreccia{0%,100%{transform:translateY(2px)}50%{transform:translateY(-4px)}}.torna-su:hover svg{animation-duration:.8s}@media(prefers-reduced-motion:reduce){.torna-su svg{animation:none}}
/* Mobile: pulsante menu piu visibile */
@media(max-width:820px){#mb{display:inline-flex!important;align-items:center;gap:8px;width:auto;height:44px;padding:0 16px 0 14px;background:#ffd100;color:#111;border:0;border-radius:99px;font:800 15px/1 inherit;font-family:inherit;box-shadow:0 6px 16px -8px rgba(0,0,0,.45);transition:transform .2s,background .2s}#mb:active{transform:scale(.95)}#mb:focus-visible{outline:3px solid #111;outline-offset:2px}.mb-i{position:relative;width:20px;height:14px;display:block}.mb-i i{position:absolute;left:0;width:20px;height:2.5px;border-radius:2px;background:#111;transition:transform .3s,opacity .2s,top .3s}.mb-i i:nth-child(1){top:0}.mb-i i:nth-child(2){top:5.75px}.mb-i i:nth-child(3){top:11.5px}#mb[aria-expanded="true"]{background:#111;color:#ffd100}#mb[aria-expanded="true"] .mb-i i{background:#ffd100}#mb[aria-expanded="true"] .mb-i i:nth-child(1){top:5.75px;transform:rotate(45deg)}#mb[aria-expanded="true"] .mb-i i:nth-child(2){opacity:0}#mb[aria-expanded="true"] .mb-i i:nth-child(3){top:5.75px;transform:rotate(-45deg)}.lg-dr{margin-right:4px}}@media(max-width:360px){.mb-t{display:none}#mb{padding:0 12px}}@media(prefers-reduced-motion:reduce){.mb-i i,#mb{transition:none}}
@media(max-width:820px){#mb{padding:0 14px 0 12px;gap:7px;font-size:14px;flex:none}.bar>*{flex-shrink:0}}@media(max-width:430px){.lg-dr{height:15px!important}.bar{gap:10px}}@media(max-width:360px){.lg-pg{height:32px!important}#mb{width:44px;padding:0;justify-content:center}}
.ft-logos .ft-dr,.ft-dr{width:125px;max-width:100%;height:auto;display:block}
/* Pagina Prodotti */
.pr-bar{display:flex;flex-direction:column;gap:14px;margin:18px auto 6px}
.pr-filtri{display:flex;flex-wrap:wrap;gap:8px}
.pr-filtri button{font:inherit;font-weight:700;font-size:15px;cursor:pointer;padding:9px 16px;border-radius:99px;border:1px solid var(--l);background:var(--s);color:var(--t);transition:background .2s,border-color .2s,transform .2s}
.pr-filtri button:hover{border-color:var(--b);transform:translateY(-1px)}
.pr-filtri button[aria-pressed="true"]{background:var(--b);border-color:var(--b);color:#111}
.pr-nav{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.pr-nav a{flex:none;display:grid;place-items:center;width:104px;height:52px;background:#fff;border:1px solid var(--l);border-radius:12px;padding:8px 12px;transition:transform .2s,border-color .2s}
.pr-nav a:hover{transform:translateY(-2px);border-color:var(--b)}
.pr-nav img{display:block;max-width:100%;max-height:30px;width:auto;height:auto}
.pr-list{display:grid;gap:44px;padding-top:26px;padding-bottom:20px}
.pr-marca{padding:0;scroll-margin-top:84px}
.pr-mh{display:flex;align-items:center;gap:16px;margin-bottom:16px;padding-bottom:14px;border-bottom:3px solid var(--b)}
.pr-logo{flex:none;width:120px;height:64px;background:#fff;border:1px solid var(--l);border-radius:14px;display:grid;place-items:center;padding:10px 14px}
.pr-logo img{display:block;max-width:100%;max-height:40px;width:auto;height:auto}
.pr-mh h2{margin:0;font-size:clamp(24px,3.6vw,32px)}
.pr-mh p{margin:4px 0 0;color:var(--m);font-size:15px}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.pr-card{display:flex;flex-direction:column;background:var(--s);color:var(--t);border:1px solid var(--l);border-radius:20px;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease,border-color .3s}
.pr-card:hover{transform:translateY(-5px);box-shadow:0 20px 36px -22px rgba(0,0,0,.5);border-color:var(--b)}
.pr-foto{position:relative;aspect-ratio:4/3;background:linear-gradient(135deg,#f3f4f6,#e3e6ea);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border-bottom:4px solid var(--b)}
.pr-foto img{display:block;max-width:56%;max-height:42%;width:auto;height:auto;opacity:.5;filter:grayscale(1)}
.pr-foto>span{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#7a828d}
.pr-foto.ok{background:#fff}
.pr-foto.ok img{max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain;opacity:1;filter:none}
.pr-b{display:flex;flex-direction:column;gap:8px;padding:16px 18px 18px;flex:1}
.pr-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}
.pr-st{font-size:12.5px;font-weight:800;padding:4px 10px;border-radius:99px}
.pr-estivo{background:#fff3c4;color:#6b4d00}
.pr-invernale{background:#dceeff;color:#0b4a80}
.pr-4stagioni{background:#e2f5e4;color:#1d5e27}
.pr-anno{font-size:12.5px;font-weight:700;color:var(--m)}
.pr-card h3{margin:2px 0 0;font-size:20px;line-height:1.2;letter-spacing:-.02em}
.pr-card h3 small{display:block;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--m);margin-bottom:2px}
.pr-v{margin:0;color:var(--m);font-size:14.5px}
.pr-card ul{margin:2px 0 0;padding:0;list-style:none;display:grid;gap:6px}
.pr-card li{position:relative;padding-left:24px;font-size:14.5px;line-height:1.4}
.pr-card li::before{content:"✓";position:absolute;left:0;top:0;width:17px;height:17px;border-radius:50%;background:var(--b);color:#111;font-size:11px;font-weight:900;display:grid;place-items:center;margin-top:1px}
.pr-mis{margin:2px 0 0;font-size:13.5px;font-weight:600;color:var(--t)}
.pr-btn{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:8px;background:#111;color:#fff!important;font-weight:800;font-size:14.5px;padding:10px 16px;border-radius:99px;text-decoration:none;transition:transform .2s,background .2s,color .2s}
.pr-b>.pr-btn{margin-top:auto}
.pr-card .pr-btn{margin-top:10px}
.pr-btn span{transition:transform .2s}
.pr-btn:hover{background:var(--b);color:#111!important;transform:translateY(-2px)}
.pr-btn:hover span{transform:translateX(4px)}
.pr-vuoto{color:var(--m)}
.pr-nota{margin:0;padding:12px 14px;border-left:4px solid var(--b);background:var(--s2);border-radius:8px;font-size:14px;color:var(--t)}
.js-pr .pr-card{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease,box-shadow .3s,border-color .3s}
.js-pr .pr-card.in{opacity:1;transform:none}
.js-pr .pr-card.in:hover{transform:translateY(-5px)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .pr-btn{background:#fff;color:#111!important}:root:not([data-theme="light"]) .pr-estivo{background:#4a3c00;color:#ffe680}:root:not([data-theme="light"]) .pr-invernale{background:#0f2f4d;color:#a8d4ff}:root:not([data-theme="light"]) .pr-4stagioni{background:#173d1d;color:#a9e6b0}}
:root[data-theme="dark"] .pr-btn{background:#fff;color:#111!important}
@media(max-width:560px){.pr-mh{align-items:flex-start}.pr-logo{width:96px;height:54px}.pr-nav a{width:92px;height:48px}.pr-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.pr-card,.pr-btn,.pr-filtri button,.pr-nav a{transition:none}}
@media(max-width:560px){.pr-foto{aspect-ratio:16/10}}
/* Menu desktop con 7 voci: piu compatto sugli schermi medi */
@media(min-width:821px) and (max-width:1100px){nav a{padding:8px 10px;font-size:13.5px}nav a.cta{margin-left:4px}.lg-dr{height:18px}.bar{gap:10px}}
@media(min-width:821px) and (max-width:940px){.lg-pg{height:38px}nav a{padding:7px 8px;font-size:13px}.lg-dr{height:15px}}
