*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --navy:#1B3F6E;--navy-mid:#2A5A9F;--gold:#C9963A;--gold-light:#E8B96A;
  --cream:#F9FAFB;--white:#FFFFFF;--text:#1A202C;--text-soft:#556070;
  --border:#E2E8F0;--red:#D63F2B;--sky:#EBF4FF;--r:8px
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;font-weight:300;color:var(--text);background:var(--white);line-height:1.7}
h1,h2,h3,h4{font-family:'DM Serif Display',serif;font-weight:400;line-height:1.2}
.urgenza-bar{background:var(--red);color:white;text-align:center;padding:.6rem 1rem;font-size:.9rem}
.urgenza-bar a{color:white;font-weight:500;text-decoration:none}
nav{position:sticky;top:0;z-index:100;background:white;border-bottom:1px solid var(--border);padding:0 5vw;display:flex;align-items:center;justify-content:space-between;height:68px;box-shadow:0 2px 12px rgba(27,63,110,.07)}
.nav-logo{font-family:'DM Serif Display',serif;font-size:1.1rem;color:var(--navy);text-decoration:none}
.nav-logo span{color:var(--gold)}
.nav-links{display:flex;align-items:center;gap:1.4rem;list-style:none}
.nav-links>li{position:relative}
.nav-links a{color:var(--text-soft);text-decoration:none;font-size:.875rem;transition:color .2s;white-space:nowrap}
.nav-links a:hover{color:var(--navy)}
.nav-links .nav-cta{background:var(--gold);color:white!important;padding:.5rem 1.2rem;border-radius:var(--r);font-weight:500}
.nav-links .nav-cta:hover{background:var(--gold-light)}
.has-dropdown:hover .dropdown{display:block}
.dropdown{display:none;position:absolute;top:100%;left:0;background:white;border-radius:var(--r);min-width:250px;padding:.5rem 0;box-shadow:0 8px 30px rgba(27,63,110,.12);border:1px solid var(--border);z-index:200}
.dropdown a{display:block;padding:.65rem 1.25rem;color:var(--text-soft)!important;font-size:.85rem;border-left:2px solid transparent;transition:all .15s}
.dropdown a:hover{color:var(--navy)!important;border-left-color:var(--gold);background:var(--sky)}
.dropdown-arrow{font-size:.65rem;margin-left:3px}
.nav-hamburger{display:none;background:none;border:none;cursor:pointer;padding:4px}
.nav-hamburger span{display:block;width:22px;height:2px;background:var(--navy);margin:5px 0;border-radius:2px}
.mobile-menu{display:none;position:fixed;top:68px;left:0;right:0;bottom:0;background:white;z-index:99;padding:2rem 5vw;overflow-y:auto;border-top:1px solid var(--border)}
.mobile-menu.open{display:block}
.mobile-menu a{display:block;color:var(--text);text-decoration:none;font-size:1rem;padding:.85rem 0;border-bottom:1px solid var(--border)}
.mobile-menu .mobile-sub{padding-left:1rem;font-size:.9rem!important;color:var(--text-soft)!important}
.mobile-cta-call{display:block;background:var(--red);color:white!important;text-align:center;padding:1rem!important;border-radius:var(--r);margin-top:1.5rem;border:none!important;font-weight:500}
.btn-primary{background:var(--gold);color:#1A202C;padding:.85rem 2rem;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-weight:600;font-size:.95rem;text-decoration:none;display:inline-block;transition:background .2s,transform .15s;box-shadow:0 4px 14px rgba(201,150,58,.3)}
.btn-primary:hover{background:var(--gold-light);color:#1A202C;transform:translateY(-1px)}
.btn-call-red{background:var(--red);color:white;padding:.85rem 2rem;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-weight:500;font-size:.95rem;text-decoration:none;display:inline-block;transition:background .2s}
.btn-call-red:hover{background:#b83420}
.btn-outline{background:transparent;color:rgba(255,255,255,.85);border:2px solid rgba(255,255,255,.3);padding:.83rem 1.8rem;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:.95rem;text-decoration:none;display:inline-block;transition:all .2s}
.btn-outline:hover{border-color:white;color:white;background:rgba(255,255,255,.08)}
.btn-white{background:white;color:var(--red);padding:.85rem 2rem;border-radius:var(--r);font-weight:500;font-size:.95rem;text-decoration:none;white-space:nowrap;display:inline-block}
.urgenze{background:var(--red);padding:3.5rem 5vw;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2rem}
.urgenze h2{color:white;font-size:1.8rem;margin-bottom:.5rem}
.urgenze p{color:rgba(255,255,255,.85);font-size:.95rem}
.section-eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;font-weight:500;margin-bottom:1rem}
.section-header{text-align:center;margin-bottom:4rem}
.eyebrow-gold{color:var(--gold)}
.section-header h2{font-size:clamp(1.8rem,3vw,2.6rem);color:var(--navy)}
.section-header p{color:var(--text-soft);max-width:560px;margin:1rem auto 0}
.stats{background:var(--navy);padding:2.5rem 5vw;display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.stat-item{text-align:center}
.stat-num{font-family:'DM Serif Display',serif;font-size:2.6rem;color:white;line-height:1;margin-bottom:.35rem}
.stat-num span{color:var(--gold-light)}
.stat-label{font-size:.82rem;color:rgba(255,255,255,.55)}
.check-list{display:flex;flex-direction:column;gap:.85rem}
.check-item{display:flex;align-items:flex-start;gap:.75rem;font-size:.95rem}
.check{width:20px;height:20px;min-width:20px;background:var(--gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:.2rem}
.check::after{content:'✓';color:white;font-size:11px;font-weight:700}
.cta-final{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);padding:7rem 5vw;text-align:center;position:relative;overflow:hidden}
.cta-final::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.06) 0%,transparent 60%)}
.cta-final h2{font-size:clamp(2rem,4vw,3rem);color:white;max-width:660px;margin:0 auto 1.5rem;position:relative;line-height:1.2}
.cta-final h2 em{color:var(--gold-light);font-style:italic}
.cta-final p{color:rgba(255,255,255,.65);max-width:520px;margin:0 auto 2.5rem;position:relative;font-size:1.05rem}
.cta-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;position:relative}
.orari{color:rgba(255,255,255,.4);font-size:.82rem;margin-top:2rem;position:relative}
.orari a{color:var(--gold-light);text-decoration:none}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-size:.82rem;font-weight:500;color:var(--navy);margin-bottom:.4rem;letter-spacing:.03em;text-transform:uppercase}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem 1rem;border:1.5px solid var(--border);border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--text);background:white;outline:none;transition:border-color .2s}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--navy-mid);box-shadow:0 0 0 3px rgba(42,90,159,.1)}
.form-group textarea{height:110px;resize:vertical}
.btn-form{background:var(--navy);color:#fff;border:none;padding:.9rem 2rem;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:.95rem;font-weight:500;cursor:pointer;width:100%;transition:background .2s}
.btn-form:hover{background:var(--navy-mid)}
.privacy-note{font-size:.75rem;color:var(--text-soft);margin-top:.75rem;line-height:1.6}
.english{background:var(--sky);padding:4rem 5vw;text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.english h2{color:var(--navy);font-size:1.6rem}
.english p{color:var(--text-soft);font-size:1rem;max-width:480px;margin:.75rem auto 0}
.page-hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-mid) 100%);padding:5rem 5vw 4rem;text-align:center;position:relative;overflow:hidden}
.page-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.07) 0%,transparent 60%)}
.page-hero .breadcrumb{color:rgba(255,255,255,.45);font-size:.8rem;margin-bottom:1.5rem;position:relative}
.page-hero .breadcrumb a{color:var(--gold-light);text-decoration:none}
.page-hero h1{font-size:clamp(2rem,4vw,3.2rem);color:white;max-width:700px;margin:0 auto 1.25rem;position:relative}
.page-hero h1 em{color:var(--gold-light);font-style:italic}
.page-hero p{color:rgba(255,255,255,.7);max-width:560px;margin:0 auto 2.5rem;font-size:1.05rem;position:relative}
.content-section{padding:5rem 5vw;max-width:1100px;margin:0 auto}
.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center}
.content-block h2{font-size:clamp(1.6rem,2.5vw,2.2rem);color:var(--navy);margin-bottom:1.25rem}
.content-block p{color:var(--text-soft);margin-bottom:1.1rem}
.content-block .eyebrow{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-weight:500;margin-bottom:.75rem}
.info-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.info-card{background:var(--sky);border-radius:12px;padding:2rem;border:1px solid var(--border)}
.info-card .card-icon{font-size:2rem;margin-bottom:1rem}
.info-card h3{font-size:1.05rem;color:var(--navy);margin-bottom:.75rem}
.info-card p{font-size:.88rem;color:var(--text-soft);line-height:1.7}
.highlight-box{background:var(--sky);border-left:4px solid var(--gold);border-radius:0 12px 12px 0;padding:2rem 2.5rem}
.highlight-box h3{color:var(--navy);font-size:1.15rem;margin-bottom:.75rem}
.highlight-box p{color:var(--text-soft);font-size:.93rem;line-height:1.8}
.faq-list{max-width:720px;margin:0 auto}
.faq-item{border-bottom:1px solid var(--border);padding:1.5rem 0;cursor:pointer}
.faq-q{display:flex;justify-content:space-between;align-items:center;font-weight:500;color:var(--navy);font-size:1rem;gap:1rem}
.faq-icon{color:var(--gold);font-size:1.4rem;min-width:20px;transition:transform .2s}
.faq-a{color:var(--text-soft);font-size:.95rem;margin-top:1rem;display:none;line-height:1.8}
.faq-item.open .faq-a{display:block}
.faq-item.open .faq-icon{transform:rotate(45deg)}
footer{background:var(--navy);padding:3rem 5vw 2rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:3rem;margin-bottom:2.5rem}
.footer-logo{font-family:'DM Serif Display',serif;color:white;font-size:1.1rem;margin-bottom:.75rem}
.footer-logo span{color:var(--gold-light)}
.footer-desc{color:rgba(255,255,255,.4);font-size:.85rem;line-height:1.7}
.footer-col h4{color:rgba(255,255,255,.35);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-family:'DM Sans',sans-serif;font-weight:500;margin-bottom:1rem}
.footer-col a{display:block;color:rgba(255,255,255,.55);font-size:.85rem;text-decoration:none;margin-bottom:.5rem;transition:color .2s}
.footer-col a:hover{color:white}
.footer-col p{color:rgba(255,255,255,.55);font-size:.85rem;line-height:1.8}
.footer-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.75rem}
.footer-bottom p{color:rgba(255,255,255,.3);font-size:.78rem}
.footer-bottom a{color:rgba(255,255,255,.35);font-size:.78rem;text-decoration:none}
.footer-bottom a:hover{color:white}
#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:white;border-top:2px solid var(--border);box-shadow:0 -4px 30px rgba(0,0,0,.1);padding:1.5rem 5vw;z-index:9999;display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.cookie-text h4{font-family:'DM Sans',sans-serif;font-weight:600;font-size:.95rem;color:var(--navy);margin-bottom:.35rem}
.cookie-text p{font-size:.82rem;color:var(--text-soft);line-height:1.6;max-width:680px}
.cookie-text a{color:var(--gold);text-decoration:none}
.cookie-actions{display:flex;gap:.75rem;flex-shrink:0}
.cookie-accept{background:var(--navy);color:white;border:none;padding:.65rem 1.5rem;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-weight:500;font-size:.88rem;cursor:pointer}
.cookie-essential{background:transparent;color:var(--text-soft);border:1.5px solid var(--border);padding:.65rem 1.5rem;border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:.88rem;cursor:pointer}
.cookie-essential:hover{border-color:var(--navy);color:var(--navy)}
@media(max-width:900px){
  .stats{grid-template-columns:repeat(2,1fr)}
  .content-grid{grid-template-columns:1fr;gap:2.5rem}
  .info-cards{grid-template-columns:1fr}
  .urgenze{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr}
  nav .nav-links{display:none}
  .nav-hamburger{display:block}
  #cookie-banner{flex-direction:column;align-items:flex-start}
}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* === index === */

.hero { background: var(--navy); min-height: 90vh; display: grid; grid-template-columns: 1fr 1fr; align-items: center; padding: 0 5vw; gap: 4rem; position: relative; overflow: hidden; }
.hero::before { content: ''; position: absolute; right: 0; top: 0; width: 50%; height: 100%; background: var(--navy-mid); clip-path: polygon(8% 0, 100% 0, 100% 100%, 0% 100%); }
.hero-content { position: relative; z-index: 2; }
.hero-eyebrow { display: inline-block; font-size: 0.75rem; letter-spacing: 0.15em; text-transform: uppercase; color: var(--gold); margin-bottom: 1.5rem; font-weight: 500; }
.hero h1 { font-size: clamp(2.4rem, 4vw, 3.6rem); color: white; margin-bottom: 1.5rem; }
.hero h1 em { font-style: italic; color: var(--gold); }
.hero-sub { color: rgba(255,255,255,0.65); font-size: 1.05rem; max-width: 480px; margin-bottom: 2.5rem; line-height: 1.75; }
.hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.hero-phone { margin-top: 2rem; color: rgba(255,255,255,0.5); font-size: 0.85rem; }
.hero-phone a { color: white; font-size: 1.1rem; font-weight: 400; text-decoration: none; }
.hero-phone a:hover { color: var(--gold); }
.hero-visual { position: relative; z-index: 2; }
.hero-img { width: 100%; max-width: 500px; aspect-ratio: 4/5; background: rgba(255,255,255,0.06); border-radius: 12px; border: 1px solid rgba(255,255,255,0.1); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; color: rgba(255,255,255,0.35); font-size: 0.85rem; text-align: center; padding: 2rem; margin-left: auto; }
.hero-badge { position: absolute; bottom: 2rem; left: -1rem; background: var(--gold); color: var(--navy); padding: 1rem 1.5rem; border-radius: var(--r); font-weight: 500; font-size: 0.85rem; line-height: 1.4; }
.hero-badge strong { display: block; font-size: 1.5rem; font-weight: 400; font-family: 'DM Serif Display', serif; }

/* SERVIZI GRID HOME */
.services { background: var(--navy); padding: 6rem 5vw; }
.services .section-eyebrow { color: var(--gold); }
.services .section-header h2 { color: white; }
.services .section-header p { color: rgba(255,255,255,0.55); }
.services-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5px; max-width: 1100px; margin: 0 auto; background: rgba(255,255,255,0.08); border-radius: 12px; overflow: hidden; }
.service-card { background: var(--navy-mid); padding: 2.5rem 2rem; transition: background 0.2s; text-decoration: none; display: block; }
.service-card:hover { background: #1E4070; }
.service-icon { width: 52px; height: 52px; background: rgba(201,150,58,0.12); border: 1px solid rgba(201,150,58,0.3); border-radius: 8px; display: flex; align-items: center; justify-content: center; margin-bottom: 1.5rem; font-size: 1.4rem; }
.service-card h3 { color: white; font-size: 1.2rem; margin-bottom: 0.75rem; }
.service-card p { color: rgba(255,255,255,0.5); font-size: 0.9rem; line-height: 1.7; }
.service-link { display: inline-flex; align-items: center; gap: 0.4rem; color: var(--gold); font-size: 0.85rem; margin-top: 1.25rem; font-weight: 500; text-decoration: none; }

/* INTRO */
.intro { padding: 6rem 5vw; max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; align-items: center; }
.intro h2 { font-size: clamp(1.8rem, 3vw, 2.6rem); color: var(--navy); margin-bottom: 1.5rem; }
.intro p { color: var(--text-soft); font-size: 1rem; margin-bottom: 1.25rem; }
.intro-img { aspect-ratio: 1; background: var(--cream); border-radius: 12px; border: 1px solid var(--border); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0.75rem; color: var(--text-soft); font-size: 0.85rem; text-align: center; padding: 2rem; }

/* STEPS */
.percorso { padding: 6rem 5vw; background: var(--cream); }
.steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 4rem; max-width: 1000px; margin-left: auto; margin-right: auto; position: relative; }
.steps::before { content: ''; position: absolute; top: 28px; left: 14%; width: 72%; height: 1px; background: var(--border); }
.step { text-align: center; padding: 0 1rem; }
.step-num { width: 56px; height: 56px; background: var(--navy); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; font-family: 'DM Serif Display', serif; font-size: 1.2rem; color: var(--gold); position: relative; z-index: 2; }
.step h3 { font-size: 1rem; color: var(--navy); margin-bottom: 0.5rem; }
.step p { font-size: 0.85rem; color: var(--text-soft); }

/* REVIEWS */
.recensioni { padding: 6rem 5vw; }
.reviews-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.5rem; max-width: 1100px; margin: 3.5rem auto 0; }
.review-card { background: white; border: 1px solid var(--border); border-radius: 12px; padding: 2rem; }
.review-stars { color: #F5A623; font-size: 1rem; letter-spacing: 2px; margin-bottom: 1rem; }
.review-text { font-size: 0.95rem; color: var(--text-soft); line-height: 1.75; margin-bottom: 1.5rem; font-style: italic; }
.reviewer { display: flex; align-items: center; gap: 0.75rem; }
.reviewer-avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--navy); display: flex; align-items: center; justify-content: center; color: var(--gold); font-size: 0.8rem; font-weight: 500; }
.reviewer-name { font-size: 0.9rem; font-weight: 500; color: var(--navy); }
.reviewer-label { font-size: 0.78rem; color: var(--text-soft); }
.google-badge { text-align: center; margin-top: 2.5rem; color: var(--text-soft); font-size: 0.85rem; }
.google-badge strong { color: var(--navy); }

/* STUDI */
.studi { background: var(--cream); padding: 6rem 5vw; }
.studi-inner { max-width: 1100px; margin: 0 auto; }
.studi-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 3.5rem; }
.studio-card { border: 1px solid var(--border); border-radius: 12px; overflow: hidden; background: white; }
.studio-img { height: 200px; background: var(--cream); display: flex; align-items: center; justify-content: center; color: var(--text-soft); font-size: 0.85rem; border-bottom: 1px solid var(--border); text-align: center; padding: 1rem; }
.studio-info { padding: 1.75rem; }
.studio-badge { display: inline-block; background: rgba(11,31,58,0.06); color: var(--navy); font-size: 0.75rem; font-weight: 500; padding: 0.25rem 0.7rem; border-radius: 4px; margin-bottom: 0.75rem; letter-spacing: 0.05em; text-transform: uppercase; }
.studio-info h3 { font-size: 1.1rem; color: var(--navy); margin-bottom: 0.5rem; font-family: 'DM Sans', sans-serif; font-weight: 500; }
.studio-info p { font-size: 0.875rem; color: var(--text-soft); margin-bottom: 0.4rem; }
.studio-maps { display: inline-flex; align-items: center; gap: 0.35rem; color: var(--gold); font-size: 0.85rem; font-weight: 500; text-decoration: none; margin-top: 0.75rem; }

/* CONTATTI */
.contatti-wrap { padding: 6rem 5vw; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; max-width: 1100px; margin: 0 auto; }
.contatti-wrap h2 { font-size: 1.8rem; color: var(--navy); margin-bottom: 0.5rem; }
.contatti-wrap > div > p { color: var(--text-soft); margin-bottom: 2rem; }
.contact-info { display: flex; flex-direction: column; gap: 1.75rem; padding-top: 0.5rem; }
.contact-item h4 { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.1em; color: var(--gold); font-weight: 500; font-family: 'DM Sans', sans-serif; margin-bottom: 0.4rem; }
.contact-item a { color: var(--text); font-size: 0.95rem; text-decoration: none; }
.contact-item p { color: var(--text); font-size: 0.95rem; }
.contact-item a:hover { color: var(--navy); }

@media (max-width: 900px) {
  .hero { grid-template-columns: 1fr; min-height: auto; padding: 4rem 5vw; }
  .hero::before { display: none; }
  .hero-visual { display: none; }
  .services-grid { grid-template-columns: 1fr; }
  .intro { grid-template-columns: 1fr; gap: 2rem; }
  .intro-img { display: none; }
  .steps { grid-template-columns: repeat(2, 1fr); }
  .steps::before { display: none; }
  .reviews-grid { grid-template-columns: 1fr; }
  .studi-grid { grid-template-columns: 1fr; }
  .contatti-wrap { grid-template-columns: 1fr; gap: 3rem; }
}

/* === all-on-four === */

.benefit-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.5rem; margin-top:2rem; }
.benefit-card { background: rgba(255,255,255,0.05); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 1.75rem; }
.benefit-card h3 { color: var(--gold); font-size: 1.1rem; margin-bottom: 0.6rem; }
.benefit-card p { color: rgba(255,255,255,0.6); font-size: 0.9rem; }
.vs-table { width: 100%; border-collapse: collapse; margin-top: 2rem; }
.vs-table th { background: var(--navy); color: white; padding: 1rem; font-family: 'DM Sans', sans-serif; font-weight: 500; font-size: 0.9rem; }
.vs-table th:first-child { background: transparent; }
.vs-table td { padding: 0.85rem 1rem; border-bottom: 1px solid var(--border); font-size: 0.9rem; color: var(--text-soft); }
.vs-table td:first-child { font-weight: 500; color: var(--text); }
.vs-table td.good { color: #16a34a; font-weight: 500; }
.vs-table td.bad { color: #dc2626; }
.vs-table tr:hover td { background: var(--cream); }
.steps-horizontal { display: grid; grid-template-columns: repeat(5,1fr); gap: 1rem; margin-top: 3rem; }
.step-h { text-align: center; }
.step-h-dot { width: 50px; height: 50px; background: var(--navy); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; font-family: 'DM Serif Display', serif; color: var(--gold); font-size: 1.1rem; }
.step-h h4 { font-size: 0.9rem; color: var(--navy); margin-bottom: 0.35rem; }
.step-h p { font-size: 0.78rem; color: var(--text-soft); line-height: 1.5; }
.promo-box { background: var(--gold); border-radius: 12px; padding: 2.5rem; text-align: center; margin: 3rem 0; }
.promo-box h3 { font-size: 1.5rem; color: var(--navy); margin-bottom: 0.75rem; }
.promo-box p { color: rgba(11,31,58,0.75); margin-bottom: 1.5rem; }
@media(max-width:768px){ .benefit-grid{grid-template-columns:1fr;} .steps-horizontal{grid-template-columns:repeat(2,1fr);} }

/* === rialzo-seno === */

.anatomy-box { background: var(--navy); border-radius:12px; padding:2.5rem; color:white; margin:3rem 0; }
.anatomy-box h3 { color:var(--gold); margin-bottom:1rem; font-size:1.2rem; }
.anatomy-box p { color:rgba(255,255,255,0.65); font-size:0.95rem; margin-bottom:0.75rem; line-height:1.8; }
.tech-cards { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:2rem; }
.tech-card { border:1px solid var(--border); border-radius:12px; padding:2rem; }
.tech-card .tag { display:inline-block; background:rgba(201,150,58,0.1); color:var(--gold); font-size:0.75rem; font-weight:500; padding:0.25rem 0.75rem; border-radius:4px; margin-bottom:1rem; }
.tech-card h3 { font-size:1.1rem; color:var(--navy); margin-bottom:0.75rem; }
.tech-card p { font-size:0.88rem; color:var(--text-soft); line-height:1.7; }
@media(max-width:768px){ .tech-cards{grid-template-columns:1fr;} }

/* === prevenzione === */

.timeline { max-width: 760px; margin: 4rem auto 0; }
.timeline-item { display: grid; grid-template-columns: 80px 1fr; gap: 2rem; padding-bottom: 3rem; position: relative; }
.timeline-item:not(:last-child)::before { content: ''; position: absolute; left: 39px; top: 56px; width: 2px; height: calc(100% - 56px); background: var(--border); }
.timeline-dot { width: 80px; height: 56px; background: var(--navy); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; flex-shrink: 0; }
.timeline-content h3 { font-size: 1.15rem; color: var(--navy); margin-bottom: 0.5rem; padding-top: 0.75rem; }
.timeline-content p { color: var(--text-soft); font-size: 0.95rem; line-height: 1.75; }
.danger-box { background: #fff5f5; border: 1px solid #fecaca; border-radius: 12px; padding: 2rem; margin: 2rem 0; }
.danger-box h3 { color: #991b1b; font-size: 1.1rem; margin-bottom: 0.75rem; font-family: 'DM Sans', sans-serif; font-weight: 500; }
.danger-box p { color: #7f1d1d; font-size: 0.9rem; line-height: 1.7; }
.comparison { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin: 2rem 0; }
.comp-card { border-radius: 12px; padding: 2rem; }
.comp-bad { background: #fff5f5; border: 1px solid #fecaca; }
.comp-good { background: #f0fdf4; border: 1px solid #bbf7d0; }
.comp-card h3 { font-size: 1rem; margin-bottom: 1rem; font-family: 'DM Sans', sans-serif; font-weight: 500; }
.comp-bad h3 { color: #991b1b; }
.comp-good h3 { color: #14532d; }
.comp-card li { font-size: 0.88rem; color: var(--text-soft); margin-bottom: 0.5rem; padding-left: 1.25rem; position: relative; list-style: none; }
.comp-bad li::before { content: '✗'; position: absolute; left: 0; color: #dc2626; }
.comp-good li::before { content: '✓'; position: absolute; left: 0; color: #16a34a; }
@media(max-width:768px){ .comparison{grid-template-columns:1fr;} .timeline-item{grid-template-columns:50px 1fr; gap:1rem;} }



/* ============================================
   MOBILE-FIRST RESPONSIVE — Complete Override
   Target: 320px to 768px
   ============================================ */

/* BASE: larger text, better line-height */
body { font-size: 16px; -webkit-text-size-adjust: 100%; }

/* ---- TYPOGRAPHY MOBILE ---- */
@media (max-width: 768px) {
  body { font-size: 16px; line-height: 1.75; }
  h1 { font-size: 2rem !important; line-height: 1.2 !important; }
  h2 { font-size: 1.6rem !important; line-height: 1.25 !important; }
  h3 { font-size: 1.15rem !important; }
  p  { font-size: 1rem !important; line-height: 1.75 !important; }

  /* All sections: comfortable side padding */
  section, .content-section, .percorso,
  .recensioni, .studi, .english, .cta-final { 
    padding-left: 1.25rem !important; 
    padding-right: 1.25rem !important; 
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
  
  /* Section headers */
  .section-header { margin-bottom: 2rem !important; }
  .section-header p { font-size: 0.95rem !important; }

  /* ---- NAV ---- */
  nav { padding: 0 1.25rem !important; height: 60px !important; }
  .nav-links { display: none !important; }
  .nav-hamburger { display: block !important; }
  .mobile-menu { top: 60px !important; padding: 1.5rem 1.25rem !important; }
  .mobile-menu a { font-size: 1.05rem !important; padding: 0.9rem 0 !important; }
  .nav-logo { font-size: 1rem !important; }

  /* ---- URGENZA BAR ---- */
  .urgenza-bar { font-size: 0.82rem !important; padding: 0.5rem 1rem !important; }

  /* ---- HERO ---- */
  section[style*="min-height:88vh"], 
  section[style*="min-height: 88vh"] {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding: 3rem 1.25rem 3rem !important;
    gap: 2rem !important;
  }
  /* Hide hero image on mobile — text is king */
  section[style*="min-height:88vh"] > div:last-child,
  section[style*="min-height: 88vh"] > div:last-child { 
    display: none !important; 
  }
  /* Hero text */
  section[style*="min-height:88vh"] h1,
  section[style*="min-height: 88vh"] h1 { 
    font-size: 1.9rem !important; 
    margin-bottom: 0.85rem !important;
  }
  section[style*="min-height:88vh"] p,
  section[style*="min-height: 88vh"] p { 
    font-size: 0.97rem !important; 
  }
  /* Pill badge */
  section[style*="min-height:88vh"] div[style*="border-radius:50px"],
  section[style*="min-height: 88vh"] div[style*="border-radius:50px"] {
    font-size: 0.68rem !important;
    padding: 0.35rem 0.85rem !important;
  }
  .btn-primary, .btn-call-red, .btn-outline, .btn-white { 
    padding: 0.85rem 1.5rem !important; 
    font-size: 0.9rem !important;
    width: 100% !important;
    text-align: center !important;
    display: block !important;
  }
  div[style*="display:flex;gap:1rem;flex-wrap:wrap"] { gap: 0.6rem !important; }

  /* ---- STATS ---- */
  .stats { 
    grid-template-columns: repeat(2, 1fr) !important; 
    padding: 2rem 1.25rem !important;
    gap: 1.25rem !important;
  }
  .stat-num { font-size: 2.2rem !important; }
  .stat-label { font-size: 0.78rem !important; }

  /* ---- ALL GRIDS → SINGLE COLUMN ---- */
  /* This catches ALL inline grid styles */
  *[style*="grid-template-columns: 1fr 1fr"],
  *[style*="grid-template-columns:1fr 1fr"],
  *[style*="grid-template-columns: repeat(2"],
  *[style*="grid-template-columns:repeat(2"],
  *[style*="grid-template-columns: repeat(3"],
  *[style*="grid-template-columns:repeat(3"],
  *[style*="grid-template-columns: repeat(4"],
  *[style*="grid-template-columns:repeat(4"],
  *[style*="grid-template-columns: repeat(5"],
  *[style*="grid-template-columns:repeat(5"],
  *[style*="grid-template-columns: 2fr"],
  *[style*="grid-template-columns:2fr"],
  *[style*="grid-template-columns: 1fr auto"],
  *[style*="grid-template-columns:1fr auto"] {
    display: block !important;
  }

  /* ---- PHOTOS ---- */
  img { 
    width: 100% !important; 
    height: auto !important;
    max-height: 280px !important;
    object-fit: cover !important;
    border-radius: 10px !important;
    display: block !important;
    margin-bottom: 0 !important;
  }
  /* Photo strip: stack vertically, good height */
  div[style*="height:280px"], div[style*="height: 280px"],
  div[style*="height:300px"], div[style*="height: 300px"] {
    display: block !important;
    height: auto !important;
  }
  div[style*="height:280px"] img, div[style*="height: 280px"] img,
  div[style*="height:300px"] img, div[style*="height: 300px"] img {
    max-height: 220px !important;
  }
  /* Studio cards: photo taller on mobile */
  div[style*="height:220px"], div[style*="height: 220px"] {
    height: 200px !important;
    max-height: 200px !important;
  }
  div[style*="height:220px"] img, div[style*="height: 220px"] img {
    height: 200px !important;
    max-height: 200px !important;
  }
  /* Section images (chi siamo, team) */
  img[style*="aspect-ratio:4/3"],
  img[style*="aspect-ratio: 4/3"] {
    max-height: 240px !important;
    aspect-ratio: 16/9 !important;
  }
  img[style*="aspect-ratio:1"],
  img[style*="aspect-ratio: 1"] {
    max-height: 220px !important;
    aspect-ratio: 16/9 !important;
  }
  img[style*="aspect-ratio:4/5"],
  img[style*="aspect-ratio: 4/5"] {
    max-height: 260px !important;
    aspect-ratio: 16/9 !important;
  }

  /* ---- TEXT CENTERING — mobile ---- */
  /* Section headers always centered */
  .section-header, .section-header h2, .section-header p { 
    text-align: center !important; 
  }
  /* Page heroes */
  .page-hero { padding: 2.5rem 1.25rem 2.5rem !important; }
  .page-hero h1 { font-size: 1.75rem !important; }
  .page-hero p { font-size: 0.95rem !important; }

  /* ---- CARDS: proper mobile sizing ---- */
  /* Problem cards */
  a[style*="border-radius:14px"], div[style*="border-radius:14px"],
  a[style*="border-radius: 14px"], div[style*="border-radius: 14px"] {
    padding: 1.5rem !important;
    margin-bottom: 0.75rem !important;
  }
  /* Info cards */
  .info-card { padding: 1.5rem !important; }
  .info-card h3 { font-size: 1rem !important; }
  .info-card p { font-size: 0.9rem !important; }

  /* ---- TEAM SECTION ---- */
  /* 4-col team grid → 2 col on mobile */
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns: repeat(4,1fr)"],
  div[style*="grid-template-columns: repeat(4, 1fr)"] {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1rem !important;
  }

  /* ---- STEPS: 2 col on mobile ---- */
  div[style*="grid-template-columns:repeat(4,1fr)"].steps,
  .steps { 
    display: grid !important; 
    grid-template-columns: 1fr 1fr !important; 
    gap: 1.5rem !important;
  }
  .steps::before { display: none !important; }

  /* ---- URGENZE ---- */
  .urgenze { 
    display: block !important; 
    padding: 2.5rem 1.25rem !important;
    text-align: center !important;
  }
  .urgenze h2 { font-size: 1.4rem !important; margin-bottom: 0.5rem !important; }
  .urgenze .btn-white { 
    display: inline-block !important; 
    width: auto !important;
    margin-top: 1.25rem !important; 
  }

  /* ---- CTA FINALE ---- */
  .cta-final { padding: 4rem 1.25rem !important; }
  .cta-final h2 { font-size: 1.7rem !important; }
  .cta-final p { font-size: 0.95rem !important; }
  .cta-actions { flex-direction: column !important; align-items: stretch !important; }
  .cta-actions a { text-align: center !important; }
  .orari { font-size: 0.78rem !important; }

  /* ---- CONTATTI FORM ---- */
  section[id="contatti"] div[style*="grid-template-columns:1fr 1fr"],
  section[id="contatti"] div[style*="grid-template-columns: 1fr 1fr"] {
    display: block !important;
  }
  .form-group input, .form-group select, .form-group textarea {
    font-size: 16px !important; /* prevent iOS zoom */
  }

  /* ---- REVIEWS ---- */
  div[style*="grid-template-columns:repeat(3,1fr)"],
  div[style*="grid-template-columns: repeat(3, 1fr)"] {
    display: block !important;
  }
  div[style*="border-radius:14px"][style*="padding:2rem"],
  div[style*="border-radius: 14px"][style*="padding: 2rem"] {
    margin-bottom: 1rem !important;
  }

  /* ---- COMPARISON TABLE ---- */
  table { font-size: 0.78rem !important; }
  table th, table td { padding: 0.65rem 0.5rem !important; }

  /* ---- FOOTER ---- */
  footer { padding: 2.5rem 1.25rem 1.5rem !important; }
  .footer-grid { 
    display: block !important; 
    gap: 0 !important;
  }
  .footer-grid > div { margin-bottom: 1.75rem !important; }
  .footer-logo { font-size: 1rem !important; }
  .footer-bottom { 
    flex-direction: column !important; 
    text-align: center !important;
    gap: 0.5rem !important;
  }

  /* ---- COOKIE BANNER ---- */
  #cookie-banner { 
    flex-direction: column !important; 
    padding: 1.25rem !important;
    gap: 1rem !important;
  }
  .cookie-actions { flex-direction: column !important; width: 100% !important; }
  .cookie-accept, .cookie-essential { width: 100% !important; padding: 0.75rem !important; }

  /* ---- FAQ ---- */
  .faq-q { font-size: 0.95rem !important; }
  .faq-a { font-size: 0.9rem !important; }

  /* ---- BREADCRUMB ---- */
  .breadcrumb { font-size: 0.75rem !important; }

  /* ---- HIGHLIGHT BOX ---- */
  .highlight-box { padding: 1.5rem !important; }
  
  /* ---- STUDIO CARDS ---- */
  div[style*="border-radius:16px"] { margin-bottom: 1.5rem !important; }

  /* ---- INLINE DIV with 5vw padding → mobile padding ---- */  
  div[style*="padding:6rem 5vw"], section[style*="padding:6rem 5vw"],
  div[style*="padding: 6rem 5vw"], section[style*="padding: 6rem 5vw"] {
    padding: 3rem 1.25rem !important;
  }
  div[style*="padding:5rem 5vw"], section[style*="padding:5rem 5vw"],
  div[style*="padding: 5rem 5vw"], section[style*="padding: 5rem 5vw"] {
    padding: 2.5rem 1.25rem !important;
  }
  div[style*="padding:4rem 5vw"], section[style*="padding:4rem 5vw"] {
    padding: 2rem 1.25rem !important;
  }
  div[style*="padding:3.5rem 5vw"], section[style*="padding:3.5rem 5vw"],
  div[style*="padding:2.5rem 5vw"], section[style*="padding:2.5rem 5vw"] {
    padding: 2rem 1.25rem !important;
  }
  div[style*="max-width:1100px"], div[style*="max-width:1200px"],
  div[style*="max-width:900px"], div[style*="max-width:800px"],
  div[style*="max-width:760px"], div[style*="max-width:720px"],
  div[style*="max-width:700px"], div[style*="max-width:680px"] {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ---- STEP NUMBERS ---- */
  div[style*="position:absolute;top:28px"] { display: none !important; }

  /* ---- ENGLISH BAND ---- */
  .english { padding: 2.5rem 1.25rem !important; }
  .english h2 { font-size: 1.3rem !important; }

  /* ---- SOCIAL PROOF BAR ---- */
  div[style*="background:var(--navy)"][style*="border-radius:12px"] {
    flex-direction: column !important;
    text-align: center !important;
    padding: 1.25rem !important;
    gap: 1rem !important;
  }

  /* ---- OVERDENTURE TABLE ---- */
  div[style*="overflow-x:auto"] { overflow-x: auto !important; }

  /* ---- ANATOMY / STEP BOXES ---- */
  div[style*="grid-template-columns:56px 1fr"],
  div[style*="grid-template-columns: 56px 1fr"],
  div[style*="grid-template-columns:50px 1fr"],
  div[style*="grid-template-columns: 50px 1fr"],
  div[style*="grid-template-columns:80px 1fr"],
  div[style*="grid-template-columns: 80px 1fr"] {
    display: grid !important;
    grid-template-columns: 48px 1fr !important;
    gap: 1rem !important;
  }

  /* ---- GREEN/RED COMPARISON BOXES ---- */
  div[style*="grid-template-columns:1fr 1fr"][style*="gap:1.5rem"],
  div[style*="grid-template-columns: 1fr 1fr"][style*="gap: 1.5rem"] {
    display: block !important;
  }
  div[style*="grid-template-columns:1fr 1fr"] > div,
  div[style*="grid-template-columns: 1fr 1fr"] > div {
    margin-bottom: 1rem !important;
  }
}

/* ---- SMALL PHONES (320-480px) ---- */
@media (max-width: 480px) {
  h1 { font-size: 1.7rem !important; }
  h2 { font-size: 1.4rem !important; }
  .stat-num { font-size: 1.9rem !important; }
  /* Team: single column on tiny screens */
  div[style*="grid-template-columns:repeat(4,1fr)"],
  div[style*="grid-template-columns: repeat(4, 1fr)"] {
    grid-template-columns: 1fr !important;
  }
  .cta-final h2 { font-size: 1.5rem !important; }
}

/* ---- TABLET (768-1024px) ---- */
@media (min-width: 769px) and (max-width: 1024px) {
  *[style*="grid-template-columns: repeat(3"],
  *[style*="grid-template-columns:repeat(3"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  *[style*="grid-template-columns: repeat(4"],
  *[style*="grid-template-columns:repeat(4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
  *[style*="grid-template-columns: repeat(5"],
  *[style*="grid-template-columns:repeat(5"] {
    grid-template-columns: repeat(3, 1fr) !important;
  }
  nav { padding: 0 3vw !important; }
  .nav-links { gap: 1rem !important; }
  .nav-links a { font-size: 0.78rem !important; }
}


/* Touch improvements */
a, button { 
  -webkit-tap-highlight-color: rgba(201,150,58,0.15);
  touch-action: manipulation;
}
* { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { max-width: 100%; height: auto; }
/* ===== v2 — accessibilità, conversione, pagine legali ===== */
.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--navy);color:#fff;padding:.75rem 1.25rem;border-radius:0 0 8px 0;text-decoration:none}
.skip-link:focus{left:0}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
main{display:block}

/* WhatsApp floating */
.wa-float{position:fixed;right:18px;bottom:22px;width:56px;height:56px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.22);z-index:90;transition:transform .18s}
.wa-float:hover{transform:scale(1.07)}

/* Sticky mobile action bar */
.mobile-bar{display:none;position:fixed;left:0;right:0;bottom:0;z-index:95;background:#fff;border-top:1px solid var(--border);padding:.6rem .8rem;gap:.6rem;box-shadow:0 -4px 18px rgba(0,0,0,.10)}
.mobile-bar a{flex:1;text-align:center;padding:.85rem .5rem;border-radius:8px;font-size:.95rem;font-weight:500;text-decoration:none}
.mb-call{background:var(--red);color:#fff}
.mb-book{background:var(--gold);color:#1A202C}

/* GDPR consent checkbox */
.consent{display:flex;gap:.65rem;align-items:flex-start;margin:1rem 0 1.25rem}
.consent input{width:20px;height:20px;min-width:20px;margin-top:2px;accent-color:var(--navy)}
.consent label{font-size:.85rem;color:var(--text-soft);line-height:1.6}
.consent a{color:var(--gold)}

/* Map placeholder */
.map-box{height:260px;border-radius:12px;border:1.5px solid var(--border);background:var(--sky);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;text-align:center;padding:1.25rem;transition:border-color .2s}
.map-box:hover{border-color:var(--gold)}
.map-box strong{color:var(--navy);font-size:.95rem}
.map-box span{color:var(--text-soft);font-size:.8rem;max-width:300px;line-height:1.5}
.map-box.map-loaded{padding:0;border:none;background:none;cursor:default;display:block}

/* Legal pages */
.legal{max-width:760px;margin:0 auto;padding:3.5rem 5vw 4.5rem}
.legal h2{color:var(--navy);font-size:1.35rem;margin:2.5rem 0 .9rem}
.legal h3{color:var(--navy);font-size:1.05rem;margin:1.75rem 0 .6rem;font-family:'DM Sans',sans-serif;font-weight:600}
.legal p{color:var(--text-soft);line-height:1.85;margin-bottom:1rem}
.legal ul{margin:0 0 1.25rem 1.25rem}
.legal li{color:var(--text-soft);line-height:1.8;margin-bottom:.5rem}
.legal a{color:var(--gold)}
.legal-date{font-size:.85rem;color:var(--text-soft);padding-bottom:1.25rem;border-bottom:1px solid var(--border)}
.legal-table{width:100%;border-collapse:collapse;margin:1rem 0 1.5rem;font-size:.88rem}
.legal-table th{background:var(--navy);color:#fff;text-align:left;padding:.7rem .85rem;font-family:'DM Sans',sans-serif;font-weight:500}
.legal-table td{padding:.7rem .85rem;border-bottom:1px solid var(--border);color:var(--text-soft)}

/* Trust bar */
.trust-bar{background:var(--sky);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:1.5rem 5vw;display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap}
.trust-item{display:flex;align-items:center;gap:.6rem;font-size:.88rem;color:var(--navy)}
.trust-item span{font-size:1.2rem}

@media(max-width:768px){
  .mobile-bar{display:flex}
  body{padding-bottom:70px}
  .wa-float{bottom:82px;width:50px;height:50px}
  .legal{padding:2.5rem 1.25rem 3.5rem}
  .legal h2{font-size:1.15rem}
  .legal-table{font-size:.8rem}
  .legal-table th,.legal-table td{padding:.55rem .5rem}
  .trust-bar{gap:1rem;flex-direction:column;align-items:center;padding:1.25rem}
}

/* ===== v3 — prova sociale, costi ===== */
.proof-strip{background:var(--sky);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:3rem 5vw}
.proof-inner{max-width:1000px;margin:0 auto;display:grid;grid-template-columns:auto 1fr;gap:2.5rem;align-items:center}
.proof-score{text-align:center;padding-right:2.5rem;border-right:1px solid var(--border)}
.proof-score strong{display:block;font-family:'DM Serif Display',serif;font-size:3rem;color:var(--navy);line-height:1}
.proof-stars{display:block;color:#E0A32E;letter-spacing:3px;font-size:1rem;margin:.3rem 0}
.proof-count{display:block;font-size:.8rem;color:var(--text-soft);max-width:150px}
.proof-quote{margin:0;font-family:var(--font-voice,Georgia),serif;font-style:italic;color:var(--navy);font-size:1.05rem;line-height:1.75;border:none;padding:0}
.proof-quote cite{display:block;font-style:normal;font-family:'DM Sans',sans-serif;font-size:.78rem;color:var(--text-soft);margin-top:.75rem}
.proof-badges{grid-column:1/-1;display:flex;gap:.6rem;flex-wrap:wrap;padding-top:1.5rem;border-top:1px solid var(--border)}
.proof-badges span{background:#fff;border:1px solid var(--border);border-radius:50px;padding:.4rem .9rem;font-size:.78rem;color:var(--text-soft)}

.costi-block{background:var(--cream);padding:4.5rem 5vw;border-top:1px solid var(--border)}
.costi-inner{max-width:960px;margin:0 auto}
.costi-inner h2{color:var(--navy);font-size:clamp(1.5rem,2.6vw,2.1rem);margin-bottom:1rem;text-align:center}
.costi-inner>p{color:var(--text-soft);text-align:center;max-width:640px;margin:0 auto 2.5rem;line-height:1.8}
.costi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.costi-item{background:#fff;border:1px solid var(--border);border-left:3px solid var(--gold);border-radius:0 12px 12px 0;padding:1.75rem}
.costi-item h3{color:var(--navy);font-size:1rem;font-family:'DM Sans',sans-serif;font-weight:600;margin-bottom:.6rem}
.costi-item p{color:var(--text-soft);font-size:.9rem;line-height:1.7}
.costi-note{text-align:center;font-size:.85rem;color:var(--text-soft);margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border)}

@media(max-width:768px){
 .proof-strip{padding:2rem 1.25rem}
 .proof-inner{grid-template-columns:1fr;gap:1.5rem}
 .proof-score{padding:0 0 1.5rem;border-right:none;border-bottom:1px solid var(--border)}
 .proof-score strong{font-size:2.4rem}
 .proof-count{max-width:none}
 .proof-quote{font-size:.98rem}
 .costi-block{padding:2.5rem 1.25rem}
 .costi-grid{grid-template-columns:1fr}
}


/* ===== v4 — ritmo, leggibilità, contrasto ===== */
:root{--sp-sect:5.5rem;--sp-sect-sm:3rem;--measure:68ch}

/* ritmo verticale coerente su tutte le sezioni */
main>section{padding-top:var(--sp-sect);padding-bottom:var(--sp-sect)}
main>section.page-hero{padding-top:4.5rem;padding-bottom:4rem}
main>section.urgenze,main>section.proof-strip{padding-top:3rem;padding-bottom:3rem}

/* larghezza di lettura confortevole per i blocchi di solo testo */
.content-block p,.legal p,.legal li,.faq-a,.info-card p{max-width:var(--measure)}
.section-header p{max-width:60ch}

/* separazione tra sezioni bianche consecutive */
main>section+section{position:relative}

/* bottoni: micro-interazione più definita */
.btn-primary,.btn-call-red,.btn-white,.btn-outline{transition:transform .16s cubic-bezier(.2,.7,.3,1),box-shadow .16s,background .2s}
.btn-primary:active,.btn-call-red:active{transform:translateY(1px)}

/* link testuali: sottolineatura elegante */
.content-block a:not(.btn-primary):not(.btn-call-red),.legal a,.faq-a a{
 text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;
 text-decoration-color:rgba(201,150,58,.45);transition:text-decoration-color .2s}
.content-block a:hover,.legal a:hover{text-decoration-color:var(--gold)}

/* titoli: crenatura più stretta, più editoriale */
h1,h2{letter-spacing:-.015em}

/* prima lettera di sezione: respiro tipografico */
.section-header h2{margin-bottom:.35rem}

/* card: ombra più naturale, meno "flat da template" */
.info-card,.costi-item{transition:transform .18s,box-shadow .18s}
.info-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(27,63,110,.07)}

@media(max-width:768px){
 :root{--sp-sect:var(--sp-sect-sm)}
 main>section{padding-left:1.25rem;padding-right:1.25rem}
 main>section.page-hero{padding-top:2.75rem;padding-bottom:2.5rem}
}
@media(prefers-reduced-motion:reduce){
 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* v5 — fix cookie banner: hidden deve vincere su display:flex */
#cookie-banner[hidden]{display:none!important}
#cookie-banner{animation:ckIn .3s ease-out}
@keyframes ckIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(max-width:768px){#cookie-banner{bottom:70px}}

/* v5 — avatar team con iniziali su monogramma sobrio */
.team-avatar{width:72px;height:72px;border-radius:50%;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;background:var(--navy);border:2px solid var(--gold);position:relative}
.team-avatar span{font-family:'DM Serif Display',serif;font-size:1.5rem;color:var(--gold-light);letter-spacing:.02em}
.team-avatar.is-lab{background:var(--sky);border-color:var(--border)}
.team-avatar.is-lab span{color:var(--navy)}
.team-role{font-size:.72rem;color:var(--gold);font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.65rem}

/* v5 — badge Google testuale, senza marchio esterno */
.g-badge{display:inline-flex;align-items:center;gap:.35rem;font-size:.72rem;color:var(--text-soft);letter-spacing:.04em}
.g-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#34A853;flex-shrink:0}
