:root{
  --dark:#071016;--dark2:#101c23;--cream:#fbf4e8;--paper:#fffaf2;--card:#fffdf8;
  --gold:#b48745;--gold2:#d8b36d;--bronze:#8a6230;--text:#171717;--muted:#6d6258;--line:#e7dac8;
  --shadow:0 22px 55px rgba(7,16,22,.16);--radius:18px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}
.topbar{height:78px;background:linear-gradient(180deg,#09131a,#050b0f);color:var(--cream);display:flex;align-items:center;gap:18px;padding:0 clamp(14px,4vw,42px);position:sticky;top:0;z-index:100;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.brand img{width:136px}.nav{display:flex;align-items:center;gap:15px;margin-left:auto;text-transform:uppercase;font-size:11px;letter-spacing:.08em;font-weight:800}.nav a{opacity:.86;padding:29px 0;border-bottom:2px solid transparent}.nav a:hover,.nav .is-active{opacity:1;color:var(--gold2);border-color:var(--gold2)}.head-icons{display:flex;gap:10px}.head-icons a{width:28px;height:28px;border:1px solid rgba(216,179,109,.5);border-radius:50%;display:grid;place-items:center;color:var(--gold2);font-size:13px}.quote-btn,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:2px;text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:900;padding:13px 19px;cursor:pointer}.quote-btn,.btn.gold{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#1b1308}.btn.dark{background:var(--dark);color:var(--cream)}.btn.outline{border:1px solid rgba(255,255,255,.6);color:var(--cream);background:transparent}.btn.light-outline{border:1px solid var(--gold);color:var(--dark);background:transparent}.hamb{display:none;margin-left:auto;background:none;border:0;color:var(--cream);font-size:30px}
.hero{background:linear-gradient(90deg,rgba(5,10,13,.93) 0%,rgba(5,10,13,.75) 42%,rgba(5,10,13,.25) 100%),url('../img/hero/hero-roma-mercedes.png') center/cover no-repeat;color:var(--cream);min-height:620px;display:flex;align-items:center}.hero-inner{width:min(var(--max),calc(100% - 32px));margin:auto;padding:70px 0}.eyebrow,.mini{text-transform:uppercase;letter-spacing:.16em;color:var(--gold2);font-weight:900;font-size:12px}.hero h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(44px,7vw,78px);line-height:.94;margin:17px 0;max-width:640px}.hero p{font-size:18px;color:#f1e4d1;max-width:560px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.trust{width:min(var(--max),calc(100% - 32px));margin:-48px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border-radius:16px;overflow:hidden;box-shadow:var(--shadow);position:relative;z-index:2}.trust div{background:var(--paper);padding:24px 16px;text-align:center}.trust strong{font-family:Georgia,serif;color:var(--gold);font-size:34px;display:block;line-height:1}.trust span{font-size:12px;text-transform:uppercase;font-weight:900;letter-spacing:.08em}.section{padding:72px 16px}.wrap{width:min(var(--max),100%);margin:auto}.section-head{text-align:center;max-width:760px;margin:0 auto 36px}.section h1,.section h2,.page-title{font-family:Georgia,serif;font-weight:500;font-size:clamp(34px,4.5vw,52px);line-height:1.04;margin:0 0 14px}.section-head p,.lead{color:var(--muted);font-size:17px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px;text-align:center;box-shadow:0 10px 25px rgba(7,16,22,.05)}.icon{font-size:28px;color:var(--gold);width:54px;height:54px;border:1px solid var(--line);display:grid;place-items:center;border-radius:50%;margin:0 auto 12px;background:#fff7ea}.card h3{margin:8px 0 9px;text-transform:uppercase;font-size:15px;letter-spacing:.06em}.card p{color:var(--muted);font-size:14px}.media-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.media-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--card);box-shadow:0 10px 25px rgba(7,16,22,.05)}.media-card img{height:150px;width:100%;object-fit:cover}.media-card div{padding:18px}.media-card h3{margin:0 0 8px}.tour-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tour-tile{position:relative;min-height:210px;border-radius:12px;overflow:hidden;box-shadow:0 14px 30px rgba(7,16,22,.12);background:var(--dark)}.tour-tile img{width:100%;height:100%;object-fit:cover}.tour-tile strong{position:absolute;inset:auto 0 0;padding:52px 18px 17px;background:linear-gradient(transparent,rgba(0,0,0,.87));color:var(--cream);text-transform:uppercase;letter-spacing:.06em}.page-hero{background:linear-gradient(90deg,rgba(5,10,13,.92),rgba(5,10,13,.55)),url('../img/hero/hero-roma-mercedes.png') center/cover no-repeat;color:var(--cream);padding:78px 16px}.page-hero .wrap{max-width:960px}.page-hero.center{text-align:center}.page-hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,68px);line-height:1;margin:14px 0}.page-hero p{color:#f0e0c9;font-size:18px}.split{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.fleet-row{display:grid;grid-template-columns:.95fr 1.05fr;gap:24px;border:1px solid var(--line);background:var(--card);border-radius:14px;padding:18px;margin-bottom:22px}.fleet-row img{border-radius:10px}.fleet-row h2{font-size:32px}.checklist{padding-left:0;list-style:none}.checklist li{margin:8px 0;color:var(--muted)}.checklist li:before{content:'✓';color:var(--gold);font-weight:900;margin-right:8px}.option-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.option{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:18px;text-align:center}.dark-band{background:linear-gradient(135deg,var(--dark),var(--dark2));color:var(--cream)}.dark-band .lead{color:#e5d3bc}.business-hero{background-image:linear-gradient(90deg,rgba(5,10,13,.94),rgba(5,10,13,.42)),url('../img/business/business-driver.png')}.tariff-box{background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:auto;margin-bottom:28px}table{border-collapse:collapse;width:100%;min-width:620px}th,td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left}th{background:#f0e4d2;text-transform:uppercase;font-size:12px;letter-spacing:.08em;color:#4c3519}.profile{display:grid;grid-template-columns:.8fr 1.2fr;gap:24px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.quote-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:25px}.form{display:grid;grid-template-columns:1fr 1fr;gap:15px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}.form label{font-weight:800;font-size:13px}.form input,.form select,.form textarea{margin-top:6px;width:100%;border:1px solid var(--line);padding:13px;border-radius:6px;background:#fffdf8;font:inherit}.form .full{grid-column:1/-1}.form button{grid-column:1/-1}.side-box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px}.side-box.dark{background:var(--dark);color:var(--cream)}.side-box.dark p{color:#e8d9c5}.final-cta{margin:30px auto 0;width:min(var(--max),calc(100% - 32px));background:var(--dark);color:var(--cream);border-radius:2px;padding:30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.final-cta h2{font-family:Georgia,serif;font-weight:500;margin:7px 0 0}.cta-actions{display:flex;gap:12px;flex-wrap:wrap}.footer{background:#050b0f;color:var(--cream);padding:54px 16px 90px;margin-top:56px}.footer-grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:26px}.footer-logo{width:150px}.footer p,.footer-bottom{color:#bdb0a0}.footer-bottom{width:min(var(--max),100%);margin:30px auto 0;border-top:1px solid rgba(255,255,255,.12);padding-top:18px}.mobile-bar{display:none}.note{font-size:12px;color:var(--muted)}
@media(max-width:920px){.topbar{height:70px}.brand img{width:120px}.hamb{display:block}.nav{display:none;position:absolute;left:12px;right:12px;top:76px;background:#071016;border:1px solid rgba(216,179,109,.25);border-radius:12px;padding:12px;flex-direction:column;align-items:flex-start}.nav.open{display:flex}.nav a{padding:10px}.head-icons,.quote-btn{display:none}.hero{min-height:610px}.trust,.cards,.media-cards,.tour-grid,.split,.fleet-row,.profile,.team-grid,.quote-layout,.footer-grid{grid-template-columns:1fr}.trust{margin:0 auto;border-radius:0}.option-grid{grid-template-columns:repeat(2,1fr)}.form{grid-template-columns:1fr}.final-cta{display:block}.cta-actions{margin-top:18px}.mobile-bar{position:fixed;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(3,1fr);background:var(--dark);z-index:120;box-shadow:0 -10px 25px rgba(0,0,0,.28)}.mobile-bar a{text-align:center;color:var(--cream);font-weight:900;padding:14px 8px;border-right:1px solid rgba(255,255,255,.12);font-size:13px}.footer{padding-bottom:100px}}

/* FIX FINALE: hero mobile dedicata */
@media (max-width: 920px) {
  .hero {
    background:
      linear-gradient(180deg, rgba(5,10,13,.90) 0%, rgba(5,10,13,.62) 46%, rgba(5,10,13,.88) 100%),
      url('../img/hero/hero-roma-mercedes-mobile.png') center center / cover no-repeat !important;
    min-height: 720px;
  }

  .hero-inner {
    padding-top: 92px;
    padding-bottom: 58px;
  }

  .hero h1 {
    font-size: clamp(38px, 11vw, 58px);
    max-width: 420px;
  }

  .hero p {
    max-width: 390px;
  }
}

/* FIX FINALE: immagine pagina business */
.split-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 520px);
  gap: 34px;
  align-items: center;
}

.hero-photo-card {
  border: 1px solid rgba(210, 170, 95, .45);
  border-radius: 22px;
  overflow: hidden;
  background: #101820;
  box-shadow: 0 24px 60px rgba(0,0,0,.28);
}

.hero-photo-card img {
  display: block;
  width: 100%;
  height: 390px;
  object-fit: cover;
}

@media (max-width: 920px) {
  .split-hero {
    grid-template-columns: 1fr;
  }

  .hero-photo-card img {
    height: 280px;
  }
}

/* Pagine legali */
.legal-hero {
  padding: 66px 16px 58px;
}

.legal-hero .wrap {
  max-width: 860px;
}

.legal-hero h1 {
  margin-bottom: 12px;
}

.legal-hero p {
  max-width: 760px;
  margin: 0 auto;
}

.legal-section {
  padding-top: 54px;
}

.legal-content {
  max-width: 880px;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 12px 32px rgba(7,16,22,.06);
  padding: clamp(24px, 4vw, 46px);
}

.legal-content h2 {
  margin: 34px 0 12px;
  color: var(--dark);
  font-family: Georgia, serif;
  font-size: clamp(24px, 3vw, 34px);
  font-weight: 500;
  line-height: 1.12;
}

.legal-content h2:first-child {
  margin-top: 0;
}

.legal-content p,
.legal-content li {
  color: var(--muted);
  font-size: 16px;
}

.legal-content p {
  margin: 0 0 15px;
}

.legal-content ul {
  margin: 0 0 18px;
  padding-left: 22px;
}

.legal-content li {
  margin: 8px 0;
}

.legal-content strong {
  color: var(--text);
}

.legal-content a {
  color: var(--bronze);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.cookie-banner {
  position: fixed;
  left: 18px;
  right: 18px;
  bottom: 18px;
  z-index: 160;
  width: min(760px, calc(100% - 36px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  background: rgba(7,16,22,.97);
  color: var(--cream);
  border: 1px solid rgba(216,179,109,.35);
  border-radius: 10px;
  box-shadow: 0 18px 48px rgba(0,0,0,.28);
  padding: 16px;
}

.cookie-banner[hidden] {
  display: none;
}

.cookie-text {
  min-width: 0;
}

.cookie-text strong {
  display: block;
  color: var(--gold2);
  font-size: 13px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.cookie-text p {
  margin: 4px 0 0;
  color: #e7d8c3;
  font-size: 14px;
}

.cookie-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

.cookie-link {
  color: var(--cream);
  font-size: 13px;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 920px) {
  .legal-hero {
    padding: 48px 16px 42px;
  }

  .legal-section {
    padding-top: 34px;
  }

  .legal-content {
    border-radius: 10px;
  }

  .cookie-banner {
    bottom: 62px;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
  }

  .cookie-actions {
    width: 100%;
    justify-content: space-between;
  }

  .cookie-actions .btn {
    padding: 12px 15px;
  }
}
