/*
Theme Name: Zero Sorprese Home by Progetto Casa Versilia
Theme URI: https://www.progettocasaversilia.com
Author: Progetto Casa Versilia
Author URI: https://www.progettocasaversilia.com
Description: Zero Sorprese Home by Progetto Casa Versilia, per chi vuole comprare casa in Versilia: dalla verifica alle chiavi, con garanzie per iscritto, controlli documentali prima del rogito e un solo compenso, a vendita conclusa.
Version: 1.1
Requires at least: 6.0
Requires PHP: 7.4
License: Tutti i diritti riservati
Text Domain: zero-sorprese-home
*/

@font-face{font-family:'Inter'; font-style:normal; font-weight:100 900; font-display:swap; src:url('assets/fonts/inter-latin-wght-normal.woff2') format('woff2');}
@font-face{font-family:'Inter'; font-style:italic; font-weight:100 900; font-display:swap; src:url('assets/fonts/inter-latin-wght-italic.woff2') format('woff2');}
:root{
  --black:#FFFFFF;
  --panel:#FFFFFF;
  --panel-2:#F6F6F6;
  --red:#E53E3E;
  --red-dark:#C53030;
  --blue:#E53E3E;
  --blue-bright:#C53030;
  --violet:#6B6B6B;
  --ink:#1A1A1A;
  --ink-soft:#4A4A4A;
  --ink-dim:#6B6B6B;
  --line:#E3E3E3;
  --ok:#1E9E6A;
  --warn:#C98A00;
  --err:#C53030;
  --grad:linear-gradient(135deg,#E53E3E 0%,#B91C1C 100%);
  --grad-text:linear-gradient(135deg,#E53E3E 0%,#B91C1C 100%);
  --disp: 'Inter', sans-serif;
  --sans: 'Inter', sans-serif;
  --mono: 'Inter', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--black);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img,svg{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:1140px; margin:0 auto; padding:0 28px;}
section{padding:108px 0;}


h1,h2,h3{font-family:var(--disp); font-weight:700; letter-spacing:-0.025em; color:var(--ink);}
h1,h2{font-weight:800;}
h2{font-size:clamp(30px,4vw,44px); line-height:1.14; max-width:17ch;}
h3{font-size:21px; line-height:1.3;}
p{color:var(--ink-soft); font-size:16.5px; font-weight:400;}
.lede{font-size:18.5px; max-width:54ch; color:var(--ink-soft); font-style:italic; font-weight:500;}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--red); color:#fff;
  font-family:var(--sans); font-weight:800; font-size:15.5px;
  padding:15px 28px; border-radius:8px; text-decoration:none;
  border:2px solid var(--red);
  transition:box-shadow .2s ease, background .2s ease, color .2s ease, transform .15s ease;
}
.btn:hover{background:var(--red-dark); border-color:var(--red-dark); box-shadow:0 8px 22px rgba(229,62,62,0.32); transform:translateY(-1px);}
.btn-ghost{background:transparent; color:var(--ink); border:2px solid var(--ink);}
.btn-ghost:hover{background:var(--ink); border-color:var(--ink); color:#fff; box-shadow:none;}

.tag{
  font-family:var(--mono); font-weight:700; font-size:12px; letter-spacing:0.1em; color:var(--red-dark);
  display:inline-flex; align-items:center; gap:8px; margin-bottom:20px;
  padding:7px 14px; border:1px solid rgba(229,62,62,0.28); border-radius:100px; background:rgba(229,62,62,0.07);
}
.tag::before{content:""; width:6px; height:6px; border-radius:50%; background:var(--red);}

/* ---------- NAV ---------- */
.site-header{
  position:sticky; top:0; z-index:50;
  background:#1A1A1A; border-bottom:3px solid var(--red);
}
.site-header .wrap{display:flex; align-items:center; justify-content:space-between; padding-top:18px; padding-bottom:18px;}
.logo{font-family:var(--disp); font-size:20px; font-weight:800; letter-spacing:-0.02em; display:flex; align-items:center; gap:9px; color:#fff;}
.logo .dot{width:9px; height:9px; border-radius:50%; background:var(--red);}
.nav-links{display:flex; gap:28px; font-size:14.5px; font-weight:500; color:#D0D0D0; list-style:none;}
.nav-links a:hover{color:#fff;}


/* ---------- HERO ---------- */
.hero{padding-top:76px; padding-bottom:56px;}
.hero .wrap{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}

.hero h1{font-size:clamp(36px,5vw,56px); line-height:1.08; max-width:15ch;}
.hero .lede{margin-top:22px;}
.hero-cta{display:flex; gap:16px; align-items:center; margin-top:32px; flex-wrap:wrap;}
.hero-note{font-size:13.5px; color:var(--ink-dim); margin-top:14px; font-family:var(--mono);}
.stat-row{display:flex; gap:40px; margin-top:52px; flex-wrap:wrap;}
.stat b{display:block; font-family:var(--disp); font-weight:800; font-size:30px; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;}
.stat span{font-size:13px; color:var(--ink-dim);}
.poster{
  background:var(--panel);
  border:1px solid var(--line); border-radius:16px; position:relative; overflow:hidden;
  aspect-ratio:4/5; box-shadow:0 24px 60px rgba(26,26,26,0.12);
}
.poster svg{width:100%; height:100%;}

/* ---------- TRUST ---------- */
.trust{background:#1A1A1A; padding:34px 0;}
.trust .wrap{display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px;}
.trust-item{font-size:13.5px; color:#CFCFCF; display:flex; align-items:baseline; gap:8px; font-family:var(--mono);}
.trust-item b{font-family:var(--disp); font-size:20px; color:#fff; font-weight:800;}

/* ---------- GRID: PERSONAS / PILLARS ---------- */
.grid-2{display:grid; grid-template-columns:repeat(2,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:52px; border-radius:16px; overflow:hidden;}

.cell{background:var(--panel); padding:40px; transition:background .2s ease;}
.cell:hover{background:var(--panel-2);}
.cell .num{font-family:var(--mono); font-weight:600; font-size:13px; color:var(--blue-bright);}
.cell h3{margin-top:14px;}
.cell p{margin-top:10px; font-size:15.5px;}

/* ---------- AGITATE ---------- */
.agitate{background:#1A1A1A;}
.agitate ul{margin-top:26px; display:grid; gap:14px; max-width:48ch;}
.agitate li{list-style:none; padding-left:24px; position:relative; font-size:16.5px; color:#EDEDED;}
.agitate li::before{content:"→"; position:absolute; left:0; color:var(--red); font-weight:700;}
.agitate .close{margin-top:34px; font-size:18px; color:var(--ink); max-width:46ch; font-family:var(--disp); font-weight:600; font-style:italic; line-height:1.45;}

/* ---------- BEFORE/AFTER ---------- */
.compare{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); margin-top:52px; border-radius:16px; overflow:hidden;}

.compare-col{background:var(--panel); padding:40px;}
.compare-col.after{background:#FFF5F5;}
.compare-col h3{font-size:14px; font-family:var(--mono); font-weight:500; color:var(--ink-dim); text-transform:uppercase; letter-spacing:0.04em;}
.compare-col.after h3{color:var(--red-dark);}
.compare-col ul{margin-top:20px; display:grid; gap:14px;}
.compare-col li{list-style:none; padding-left:22px; position:relative; font-size:15.5px; color:var(--ink-soft);}
.compare-col.before li::before{content:"×"; position:absolute; left:0; color:var(--ink-dim); font-weight:700;}
.compare-col.after li::before{content:"✓"; position:absolute; left:0; color:var(--red-dark); font-weight:700;}

/* ---------- TIMELINE ---------- */
.timeline{margin-top:52px; display:grid; gap:0;}
.tl-row{display:grid; grid-template-columns:140px 1fr; gap:28px; padding:28px 0; border-top:1px solid var(--line);}
.tl-row:last-child{border-bottom:1px solid var(--line);}

.tl-week{font-family:var(--mono); font-weight:600; font-size:14px; color:var(--blue-bright);}
.tl-row h3{margin-bottom:6px;}

/* ---------- TEAM ---------- */
.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px;}

.team-card{background:var(--panel); border:1px solid var(--line); padding:32px; border-radius:14px;}
.team-card .role{font-family:var(--mono); font-weight:600; font-size:12px; color:var(--violet); margin-bottom:14px;}
.team-card h3{font-family:var(--sans); font-weight:700; font-size:18px;}
.team-card .title{font-size:13.5px; color:var(--ink-dim); margin-top:2px; margin-bottom:14px;}
.team-card p{font-size:15px;}

/* ---------- CASES ---------- */
.cases{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); margin-top:52px; border-radius:16px; overflow:hidden;}

.case{background:var(--panel); padding:34px;}
.case .metric{font-family:var(--disp); font-weight:800; font-size:32px; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;}
.case .metric-label{font-size:12.5px; color:var(--ink-dim); margin-bottom:18px; margin-top:2px; font-family:var(--mono); font-weight:500;}
.case h3{font-size:16px; font-family:var(--sans); font-weight:700;}
.case p{font-size:14.5px; margin-top:8px;}
.case-note{margin-top:28px; font-size:13px; color:var(--ink-dim); max-width:60ch;}

/* ---------- FOUNDER ---------- */
.founder .wrap{display:grid; grid-template-columns:0.9fr 1.1fr; gap:56px; align-items:center;}

.founder-photo{aspect-ratio:3/4; background:var(--panel); border:1px solid var(--line); border-radius:16px; position:relative; overflow:hidden;}
.founder-photo svg{width:100%; height:100%;}
.founder-stats{display:flex; gap:36px; margin-top:28px;}

/* ---------- VALUE STACK ---------- */
.stack-table{margin-top:44px; border-top:1px solid var(--line);}
.stack-row{display:grid; grid-template-columns:1fr auto; gap:20px; padding:20px 0; border-bottom:1px solid var(--line); align-items:baseline;}
.stack-row span:first-child{font-size:15.5px; color:var(--ink-soft); max-width:52ch;}
.stack-row b{font-family:var(--mono); font-weight:600; font-size:15px; white-space:nowrap; color:var(--ink);}
.stack-total{display:flex; justify-content:space-between; padding-top:26px; align-items:baseline; gap:20px; flex-wrap:wrap;}
.stack-total span{font-size:15px; color:var(--ink-soft); max-width:44ch;}
.stack-total b{font-family:var(--disp); font-weight:800; font-size:22px; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;}

/* ---------- PRICING ---------- */
.pricing{background:var(--panel-2);}
.price-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:52px;}

.price-card{background:var(--panel); border:1px solid var(--line); padding:34px; border-radius:16px; display:flex; flex-direction:column;}
.price-card.featured{border:2px solid var(--red); background:#1A1A1A; box-shadow:0 20px 50px rgba(229,62,62,0.25);}
.price-tag{font-family:var(--mono); font-weight:600; font-size:12px; color:var(--violet); margin-bottom:14px;}
.price-card h3{color:var(--ink); font-family:var(--sans); font-weight:700; font-size:19px;}
.price-card .desc{font-size:14px; color:var(--ink-dim); margin-top:8px; min-height:40px;}
.price-amount{margin-top:20px; font-family:var(--disp); font-weight:800; font-size:32px; color:var(--ink);}
.price-amount small{font-size:13px; color:var(--ink-dim); font-family:var(--sans);}
.price-card ul{margin-top:22px; display:grid; gap:12px; flex:1;}
.price-card li{list-style:none; padding-left:20px; position:relative; font-size:14.5px; color:var(--ink-soft);}
.price-card li::before{content:"✓"; position:absolute; left:0; color:var(--green); font-weight:700;}
.price-card .btn{margin-top:26px; justify-content:center; width:100%;}

/* ---------- FAQ ---------- */
.faq-list{margin-top:44px; border-top:1px solid var(--line);}
.faq-item{border-bottom:1px solid var(--line);}
.faq-item summary{padding:22px 4px; cursor:pointer; font-family:var(--disp); font-size:18px; font-weight:600; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:20px; color:var(--ink);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+"; font-family:var(--mono); font-size:20px; color:var(--blue-bright); flex-shrink:0;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{padding:0 4px 22px; max-width:64ch;}

/* ---------- FINAL CTA ---------- */
.final{text-align:center; background:var(--red);}
.final h2{max-width:none; margin:0 auto;}
.final .lede{margin:18px auto 0; text-align:center;}
.final .hero-cta{justify-content:center;}

/* ---------- FOOTER ---------- */
.site-footer{background:#1A1A1A; border-top:3px solid var(--red); padding:56px 0 40px;}
.site-footer .wrap{display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap;}
.foot-brand .logo{margin-bottom:10px;}
.site-footer p{font-size:13.5px; max-width:34ch; color:#CFCFCF;}
.foot-legal{font-size:12.5px; color:#CFCFCF; line-height:1.7; font-family:var(--mono);}
.foot-links{margin-top:14px; display:flex; gap:18px; font-size:12.5px; list-style:none;}
.foot-links a:hover{color:#FF8A8A;}

/* ---------- BASIC BLOG/PAGE FALLBACK (index.php, page.php) ---------- */
.content-area{max-width:760px; margin:0 auto; padding:80px 28px;}
.content-area h1{font-size:36px; margin-bottom:20px;}
.content-area article{margin-bottom:56px; padding-bottom:56px; border-bottom:1px solid var(--line);}
.content-area a{color:var(--blue);}

/* ---------- VARIANTI SU SFONDO SCURO / ROSSO ---------- */
.hl{color:var(--red);}
.agitate h2, .agitate .close{color:#fff;}
.agitate .tag{background:rgba(255,255,255,0.1); border-color:rgba(255,255,255,0.25); color:#fff;}
.agitate .tag::before{background:var(--red);}
.price-card.featured h3, .price-card.featured .price-amount{color:#fff;}
.price-card.featured .desc, .price-card.featured .price-amount small{color:#CFCFCF;}
.price-card.featured li{color:#EDEDED;}
.price-card.featured li::before{color:#FF6B6B;}
.price-card.featured .price-tag{color:#FF8A8A;}
.final h2, .final .lede{color:#fff !important;}
.final .tag{background:rgba(255,255,255,0.18); border-color:rgba(255,255,255,0.45); color:#fff;}
.final .tag::before{background:#fff;}
.final .btn{background:#fff; border-color:#fff; color:#1A1A1A;}
.final .btn:hover{background:#1A1A1A; border-color:#1A1A1A; color:#fff;}

/* ---------- ZERO SORPRESE: nuovi blocchi ---------- */
.hero-sub{font-size:20px; font-weight:700; color:var(--ink); margin-top:14px; font-style:italic;}
.grid-3{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:16px; overflow:hidden; margin-top:44px;}
.team-4{grid-template-columns:repeat(4,1fr);}
.table-wrap{margin-top:36px; overflow-x:auto;}
.data-table{width:100%; border-collapse:collapse; font-size:14.5px; background:var(--panel);}
.data-table th{background:#1A1A1A; color:#fff; text-align:left; font-weight:700; padding:12px 14px; font-size:13px;}
.data-table th small{font-weight:500; color:#D0D0D0;}
.data-table td{padding:12px 14px; border-bottom:1px solid var(--line); color:var(--ink-soft); vertical-align:top;}
.data-table td b{color:var(--ink);}
.data-table td small{color:var(--ink-dim); font-size:12px;}
.data-table.feat th,.data-table.feat td{text-align:center;} .data-table.feat th:first-child,.data-table.feat td:first-child{text-align:left;}
.data-table.feat .y{color:var(--red-dark); font-weight:800;} .data-table.feat .n{color:#B0B0B0;}
.data-table.feat .hi{background:#FFF5F5;} .data-table.feat th.hi{background:var(--red); color:#fff;}
.data-table.feat th.hi small{color:#fff;}
.states{display:flex; gap:10px; flex-wrap:wrap; margin-top:20px;}
.state{background:#FFF5F5; border:1px solid var(--red); color:var(--red-dark); font-weight:700; font-size:13px; padding:7px 14px; border-radius:999px;}
.anteprima{background:#1A1A1A;}
.anteprima .wrap{display:grid; grid-template-columns:1.2fr .8fr; gap:48px; align-items:center;}
.anteprima h2,.anteprima .lede{color:#fff;} .anteprima .lede{color:#D0D0D0;}
.anteprima .tag{background:rgba(229,62,62,.18); color:#fff;}
.wa-card{background:#fff; border-radius:16px; padding:18px; box-shadow:0 20px 50px rgba(0,0,0,.4);}
.wa-head{font-size:12px; font-weight:700; color:var(--ink-dim); margin-bottom:12px;}
.wa-msg{background:#F6F6F6; border-left:3px solid var(--red); border-radius:8px; padding:12px 14px; font-size:14px; color:var(--ink);}
.wa-chips{display:flex; gap:8px; margin-top:12px;} .wa-chips span{font-size:12px; font-weight:700; background:#1A1A1A; color:#fff; padding:5px 12px; border-radius:999px;}
.calc{display:grid; grid-template-columns:.85fr 1.15fr; gap:36px; margin-top:40px; align-items:start;}
.calc-in{display:grid; gap:14px; background:var(--panel-2); border:1px solid var(--line); border-radius:16px; padding:24px;}
.calc label,.lead-form label{display:grid; gap:6px; font-size:13px; font-weight:700; color:var(--ink);}
.calc input,.calc select{font:inherit; font-weight:500; padding:11px 12px; border:1.5px solid #CFCFCF; border-radius:8px; background:#fff; color:var(--ink);}
.calc input:focus,.calc select:focus{outline:2px solid var(--red); border-color:var(--red);}
.data-table.out td.amt{text-align:right; white-space:nowrap; font-weight:700; color:var(--ink);}
.calc-total{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:baseline; gap:6px 16px; background:#1A1A1A; color:#fff; padding:18px 20px; border-radius:0 0 12px 12px; border-top:3px solid var(--red);}
.calc-total span{font-size:13px; color:#D0D0D0;} .calc-total b{font-size:22px; font-weight:800;} .calc-total em{flex-basis:100%; font-size:13px; color:#fff; font-style:normal; font-weight:600;}
.lead-form{margin-top:18px;} .lead-form summary{list-style:none; cursor:pointer; display:inline-flex;} .lead-form summary::-webkit-details-marker{display:none;}
.lead-form form{display:grid; gap:12px; margin-top:16px;} .lead-form input[type=text],.lead-form input[type=email],.lead-form input[type=tel]{font:inherit; padding:11px 12px; border:1.5px solid #CFCFCF; border-radius:8px;}
.lead-form .chk{display:flex; gap:10px; align-items:flex-start; font-weight:500; font-size:12.5px; color:var(--ink-soft);}
.price-card{position:relative;}
.badge{position:absolute; top:-12px; left:50%; transform:translateX(-50%); background:var(--red); color:#fff; font-size:11px; font-weight:800; letter-spacing:.08em; padding:5px 14px; border-radius:999px;}
.price-card h3{font-size:17px;}


/* ---------- AGITATE: punti che arrivano allo scroll ---------- */
.agitate .ag-head{max-width:760px;}
.agitate h2{max-width:20ch; color:#fff;}
.ag-steps{list-style:none; margin:56px 0 0; padding:0 0 0 34px; position:relative; display:grid; gap:34px; max-width:860px;}
.ag-steps::before{content:""; position:absolute; left:0; top:6px; bottom:6px; width:3px; background:rgba(255,255,255,.14); border-radius:3px;}
.ag-steps::after{content:""; position:absolute; left:0; top:6px; width:3px; height:calc((100% - 12px) * var(--ag-p,0)); background:var(--red); border-radius:3px; box-shadow:0 0 14px rgba(229,62,62,.8);}
.ag-step{display:grid; grid-template-columns:auto 1fr; gap:22px; align-items:start; padding:22px 26px; border:1px solid rgba(255,255,255,.12); border-radius:14px; background:rgba(255,255,255,.04); position:relative;}
.ag-step::before{content:""; position:absolute; left:-41px; top:30px; width:15px; height:15px; border-radius:50%; background:#1A1A1A; border:3px solid rgba(255,255,255,.3); transition:all .4s ease;}
.ag-n{font-family:var(--disp); font-weight:900; font-size:44px; line-height:1; color:rgba(255,255,255,.18); transition:color .5s ease;}
.ag-step h3{color:#fff; font-size:22px; font-weight:800;}
.ag-step p{color:#D0D0D0; margin-top:8px; font-size:16px;}
.js .ag-step{opacity:0; transform:translateX(-26px) scale(.98); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);}
.js .ag-step.in{opacity:1; transform:none;}
.ag-step.in .ag-n{color:var(--red);}
.ag-step.in::before{background:var(--red); border-color:var(--red); box-shadow:0 0 0 6px rgba(229,62,62,.25);}
.ag-close{margin-top:48px; max-width:46ch; font-family:var(--disp); font-size:22px; font-weight:600; font-style:italic; line-height:1.45; color:#fff;}
.ag-close b{color:#fff; background:linear-gradient(transparent 62%, rgba(229,62,62,.7) 62%);}
.js .ag-close{opacity:0; transform:translateY(16px); transition:all .8s ease;} .js .ag-close.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){.js .ag-step,.js .ag-close{opacity:1; transform:none; transition:none;}}


.agitate li.ag-step{padding:22px 26px; font-size:inherit; color:inherit;}
.agitate li.ag-step::before{content:""; position:absolute; left:-41px; top:30px; width:15px; height:15px; border-radius:50%; background:#1A1A1A; border:3px solid rgba(255,255,255,.3); color:transparent; transition:all .4s ease;}
.agitate li.ag-step.in::before{background:var(--red); border-color:var(--red); box-shadow:0 0 0 6px rgba(229,62,62,.25);}


/* ---------- STILE MODERNO: card, step, brand ---------- */
.reveal{opacity:0; transform:translateY(22px); transition:opacity .7s ease, transform .7s cubic-bezier(.2,.8,.2,1);}
.reveal.in{opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce){.reveal{opacity:1; transform:none; transition:none;}}
.brands{background:#F6F6F6; border-bottom:1px solid var(--line); padding:26px 0;}
.brands .wrap{display:flex; align-items:center; gap:28px; flex-wrap:wrap;}
.brands-k{font-size:12px; font-weight:800; letter-spacing:.14em; color:var(--ink-dim);}
.brands-row{display:flex; gap:16px; flex:1; justify-content:flex-end; flex-wrap:wrap;}
.brand-logo{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; width:150px; height:64px; border:1.5px dashed #BDBDBD; border-radius:12px; background:#fff; font-size:11px; font-weight:800; letter-spacing:.1em; color:var(--ink-dim); transition:all .25s ease;}
.brand-logo span{font-size:15px; color:#C9C9C9; letter-spacing:.2em;}
.brand-logo:hover{border-color:var(--red); color:var(--red); transform:translateY(-3px); box-shadow:0 10px 24px rgba(0,0,0,.08);}
.persona-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:44px;}
.persona{position:relative; background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px 28px; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease;}
.persona::before{content:""; position:absolute; left:0; top:0; width:100%; height:5px; background:linear-gradient(90deg,var(--red),#B91C1C);}
.persona:hover{transform:translateY(-6px); box-shadow:0 24px 50px rgba(26,26,26,.14);}
.p-ico{width:54px; height:54px; border-radius:16px; background:#1A1A1A; color:#fff; display:grid; place-items:center; margin-bottom:20px;}
.p-ico svg{width:26px; height:26px;}
.p-kicker{display:block; font-size:11.5px; font-weight:800; letter-spacing:.14em; color:var(--red-dark); margin-bottom:8px;}
.persona h3{font-size:22px;}
.persona p{margin-top:12px; font-size:15px;}
.p-chip{display:inline-block; margin-top:18px; background:#FFF5F5; color:var(--red-dark); border:1px solid #F5C6C6; border-radius:999px; padding:6px 12px; font-size:12px; font-weight:700;}
.stepper{display:grid; grid-template-columns:repeat(3,1fr); gap:26px; margin-top:52px;}
.st{position:relative;}
.st-top{display:flex; align-items:center; margin-bottom:18px;}
.st-n{width:56px; height:56px; border-radius:50%; background:var(--red); color:#fff; font-weight:900; font-size:24px; display:grid; place-items:center; box-shadow:0 0 0 8px rgba(229,62,62,.16); flex:none;}
.st-line{flex:1; height:3px; margin-left:14px; background:repeating-linear-gradient(90deg,#CFCFCF 0 8px,transparent 8px 14px);}
.st:last-child .st-line{display:none;}
.st-k{display:block; font-size:11.5px; font-weight:800; letter-spacing:.14em; color:var(--red-dark);}
.st h3{margin-top:8px; font-size:22px;} .st p{margin-top:10px; font-size:15px;}
.pay-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px;}
.pay{background:#fff; border:1px solid var(--line); border-radius:18px; padding:26px; display:flex; flex-direction:column; gap:8px; transition:transform .3s ease, box-shadow .3s ease;}
.pay:hover{transform:translateY(-5px); box-shadow:0 20px 44px rgba(26,26,26,.12);}
.pay-k{font-size:11.5px; font-weight:800; letter-spacing:.14em; color:var(--red-dark);}
.pay h3{font-size:19px;} .pay p{font-size:14.5px; flex:1;}
.pay-pills{display:flex; flex-wrap:wrap; gap:8px; margin-top:10px;}
.pay-pills span{font-size:12px; font-weight:700; background:#F1F1F1; color:var(--ink); border-radius:999px; padding:5px 11px;}
.pay.main{background:#1A1A1A; border:2px solid var(--red); grid-row:span 1;}
.pay.main .pay-k{color:#FF8A8A;} .pay.main h3{color:#fff; font-size:24px;} .pay.main p{color:#D0D0D0;}
.pay.main .pay-pills span{background:rgba(229,62,62,.2); color:#fff;}
.check-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:40px;}
.chk-card{position:relative; background:#fff; border:1px solid var(--line); border-radius:16px; padding:22px 22px 20px 70px; transition:transform .3s ease, box-shadow .3s ease;}
.chk-card:hover{transform:translateY(-4px); box-shadow:0 16px 36px rgba(26,26,26,.1);}
.chk-ico{position:absolute; left:20px; top:20px; width:32px; height:32px; border-radius:50%; background:var(--red); color:#fff; font-weight:900; display:grid; place-items:center; font-size:16px;}
.chk-card h3{font-size:16px; line-height:1.3;} .chk-sub{display:block; font-size:12px; color:var(--ink-dim); margin-top:2px;}
.chk-card p{display:flex; flex-wrap:wrap; gap:6px; margin-top:12px;}
.chk-card i{font-style:normal; font-size:11.5px; font-weight:700; background:#F1F1F1; color:var(--ink-soft); border-radius:999px; padding:4px 10px;}
.chk-card i:first-child{background:#FFF5F5; color:var(--red-dark);}
.team-modern{display:grid; grid-template-columns:repeat(4,1fr); gap:20px; margin-top:44px;}
.tm{background:linear-gradient(180deg,#fff,#FAFAFA); border:1px solid var(--line); border-radius:20px; padding:28px 24px; text-align:left; position:relative; overflow:hidden; transition:transform .3s ease, box-shadow .3s ease;}
.tm::after{content:""; position:absolute; right:-30px; bottom:-30px; width:110px; height:110px; border-radius:50%; background:rgba(229,62,62,.07);}
.tm:hover{transform:translateY(-6px); box-shadow:0 24px 50px rgba(26,26,26,.14);}
.tm-ico{width:60px; height:60px; border-radius:50%; background:var(--red); color:#fff; display:grid; place-items:center; margin-bottom:18px; box-shadow:0 0 0 8px rgba(229,62,62,.12);}
.tm-ico svg{width:28px; height:28px;}
.tm-k{display:block; font-size:11.5px; font-weight:800; letter-spacing:.14em; color:var(--red-dark);}
.tm h3{font-size:19px; margin-top:6px;} .tm p{font-size:14px; margin-top:10px;}
.ag-close .zs{display:block; margin-top:14px; font-style:normal; font-weight:900; font-size:30px; letter-spacing:.02em; color:var(--red);}
.site-header .logo-img{height:78px;}
.foot-brands{display:flex; flex-direction:column; gap:8px; font-size:13px;}
.foot-brands span{font-size:11px; font-weight:800; letter-spacing:.14em; color:#9A9A9A; margin-bottom:2px;}
.foot-brands a{color:#fff; font-weight:600;} .foot-brands a:hover{color:var(--red);}
.site-footer p b{color:#fff;}


/* ---------- MOBILE = LAYOUT DESKTOP (scalato) ---------- */


.calc>*{min-width:0;} .calc input,.calc select{width:100%; min-width:0; box-sizing:border-box;}
.price-card ul{align-content:start;}


/* ---------- LOGO UFFICIALE ---------- */
.site-header{background:#FFFFFF !important; border-bottom:3px solid var(--red);}
.site-header .logo-img{height:50px; width:auto; display:block;}
.site-header .nav-links{color:#1A1A1A;} .site-header .nav-links a:hover{color:var(--red);}
.logo-on-dark{background:#fff; padding:8px 14px; border-radius:10px; height:56px; width:auto; display:block;}

.site-header .logo-img{height:80px;}
.site-header .wrap{padding-top:10px; padding-bottom:10px;}

.pay.main{grid-column:span 2;}


.hero-points{list-style:none; margin:18px 0 0; padding:0; display:grid; gap:10px; max-width:54ch;}
.hero-points li{position:relative; padding-left:26px; font-size:14.5px; font-weight:600; color:var(--ink-soft); line-height:1.5;}
.hero-points li::before{content:"✓"; position:absolute; left:0; top:1px; width:18px; height:18px; border-radius:50%; background:var(--red); color:#fff; font-size:11px; font-weight:900; display:grid; place-items:center;}


/* ---------- HERO DINAMICO ---------- */
.hero-dyn{position:relative; overflow:hidden; background:#141414; padding-top:84px; padding-bottom:84px;}
.hero-dyn .hero-bg{position:absolute; inset:0; z-index:0; pointer-events:none;
  background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/56px 56px, linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/56px 56px;}
.hero-bg i{position:absolute; border-radius:50%; filter:blur(70px); opacity:.55; animation:blob 14s ease-in-out infinite alternate;}
.hero-bg i:nth-child(1){width:520px; height:520px; background:#E53E3E; right:-120px; top:-140px;}
.hero-bg i:nth-child(2){width:380px; height:380px; background:#B91C1C; left:-120px; bottom:-160px; animation-delay:-5s; opacity:.4;}
.hero-bg i:nth-child(3){width:260px; height:260px; background:#FF6B6B; left:42%; top:30%; animation-delay:-9s; opacity:.18;}
@keyframes blob{to{transform:translate(50px,34px) scale(1.18);}}
.hero-dyn .wrap{position:relative; z-index:1;}
.hero-dyn .tag{background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.28); color:#fff;}
.hero-dyn h1{color:#fff; font-size:clamp(44px,6.4vw,84px); line-height:1; max-width:none; letter-spacing:-.035em;}
.hero-dyn h1 .hl{color:var(--red);}
.hero-dyn h1 .w{display:inline-block;}
.hero-dyn.ready h1 .w{animation:wordIn .8s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--i) * .14s + .1s);}
@keyframes wordIn{from{opacity:0; transform:translateY(34px) rotate(2deg);}}
.hero-dyn .hero-sub{color:#fff; font-size:22px;}
.rotator{margin-top:14px; font-size:17px; font-weight:600; color:#C9C9C9; display:flex; gap:8px; align-items:baseline; flex-wrap:wrap;}
.rot{position:relative; display:inline-block; height:1.5em; min-width:20ch; overflow:hidden; vertical-align:bottom;}
.rot b{position:absolute; left:0; top:0; color:#fff; white-space:nowrap; opacity:0; transform:translateY(100%); animation:rotw 12s infinite;}
.rot b:nth-child(1){animation-delay:0s;} .rot b:nth-child(2){animation-delay:3s;} .rot b:nth-child(3){animation-delay:6s;} .rot b:nth-child(4){animation-delay:9s;}
.rot b::before{content:""; display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--red); margin-right:9px;}
@keyframes rotw{0%{opacity:0; transform:translateY(100%);} 4%,22%{opacity:1; transform:none;} 26%,100%{opacity:0; transform:translateY(-100%);}}
.hero-dyn .lede{color:#D6D6D6; margin-top:20px;}
.hero-dyn .btn{box-shadow:0 10px 30px rgba(229,62,62,.45);} .hero-dyn .btn:hover{transform:translateY(-2px);}
.hero-dyn .btn-ghost{background:transparent; color:#fff; border-color:#fff; box-shadow:none;} .hero-dyn .btn-ghost:hover{background:#fff; color:#1A1A1A;}
.hero-dyn .hero-points li{color:#E6E6E6;}
.hero-dyn .stat b{color:#fff; background:none; -webkit-text-fill-color:#fff; font-size:44px; line-height:1;} .hero-dyn .stat b span{color:var(--red); -webkit-text-fill-color:var(--red);}
.hero-dyn .stat span{color:#BDBDBD;}
.hero-dyn .stat-row{padding-top:22px; margin-top:34px; border-top:1px solid rgba(255,255,255,.15);}
.hero-visual{position:relative; transition:transform .25s ease-out; transform-style:preserve-3d;}
.hero-dyn .poster{box-shadow:0 40px 90px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.12); animation:floaty 7s ease-in-out infinite;}
@keyframes floaty{50%{transform:translateY(-10px);}}
.chip{position:absolute; z-index:3; display:flex; align-items:center; gap:8px; background:rgba(26,26,26,.78); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); color:#fff; border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:10px 16px; font-size:13px; font-weight:700; box-shadow:0 14px 34px rgba(0,0,0,.4); animation:floaty 6s ease-in-out infinite;}
.chip span{color:var(--red); font-weight:900;}
.chip.c1{left:-46px; top:14%;} .chip.c2{right:-24px; top:46%; animation-delay:-2s;} .chip.c3{left:-30px; bottom:10%; animation-delay:-4s;}
@media (prefers-reduced-motion:reduce){.hero-bg i,.poster,.chip,.rot b{animation:none !important;} .rot b:first-child{opacity:1; transform:none;}}

.chip.c1{left:10%; top:-18px;} .chip.c2{right:-30px; top:58%;} .chip.c3{left:-34px; bottom:6%;}

.chip.c2{top:84%; right:-24px;}


/* ---------- HERO: correzioni leggibilità ---------- */
.hero-dyn .rotator{display:flex; align-items:center; gap:14px; flex-wrap:nowrap; margin-top:18px; padding:12px 18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); border-radius:14px; width:fit-content; max-width:100%; line-height:1.3; font-size:18px;}
.hero-dyn .rot-l{color:#fff; font-weight:600; white-space:nowrap; opacity:.85;}
.hero-dyn .rot{display:block; position:relative; height:1.5em; min-width:23ch; overflow:hidden;}
.hero-dyn .rot b{font-size:19px; font-weight:800; line-height:1.5; color:#fff;}
.hero-dyn .stat-row{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; border-top:0; padding-top:0; margin-top:34px; max-width:640px;}
.hero-dyn .stat{background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.16); border-radius:18px; padding:20px 22px;}
.hero-dyn .stat b{font-size:68px; font-weight:900; line-height:1; letter-spacing:-.03em;}
.hero-dyn .stat span:not([data-count]){display:block; margin-top:8px; font-size:15.5px; font-weight:600; color:#E6E6E6; line-height:1.4;}

.hero-dyn .stat b{color:var(--red); -webkit-text-fill-color:var(--red);}
.hero-dyn .stat b span[data-count]{display:inline; margin:0; font-size:inherit; font-weight:inherit; color:#fff; -webkit-text-fill-color:#fff;}
.hero-dyn .stat-row{margin-top:30px;}

.hero-dyn .stat-row{grid-template-columns:repeat(3,1fr); max-width:none; gap:14px;}
.hero-dyn .stat{padding:18px 16px;}
.hero-dyn .stat b{font-size:56px;}
.hero-dyn .stat span:not([data-count]){font-size:14px;}
.hero-dyn .stat strong{color:#fff; font-weight:800;}


/* ---------- DATI SOTTO I BRAND ---------- */
.datas{background:#141414; padding:64px 0; position:relative; overflow:hidden;}
.datas::before{content:""; position:absolute; inset:0; background:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/56px 56px, linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/56px 56px; pointer-events:none;}
.datas::after{content:""; position:absolute; width:480px; height:480px; border-radius:50%; background:#E53E3E; filter:blur(120px); opacity:.25; left:50%; top:-300px; transform:translateX(-50%); pointer-events:none;}
.dt-grid{position:relative; z-index:1; display:grid; grid-template-columns:repeat(4,1fr); gap:20px;}
.dt{position:relative; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16); border-radius:20px; padding:30px 26px 26px; overflow:hidden;}
.dt::before{content:""; position:absolute; left:0; top:0; height:4px; width:0; background:linear-gradient(90deg,var(--red),#FF6B6B); transition:width 1.6s cubic-bezier(.2,.8,.2,1) .3s;}
.datas.go .dt::before{width:100%;}
.dt b{display:block; font-size:72px; font-weight:900; line-height:1; letter-spacing:-.035em; color:var(--red); -webkit-text-fill-color:var(--red);}
.dt b span{color:#fff; -webkit-text-fill-color:#fff; font-size:inherit; display:inline;}
.dt p{margin-top:14px; color:#E6E6E6; font-size:15.5px; font-weight:600; line-height:1.45;}
.dt strong{color:#fff; font-weight:800;}
.dt:hover{background:rgba(255,255,255,.1); transform:translateY(-4px); transition:all .3s ease;}

/* frase che cambia: larghezza = frase più lunga, mai tagliata */
.hero-dyn .rot{display:grid; height:auto; min-width:0; overflow:visible;}
.hero-dyn .rot b{grid-area:1/1; position:static; white-space:nowrap;}
.hero-dyn .rotator{flex-wrap:wrap; row-gap:2px;}
.dt b{font-size:58px; white-space:nowrap;}


.persona-grid{grid-template-columns:repeat(4,1fr); gap:18px;}
.persona{padding:26px 22px;} .persona h3{font-size:20px;}



/* ================= V3: 4 fasi, prima/dopo, pagamenti, verifica, form ================= */
:root{--green:#12935F; --green-dark:#0B6E47;}
.stepper.s4{grid-template-columns:repeat(4,1fr); gap:22px;}
.stepper.s4 .st p{font-size:14.5px;}
/* prima / dopo */
.vs{margin-top:44px; display:grid; gap:12px;}
.vs-head,.vs-row{display:grid; grid-template-columns:1fr 44px 1fr; gap:10px; align-items:stretch;}
.vs-head span{font-size:12.5px; font-weight:800; letter-spacing:.12em; text-transform:uppercase;}
.vs-l{color:var(--red-dark);} .vs-r{color:var(--green-dark);}
.vs-no,.vs-yes{display:flex; gap:12px; align-items:flex-start; padding:18px 20px; border-radius:14px; font-size:15.5px; font-weight:600; line-height:1.45;}
.vs-no{background:#FFF1F1; border:1px solid #F4C2C2; color:#7F1D1D;}
.vs-yes{background:#EAF8F1; border:1px solid #A9DFC5; color:#0B4F34; box-shadow:0 10px 26px rgba(18,147,95,.12);}
.vs-no i,.vs-yes i{flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; font-style:normal; font-weight:900; font-size:13px; color:#fff;}
.vs-no i{background:var(--red);} .vs-yes i{background:var(--green);}
.vs-arrow{display:grid; place-items:center; font-size:22px; font-weight:900; color:#BDBDBD; transition:transform .5s ease, color .5s ease;}
.vs-row.in .vs-arrow{color:var(--green); transform:translateX(4px);}
/* pagamenti */
.pay3{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:44px; position:relative;}
.p3{background:#fff; border:1px solid var(--line); border-radius:20px; padding:30px 26px; position:relative; transition:transform .3s ease, box-shadow .3s ease;}
.p3:hover{transform:translateY(-5px); box-shadow:0 22px 46px rgba(26,26,26,.12);}
.p3-k{display:block; font-size:11.5px; font-weight:800; letter-spacing:.14em; color:var(--red-dark);}
.p3-big{display:block; margin-top:14px; font-size:52px; font-weight:900; letter-spacing:-.03em; line-height:1; color:var(--ink);}
.p3 h3{margin-top:14px; font-size:19px;} .p3 p{margin-top:8px; font-size:15px;}
.p3.main{background:#1A1A1A; border:2px solid var(--red); box-shadow:0 24px 54px rgba(229,62,62,.25);}
.p3.main .p3-k{color:#FF8A8A;} .p3.main .p3-big{color:var(--red);} .p3.main h3{color:#fff;} .p3.main p{color:#D6D6D6;}
/* verifica */
.vf-grid{display:grid; grid-template-columns:1.05fr .95fr; gap:36px; margin-top:44px; align-items:start;}
.vf-list{background:#1A1A1A; border-radius:20px; padding:26px 28px; box-shadow:0 24px 54px rgba(26,26,26,.2);}
.vf-bar{display:flex; align-items:center; gap:14px; color:#fff; font-weight:800; font-size:14px; margin-bottom:18px;}
.vf-bar i{flex:1; height:6px; border-radius:6px; background:rgba(255,255,255,.15); overflow:hidden;} .vf-bar u{display:block; height:100%; width:0; background:var(--green); transition:width .35s ease; border-radius:6px;}
.vf-list ul{list-style:none; margin:0; padding:0; display:grid; gap:4px;}
.vf-list li{display:flex; align-items:center; gap:14px; padding:11px 8px; color:#9A9A9A; font-size:16px; font-weight:600; border-bottom:1px solid rgba(255,255,255,.08); transition:color .4s ease;}
.vf-list li::before{content:""; flex:none; width:26px; height:26px; border-radius:50%; border:2px solid rgba(255,255,255,.25); transition:all .35s ease;}
.vf-list li.ok{color:#fff;}
.vf-list li.ok::before{content:"✓"; background:var(--green); border-color:var(--green); color:#fff; display:grid; place-items:center; font-size:14px; font-weight:900; animation:pop .45s ease;}
@keyframes pop{0%{transform:scale(.4);} 70%{transform:scale(1.25);} 100%{transform:scale(1);}}
.vf-cases h3{font-size:18px; margin-bottom:14px;}
.vf-case{background:#fff; border:1px solid var(--line); border-left:5px solid var(--green); border-radius:14px; padding:18px 20px; margin-bottom:14px;}
.vf-tag{font-size:11px; font-weight:800; letter-spacing:.14em; color:var(--green-dark);}
.vf-case h4{font-size:17px; margin-top:4px; color:var(--ink);} .vf-case p{margin-top:6px; font-size:14.5px;} .vf-case b{color:var(--ink);}
/* form ricerca */
.rc{background:linear-gradient(180deg,#F6F6F6,#fff);}
.rc .wrap{display:grid; grid-template-columns:.8fr 1.2fr; gap:48px; align-items:start;}
.rc-points{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:10px;}
.rc-points li{position:relative; padding-left:28px; font-weight:600; color:var(--ink-soft); font-size:15px;}
.rc-points li::before{content:"✓"; position:absolute; left:0; top:0; width:20px; height:20px; border-radius:50%; background:var(--green); color:#fff; font-size:12px; font-weight:900; display:grid; place-items:center;}
.rc-form{background:#fff; border:1px solid var(--line); border-radius:24px; padding:30px; box-shadow:0 30px 70px rgba(26,26,26,.14); border-top:6px solid var(--red); scroll-margin-top:100px;}
.rc-prog{display:flex; align-items:center; gap:14px; font-size:13px; font-weight:800; color:var(--ink-dim); margin-bottom:22px;}
.rc-prog i{flex:1; height:6px; border-radius:6px; background:#EEE; overflow:hidden;} .rc-prog u{display:block; height:100%; width:33.3%; background:var(--red); border-radius:6px; transition:width .4s ease;}
.rc-step{display:none;} .rc-step.on{display:block; animation:stepIn .4s ease;}
@keyframes stepIn{from{opacity:0; transform:translateX(16px);}}
.rc-step h3{font-size:24px; margin-bottom:18px;}
.rc fieldset{border:0; padding:0; margin:0 0 18px;} .rc legend{font-size:13px; font-weight:800; color:var(--ink); margin-bottom:10px; padding:0;}
.opts{display:flex; flex-wrap:wrap; gap:8px;}
.opts label{cursor:pointer;} .opts input{position:absolute; opacity:0; pointer-events:none;}
.opts span{display:inline-block; padding:10px 16px; border:1.5px solid #D4D4D4; border-radius:999px; font-size:14px; font-weight:700; color:var(--ink-soft); transition:all .2s ease; background:#fff;}
.opts label:hover span{border-color:var(--red);}
.opts input:checked+span{background:var(--red); border-color:var(--red); color:#fff; box-shadow:0 8px 18px rgba(229,62,62,.3);}
.opts input:focus-visible+span{outline:2px solid #1A1A1A; outline-offset:2px;}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:14px;}
.f{display:grid; gap:6px; font-size:13px; font-weight:800; color:var(--ink); margin-bottom:14px;}
.rc input[type=text],.rc input[type=email],.rc input[type=tel],.rc select,.rc textarea{font:inherit; font-weight:500; padding:12px 14px; border:1.5px solid #CFCFCF; border-radius:10px; background:#fff; color:var(--ink); width:100%; box-sizing:border-box;}
.rc input:focus,.rc select:focus,.rc textarea:focus{outline:2px solid var(--red); border-color:var(--red);}
.hp{position:absolute !important; left:-9999px !important; opacity:0;}
.rc .chk{display:flex; gap:10px; align-items:flex-start; font-size:12.5px; font-weight:500; color:var(--ink-soft); margin-bottom:10px;} .rc .chk input{margin-top:3px; accent-color:var(--red);}
.err{color:#B91C1C; font-weight:700; font-size:13.5px; margin:6px 0 10px;}
.rc-nav{display:flex; gap:12px; justify-content:flex-end; margin-top:14px;}
.rc-ok{text-align:center; padding:40px 10px;} .ok-ico{width:70px; height:70px; border-radius:50%; background:var(--green); color:#fff; font-size:36px; font-weight:900; display:grid; place-items:center; margin:0 auto 16px; animation:pop .5s ease;}
.sticky-cta{display:none;}


/* =====================================================================
   RESPONSIVE
   Desktop  > 1024px  : layout completo
   Tablet   768–1024  : griglie a 2 colonne, prezzi 2 per riga
   Mobile   < 768     : colonna singola, menu hamburger, bottoni a tutta larghezza
   ===================================================================== */
.nav-toggle{display:none;}
.main-nav{display:flex; align-items:center; gap:34px;}
.btn{min-height:48px;}
.site-header .btn.nav-cta{min-height:0;}
body.no-scroll{overflow:hidden;}
img,svg{max-width:100%;}

/* ---------- TABLET (≤1024) ---------- */
@media (max-width:1024px){
  .wrap{padding-left:28px; padding-right:28px;}
  .main-nav{gap:20px;} .nav-links{gap:16px; font-size:13.5px;}
  .site-header .logo-img{height:64px;}
  .site-header .btn.nav-cta{padding:10px 14px !important; font-size:13px !important;}
  .hero-dyn .wrap{grid-template-columns:1fr; gap:44px;}
  .hero-dyn h1{font-size:clamp(46px,9vw,72px);}
  .hero-visual{max-width:560px; width:100%; margin:0 auto;}
  .persona-grid{grid-template-columns:repeat(2,1fr);}
  .stepper.s4{grid-template-columns:repeat(4,1fr); gap:16px;}
  .stepper.s4 .st h3{font-size:17px;} .stepper.s4 .st p{font-size:13.5px;}
  .team-modern{grid-template-columns:repeat(2,1fr);}
  .dt-grid{grid-template-columns:repeat(2,1fr);}
  .price-grid{grid-template-columns:repeat(2,1fr) !important; gap:22px;}
  .price-grid .price-card:last-child{grid-column:1 / -1;}
  .badge{top:-12px;}
  .vf-grid{grid-template-columns:1fr; gap:28px;}
  .calc{grid-template-columns:1fr; gap:26px;}
  .rc .wrap{grid-template-columns:1fr; gap:30px;}
  .anteprima .wrap{grid-template-columns:1fr; gap:34px;}
  .wa-phone{max-width:460px;}
  .pay3{gap:14px;} .p3{padding:24px 18px;} .p3-big{font-size:40px;}
  .site-footer .wrap{gap:28px;}
}

/* ---------- MOBILE (<768) ---------- */
@media (max-width:767px){
  body{font-size:16px;}
  section{padding:56px 0;} .wrap{padding-left:20px; padding-right:20px;}
  h2{font-size:28px; max-width:none; line-height:1.15;}
  h3{font-size:19px;}
  p,.lede{font-size:16px;} .lede{font-size:16.5px;}
  .tag{font-size:11px;}
  /* bottoni */
  .btn{width:100%; min-height:48px; justify-content:center; text-align:center; padding:13px 18px; font-size:16px;}
  .hero-cta{flex-direction:column; align-items:stretch; gap:12px;}
  /* header + hamburger */
  .site-header .wrap{flex-wrap:wrap; padding-top:8px; padding-bottom:8px;}
  .site-header .logo-img{height:54px;}
  .nav-toggle{display:inline-flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:48px; height:48px; border:1.5px solid #1A1A1A; border-radius:12px; background:#fff; cursor:pointer;}
  .nav-toggle span{display:block; width:22px; height:2.5px; background:#1A1A1A; border-radius:2px; transition:transform .3s ease, opacity .2s ease;}
  .menu-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .menu-open .nav-toggle span:nth-child(2){opacity:0;}
  .menu-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
  .main-nav{display:none; position:absolute; left:0; right:0; top:100%; width:100%; background:#fff; border-top:1px solid var(--line); border-bottom:3px solid var(--red); flex-direction:column; align-items:stretch; gap:0; padding:8px 20px 22px; box-shadow:0 24px 40px rgba(0,0,0,.18); max-height:calc(100vh - 70px); overflow-y:auto;}
  .menu-open .main-nav{display:flex;}
  .nav-links{flex-direction:column; gap:0; font-size:18px; font-weight:700;}
  .nav-links li{border-bottom:1px solid var(--line);} .nav-links a{display:block; padding:16px 4px; color:#1A1A1A;}
  .site-header .btn.nav-cta{margin-top:18px; width:100%; min-height:52px; padding:14px !important; font-size:16px !important;}
  /* hero */
  .hero-dyn{padding-top:36px; padding-bottom:44px;}
  .hero-dyn h1{font-size:clamp(40px,13vw,54px);}
  .hero-dyn .hero-sub{font-size:18px;}
  .hero-dyn .rotator{flex-direction:column; align-items:flex-start; gap:4px; width:100%; padding:12px 14px; font-size:15px;}
  .hero-dyn .rot{width:100%;} .hero-dyn .rot b{font-size:17px; white-space:normal;}
  .hero-points li{font-size:14.5px;}
  .hero-bg i{filter:blur(50px);}
  /* brand + dati */
  .brands .wrap{flex-direction:column; align-items:flex-start; gap:12px;}
  .brands-row{width:100%; justify-content:space-between; flex-wrap:nowrap; gap:8px;}
  .brand-logo{flex:1; width:auto; min-width:0; height:56px; font-size:9px;} .brand-logo span{font-size:12px;}
  .datas{padding:40px 0;} .dt-grid{grid-template-columns:repeat(2,1fr); gap:12px;}
  .dt{padding:20px 16px;} .dt b{font-size:40px;} .dt p{font-size:14px;}
  /* griglie a colonna singola */
  .persona-grid,.stepper.s4,.pay3,.team-modern,.price-grid,.vf-grid,.rc .wrap,.anteprima .wrap,.calc{grid-template-columns:1fr !important;}
  .persona-grid,.team-modern,.pay3{gap:16px;}
  .persona{padding:24px 20px;} .persona h3{font-size:21px;} .persona p{font-size:15.5px;}
  .tm{padding:24px 20px;} .tm h3{font-size:20px;} .tm p{font-size:15px;}
  .p3{padding:24px 20px;} .p3-big{font-size:46px;} .p3 p{font-size:15.5px;}
  /* 4 fasi: verticale con linea */
  .stepper.s4{gap:0; margin-top:34px;}
  .stepper.s4 .st{position:relative; padding:0 0 30px 74px; min-height:84px;}
  .stepper.s4 .st-top{position:absolute; left:0; top:0; bottom:0; display:flex; flex-direction:column; align-items:center; margin:0;}
  .stepper.s4 .st-n{width:52px; height:52px; font-size:22px;}
  .stepper.s4 .st-line{display:block !important; width:3px; height:auto; flex:1; margin:8px 0 0; background:repeating-linear-gradient(180deg,#CFCFCF 0 8px,transparent 8px 14px);}
  .stepper.s4 .st:last-child .st-line{display:none !important;} .stepper.s4 .st:last-child{padding-bottom:0;}
  .stepper.s4 .st p{font-size:15.5px;} .st h3{font-size:21px;}
  /* prima/dopo: sempre due colonne */
  .vs{gap:10px; margin-top:28px;}
  .vs-head,.vs-row{grid-template-columns:1fr 18px 1fr; gap:4px;}
  .vs-head span{font-size:10.5px; letter-spacing:.06em;} .vs-arrow{font-size:15px;} .vs-row.in .vs-arrow{transform:none;}
  .vs-no,.vs-yes{padding:12px 10px; font-size:13px; gap:7px; line-height:1.35; overflow-wrap:anywhere;}
  .vs-no i,.vs-yes i{width:20px; height:20px; font-size:11px;}
  /* verifica */
  .vf-list{padding:20px 18px;} .vf-list li{font-size:15.5px;}
  .vf-case{padding:16px;} .vf-case h4{font-size:17px;} .vf-case p{font-size:15px;}
  /* prezzi: card impilate a tutta larghezza */
  .price-card{padding:26px 22px;} .price-grid{gap:30px;} .price-grid .price-card:last-child{grid-column:auto;}
  .price-card .desc{min-height:0;} .price-amount{font-size:38px;} .price-card h3{font-size:19px;}
  .price-card li{font-size:15.5px;}
  .calc-in{padding:18px; display:grid; grid-template-columns:1fr;}
  .calc input,.calc select{font-size:16px; min-height:48px;}
  .data-table.out td{padding:12px 10px; font-size:14px;} .data-table.out td.amt{white-space:normal;}
  .calc-total b{font-size:24px;}
  /* anteprima: visual sopra il testo */
  .anteprima .wa-phone{max-width:none;}
  /* form ricerca */
  .rc-form{padding:20px 16px; border-radius:18px;} .rc-step h3{font-size:21px;}
  .row2{grid-template-columns:1fr; gap:0;}
  .rc input[type=text],.rc input[type=email],.rc input[type=tel],.rc select,.rc textarea{font-size:16px; min-height:48px;}
  .opts span{padding:12px 16px; font-size:14.5px; min-height:44px; display:inline-flex; align-items:center;}
  .rc-nav{flex-direction:column-reverse; gap:10px;} .rc-nav .btn{width:100%;}
  .rc .chk{font-size:13.5px;}
  /* faq / cta / footer */
  .faq-item summary{font-size:17px; padding:18px 0;}
  .final h2{font-size:28px;}
  .site-footer{padding:44px 0 90px;} .site-footer .wrap{flex-direction:column; gap:26px;}
  .logo-on-dark{height:48px;}
  /* barra CTA fissa */

  .sticky-cta.show{transform:none;}
  .menu-open ~ .sticky-cta{display:none;}
}

/* ---------- MENU: hamburger fino a 900px, nav compatta tra 901 e 1024 ---------- */
@media (min-width:901px) and (max-width:1024px){
  .nav-links a{white-space:nowrap;} .nav-links{gap:14px; font-size:13px;} .main-nav{gap:14px;}
  .site-header .logo-img{height:62px;}
}
@media (max-width:900px){
  .site-header .wrap{flex-wrap:wrap; padding-top:8px; padding-bottom:8px;}
  .site-header .logo-img{height:64px;}
  .nav-toggle{display:inline-flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:48px; height:48px; border:1.5px solid #1A1A1A; border-radius:12px; background:#fff; cursor:pointer;}
  .nav-toggle span{display:block; width:22px; height:2.5px; background:#1A1A1A; border-radius:2px; transition:transform .3s ease, opacity .2s ease;}
  .menu-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .menu-open .nav-toggle span:nth-child(2){opacity:0;}
  .menu-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
  .main-nav{display:none; position:absolute; left:0; right:0; top:100%; width:100%; background:#fff; border-top:1px solid var(--line); border-bottom:3px solid var(--red); flex-direction:column; align-items:stretch; gap:0; padding:8px 28px 22px; box-shadow:0 24px 40px rgba(0,0,0,.18); max-height:calc(100vh - 70px); overflow-y:auto;}
  .menu-open .main-nav{display:flex;}
  .nav-links{flex-direction:column; gap:0; font-size:18px; font-weight:700;}
  .nav-links li{border-bottom:1px solid var(--line);} .nav-links a{display:block; padding:16px 4px; color:#1A1A1A;}
  .site-header .btn.nav-cta{margin-top:18px; width:100%; min-height:52px; padding:14px !important; font-size:16px !important;}
}
section[id]{scroll-margin-top:84px;}

/* ---------- VERIFICA: carosello casi ---------- */
.vf-list li{cursor:pointer;} .vf-list li.cur{background:rgba(255,255,255,.07); border-radius:10px;}
.vf-car{position:relative; display:grid;}
.vf-car .vf-case{grid-area:1/1; margin:0; opacity:0; visibility:hidden; transform:translateX(14px); transition:opacity .45s ease, transform .45s ease, visibility .45s; min-height:170px;}
.vf-car .vf-case.on{opacity:1; visibility:visible; transform:none;}
.vf-ctrl{display:flex; align-items:center; justify-content:space-between; gap:12px; margin:14px 0 16px;}
.vf-ctrl button{flex:none; width:44px; height:44px; border-radius:50%; border:1.5px solid var(--ink); background:#fff; color:var(--ink); font-size:18px; font-weight:800; cursor:pointer; transition:background .2s,color .2s;}
.vf-ctrl button:hover{background:var(--red); border-color:var(--red); color:#fff;}
.vf-dots{display:flex; gap:7px; flex-wrap:wrap; justify-content:center;}
.vf-dots button{width:10px; height:10px; padding:0; border-radius:50%; border:0; background:#D4D4D4; transition:width .3s, background .3s;}
.vf-dots button:hover{background:#D4D4D4; border:0;} .vf-dots button.on{width:26px; border-radius:6px; background:var(--red);}

/* ---------- FORM RICERCA (nuovo) ---------- */
.rq{position:relative; overflow:hidden; background:#121212; color:#fff; padding:96px 0;}
.rq-bg i{position:absolute; border-radius:50%; filter:blur(90px); opacity:.5;}
.rq-bg i:nth-child(1){width:420px; height:420px; background:#E53E3E; top:-140px; left:-100px;}
.rq-bg i:nth-child(2){width:360px; height:360px; background:#7F1D1D; bottom:-140px; right:-80px;}
.rq .wrap{position:relative; display:grid; grid-template-columns:.85fr 1.15fr; gap:56px; align-items:start;}
.rq h2{color:#fff; margin-top:10px;} .rq .tag{color:#FF8A8A;} .rq .lede{color:#D0D0D0; margin-top:16px;}
.rq-perks{list-style:none; margin:26px 0 0; padding:0; display:grid; gap:16px;}
.rq-perks li{display:flex; gap:14px; align-items:center; color:#C8C8C8; font-size:14.5px; line-height:1.4;}
.rq-perks li>span{flex:none; width:38px; height:38px; border-radius:12px; background:rgba(229,62,62,.18); border:1px solid rgba(229,62,62,.5); color:#FF8A8A; display:grid; place-items:center; font-weight:900;}
.rq-perks b{display:block; color:#fff; font-size:15.5px;}
.rq-form{--p:0; position:relative; background:#fff; color:var(--ink); border-radius:26px; padding:30px 32px 32px; box-shadow:0 40px 90px rgba(0,0,0,.5);}
.rq-steps{list-style:none; margin:0 0 26px; padding:0; display:grid; grid-template-columns:repeat(4,1fr); position:relative;}
.rq-steps::before,.rq-steps::after{content:""; position:absolute; top:17px; left:12.5%; height:3px; border-radius:3px;}
.rq-steps::before{right:12.5%; background:#E7E7E7;}
.rq-steps::after{width:calc(75% * var(--p)); background:linear-gradient(90deg,var(--red),#FF7A7A); transition:width .5s ease;}
.rq-steps li{position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; gap:8px; font-size:12.5px; font-weight:700; color:var(--ink-dim); text-align:center;}
.rq-steps b{width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:#fff; border:2px solid #DADADA; color:var(--ink-dim); font-size:15px; transition:all .3s;}
.rq-steps li.on b{border-color:var(--red); background:var(--red); color:#fff; box-shadow:0 0 0 6px rgba(229,62,62,.15);} .rq-steps li.on{color:var(--ink);}
.rq-steps li.done b{border-color:var(--red); background:#fff; color:var(--red);} .rq-steps li.done b{font-size:0;} .rq-steps li.done b::before{content:"✓"; font-size:16px;}
.rq .rc-step.on{animation:stepIn .4s ease;}
.rq-q{font-weight:800; font-size:15px; margin:20px 0 10px; color:var(--ink);} .rq-q:first-child{margin-top:0;} .rq-q small{font-weight:500; color:var(--ink-dim); margin-left:6px; font-size:12.5px;} .rq-q-s{margin-top:14px;}
.rq input[type=radio],.rq input[type=checkbox]{position:absolute; opacity:0; width:1px; height:1px;}
.rq-tiles{display:grid; grid-template-columns:repeat(4,1fr); gap:10px;}
.rq-tiles label{display:block; cursor:pointer;}
.rq-tiles span{display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; text-align:center; padding:16px 8px; min-height:104px; border:1.5px solid var(--line); border-radius:16px; font-size:13.5px; font-weight:700; line-height:1.25; background:#fff; transition:all .2s;}
.rq-tiles svg{width:28px; height:28px; color:var(--ink-dim); transition:color .2s;}
.rq-tiles label:hover span{border-color:#BDBDBD; transform:translateY(-2px);}
.rq-tiles input:checked+span{border-color:var(--red); background:#FFF3F3; box-shadow:0 8px 20px rgba(229,62,62,.18);} .rq-tiles input:checked+span svg{color:var(--red);}
.rq-chips{display:flex; flex-wrap:wrap; gap:8px;} .rq-chips label{cursor:pointer;}
.rq-chips span{display:inline-flex; align-items:center; min-height:42px; padding:9px 16px; border:1.5px solid var(--line); border-radius:999px; font-size:14px; font-weight:600; background:#fff; transition:all .2s;}
.rq-chips label:hover span{border-color:#9A9A9A;}
.rq-chips input:checked+span{background:var(--ink); border-color:var(--ink); color:#fff;}
.rq input:focus-visible+span{outline:2px solid var(--red); outline-offset:2px;}
.rq-plans{display:grid; grid-template-columns:repeat(2,1fr); gap:10px;} .rq-plans label{cursor:pointer; display:block;}
.rq-plans span{position:relative; display:grid; gap:2px; height:100%; padding:16px 16px 14px; border:1.5px solid var(--line); border-radius:16px; background:#fff; transition:all .2s;}
.rq-plans b{font-size:15.5px;} .rq-plans em{font-style:normal; font-size:28px; font-weight:900; color:var(--red); line-height:1.1;} .rq-plans small{color:var(--ink-dim); font-size:12.5px;}
.rq-plans u{text-decoration:none; position:absolute; top:-10px; right:12px; background:var(--red); color:#fff; font-size:10.5px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; padding:3px 9px; border-radius:999px;}
.rq-plans input:checked+span{border-color:var(--red); background:#FFF3F3; box-shadow:0 8px 20px rgba(229,62,62,.18);}
.fl{position:relative; display:block; margin-top:14px;} .rq-two{display:grid; grid-template-columns:1fr 1fr; gap:12px;} .rq-two .fl{margin-top:14px;}
.fl input,.fl textarea{width:100%; box-sizing:border-box; font:inherit; font-weight:500; color:var(--ink); background:#F6F6F6; border:1.5px solid transparent; border-radius:14px; padding:24px 14px 8px; min-height:56px; transition:all .2s;}
.fl textarea{resize:vertical; min-height:92px;}
.fl>span{position:absolute; left:15px; top:17px; font-size:15px; color:var(--ink-dim); pointer-events:none; transition:all .18s ease; transform-origin:left;}
.fl input:focus,.fl textarea:focus{outline:0; background:#fff; border-color:var(--red); box-shadow:0 0 0 4px rgba(229,62,62,.12);}
.fl input:focus+span,.fl input:not(:placeholder-shown)+span,.fl textarea:focus+span,.fl textarea:not(:placeholder-shown)+span{top:8px; font-size:11.5px; font-weight:700; color:var(--red-dark);}
.rq-chk{display:flex; gap:12px; align-items:flex-start; margin-top:14px; font-size:13px; line-height:1.45; color:var(--ink-soft); cursor:pointer;}
.rq-chk i{flex:none; width:24px; height:24px; border-radius:8px; border:1.5px solid #BDBDBD; background:#fff; display:grid; place-items:center; transition:all .2s;}
.rq-chk input:checked+i{background:var(--red); border-color:var(--red);} .rq-chk input:checked+i::after{content:"✓"; color:#fff; font-size:14px; font-weight:900;}
.rq .err{margin-top:14px; color:var(--red-dark); font-weight:700; font-size:13.5px;} .rq .err[hidden]{display:none;}
.rq-nav{display:flex; gap:12px; justify-content:flex-end; margin-top:24px;}
.rq-nav .btn{min-height:52px;} .rq .btn i{font-style:normal; margin-left:6px;}
.rq .btn:not(.btn-ghost){background:linear-gradient(135deg,#E53E3E,#C53030); box-shadow:0 12px 26px rgba(229,62,62,.35);}
.rq .btn-ghost{background:#fff; color:var(--ink); border:1.5px solid var(--line); box-shadow:none;}
.rq .rc-ok{text-align:center; padding:50px 10px;} .rq .rc-ok[hidden]{display:none;}
@media (max-width:1024px){ .rq .wrap{grid-template-columns:1fr; gap:34px;} .rq{padding:80px 0;} }
@media (max-width:767px){
  .rq{padding:56px 0;} .rq .wrap{gap:28px;}
  .rq-form{padding:22px 16px 24px; border-radius:20px;}
  .rq-tiles{grid-template-columns:repeat(2,1fr);} .rq-tiles span{min-height:92px;}
  .rq-plans{grid-template-columns:1fr;} .rq-two{grid-template-columns:1fr; gap:0;}
  .rq-chips span{min-height:44px;} .fl input{font-size:16px;}
  .rq-nav{flex-direction:column-reverse;} .rq-nav .btn{width:100%; min-height:52px;}
  .rq-steps li{font-size:11px;}
}
@media (prefers-reduced-motion:reduce){.vf-car .vf-case{transition:none;}}

/* ---------- FORM: tutto in una vista su smartphone ---------- */
.rq-mt{display:none;}
.rq-form{scroll-margin-top:96px;}
@media (max-width:767px){
  .rq{padding:12px 0 18px; min-height:calc(100svh - 76px);}
  .rq-intro{display:none;} .rq .wrap{gap:0; padding-left:12px; padding-right:12px;}
  .rq-form{padding:14px 14px 16px; border-radius:18px; box-shadow:0 20px 50px rgba(0,0,0,.45);}
  .rq-mt{display:block; margin:0 0 10px; font-size:13px; color:var(--ink-dim); text-align:center;} .rq-mt b{color:var(--ink);}
  .rq-steps{margin-bottom:12px;} .rq-steps::before,.rq-steps::after{top:13px;}
  .rq-steps b{width:28px; height:28px; font-size:13px;} .rq-steps li{font-size:10.5px; gap:4px;} .rq-steps li.on b{box-shadow:0 0 0 4px rgba(229,62,62,.15);}
  .rq-q{margin:12px 0 7px; font-size:14px;} .rq-q small{display:block; margin:2px 0 0;}
  .rq-tiles{gap:8px;} .rq-tiles span{flex-direction:row; justify-content:flex-start; text-align:left; min-height:58px; padding:8px 10px; gap:8px; font-size:12.5px;} .rq-tiles svg{width:22px; height:22px; flex:none;}
  .rq-chips{gap:6px;} .rq-chips span{min-height:40px; padding:6px 13px; font-size:13.5px;}
  .rq-plans{grid-template-columns:1fr 1fr; gap:8px;} .rq-plans span{padding:11px 11px 9px;} .rq-plans b{font-size:13.5px;} .rq-plans em{font-size:20px;} .rq-plans small{font-size:11px; line-height:1.25;} .rq-plans u{top:-9px; font-size:9.5px;}
  .fl{margin-top:9px;} .rq-two .fl{margin-top:9px;} .fl input,.fl textarea{min-height:50px; padding:21px 12px 6px;} .fl textarea{min-height:64px;} .fl>span{top:14px; font-size:14px;}
  .fl-area textarea{height:64px;}
  .rq-chk{margin-top:10px; font-size:12px; gap:10px; line-height:1.35;} .rq-chk i{width:22px; height:22px;}
  .rq-nav{flex-direction:row; gap:10px; margin-top:14px;} .rq-nav .btn{min-height:50px; width:auto; flex:1;} .rq-nav .btn-ghost{flex:0 0 38%;}
  .rq .err{margin-top:10px; font-size:12.5px;}
}

@media (max-width:767px) and (max-height:720px){
  .rq-mt{display:none;} .rq-form{scroll-margin-top:84px; padding-top:12px;}
  .rq-steps{margin-bottom:8px;} .rq-steps span{display:none;} .rq-q{margin:8px 0 5px;}
  .rq-plans small{display:none;} .rq-plans span{padding:8px 10px;}
  .rq-tiles span{min-height:50px;} .rq-chips span{min-height:36px; padding:4px 12px;}
  .fl input{min-height:46px; padding-top:19px;} .fl textarea{min-height:48px; height:48px;} .fl{margin-top:7px;}
  .rq-chk{font-size:11.5px; margin-top:7px;} .rq-nav{margin-top:10px;} .rq-nav .btn{min-height:46px;}
}

/* ---------- MENU: voce attiva ---------- */
.site-header .nav-links a{position:relative; transition:color .2s;}
.site-header .nav-links a::after{content:""; position:absolute; left:0; right:0; bottom:-8px; height:3px; border-radius:3px; background:var(--red); transform:scaleX(0); transform-origin:left; transition:transform .3s ease;}
.site-header .nav-links a.active{color:var(--red); font-weight:700;} .site-header .nav-links a.active::after{transform:scaleX(1);}
@media (max-width:900px){
  .site-header .nav-links a::after{left:0; right:auto; top:12px; bottom:12px; width:4px; height:auto; transform:scaleY(0); transform-origin:center;}
  .site-header .nav-links a.active{background:#FFF3F3; padding-left:16px;} .site-header .nav-links a.active::after{transform:scaleY(1);}
}
/* ---------- WHATSAPP: notifiche ---------- */
.wa-phone{background:linear-gradient(160deg,#2A2F3A,#12151B); border:1px solid rgba(255,255,255,.12); border-radius:34px; padding:26px 18px 20px; box-shadow:0 30px 70px rgba(0,0,0,.5); color:#fff; width:100%; box-sizing:border-box;}
.wa-lock{text-align:center; margin-bottom:18px;} .wa-lock span{display:block; font-size:12px; letter-spacing:.08em; color:#A9B0BC; text-transform:uppercase;} .wa-lock strong{display:block; font-size:54px; font-weight:300; letter-spacing:-.02em; line-height:1.1;}
.wa-stack{display:grid; gap:10px;}
.wa-n{display:flex; gap:12px; align-items:flex-start; background:rgba(255,255,255,.92); color:#111; border-radius:20px; padding:12px 14px; box-shadow:0 8px 22px rgba(0,0,0,.28); opacity:0; transform:translateY(-18px) scale(.96); transition:opacity .5s ease, transform .6s cubic-bezier(.2,.9,.3,1.2);}
.wa-phone.in .wa-n{opacity:1; transform:none;}
.wa-phone.in .wa-n:nth-child(1){transition-delay:.35s;} .wa-phone.in .wa-n:nth-child(2){transition-delay:1.15s;} .wa-phone.in .wa-n:nth-child(3){transition-delay:1.95s;}
.wa-ico{flex:none; width:38px; height:38px;}
.wa-t{min-width:0; flex:1;} .wa-top{display:flex; justify-content:space-between; font-size:11px; color:#6B7280; letter-spacing:.06em; font-weight:600;} .wa-top time{letter-spacing:0; font-weight:500;}
.wa-t b{display:block; font-size:14.5px; margin-top:2px; color:#111;} .wa-t p{margin:2px 0 0; font-size:13.5px; line-height:1.35; color:#333;}
.wa-foot{margin:16px 6px 0; text-align:center; font-size:12.5px; color:#A9B0BC;}
@media (prefers-reduced-motion:reduce){.wa-n{opacity:1; transform:none; transition:none;}}
@media (max-width:767px){.wa-phone{padding:20px 12px 16px; border-radius:26px;} .wa-lock strong{font-size:44px;} .wa-n{padding:11px 12px;}}
.site-header .nav-links a,.site-header .btn.nav-cta{white-space:nowrap;}
@media (min-width:1025px){.site-header .nav-links{gap:20px; font-size:14px;} .site-header .main-nav{gap:20px;} .site-header .btn.nav-cta{padding:13px 20px;}}

/* ---------- COMUNI, WHATSAPP, CONTATTI ---------- */
.h1-loc{display:block; margin-top:14px; font-size:clamp(17px,2.2vw,24px); line-height:1.25; font-weight:800; letter-spacing:-.01em; color:var(--red); opacity:1 !important; transform:none !important;}
.hero-dyn .h1-loc{color:#FF8A8A;}
.btn-wa{display:inline-flex; align-items:center; gap:10px; background:var(--green) !important; color:#fff !important; border:0 !important; box-shadow:0 12px 26px rgba(18,147,95,.35);}
.btn-wa:hover{background:var(--green-dark) !important;}
.wa-i{width:20px; height:20px; flex:none;}
.hero-247{display:flex; align-items:center; gap:10px; margin:14px 0 0; font-size:14px; font-weight:700; color:var(--ink-soft);}
.hero-247 a{text-decoration:underline; text-underline-offset:3px; color:inherit;}
.hero-dyn .hero-247{color:#E6E6E6;}
.live{position:relative; flex:none; width:10px; height:10px; border-radius:50%; background:#25D366;}
.live::after{content:""; position:absolute; inset:-5px; border-radius:50%; border:2px solid #25D366; opacity:.6; animation:livePulse 1.8s ease-out infinite;}
@keyframes livePulse{from{transform:scale(.6); opacity:.8;} to{transform:scale(1.5); opacity:0;}}
.final-247{justify-content:center;}
.hero-points a{color:inherit; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.4);} .hero-points a:hover{color:#fff; text-decoration-color:var(--red);}
/* mappa: comune evidenziato */
.poster[data-town] .town{opacity:.4; transition:opacity .3s;}
.poster[data-town=""] .town{opacity:1;}
.poster[data-town="viareggio"] .town[data-t="viareggio"],.poster[data-town="camaiore"] .town[data-t="camaiore"],.poster[data-town="massarosa"] .town[data-t="massarosa"],.poster[data-town="pietrasanta"] .town[data-t="pietrasanta"],.poster[data-town="forte-dei-marmi"] .town[data-t="forte-dei-marmi"],.poster[data-town="seravezza"] .town[data-t="seravezza"],.poster[data-town="stazzema"] .town[data-t="stazzema"]{opacity:1;}
.poster[data-town]:not([data-town=""]) .town[data-t] text{font-weight:600;}
.poster[data-town="viareggio"] [data-t="viareggio"] text,.poster[data-town="camaiore"] [data-t="camaiore"] text,.poster[data-town="massarosa"] [data-t="massarosa"] text,.poster[data-town="pietrasanta"] [data-t="pietrasanta"] text,.poster[data-town="forte-dei-marmi"] [data-t="forte-dei-marmi"] text,.poster[data-town="seravezza"] [data-t="seravezza"] text,.poster[data-town="stazzema"] [data-t="stazzema"] text{font-weight:900; font-size:11.5px; fill:#C53030;}
.poster[data-town="viareggio"] [data-t="viareggio"] circle:last-of-type,.poster[data-town="camaiore"] [data-t="camaiore"] circle:last-of-type,.poster[data-town="massarosa"] [data-t="massarosa"] circle:last-of-type,.poster[data-town="seravezza"] [data-t="seravezza"] circle:last-of-type,.poster[data-town="stazzema"] [data-t="stazzema"] circle:last-of-type{r:7; filter:drop-shadow(0 0 6px rgba(229,62,62,.9));}
/* altre zone */
.zone-sec{background:#F6F6F6;}
.zone-links{display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:12px; margin-top:30px;}
.zone-links a{display:flex; justify-content:space-between; align-items:center; gap:10px; padding:18px 20px; background:#fff; border:1.5px solid var(--line); border-radius:14px; font-weight:700; color:var(--ink); transition:all .2s;}
.zone-links a i{font-style:normal; color:var(--red); transition:transform .2s;}
.zone-links a:hover{border-color:var(--red); transform:translateY(-3px); box-shadow:0 14px 30px rgba(26,26,26,.1);} .zone-links a:hover i{transform:translateX(4px);}
.rq .rc-ok .btn-wa{margin-top:18px;}
/* footer */
.foot-zone a{color:#fff; text-decoration:underline; text-underline-offset:3px; text-decoration-color:rgba(255,255,255,.35);} .foot-zone a:hover{color:var(--red);}
.foot-contact{display:flex; flex-direction:column; gap:8px; font-size:13px; max-width:28ch;}
.foot-contact span{font-size:11px; font-weight:800; letter-spacing:.14em; color:#9A9A9A;}
.foot-contact p{margin:0; color:#CFCFCF;}
.foot-contact a{color:#fff; font-weight:600;} .foot-contact a:hover{color:var(--red);}
.foot-wa{display:block; padding:12px 14px; border-radius:12px; background:rgba(18,147,95,.18); border:1px solid rgba(18,147,95,.6); line-height:1.35;} .foot-wa b{font-size:16px;}
.foot-legal a{color:#fff; text-decoration:underline; text-underline-offset:3px;}
@media (max-width:767px){
  .sticky-cta{display:flex; gap:8px; position:fixed; left:12px; right:12px; bottom:12px; z-index:60; padding:0; background:none; box-shadow:none; transform:translateY(140%); transition:transform .35s ease;}
  .sticky-cta.show{transform:none;}
  .sticky-cta .sc-main{flex:1; display:flex; align-items:center; justify-content:center; min-height:52px; background:var(--red); color:#fff; font-weight:800; font-size:16px; border-radius:12px; box-shadow:0 14px 34px rgba(229,62,62,.5);}
  .sticky-cta .sc-wa{flex:none; width:56px; min-height:52px; display:flex; align-items:center; justify-content:center; background:var(--green); color:#fff; border-radius:12px; box-shadow:0 14px 34px rgba(18,147,95,.45);} .sticky-cta .sc-wa svg{width:28px; height:28px;}
  .hero-cta .btn-wa{justify-content:center; width:100%; min-height:52px;} .hero-247{font-size:13px;}
  .zone-links{grid-template-columns:1fr;}
}
.hero-247 a,.foot-wa b{white-space:nowrap;}
.site-footer p.foot-zone{margin-top:8px; font-size:12.5px;}


/* =====================================================================
   VERSIONE PROVA 1.1: hero con sfondo, ricerca, stili di vita, team, immobili, prezzi, cookie
   ===================================================================== */
.hd-tel{display:inline-flex; align-items:center; gap:8px; margin-left:16px; padding:9px 14px; border:1.5px solid var(--red); color:var(--red); border-radius:999px; font-weight:800; font-size:14px; white-space:nowrap;}
.hd-tel svg{width:17px; height:17px; flex:none;}
.hd-tel:hover{background:var(--red); color:#fff;}
@media (max-width:1200px){.hd-tel span{display:none;} .hd-tel{width:42px; height:42px; padding:0; justify-content:center; margin-left:auto;} .hd-tel svg{width:19px; height:19px;}}
@media (max-width:900px){.nav-toggle{margin-left:10px;}}

/* Hero */
.hero-v2{padding:96px 0 64px; min-height:min(92vh,860px); display:flex; align-items:center; background:#120909;}
.hero-v2 .wrap{display:block !important; max-width:1100px;}
.hero-media{position:absolute; inset:0; z-index:0; overflow:hidden;}
.hero-media::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,6,6,.55) 0%,rgba(10,6,6,.35) 40%,rgba(10,6,6,.8) 100%);}
.hero-scene,.hero-video{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
.hs-slide{position:absolute; inset:0; background-size:cover; background-position:center; opacity:0; transition:opacity 1.6s ease;}
.hs-slide.on{opacity:1;}
.hero-scene .sun-glow{animation:sunPulse 7s ease-in-out infinite alternate; transform-origin:1120px 610px;}
.hero-scene .glint{animation:glint 5s ease-in-out infinite alternate;}
.hero-scene .waves{animation:waveMove 14s linear infinite;}
.hero-scene .clouds{animation:cloudMove 60s linear infinite alternate;}
@keyframes sunPulse{from{transform:scale(.96); opacity:.85}to{transform:scale(1.06); opacity:1}}
@keyframes glint{from{opacity:.55}to{opacity:1}}
@keyframes waveMove{from{transform:translateX(0)}to{transform:translateX(100px)}}
@keyframes cloudMove{from{transform:translateX(-40px)}to{transform:translateX(60px)}}
.hero-brand{font-size:13px; font-weight:600; color:#E8D9D2; letter-spacing:.04em; margin-bottom:18px;}
.hero-brand span{font-weight:800; letter-spacing:.16em; color:#fff;}
.hero-v2 h1{font-size:clamp(34px,5.4vw,70px); line-height:1.04; max-width:20ch; text-wrap:balance;}
.hero-v2 .hero-sub{font-style:normal; font-weight:600; font-size:clamp(17px,2vw,22px); color:#F2E8E2; margin-top:20px; max-width:46ch;}
.hero-v2 .hero-cta{margin-top:28px;}
.hero-v2 .hero-247{margin-top:14px; color:#EADFD9;}
.live{width:9px; height:9px; border-radius:50%; background:#2BD47D; box-shadow:0 0 0 0 rgba(43,212,125,.6); animation:livep 2s infinite; flex:none;}
@keyframes livep{70%{box-shadow:0 0 0 9px rgba(43,212,125,0)}100%{box-shadow:0 0 0 0 rgba(43,212,125,0)}}

.hs{display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:0; margin-top:34px; background:#fff; border-radius:16px; box-shadow:0 24px 60px rgba(0,0,0,.45); overflow:hidden; max-width:940px;}
.hs-f{display:flex; flex-direction:column; justify-content:center; padding:12px 20px; border-right:1px solid var(--line); min-width:0; cursor:pointer;}
.hs-f span{font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim);}
.hs-f select{appearance:none; -webkit-appearance:none; border:0; background:transparent; font:inherit; font-size:16px; font-weight:700; color:var(--ink); padding:4px 18px 0 0; width:100%; cursor:pointer; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23E53E3E' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 2px center; text-overflow:ellipsis;}
.hs-f select:focus{outline:2px solid var(--red); outline-offset:4px; border-radius:4px;}
.hs .hs-go{border-radius:0; padding:0 30px; min-height:68px; gap:10px; box-shadow:none !important; font-size:16px;}
.hs .hs-go svg{width:20px; height:20px;}

.hero-prom{list-style:none; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; margin-top:34px; max-width:940px;}
.hero-prom li{display:flex; align-items:center; gap:12px; color:#fff;}
.hero-prom svg{width:40px; height:40px; padding:9px; flex:none; border-radius:12px; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.25); color:#fff;}
.hero-prom b{font-size:13.5px; line-height:1.3; font-weight:700;}
.hero-method{margin-top:22px; max-width:68ch; font-size:14.5px; line-height:1.55; color:#E6D9D2;}
.hero-method b{color:#fff;}

/* Stili di vita */
.stili{padding:64px 0 24px; background:#fff;}
.stili h2{margin-top:10px;}
.stili-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:30px;}
.stile{position:relative; display:flex; flex-direction:column; padding:26px 22px 22px; border-radius:18px; background:linear-gradient(160deg,#fff 0%,#FFF4F2 100%); border:1px solid var(--line); transition:transform .25s,box-shadow .25s,border-color .25s; color:var(--ink); min-height:230px;}
.stile:hover{transform:translateY(-5px); box-shadow:0 22px 44px rgba(229,62,62,.16); border-color:var(--red);}
.stile.is-cur{border-color:var(--red); box-shadow:0 0 0 2px var(--red) inset;}
.stile-ico{width:54px; height:54px; border-radius:15px; background:var(--red); color:#fff; display:grid; place-items:center; margin-bottom:18px; box-shadow:0 10px 22px rgba(229,62,62,.35);}
.stile-ico svg{width:28px; height:28px;}
.stile h3{font-size:18px; line-height:1.2; font-weight:800;}
.stile p{font-size:14.5px; color:var(--ink-soft); margin-top:8px; line-height:1.5;}
.stile-go{margin-top:auto; padding-top:16px; font-weight:800; font-size:14px; color:var(--red);}
.stile-go i{font-style:normal; display:inline-block; transition:transform .2s;} .stile:hover .stile-go i{transform:translateX(5px);}

.dt small{display:block; margin-top:6px; font-size:11.5px; opacity:.7; font-weight:600;}

/* Team */
.owner{display:grid; grid-template-columns:minmax(240px,380px) 1fr; gap:44px; align-items:center; margin-top:40px; padding:28px; border-radius:22px; background:#fff; border:1px solid var(--line); box-shadow:0 20px 50px rgba(0,0,0,.06);}
.owner-ph{margin:0; aspect-ratio:4/5; border-radius:16px; overflow:hidden; background:#EDEDED;}
.owner-ph img,.owner-ph svg,.role-ph img,.role-ph svg{width:100%; height:100%; object-fit:cover; display:block;}
.owner-t h3{font-size:clamp(26px,3vw,36px); margin-top:8px;}
.owner-role{font-weight:700; color:var(--ink-dim); margin:2px 0 14px;}
.owner-t p{font-size:16.5px; line-height:1.65; color:var(--ink-soft); margin-top:10px;}
.owner-pts{list-style:none; display:flex; flex-wrap:wrap; gap:8px; margin-top:18px;}
.owner-pts li{padding:8px 14px; border-radius:999px; background:#FFF0EE; color:var(--red-dark); font-weight:700; font-size:13.5px;}
.roles{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:22px;}
.role{background:#fff; border:1px solid var(--line); border-radius:18px; padding:16px 16px 20px;}
.role-ph{aspect-ratio:1/1; border-radius:12px; overflow:hidden; margin-bottom:14px; background:#EDEDED;}
.role h4{font-size:17px; margin-top:4px; font-weight:800;}
.role-y{font-size:13px; font-weight:700; color:var(--ink-dim); margin-top:2px;}
.role p:last-child{font-size:14.5px; line-height:1.55; color:var(--ink-soft); margin-top:10px; font-style:italic;}

/* Immobili */
.immobili{background:#F6F6F6;}
.imm-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:34px;}
.imm{display:flex; flex-direction:column; background:#fff; border-radius:18px; overflow:hidden; border:1px solid var(--line); color:var(--ink); transition:transform .25s,box-shadow .25s;}
.imm:hover{transform:translateY(-5px); box-shadow:0 22px 44px rgba(0,0,0,.12);}
.imm-ph{position:relative; display:block; aspect-ratio:4/3; background:#E3E3E3; overflow:hidden;}
.imm-ph img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s;} .imm:hover .imm-ph img{transform:scale(1.05);}
.imm-ph em{position:absolute; left:12px; top:12px; font-style:normal; font-weight:800; font-size:12px; background:rgba(0,0,0,.72); color:#fff; padding:5px 10px; border-radius:999px;}
.imm-b{display:flex; flex-direction:column; gap:4px; padding:16px 18px 18px; flex:1;}
.imm-p{font-size:22px; font-weight:900; color:var(--red);}
.imm-l{font-weight:700; font-size:15px;}
.imm-s{font-size:13.5px; color:var(--ink-dim);}
.imm-go{margin-top:auto; padding-top:10px; font-weight:800; font-size:13.5px; color:var(--ink);} .imm-go i{font-style:normal;}
.imm-all{margin-top:26px; text-align:center;} .imm-all a{font-weight:800; color:var(--red); text-decoration:underline; text-underline-offset:4px;}

/* Prezzi */
.price-grid.two{grid-template-columns:repeat(2,1fr); max-width:980px; margin-left:auto; margin-right:auto;}
.price-ex{margin-top:10px; font-size:14px; font-weight:700; color:var(--ink-soft);}
.price-card.featured .price-ex{color:#F2E8E2;}
.price-amount small{display:block; margin-top:4px;}
.tbl-h{margin-top:56px; text-align:center; font-size:clamp(20px,2.4vw,26px);}
.tbl-wrap{max-width:980px; margin:20px auto 0; overflow:hidden; border:1px solid var(--line); border-radius:16px; background:#fff;}
.pay-tbl{width:100%; border-collapse:collapse; font-size:15px;}
.pay-tbl th{background:#1A1A1A; color:#fff; text-align:left; padding:14px 18px; font-size:12px; letter-spacing:.1em; text-transform:uppercase;}
.pay-tbl td{padding:15px 18px; border-top:1px solid var(--line); color:var(--ink-soft);}
.pay-tbl td:first-child{color:var(--ink);}
.tbl-note{max-width:980px; margin:12px auto 0; font-size:13.5px; color:var(--ink-dim);}
.coi{max-width:980px; margin:34px auto 0; padding:26px 28px; border-radius:18px; background:#FFF4F2; border-left:5px solid var(--red);}
.coi h3{font-size:19px; line-height:1.35;} .coi p{margin-top:10px; color:var(--ink-soft); line-height:1.65;}

/* Banner vendere */
.sell{padding:0; background:var(--red);}
.sell-in{display:flex; align-items:center; justify-content:space-between; gap:32px; padding:44px 0; flex-wrap:wrap;}
.sell .tag{background:rgba(255,255,255,.18); border-color:rgba(255,255,255,.45); color:#fff;}
.sell h2{color:#fff; margin-top:10px;} .sell .lede{color:#FFE9E6; margin-top:10px; max-width:52ch;}
.btn-sell{background:#fff !important; color:var(--red-dark) !important; box-shadow:0 14px 34px rgba(0,0,0,.25) !important; white-space:nowrap;}

/* Form */
.rq-hint,.rq-micro{font-size:13.5px; color:var(--ink-dim); margin-top:10px; line-height:1.5;}
.rq-micro{text-align:center; margin-top:14px;}
.rq-micro,.rq-hint{opacity:.95}
.rq-form .err a,.rq-form label a{text-decoration:underline;}

/* Recensioni (consenso) */
.rev-ph{max-width:620px; margin:30px auto 0; padding:30px; text-align:center; border:2px dashed var(--line); border-radius:18px; background:#fff;}
.rev-ph p{margin-bottom:16px; color:var(--ink-soft); line-height:1.6;}

/* Footer legale */
.foot-legal p{margin-top:8px; line-height:1.6;}
.foot-legal a,.foot-mail{text-decoration:underline; text-underline-offset:3px;}
.foot-mail{display:block; margin-top:10px; font-size:14px; word-break:break-all;}

/* Cookie */
.ck{position:fixed; left:16px; right:16px; bottom:16px; z-index:200; display:flex; justify-content:center; pointer-events:none;}
.ck[hidden]{display:none;}
.ck-in{pointer-events:auto; width:min(760px,100%); background:#fff; color:var(--ink); border-radius:18px; padding:22px 24px; box-shadow:0 24px 70px rgba(0,0,0,.4); border:1px solid var(--line);}
.ck h2{font-size:18px;} .ck p{font-size:14px; line-height:1.55; margin-top:8px; color:var(--ink-soft);} .ck p a{text-decoration:underline;}
.ck-pref{margin-top:12px; display:grid; gap:10px;} .ck-pref[hidden]{display:none;}
.ck-row{display:flex; gap:12px; align-items:flex-start; font-size:14px; line-height:1.45;} .ck-row input{margin-top:3px; width:18px; height:18px; accent-color:var(--red);} .ck-row b{display:block;}
.ck-btn{display:flex; gap:10px; flex-wrap:wrap; margin-top:16px;} .ck-btn .btn{min-height:46px; padding:10px 20px; font-size:15px; flex:1 1 auto; justify-content:center;} .ck-btn [hidden]{display:none;}

.hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;}

/* Tablet */
@media (max-width:1024px){
  .stili-grid,.imm-grid,.roles{grid-template-columns:repeat(2,1fr);}
  .hero-prom{grid-template-columns:repeat(2,1fr);}
  .owner{grid-template-columns:minmax(200px,300px) 1fr; gap:28px;}
  .hs{grid-template-columns:1fr 1fr; } .hs-f{border-bottom:1px solid var(--line);} .hs .hs-go{grid-column:1/-1; min-height:56px;}
}
/* Smartphone */
@media (max-width:767px){
  body{overflow-x:hidden;}
  .hero-v2{padding:78px 0 36px; min-height:0; align-items:flex-start;}
  .hero-brand{font-size:11.5px; margin-bottom:12px;}
  .hero-v2 h1{font-size:clamp(29px,8.4vw,38px); line-height:1.08;}
  .hero-v2 .hero-sub{font-size:16px; margin-top:12px;}
  .hero-v2 .hero-cta{margin-top:20px; gap:10px;}
  .hero-v2 .hero-247{font-size:12.5px; margin-top:10px;}
  .hs{grid-template-columns:1fr 1fr; margin-top:22px; border-radius:14px;}
  .hs-f{padding:9px 14px;} .hs-f:first-child{grid-column:1/-1; border-right:0;} .hs-f:nth-child(3){grid-column:1/-1; border-right:0;}
  .hs-f select{font-size:15px;}
  .hs .hs-go{min-height:52px;}
  .hero-prom{grid-template-columns:1fr 1fr; gap:10px; margin-top:22px;}
  .hero-prom svg{width:34px; height:34px; padding:7px; border-radius:10px;} .hero-prom b{font-size:12.5px;}
  .hero-method{font-size:13px; margin-top:16px;}
  .stili{padding:40px 0 8px;}
  .stili-grid,.imm-grid,.roles{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin-left:-16px; margin-right:-16px; padding:6px 16px 16px; -webkit-overflow-scrolling:touch; scrollbar-width:none;}
  .stili-grid::-webkit-scrollbar,.imm-grid::-webkit-scrollbar,.roles::-webkit-scrollbar{display:none;}
  .stili-grid>*{flex:0 0 74%; scroll-snap-align:start; min-height:0;} .imm-grid>*,.roles>*{flex:0 0 78%; scroll-snap-align:start;}
  .stile{padding:20px 18px;} .stile-ico{width:46px; height:46px; margin-bottom:12px;}
  .owner{grid-template-columns:1fr; gap:18px; padding:16px; margin-top:26px;} .owner-ph{aspect-ratio:1/1; max-height:340px;} .owner-t p{font-size:15.5px;}
  .price-grid.two{grid-template-columns:1fr !important;}
  .tbl-wrap{border:0; background:none;} .pay-tbl,.pay-tbl tbody,.pay-tbl tr,.pay-tbl td{display:block; width:100%;} .pay-tbl thead{display:none;}
  .pay-tbl tr{background:#fff; border:1px solid var(--line); border-radius:14px; margin-bottom:12px; padding:6px 0;} .pay-tbl td{border:0; padding:6px 16px; font-size:14.5px;}
  .pay-tbl td::before{content:attr(data-l); display:block; font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-dim);}
  .sell-in{padding:32px 0; gap:18px;} .btn-sell{width:100%; justify-content:center;}
  .coi{padding:20px;}
  section{scroll-margin-top:70px;}
  .ck{left:10px; right:10px; bottom:10px;} .ck-in{padding:16px;} .ck p{font-size:13px;} .ck-btn .btn{flex:1 1 40%; min-height:44px; padding:8px 12px; font-size:14px;}
}

/* Header con telefono: il logo non si restringe */
.site-header .logo{flex:none;}
@media (min-width:901px){.site-header .nav-links{gap:16px; font-size:13.5px;} .site-header .main-nav{gap:14px; margin-left:auto;} .site-header .btn.nav-cta{padding:12px 16px; font-size:14px;} .hd-tel{margin-left:12px; padding:9px 12px; font-size:13.5px;}}

@media (max-width:767px){.hs-f:nth-child(2){grid-column:1/-1; border-right:0;} .hs{grid-template-columns:1fr;}}

/* Aggiornamenti 19/10 */
.price-grid.three{grid-template-columns:repeat(3,1fr); max-width:1120px; margin-left:auto; margin-right:auto;}
.price-card li.no{color:var(--ink-dim);} .price-card li.no::before{content:"–"; color:var(--ink-dim);}
.roles.r3{grid-template-columns:repeat(3,1fr);}
.dt small.dt-date{color:#fff; opacity:1; font-size:13px; font-weight:700;}
.stile-page{background:#fff; padding:64px 0;}
.sp-h{margin-top:34px; font-size:20px;}
.sp-pts{list-style:none; display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin-top:16px;}
.sp-pts li{padding:18px 20px; border-radius:14px; background:#FFF4F2; border-left:4px solid var(--red);}
.sp-pts b{display:block; font-size:16px;} .sp-pts span{display:block; margin-top:6px; font-size:14.5px; line-height:1.55; color:var(--ink-soft);}
.sp-faq{margin-top:26px; display:grid; gap:10px;}
@media (max-width:1024px){.price-grid.three{grid-template-columns:1fr 1fr !important;} .price-grid.three .price-card:last-child{grid-column:1/-1;}}
@media (max-width:767px){.price-grid.three{grid-template-columns:1fr !important;} .price-grid.three .price-card:last-child{grid-column:auto;} .sp-pts{grid-template-columns:1fr;} .stile-page{padding:40px 0;} .roles.r3>*{flex:0 0 78%;}}
.zone-sec .wrap{display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center;}
.zone-sec .zone-links{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));}
.zone-map .poster{max-width:520px; margin-left:auto; border-radius:20px; overflow:hidden; box-shadow:0 24px 60px rgba(0,0,0,.18);}
.zone-map .poster svg{display:block; width:100%; height:auto;}
@media (max-width:900px){.zone-sec .wrap{grid-template-columns:1fr; gap:26px;} .zone-map .poster{margin:0 auto;} .zone-sec .zone-links{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){.zone-sec .zone-links{grid-template-columns:1fr;}}


/* HERO v3: moderna, vetro e aurora */
.hero-v3{position:relative; overflow:hidden; background:#0A0A0F; color:#fff; padding:104px 0 56px; display:block; min-height:0;}
.hero-v3 .hero-media::after{background:linear-gradient(90deg,rgba(8,8,12,.82) 0%,rgba(8,8,12,.45) 60%,rgba(8,8,12,.7) 100%);}
.hero-v3 .hero-in{position:relative; z-index:2; display:grid !important; grid-template-columns:1.15fr .85fr; gap:56px; align-items:center; max-width:1180px;}
.aurora{position:absolute; inset:0; filter:blur(70px) saturate(1.2);}
.aurora i{position:absolute; border-radius:50%; opacity:.65; animation:aur 16s ease-in-out infinite alternate;}
.aurora i:nth-child(1){width:640px; height:640px; background:#E53E3E; right:-120px; top:-200px;}
.aurora i:nth-child(2){width:520px; height:520px; background:#FF8A4C; left:-160px; bottom:-220px; opacity:.38; animation-delay:-6s;}
.aurora i:nth-child(3){width:420px; height:420px; background:#7C1D3A; left:38%; top:20%; opacity:.5; animation-delay:-11s;}
@keyframes aur{from{transform:translate3d(0,0,0) scale(1)}to{transform:translate3d(-60px,50px,0) scale(1.18)}}
.hero-grid{position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px); background-size:56px 56px; -webkit-mask-image:radial-gradient(ellipse at 30% 40%,#000 0%,transparent 70%); mask-image:radial-gradient(ellipse at 30% 40%,#000 0%,transparent 70%);}
.hero-grain{position:absolute; inset:0; opacity:.07; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); mix-blend-mode:overlay; pointer-events:none;}
.h3-chip{display:inline-flex; align-items:center; gap:10px; padding:8px 16px; border-radius:999px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(10px); font-size:12.5px; font-weight:700; letter-spacing:.04em; color:#F1E6E1; margin-bottom:22px;}
.hero-v3 h1{font-size:clamp(36px,5.2vw,72px); line-height:1.02; letter-spacing:-.04em; max-width:15ch; text-wrap:balance;}
.hero-v3 h1 .hl{background:linear-gradient(100deg,#FF6B6B,#FF9A62); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;}
.hero-v3 .hero-sub{font-style:normal; font-weight:500; font-size:clamp(17px,1.7vw,21px); color:#E7DCD7; margin-top:22px; max-width:42ch; line-height:1.5;}
.hero-v3 .hero-cta{margin-top:32px;}
.hero-v3 .hero-247{margin-top:16px; font-size:13.5px; font-weight:700; color:#CFC2BC;}
.hero-v3 .hero-247::before{content:"✓ "; color:#2BD47D;}
.h3-r{position:relative; min-height:420px; display:flex; align-items:center;}
.glass{background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.05)); border:1px solid rgba(255,255,255,.22); backdrop-filter:blur(22px) saturate(1.4); -webkit-backdrop-filter:blur(22px) saturate(1.4); border-radius:24px; box-shadow:0 30px 80px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.25);}
.g-main{width:100%; padding:26px 26px 14px; transform:rotate(1.2deg); animation:gfloat 8s ease-in-out infinite alternate;}
@keyframes gfloat{from{transform:rotate(1.2deg) translateY(0)}to{transform:rotate(-.6deg) translateY(-10px)}}
.g-k{display:block; font-size:11.5px; font-weight:800; letter-spacing:.18em; color:#FFB3A6; margin-bottom:6px;}
.g-list{list-style:none; display:grid;}
.g-list li{display:grid; grid-template-columns:34px 1fr; column-gap:14px; padding:15px 0; border-bottom:1px solid rgba(255,255,255,.12); align-items:center;}
.g-list li:last-child{border-bottom:0;}
.g-list i{grid-row:1/3; width:34px; height:34px; border-radius:50%; background:#12935F; display:grid; place-items:center; box-shadow:0 0 0 6px rgba(18,147,95,.2); opacity:0; transform:scale(.4); animation:tick .5s cubic-bezier(.2,1.4,.4,1) forwards; animation-delay:var(--d);}
.g-list i svg{width:18px; height:18px; color:#fff;}
@keyframes tick{to{opacity:1; transform:scale(1)}}
.g-list b{font-size:16.5px; font-weight:800; line-height:1.25;}
.g-list small{font-size:13px; color:#D7CAC4; margin-top:2px;}
.g-mini{position:absolute; padding:14px 18px; display:flex; align-items:center; gap:12px; border-radius:18px;}
.g-mini b{font-size:30px; font-weight:900; letter-spacing:-.03em; background:linear-gradient(100deg,#FF6B6B,#FF9A62); -webkit-background-clip:text; background-clip:text; color:transparent;}
.g-mini span{font-size:12.5px; font-weight:700; line-height:1.3; max-width:11ch; color:#F1E6E1;}
.g-a{left:-34px; bottom:-26px; animation:gfloat2 7s ease-in-out infinite alternate;}
.g-b{right:-14px; top:-26px; animation:gfloat2 9s ease-in-out infinite alternate-reverse;}
@keyframes gfloat2{from{transform:translateY(0)}to{transform:translateY(-12px)}}
.hero-v3 .hero-method{position:relative; z-index:2; max-width:1180px; margin-top:44px; padding-top:20px; border-top:1px solid rgba(255,255,255,.14); font-size:14px; color:#CFC2BC;}
.hero-v3 .hero-method b{color:#fff;}
@media (prefers-reduced-motion:reduce){.aurora i,.g-main,.g-mini,.g-list i{animation:none !important; opacity:1; transform:none;}}
@media (max-width:1024px){.hero-v3 .hero-in{grid-template-columns:1fr; gap:40px;} .h3-r{min-height:0; max-width:520px;} .g-a{left:auto; right:14px; bottom:-22px;} .g-b{display:none;}}
@media (max-width:767px){
  .hero-v3{padding:82px 0 30px;}
  .h3-chip{font-size:11px; padding:7px 12px; margin-bottom:16px;}
  .hero-v3 h1{font-size:clamp(31px,9vw,40px);}
  .hero-v3 .hero-sub{font-size:16px; margin-top:14px;}
  .hero-v3 .hero-cta{margin-top:22px;}
  .g-main{padding:18px 18px 8px; transform:none; animation:none;} .g-list li{padding:11px 0;} .g-list b{font-size:15px;} .g-a{display:none;}
  .hero-v3 .hero-method{margin-top:28px; font-size:12.5px;}
}

/* Pagine stile: comuni in forma semplice */
.zone-simple{background:#F6F6F6; padding:34px 0;}
.zone-simple h3{font-size:16px; font-weight:800; color:var(--ink-soft);}
.zs-chips{display:flex; flex-wrap:wrap; gap:8px; margin-top:12px;}
.zs-chips a{padding:9px 16px; border-radius:999px; background:#fff; border:1px solid var(--line); font-weight:700; font-size:14px; color:var(--ink);}
.zs-chips a:hover{border-color:var(--red); color:var(--red);}
.stili-grid{grid-template-columns:repeat(5,1fr); gap:14px;}
.stili-grid .stile{padding:22px 18px 20px;} .stili-grid .stile h3{font-size:16.5px;}
@media (max-width:1100px){.stili-grid{grid-template-columns:repeat(3,1fr);}}
@media (max-width:767px){.stili-grid{display:flex; grid-template-columns:none;}}


/* Aggiornamenti 19/10 sera */
.hero-v3 .hero-in{max-width:1140px; margin-left:auto; margin-right:auto; width:100%;}
.hero-v3 h1{font-size:clamp(34px,4.5vw,62px);}
.h3-down{display:inline-flex; align-items:center; gap:14px; margin-top:34px; color:#F1E6E1; font-weight:700; font-size:15px;}
.hd-arrow{width:48px; height:48px; border-radius:50%; display:grid; place-items:center; border:1.5px solid rgba(255,255,255,.4); background:rgba(255,255,255,.08); animation:arrowBob 1.8s ease-in-out infinite;}
.hd-arrow svg{width:22px; height:22px;}
.h3-down:hover .hd-arrow{background:var(--red); border-color:var(--red);}
@keyframes arrowBob{0%,100%{transform:translateY(0)}50%{transform:translateY(9px)}}
.hero-v3 .hero-cta{margin-top:30px;}
.sc-hint{display:none;}
@media (max-width:767px){
  .sc-hint{display:flex; align-items:center; gap:12px; margin-top:2px; padding:0 2px;}
  .sc-bar{flex:1; height:5px; border-radius:5px; background:#E3E3E3; position:relative; overflow:hidden;}
  .sc-bar i{position:absolute; left:0; top:0; bottom:0; width:30%; border-radius:5px; background:var(--red); transition:transform .12s linear;}
  .sc-txt{font-size:12.5px; font-weight:800; color:var(--red); white-space:nowrap;} .sc-txt b{display:inline-block; animation:nudge 1.2s ease-in-out infinite;}
  @keyframes nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(6px)}}
  .sc-hint.end .sc-txt{opacity:.35;}
  .pay-tbl tr{display:grid; grid-template-columns:1fr auto; gap:4px 12px; padding:14px 16px; align-items:start;}
  .pay-tbl td{padding:0 !important; font-size:14.5px; line-height:1.45;}
  .pay-tbl td::before{display:none !important;}
  .pay-tbl td:nth-child(1){grid-column:1; grid-row:1; font-size:16px;}
  .pay-tbl td:nth-child(4){grid-column:2; grid-row:1; font-size:11px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:#0E7A4E; background:#E6F6EE; padding:5px 9px !important; border-radius:999px; white-space:nowrap; align-self:center;}
  .pay-tbl td:nth-child(2){grid-column:1/-1; grid-row:2; color:var(--ink);}
  .pay-tbl td:nth-child(3){grid-column:1/-1; grid-row:3; font-size:13px; color:var(--ink-dim);}
  .pay-tbl td:nth-child(3)::before{display:inline !important; content:"A chi: "; font-weight:800;}
}
.zone-simple h3{font-size:18px; color:var(--ink);}
.zone-simple{padding:44px 0 56px;}
.foot-mail{word-break:normal !important; overflow-wrap:anywhere; font-size:13px !important;}


/* Tabella costi a matrice: Incluso / Extra per percorso */
.pay-mx{width:100%; border-collapse:collapse; font-size:15px; table-layout:fixed;}
.pay-mx th{background:#1A1A1A; color:#fff; text-align:center; padding:14px 10px; font-size:12px; letter-spacing:.1em; text-transform:uppercase; vertical-align:bottom;}
.pay-mx th:first-child{text-align:left; padding-left:20px; width:24%;}
.pay-mx th small{display:block; margin-top:3px; font-size:15px; font-weight:900; letter-spacing:0; color:#FF8A7A;}
.pay-mx th:last-child{width:21%;}
.pay-mx td{padding:16px 10px; border-top:1px solid var(--line); text-align:center; vertical-align:middle;}
.pay-mx td.c-v{text-align:left; padding-left:20px;} .pay-mx td.c-v b{display:block; font-size:16px;} .pay-mx td.c-v small{display:block; margin-top:2px; font-size:12.5px; color:var(--ink-dim);}
.pc{font-size:22px; font-weight:900; color:var(--ink);}
.inc{display:inline-flex; align-items:center; gap:6px; padding:7px 13px; border-radius:999px; font-weight:800; font-size:12.5px; letter-spacing:.03em; text-transform:uppercase; white-space:nowrap;}
.inc.yes{background:#12935F; color:#fff;} .inc.yes i{font-style:normal; font-weight:900;}
.inc.no{background:#F1F1F1; color:#7A7A7A; border:1px dashed #C6C6C6;}
.pay-mx .c-q{padding:10px;}
.when{display:inline-block; padding:8px 12px; border-radius:999px; background:#E6F6EE; color:#0E7A4E; font-size:11.5px; font-weight:900; letter-spacing:.04em; text-transform:uppercase; line-height:1.25; border:1.5px solid #12935F;}
@media (max-width:900px){
  .pay-mx th{font-size:11px; padding:12px 6px;} .pay-mx th small{font-size:14px;}
  .pay-mx td{padding:14px 6px;} .inc{padding:6px 9px; font-size:11px;} .pc{font-size:19px;}
  .when{font-size:10.5px; padding:7px 9px;}
}
@media (max-width:767px){
  .pay-mx,.pay-mx tbody,.pay-mx tr,.pay-mx td{display:block; width:100%;} .pay-mx thead{display:none;}
  .pay-mx tr{display:grid; grid-template-columns:repeat(6,1fr); gap:10px 8px; background:#fff; border:1px solid var(--line); border-radius:16px; margin-bottom:12px; padding:14px;}
  .pay-mx td{border:0; padding:0; text-align:left;}
  .pay-mx td.c-v{grid-column:1/4; grid-row:1; padding:0;} .pay-mx td.c-v b{font-size:17px;}
  .pay-mx td.c-q{grid-column:4/7; grid-row:1; text-align:right; padding:0;}
  .pay-mx td:nth-child(2){grid-column:1/3; grid-row:2;} .pay-mx td:nth-child(3){grid-column:3/5; grid-row:2;} .pay-mx td:nth-child(4){grid-column:5/7; grid-row:2;}
  .pay-mx td:nth-child(n+2):nth-child(-n+4){text-align:center; padding-top:20px; position:relative;}
  .pay-mx td:nth-child(n+2):nth-child(-n+4)::before{content:attr(data-l); position:absolute; top:0; left:0; right:0; text-align:center; font-size:10.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-dim);}
  .inc{padding:6px 8px; font-size:10.5px; gap:3px;}
  .when{font-size:10.5px;}
}

/* Indicatori di scorrimento più evidenti (smartphone) */
.sc-wrap{position:relative;}
@media (max-width:767px){
  .sc-bar{height:7px;} .sc-txt{font-size:13px;}
  .sc-fade{position:absolute; top:0; right:-16px; bottom:34px; width:64px; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.92) 70%); display:flex; align-items:center; justify-content:flex-end; padding-right:20px; transition:opacity .25s;}
  .immobili .sc-fade{background:linear-gradient(90deg,rgba(246,246,246,0),rgba(246,246,246,.92) 70%);}
  .sc-chev{width:40px; height:40px; border-radius:50%; background:var(--red); color:#fff; display:grid; place-items:center; box-shadow:0 8px 20px rgba(229,62,62,.5); animation:nudge 1.1s ease-in-out infinite; font-weight:900; font-size:20px; line-height:1;}
  .sc-wrap.at-end .sc-fade{opacity:0;}
}


/* Controlli documentali: schede sempre visibili */
.vfc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:38px;}
.vfc{position:relative; background:#fff; border:1px solid var(--line); border-radius:18px; padding:22px 20px 20px; display:flex; flex-direction:column; gap:12px; box-shadow:0 10px 30px rgba(0,0,0,.04);}
.vfc-n{position:absolute; top:16px; right:18px; font-size:13px; font-weight:900; color:#C9C9C9; letter-spacing:.06em;}
.vfc h3{font-size:18px; line-height:1.25; padding-right:34px; font-weight:800;}
.vfc-r,.vfc-g{border-radius:12px; padding:12px 14px;}
.vfc-r{background:#FFF1EF; border-left:4px solid var(--red);}
.vfc-g{background:#E9F7F0; border-left:4px solid #12935F; flex:1;}
.vfc-r b,.vfc-g b{display:block; font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase;}
.vfc-r b{color:var(--red-dark);} .vfc-g b{color:#0E7A4E;}
.vfc-r p,.vfc-g p{margin-top:6px; font-size:14.5px; line-height:1.55; color:var(--ink);}
@media (max-width:1024px){.vfc-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:767px){
  .vfc-grid{display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; margin-left:-16px; margin-right:-16px; padding:6px 16px 16px; scrollbar-width:none; -webkit-overflow-scrolling:touch;}
  .vfc-grid::-webkit-scrollbar{display:none;}
  .vfc{flex:0 0 84%; scroll-snap-align:start;}
}


/* ===== Hero a tutto schermo ===== */
.hero-v3{min-height:calc(100vh - var(--hh,100px)); min-height:calc(100svh - var(--hh,100px)); display:flex; align-items:center; padding-top:48px; padding-bottom:88px;}
.hero-v3 .hero-in{width:100%;}
@media (max-width:1024px){.hero-v3{padding-top:40px; padding-bottom:72px;}}
@media (max-width:767px){.hero-v3{align-items:center; padding-top:28px; padding-bottom:64px;}}
@media (max-height:640px) and (min-width:768px){.hero-v3{padding-top:36px; padding-bottom:56px;}}

/* ===== Indicatori di scorrimento: ora gestiti anche al ridimensionamento ===== */
.sc-wrap{position:relative;}
.sc-wrap .sc-hint,.sc-wrap .sc-fade{display:none;}
@media (max-width:767px){
  .sc-wrap.can-scroll .sc-hint{display:flex; align-items:center; gap:12px; margin-top:4px; padding:0 2px;}
  .sc-wrap.can-scroll .sc-fade{display:flex;}
  .sc-wrap .sc-fade{position:absolute; top:0; right:-16px; bottom:34px; width:64px; pointer-events:none; background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.92) 70%); align-items:center; justify-content:flex-end; padding-right:20px; transition:opacity .25s;}
  .sc-wrap.at-end .sc-fade{opacity:0;}
  .vf .sc-wrap .sc-fade{background:linear-gradient(90deg,rgba(11,11,16,0),rgba(11,11,16,.95) 70%);}
  .vf .sc-bar{background:rgba(255,255,255,.18);}
}

/* ===== Controlli documentali: grafica moderna, scura ===== */
.vf{background:#0B0B10; color:#fff; position:relative; overflow:hidden;}
.vf::before{content:""; position:absolute; width:620px; height:620px; border-radius:50%; background:#E53E3E; filter:blur(140px); opacity:.22; right:-200px; top:-180px; pointer-events:none;}
.vf::after{content:""; position:absolute; width:520px; height:520px; border-radius:50%; background:#12935F; filter:blur(150px); opacity:.14; left:-220px; bottom:-200px; pointer-events:none;}
.vf .wrap{position:relative; z-index:1;}
.vf h2{color:#fff;} .vf .lede{color:#C9C9D2;}
.vf .tag{background:rgba(255,255,255,.08); border-color:rgba(255,255,255,.22); color:#fff;}
.vfc{background:linear-gradient(165deg,rgba(255,255,255,.09),rgba(255,255,255,.03)); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); box-shadow:0 24px 60px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.12); padding:24px 20px 20px; transition:transform .3s, border-color .3s;}
.vfc:hover{transform:translateY(-4px); border-color:rgba(255,255,255,.3);}
.vfc-n{position:static; display:block; font-size:44px; font-weight:900; letter-spacing:-.04em; line-height:1; background:linear-gradient(120deg,#FF6B6B,#FF9A62); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent; margin-bottom:2px;}
.vfc h3{color:#fff; padding-right:0; font-size:18px;}
.vfc-r,.vfc-g{border:0; border-radius:14px; padding:14px 14px 14px;}
.vfc-r{background:linear-gradient(160deg,rgba(229,62,62,.22),rgba(229,62,62,.07));}
.vfc-g{background:linear-gradient(160deg,rgba(18,147,95,.26),rgba(18,147,95,.08));}
.vfc-r b,.vfc-g b{display:flex; align-items:center; gap:8px; font-size:11px; letter-spacing:.12em;}
.vfc-r b{color:#FFB4A9;} .vfc-g b{color:#7CE3B4;}
.vfc-r b i,.vfc-g b i{font-style:normal; width:20px; height:20px; border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:900; color:#fff; letter-spacing:0;}
.vfc-r b i{background:#E53E3E;} .vfc-g b i{background:#12935F;}
.vfc-r p,.vfc-g p{color:#ECE7EA; margin-top:8px; font-size:14.5px;}
.vfc-g{position:relative; margin-top:6px;}
.vfc-g::before{content:"↓"; position:absolute; top:-17px; left:50%; transform:translateX(-50%); width:26px; height:26px; border-radius:50%; background:#0B0B10; border:1px solid rgba(255,255,255,.25); color:#fff; display:grid; place-items:center; font-size:13px; font-weight:900;}


/* Hero con video: sfumatura sopra, il video non disturba le scritte */
.hero-v3 .hero-video{filter:saturate(1.05) contrast(1.02);}
.hero-v3 .hero-media::after{content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    linear-gradient(90deg,rgba(8,8,12,.9) 0%,rgba(8,8,12,.72) 42%,rgba(8,8,12,.4) 100%),
    linear-gradient(180deg,rgba(8,8,12,.55) 0%,rgba(8,8,12,0) 28%,rgba(8,8,12,.88) 100%),
    radial-gradient(ellipse at 85% 10%,rgba(229,62,62,.28),transparent 55%);}
.hero-v3 .hero-grain{z-index:1;}
@media (max-width:767px){
  .hero-v3 .hero-media::after{background:
    linear-gradient(180deg,rgba(8,8,12,.78) 0%,rgba(8,8,12,.68) 50%,rgba(8,8,12,.9) 100%),
    radial-gradient(ellipse at 80% 0%,rgba(229,62,62,.25),transparent 60%);}
}

.hero-photo{position:absolute; inset:0; background-size:cover; background-position:center; background-repeat:no-repeat;}

/* v18: blocco unico "Che casa cerchi + Dove operiamo" */
.stili .zone-in{margin-top:48px; padding-top:34px; border-top:1px solid rgba(255,255,255,.14);}
.stili .zone-in h3{font-size:20px; margin-bottom:16px;}
.stili .zs-chips{margin-top:0;}

/* v19: loghi brand reali */
.brand-logo{border:1px solid var(--line); width:auto; height:auto; padding:8px 14px;}
.brand-logo img{display:block; height:76px; width:auto; max-width:120px; object-fit:contain;}
@media (max-width:767px){.brand-logo{flex:1; padding:6px 8px; display:flex; justify-content:center;} .brand-logo img{height:64px; max-width:100%;}}
.brand-logo img{height:104px; max-width:150px;}
@media (max-width:767px){.brand-logo img{height:auto; width:100%; max-height:96px;} .brands-row{gap:10px;}}

/* v20: team illustrato, email footer, comuni in hero */
.owner-ph img,.role-ph img{object-position:50% 8%;}
.foot-em{margin-top:10px; background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.28);}
.foot-em b{font-size:14px; white-space:normal; overflow-wrap:anywhere;}
.h3-zone{display:flex; flex-wrap:wrap; align-items:center; gap:8px 8px; margin-top:26px; max-width:560px;}
.h3-zone span{font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:rgba(255,255,255,.65); margin-right:4px;}
.h3-zone a{padding:6px 12px; border-radius:999px; border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.08); color:#fff; font-size:13.5px; font-weight:600; backdrop-filter:blur(6px);}
.h3-zone a:hover{background:var(--red); border-color:var(--red);}
@media (max-width:767px){.h3-zone{margin-top:20px} .h3-zone a{font-size:13px; padding:5px 10px}}
.foot-em b{font-size:12.5px !important; white-space:nowrap; overflow-wrap:normal;}
.foot-contact{min-width:0;}
@media (max-width:420px){.foot-em b{font-size:12px !important;}}

/* v21: brand del titolare */
.owner-brands{list-style:none; margin:18px 0 6px; padding:0; display:grid; gap:10px;}
.owner-brands li a{display:flex; flex-direction:column; gap:2px; padding:12px 16px; border-radius:12px; background:#FAF7F5; border:1px solid var(--line); border-left:4px solid var(--red); transition:transform .2s ease, box-shadow .2s ease;}
.owner-brands li a:hover{transform:translateX(4px); box-shadow:0 8px 20px rgba(0,0,0,.07);}
.owner-brands strong{font-size:17px; font-weight:800; color:var(--ink); letter-spacing:-.01em;}
.owner-brands span{font-size:14.5px; color:var(--ink-dim); line-height:1.45;}
.owner-t .owner-more{margin:18px 0 0; font-weight:700; color:var(--ink); font-size:15.5px;}
.owner-more + .owner-brands{margin-top:10px;}

/* v22: anni di esperienza come pill, uguale al titolare */
.role .role-y{display:inline-block; align-self:flex-start; margin:10px 0 4px; padding:8px 14px; border-radius:999px; background:#FFF0EE; color:var(--red-dark); font-weight:700; font-size:13.5px;}

/* v23: zone in hero come semplice testo */
.h3-zone{display:block; margin-top:24px; max-width:560px; font-size:14.5px; line-height:1.6; color:rgba(255,255,255,.78);}
.h3-zone b{color:#fff; font-weight:700;}
@media (max-width:767px){.h3-zone{margin-top:18px; font-size:13.5px;}}

/* v24: loghi brand con sfondo incluso (#F6F6F6) */
.brands-row{align-items:center; gap:10px;}
.brand-logo{border:0 !important; background:transparent !important; padding:0 !important; box-shadow:none !important; border-radius:0 !important;}
.brand-logo img{height:auto; width:210px; max-width:100%; max-height:none; display:block; }
.brand-logo:hover{transform:scale(1.04); box-shadow:none !important;}
@media (max-width:767px){.brands-row{gap:0;} .brand-logo{flex:1 1 0; min-width:0;} .brand-logo img{width:100%;}}
.brand-logo img{width:auto; height:104px; max-width:none;}
@media (max-width:767px){.brand-logo img{width:100%; height:auto; max-height:100px; object-fit:contain;}}

/* v25: brand in riquadri moderni, tutti uguali */
.brands{background:#fff;}
.brands-row{gap:16px; justify-content:flex-end;}
.brand-logo{display:flex !important; align-items:center; justify-content:center; flex:none !important; width:208px !important; height:132px !important; padding:12px !important; background:#F6F6F6 !important; border:1px solid #E7E7E7 !important; border-radius:18px !important; box-shadow:0 6px 18px rgba(0,0,0,.05) !important; transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;}
.brand-logo img{width:100%; height:100%; max-width:none; max-height:none; object-fit:contain; display:block;}
.brand-logo:hover{transform:translateY(-4px) !important; border-color:var(--red) !important; box-shadow:0 14px 30px rgba(0,0,0,.12) !important;}
@media (max-width:1024px){.brand-logo{width:176px !important; height:112px !important;}}
@media (max-width:767px){.brands-row{gap:8px; justify-content:space-between; width:100%;} .brand-logo{flex:1 1 0 !important; width:auto !important; min-width:0; height:96px !important; padding:6px !important; border-radius:14px !important;} .brand-logo img{width:100%; height:100%; max-height:none;}}

/* v26: menu a hamburger anche su tablet orizzontale (901-1180px), niente voci nascoste */
@media (min-width:901px) and (max-width:1180px){
  .site-header .wrap{flex-wrap:wrap; padding-top:8px; padding-bottom:8px;}
  .nav-toggle{display:inline-flex; flex-direction:column; justify-content:center; align-items:center; gap:5px; width:48px; height:48px; border:1.5px solid #1A1A1A; border-radius:12px; background:#fff; cursor:pointer; margin-left:auto;}
  .nav-toggle span{display:block; width:22px; height:2.5px; background:#1A1A1A; border-radius:2px; transition:transform .3s ease, opacity .2s ease;}
  .menu-open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
  .menu-open .nav-toggle span:nth-child(2){opacity:0;}
  .menu-open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}
  .site-header .main-nav{display:none; position:absolute; left:0; right:0; top:100%; width:100%; margin-left:0; background:#fff; border-top:1px solid var(--line); border-bottom:3px solid var(--red); flex-direction:column; align-items:stretch; gap:0; padding:8px 28px 22px; box-shadow:0 24px 40px rgba(0,0,0,.18); max-height:calc(100vh - 90px); overflow-y:auto;}
  .menu-open .main-nav{display:flex;}
  .site-header .nav-links{display:flex; flex-direction:column; gap:0; font-size:18px; font-weight:700;}
  .nav-links li{border-bottom:1px solid var(--line);} .site-header .nav-links a{display:block; padding:16px 4px; color:#1A1A1A;}
  .site-header .btn.nav-cta{margin-top:18px; width:100%; min-height:52px; padding:14px !important; font-size:16px !important;}
  .site-header .nav-links a::after{left:0; right:auto; top:12px; bottom:12px; width:4px; height:auto; transform:scaleY(0);}
  .site-header .nav-links a.active{background:#FFF3F3; padding-left:16px;} .site-header .nav-links a.active::after{transform:scaleY(1);}
  .hd-tel{margin-left:12px;}
}
/* email footer: mai fuori dal riquadro */
.foot-em{overflow:hidden;}
.foot-em b{font-size:clamp(11px,3.1vw,13px) !important; white-space:normal !important; overflow-wrap:anywhere; word-break:break-word;}
@media (min-width:768px){.foot-em b{font-size:12.5px !important;}}
.foot-contact{max-width:300px; min-width:0;}
.foot-contact .foot-wa{box-sizing:border-box; width:100%;}

/* v27: icone percorsi (v verdi, x rosse) e footer in due colonne */
.price-card li::before{content:"✓"; color:var(--green) !important; font-weight:800;}
.price-card.featured li::before{color:#3DDC97 !important;}
.price-card li.no{color:var(--ink-dim);}
.price-card li.no::before,.price-card.featured li.no::before{content:"✕"; color:#E53E3E !important; font-weight:800;}
.price-card li strong{font-weight:700;}
.site-footer .foot-bottom{flex:0 0 100%; display:grid; grid-template-columns:1fr 1fr; gap:40px; margin-top:8px; padding-top:28px; border-top:1px solid rgba(255,255,255,.14); font-size:12.5px; line-height:1.7; color:#CFCFCF; font-family:var(--mono);}
.foot-bottom p{margin:0 0 8px;} .foot-bottom a{color:#fff; text-decoration:underline; text-underline-offset:3px;}
.foot-bottom .foot-legal{font-size:inherit; margin:0;} .foot-bottom .foot-legal p{margin:0 0 8px;}
@media (max-width:767px){.site-footer .foot-bottom{grid-template-columns:1fr; gap:14px;}}

/* v28: niente etichette sopra i titoli; link recensioni di riserva */
.rev-more{margin-top:22px; text-align:center;} .rev-more a{font-weight:700; color:var(--red); text-decoration:underline; text-underline-offset:4px;}
.rev-box{min-height:120px;}

/* v29: header senza telefono */
.site-header .nav-toggle{margin-left:auto;}
@media (min-width:1181px){.site-header .main-nav{margin-left:auto;}}

/* v30: pagina fissa su smartphone (niente zoom con le dita, niente scorrimento laterale) */
html{touch-action:pan-x pan-y; -webkit-text-size-adjust:100%; overflow-x:clip;}
body{overflow-x:clip; max-width:100%;}
.h3-down{cursor:default; pointer-events:none;}

/* v31: freccia hero sempre rotonda e sempre animata (anche con "riduci movimento") */
.h3-down{align-items:center; gap:14px;}
.hd-arrow{flex:none !important; width:48px !important; height:48px !important; min-width:48px; min-height:48px; aspect-ratio:1/1; border-radius:50% !important; animation:arrowBob 1.6s ease-in-out infinite !important;}
.hd-arrow svg{animation:arrowNudge 1.6s ease-in-out infinite;}
@keyframes arrowNudge{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
.h3-down span:last-child{flex:1 1 auto; min-width:0;}
@media (max-width:767px){.h3-down{max-width:100%;} .h3-down span:last-child{max-width:240px;}}

/* ===== v32 · LANDING "Incarico di ricerca" (senza menu) ===== */
.lp-header .nav-in,.lp-header .wrap{display:flex; align-items:center; justify-content:space-between; gap:16px;}
.lp-header .logo{display:inline-flex; align-items:center; cursor:default;}
.lp-top-cta{white-space:nowrap; padding:12px 20px; min-height:0; font-size:14.5px;}
.lp-hero{padding:104px 0 64px;} .lp-hero h1{max-width:17ch; font-size:clamp(34px,4.8vw,64px);}
.lp-ticks{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:9px;}
.lp-ticks li{position:relative; padding-left:30px; font-weight:600; font-size:15.5px; line-height:1.4;}
.lp-ticks li::before{content:"✓"; position:absolute; left:0; top:0; width:21px; height:21px; border-radius:50%; background:var(--green); color:#fff; font-size:12px; font-weight:900; display:grid; place-items:center;}
.lp-formwrap{position:relative; z-index:2;} .lp-hero .lp-formwrap{display:block; min-height:0;}
.lp-form{background:#fff; color:var(--ink); border-radius:22px; padding:26px 24px 22px; box-shadow:0 30px 70px rgba(0,0,0,.4); scroll-margin-top:90px;}
.lp-f-t{font-size:22px; font-weight:900; letter-spacing:-.02em; margin:0;} .lp-f-s{margin:4px 0 4px; color:var(--ink-dim); font-size:14px;}
.lp-plans{display:grid; grid-template-columns:repeat(3,1fr); gap:8px;} .lp-plans label{cursor:pointer; display:block;}
.lp-plans span{position:relative; display:grid; gap:1px; height:100%; text-align:center; padding:14px 6px 10px; border:1.5px solid var(--line); border-radius:14px; background:#fff; transition:all .2s;}
.lp-plans em{font-style:normal; font-weight:800; font-size:13.5px;} .lp-plans b{font-size:26px; font-weight:900; color:var(--red); line-height:1.1;} .lp-plans small{color:var(--ink-dim); font-size:11px; line-height:1.25;}
.lp-plans i{position:absolute; top:-9px; left:50%; transform:translateX(-50%); background:var(--red); color:#fff; font-style:normal; font-size:9.5px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; padding:3px 8px; border-radius:999px; white-space:nowrap;}
.lp-plans input{position:absolute; opacity:0; pointer-events:none;} .lp-plans input:checked+span{border-color:var(--red); background:#FFF3F3; box-shadow:0 8px 20px rgba(229,62,62,.18);}
.lp-plans input:focus-visible+span{outline:3px solid rgba(229,62,62,.35);}
.lp-form .err{color:var(--red-dark); font-weight:700; font-size:13.5px; margin:10px 0 0;}
.lp-send{width:100%; justify-content:center; margin-top:14px;} .lp-send i{font-style:normal; margin-left:6px;}
.lp-form .rq-micro{font-size:12px; color:var(--ink-dim); margin:10px 0 0; text-align:center; line-height:1.4;}
.lp-ok{text-align:center; padding:18px 4px;} .lp-ok .ok-ico{width:58px; height:58px; border-radius:50%; background:var(--green); color:#fff; font-size:28px; font-weight:900; display:grid; place-items:center; margin:0 auto 12px;}
.lp-ok h3{font-size:24px; margin:0 0 8px;} .lp-ok p{color:var(--ink-dim); margin:0 0 10px;} .lp-ok .btn{margin-top:6px;}
.lp section{scroll-margin-top:0;} .lp h2{text-wrap:balance;}
.lp-inc,.lp-how,.lp-cases,.lp-gar,.lp-vs,.lp-map,.lp-faq{padding:84px 0;}
.lp-inc{background:#fff;} .lp-how{background:var(--panel-2);} .lp-cases{background:#fff;} .lp-gar{background:var(--panel-2);} .lp-vs{background:#fff;} .lp-map{background:#0A0A0F; color:#fff;} .lp-faq{background:#fff;}
.lp-big{font-size:clamp(28px,4vw,50px); line-height:1.08; letter-spacing:-.035em; max-width:20ch;} .lp-red{color:var(--red);}
.lp .lede{max-width:62ch;}
.lp-3{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px;}
.lp-card,.lp-g,.lp-case{background:#fff; border:1px solid var(--line); border-radius:20px; padding:26px 24px; box-shadow:0 10px 30px rgba(10,10,15,.05);}
.lp-card h3,.lp-g h3,.lp-case h3{font-size:19px; margin:0 0 8px; letter-spacing:-.01em;} .lp-card p,.lp-g p{margin:0; color:var(--ink-dim); line-height:1.55; font-size:15.5px;} .lp-card p b{color:var(--ink);}
.lp-ic{display:grid; place-items:center; width:38px; height:38px; border-radius:12px; background:var(--red); color:#fff; font-weight:900; margin-bottom:14px;}
.lp-incl{margin-top:22px; padding:18px 22px; border-radius:16px; background:#EDFBF4; border:1px solid #BFE8D2; color:#0B5A3A; line-height:1.6;}
.lp-incl span{display:inline-block; background:var(--green); color:#fff; font-weight:800; font-size:13px; padding:3px 12px; border-radius:999px; margin:0 2px;}
.lp-tl{list-style:none; margin:34px 0 0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative;}
.lp-tl::before{content:""; position:absolute; left:10%; right:10%; top:11px; height:3px; background:linear-gradient(90deg,var(--red),var(--green)); border-radius:2px;}
.lp-tl li{position:relative; text-align:center; padding:34px 10px 0;} .lp-tl li::before{content:""; position:absolute; top:3px; left:50%; width:19px; height:19px; margin-left:-9.5px; border-radius:50%; background:#fff; border:4px solid var(--red);}
.lp-tl li:last-child::before{border-color:var(--green);} .lp-tl b{display:block; font-size:14.5px;} .lp-tl span{display:block; font-size:13.5px; color:var(--ink-dim); margin-top:4px; line-height:1.4;}
.lp-fn{margin-top:26px; font-size:13px; color:var(--ink-dim); max-width:80ch; line-height:1.5;}
.lp-steps{display:grid; gap:18px; margin-top:34px;} .lp-step{display:grid; grid-template-columns:64px 1fr; gap:20px; background:#fff; border:1px solid var(--line); border-radius:22px; padding:28px 28px 26px; box-shadow:0 10px 30px rgba(10,10,15,.05);}
.lp-sn{width:54px; height:54px; border-radius:16px; background:#0A0A0F; color:#fff; font-size:24px; font-weight:900; display:grid; place-items:center;}
.st-k{font-size:11.5px; font-weight:800; letter-spacing:.14em; color:var(--red);} .lp-sb h3{font-size:24px; margin:4px 0 16px; letter-spacing:-.02em;}
.lp-cols{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;} .lp-cols b{display:block; font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; margin-bottom:6px;} .lp-cols div:nth-child(3) b{color:var(--green);} .lp-cols p{margin:0; color:var(--ink-dim); line-height:1.55; font-size:15px;}
.lp-cta-row{margin-top:30px; text-align:center;}
.lp-case-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px;}
.lp-case>div{padding:11px 0 0; margin-top:11px; border-top:1px dashed var(--line);} .lp-case b{display:block; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase;} .lp-case p{margin:3px 0 0; font-size:14.5px; line-height:1.5; color:var(--ink-dim);}
.lp-c1 b{color:var(--ink-dim);} .lp-c2 b{color:var(--red);} .lp-c3 b{color:var(--green);} .lp-c3 p{color:var(--ink);}
.lp-nine{margin-top:28px; padding:20px 24px; border-radius:16px; background:var(--panel-2); line-height:1.6; font-size:15px; color:var(--ink-dim);} .lp-nine b{color:var(--ink);}
.lp-gar-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:34px;} .lp-g{position:relative; padding-top:62px;}
.lp-g>i{position:absolute; left:24px; top:22px; width:30px; height:30px; border-radius:50%; background:var(--green); color:#fff; font-style:normal; font-weight:900; display:grid; place-items:center;}
.lp-vs .vs{margin-top:30px;}
/* mappa */
.lp-map h2,.lp-map .lede{color:#fff;} .lp-map .lede{color:#CFC2BC;} .lp-map .lede b{color:#fff;}
.mp-wrap{display:grid; grid-template-columns:1.1fr .9fr; gap:34px; align-items:center; margin-top:34px;}
.mp-box{position:relative; border-radius:24px; overflow:hidden; background:radial-gradient(circle at 30% 30%,#13203A,#0B1220); border:1px solid rgba(255,255,255,.1); box-shadow:0 30px 70px rgba(0,0,0,.5);}
.mp-svg{display:block; width:100%; height:auto;}
.mp-wave{fill:none; stroke:rgba(120,170,255,.12); stroke-width:1;} .mp-land{fill:#1B2437; stroke:none;} .mp-grid{stroke:rgba(255,255,255,.05); stroke-width:1;}
.mp-coast{fill:none; stroke:#5B8CFF; stroke-width:2; opacity:.7;} .mp-mt{fill:#232E47; stroke:rgba(255,255,255,.1);} .mp-lake{fill:#16345A;}
.mp-sea{fill:rgba(140,180,255,.45); font-size:11px; letter-spacing:.3em; font-weight:700;} .mp-t{fill:#8FA3C7;} .mp-tn{fill:#9FB0CF; font-size:11px; font-weight:700;}
.mp-pin{opacity:0; transform-box:fill-box; transform-origin:center; cursor:pointer;} .mp-box.go .mp-pin{animation:mpPop .6s cubic-bezier(.2,1.4,.4,1) forwards; animation-delay:var(--d,0s);}
@keyframes mpPop{from{opacity:0; transform:scale(.2) translateY(-14px);}to{opacity:1; transform:none;}}
.mp-ring{fill:none; stroke:#FF6B6B; stroke-width:2; opacity:0;} .mp-pin.on .mp-ring{animation:mpRing 1.8s ease-out infinite;} .mp-ring.r2{animation-delay:.6s !important;}
@keyframes mpRing{0%{r:8; opacity:.9;}100%{r:34; opacity:0;}}
.mp-dot{fill:#E53E3E; stroke:#fff; stroke-width:2.5; transition:fill .2s;} .mp-pin.on .mp-dot{fill:#2BD47D;} .mp-num{fill:#fff; font-size:10px; font-weight:900; text-anchor:middle; pointer-events:none;}
.mp-scan{position:absolute; left:0; right:0; top:0; height:30%; background:linear-gradient(180deg,transparent,rgba(91,140,255,.12),transparent); animation:mpScan 5s linear infinite; pointer-events:none;}
@keyframes mpScan{from{transform:translateY(-100%);}to{transform:translateY(420%);}}
.mp-list{list-style:none; margin:0; padding:0; display:grid; gap:10px;}
.mp-list li{display:flex; gap:14px; align-items:flex-start; padding:14px 16px; border-radius:16px; background:rgba(255,255,255,.05); border:1.5px solid rgba(255,255,255,.1); cursor:pointer; transition:all .25s;}
.mp-list li.on{background:rgba(43,212,125,.12); border-color:#2BD47D; transform:translateX(4px);}
.mp-n{flex:none; width:28px; height:28px; border-radius:50%; background:var(--red); color:#fff; font-weight:900; font-size:13px; display:grid; place-items:center;} .mp-list li.on .mp-n{background:#2BD47D; color:#06251a;}
.mp-list b{display:block; font-size:16.5px;} .mp-list em{font-style:normal; font-weight:700; color:#FF9A62; font-size:13.5px;} .mp-list small{display:block; color:#CFC2BC; font-size:13.5px; margin-top:2px;}
.mp-list u{display:none; text-decoration:none; margin-top:6px; font-size:12px; font-weight:800; color:#2BD47D;} .mp-list li.on u{display:block;} .mp-list u::before{content:"✓ ";}
.lp-pricing .pricing{scroll-margin-top:0;}
.lp-faq .faq-list{max-width:820px; margin-top:28px;}
.lp-final{position:relative; overflow:hidden; background:#0A0A0F; color:#fff; padding:90px 0;}
.lp-final>.wrap{position:relative; z-index:2; display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;}
.lp-final h2{font-size:clamp(28px,3.8vw,48px); line-height:1.08; letter-spacing:-.035em;} .lp-final .hl{background:linear-gradient(100deg,#FF6B6B,#FF9A62); -webkit-background-clip:text; background-clip:text; color:transparent; -webkit-text-fill-color:transparent;} .lp-final .lede{color:#E7DCD7;}
.lp-foot{background:#06060A; color:#9A8F8A; padding:34px 0 90px; font-size:13px; text-align:center; line-height:1.7;} .lp-foot a{color:#CFC2BC; text-decoration:underline;}
@media (max-width:1000px){
  .lp-3,.lp-case-grid,.lp-gar-grid{grid-template-columns:1fr 1fr;} .lp-cols{grid-template-columns:1fr;} .mp-wrap,.lp-final>.wrap{grid-template-columns:1fr; gap:28px;}
  .lp-hero .hero-in{grid-template-columns:1fr !important; gap:30px;} .lp-hero h1{max-width:20ch;}
}
@media (max-width:720px){
  .lp-hero{padding:84px 0 40px;} .lp-top-cta{padding:10px 14px; font-size:13px;}
  .lp-inc,.lp-how,.lp-cases,.lp-gar,.lp-vs,.lp-map,.lp-faq{padding:56px 0;} .lp-final{padding:56px 0 100px;}
  .lp-3,.lp-case-grid,.lp-gar-grid{grid-template-columns:1fr;} .lp-step{grid-template-columns:1fr; padding:22px 18px;} .lp-sn{width:44px; height:44px; font-size:20px;}
  .lp-tl{grid-template-columns:1fr; gap:14px; padding-left:34px;} .lp-tl::before{left:11px; right:auto; top:6px; bottom:6px; width:3px; height:auto;} .lp-tl li{text-align:left; padding:0;} .lp-tl li::before{left:-34px; top:2px; margin-left:0;}
  .lp-form{padding:20px 16px 18px;} .lp-plans small{display:none;} .lp-plans b{font-size:22px;} .lp-ticks li{font-size:14.5px;}
  .lp-foot{padding-bottom:100px;}
}

.lp-form .rq-chk input{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none;} .lp .lede{margin-top:14px;} .lp-final .lede{margin-top:16px;}
.lp-hero h1{color:#fff;} .lp-hero h1 .hl{white-space:nowrap;}
.lp section{scroll-margin-top:100px;} .mp-pin{transform-origin:0 0; transform-box:view-box;}
.lp-header .wrap{flex-wrap:nowrap;} .lp-header .logo-img{height:56px; width:auto;}
@media (max-width:720px){ .lp-header .logo-img{height:42px !important;} .lp-header .wrap{padding-top:8px; padding-bottom:8px; gap:10px;} .lp-top-cta{flex:none; padding:10px 13px; font-size:12.5px; width:auto;} .lp-hero{padding-top:92px;} }

.lp-final h2,.lp-final h2 *{color:#fff;} .lp-final h2 .hl{color:transparent;}
.lp-thanks{display:inline-block; font-weight:800; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:#2BD47D; background:rgba(43,212,125,.12); border:1px solid rgba(43,212,125,.4); padding:6px 14px; border-radius:999px; margin:0 0 18px;}
.lp-hero .hero-in{grid-template-columns:1fr !important; max-width:900px;} .lp-hero h1{max-width:20ch;} .lp-hero .hero-sub{max-width:52ch;}
.lp-hero{padding:130px 0 70px;} @media (max-width:720px){.lp-hero{padding:100px 0 44px;}}
@media (max-width:720px){.lp-hero h1 .hl{white-space:normal;} .lp-hero h1{font-size:30px;}}
.dt-g .g-row{display:flex; align-items:center; gap:10px; margin-top:10px;} .dt-g .g-logo{width:24px; height:24px; flex:none;}
.g-stars{display:inline-flex; gap:2px;} .g-stars svg{width:20px; height:20px; fill:#FBBC05;}

a.h3-down{cursor:pointer !important; pointer-events:auto !important; text-decoration:none;}
.sp-nine{margin-top:22px; padding:18px 22px; border-radius:14px; background:var(--panel-2); line-height:1.6; font-size:15px; color:var(--ink-soft);} .sp-nine b{color:var(--ink);}
.sp-faq .faq-item p{line-height:1.65;}
.team-note{margin-top:26px; text-align:center; font-size:14px; color:var(--ink-dim); max-width:70ch; margin-left:auto; margin-right:auto; line-height:1.55;}

/* ---------- v34: selettore lingue (tendina discreta) ---------- */
.lang-sw{position:relative; margin-left:auto; margin-right:18px; flex:none;}
.lang-cur{display:inline-flex; align-items:center; gap:6px; background:none; border:0; padding:6px 8px; border-radius:8px; cursor:pointer; color:#555; font:inherit; font-size:13px; line-height:1;}
.lang-cur:hover{background:rgba(0,0,0,.05); color:#1A1A1A;}
.lang-cur svg:first-child{width:20px; height:14px; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.15); display:block;}
.lang-cur b{font-weight:700; letter-spacing:.04em;}
.lang-chev{opacity:.6;}
.lang-list{position:absolute; right:0; top:calc(100% + 6px); z-index:80; min-width:150px; margin:0; padding:6px; list-style:none; background:#fff; border:1px solid #E5E5EA; border-radius:12px; box-shadow:0 18px 40px rgba(0,0,0,.16);}
.lang-list[hidden]{display:none;}
.lang-b{display:flex; align-items:center; gap:10px; padding:9px 10px; border-radius:8px; color:#1A1A1A !important; font-size:14px; font-weight:600; text-decoration:none;}
.lang-b svg{width:20px; height:14px; border-radius:2px; box-shadow:0 0 0 1px rgba(0,0,0,.15); flex:none;}
.lang-b:hover{background:#F3F3F6;}
.lang-b.on{background:#FDECEC; color:var(--red) !important;}
.lp-header .lang-sw{margin-right:8px;}
@media (max-width:560px){
  .site-header:not(.lp-header) .wrap{flex-wrap:nowrap; gap:8px;}
  .site-header:not(.lp-header) .logo-img{height:44px !important;}
  .site-header:not(.lp-header) .lang-sw{margin-left:auto; margin-right:2px;}
  .site-header:not(.lp-header) .nav-toggle{width:44px; height:44px; flex:none;}
  .lp-header .lp-top-cta{display:none;}
  .lp-header .lang-sw{margin-left:auto; margin-right:0;}
}
