:root{
  --bg:#ffffff;
  --paper:#f7f4ee;
  --soft:#f2eee6;
  --ink:#111111;
  --muted:#6f756f;
  --line:#e6ded0;
  --accent:#2d2f31;
  --accent-2:#1f2225;
  --gold:#b89a5a;
  --gold-soft:#d9c894;
  --radius-xl:28px;
  --radius-lg:20px;
  --shadow:0 22px 60px rgba(0,0,0,.12);
  --max:1320px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:'Inter','Montserrat','Segoe UI',Arial,sans-serif;line-height:1.55;letter-spacing:.01em}
a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.page{overflow:hidden}.container{width:min(var(--max),calc(100% - 44px));margin:0 auto}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 17px;border:1px solid var(--line);border-radius:999px;background:#fffaf1;color:var(--gold);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:850}.eyebrow:before{content:'⌁';font-size:13px}.section-title{font-size:clamp(32px,3.2vw,54px);line-height:1.08;margin:20px 0 12px;font-weight:900;letter-spacing:-.045em}.gold-title{color:var(--gold)}.section-lead{max-width:760px;margin:0 auto;color:#555;font-size:17px}.site-header{position:fixed;top:18px;left:0;right:0;z-index:1000;pointer-events:none}.nav-shell{width:min(1820px,calc(100% - 76px));margin:0 auto;background:rgba(255,255,255,.96);border:1px solid rgba(230,222,208,.9);border-radius:16px;box-shadow:0 18px 50px rgba(0,0,0,.10);height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;pointer-events:auto;backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;min-width:270px}.brand-logo-link{min-width:270px}.brand-logo{height:52px;width:auto;max-width:285px;object-fit:contain;display:block}.brand-mark,.brand-text{display:none}.main-nav{display:flex;align-items:center;gap:28px}.nav-link{font-size:13px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;padding:33px 0;color:#06150f}.nav-link span{font-size:13px;color:var(--muted);margin-left:4px}.nav-item.is-active .nav-link,.nav-link:hover{color:var(--gold)}.quote-btn{background:var(--gold);color:#0d120f;border-radius:9px;padding:18px 24px;text-transform:uppercase;font-weight:900;font-size:12px;letter-spacing:.12em}.quote-btn:hover,.dark-btn:hover,.card-btn:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(0,0,0,.15)}.lang-switch{border:1px solid #d8dedc;border-radius:9px;padding:13px 15px;font-weight:800;font-size:12px;display:flex;gap:8px;align-items:center}.mobile-toggle{display:none;background:transparent;border:0;flex-direction:column;gap:5px}.mobile-toggle span{width:26px;height:2px;background:var(--ink);display:block}.mega-menu{position:fixed;top:104px;left:0;right:0;z-index:999;opacity:0;visibility:hidden;transform:translateY(-8px);transition:.22s ease;pointer-events:none}.mega-menu.is-open{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}.mega-inner{width:min(1820px,calc(100% - 76px));margin:0 auto;background:rgba(255,255,255,.98);border:1px solid rgba(230,222,208,.95);border-radius:0 0 18px 18px;box-shadow:var(--shadow);padding:44px 70px;display:grid;gap:36px;pointer-events:auto}.mega-cols-1{grid-template-columns:1fr}.mega-cols-2{grid-template-columns:1fr 1fr}.mega-cols-3{grid-template-columns:1.15fr 1fr 1.15fr}.mega-col{padding-right:30px;border-right:1px solid var(--line)}.mega-col:last-child{border-right:0}.mega-title{margin:0 0 22px;color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.17em;font-weight:950}.mega-list{display:grid;gap:16px}.mega-link{display:flex;gap:15px;align-items:flex-start;padding:6px 8px;border-radius:12px;transition:.18s ease}.mega-link:hover{background:var(--paper);transform:translateX(4px)}.mega-icon{width:38px;height:38px;border-radius:10px;background:#f5f1e8;color:var(--gold);display:grid;place-items:center;font-size:17px;flex:0 0 auto}.mega-link strong{display:block;font-size:15px;font-weight:650}.mega-link small{display:block;color:#84928e;font-size:13px;margin-top:2px}.route-list{display:grid;gap:10px}.route-card{border:1px solid var(--line);border-radius:9px;padding:13px 14px;display:flex;justify-content:space-between;gap:14px;align-items:center;background:#fbfaf7}.route-card strong{font-size:14px}.route-card small{display:block;color:#84928e;font-size:12px}.route-card em{font-style:normal;background:#f4ecdd;color:var(--gold);padding:6px 10px;border-radius:7px;font-size:12px;font-weight:900;white-space:nowrap}.mega-panel-card{background:var(--accent);color:#fff;border-radius:10px;min-height:260px;padding:38px 32px;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start}.mega-panel-card small{color:var(--gold);text-transform:uppercase;letter-spacing:.17em;font-weight:900}.mega-panel-card strong{font-size:22px;line-height:1.15;margin-top:12px}.mega-panel-card p{color:#cbd0cc;max-width:260px}.mega-panel-card a{background:var(--gold);color:#141414;padding:15px 20px;border-radius:0;text-transform:uppercase;font-size:12px;font-weight:950;letter-spacing:.1em;margin-top:14px}.hero{min-height:100svh;position:relative;display:flex;align-items:center;padding:140px 0 90px;background:#0b0b0b;overflow:hidden}.hero:before{content:'';position:absolute;inset:0;background:url('../img/hero.png') center/cover no-repeat;opacity:1;filter:saturate(.96)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,0) 0%,rgba(0,0,0,0) 42%,rgba(0,0,0,.18) 54%,rgba(0,0,0,.60) 68%,rgba(0,0,0,.62) 100%),linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,0) 34%,rgba(0,0,0,.10) 100%)}.hero-content{position:relative;z-index:2;width:min(700px,calc(100% - 48px));margin-left:auto;margin-right:5.5vw;color:#fff;text-align:center}.hero h1{font-size:clamp(42px,4vw,70px);line-height:1.08;margin:0 auto 18px;font-weight:950;letter-spacing:-.055em;max-width:700px}.hero h1 em{color:var(--gold-soft);font-style:italic}.hero h2{font-size:clamp(21px,1.8vw,31px);line-height:1.25;margin:0 auto 24px;font-weight:500;letter-spacing:.02em;max-width:700px;color:#fff}.hero p{font-size:clamp(17px,1.25vw,21px);max-width:700px;margin:0 auto;color:rgba(255,255,255,.88);letter-spacing:.03em}.hero-actions{margin-top:34px;display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.light-btn,.dark-btn,.card-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:10px;padding:16px 24px;text-transform:uppercase;letter-spacing:.12em;font-weight:950;font-size:12px;transition:.22s ease}.light-btn{background:#fff;color:#111}.dark-btn,.card-btn{background:var(--accent);color:#fff}.outline-btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.7);color:#fff;border-radius:10px;padding:15px 24px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;font-size:12px}.intro{padding:95px 0 70px}.intro-copy{max-width:900px;margin:0 auto;text-align:left;font-size:18px;color:#383838}.intro-copy p{margin:0 0 22px}.intro-copy strong{font-weight:900}.text-link{font-weight:850;text-decoration:underline;text-underline-offset:4px}.services{padding:46px 0 86px;text-align:center}.cards-grid{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);gap:26px;text-align:left}.service-card{border:1px solid var(--line);border-radius:24px;background:#fff;overflow:hidden;box-shadow:0 14px 38px rgba(0,0,0,.045);display:flex;flex-direction:column;min-height:460px;transition:.24s ease}.service-card:hover{transform:translateY(-5px);box-shadow:0 24px 60px rgba(0,0,0,.12)}.card-img{height:210px;background-size:cover;background-position:center}.service-card-content{padding:26px;display:flex;flex-direction:column;flex:1}.service-card h3{font-size:28px;line-height:1.05;margin:0 0 16px;font-weight:950;letter-spacing:-.04em}.service-card p{color:#333;margin:0 0 28px;min-height:64px}.card-btn{margin-top:auto;width:100%;background:var(--accent);border-radius:8px}.fleet-section{padding:76px 0 94px;background:#fff;text-align:center}.review-pill{margin:18px auto 42px;display:inline-flex;gap:10px;align-items:center;border:1px solid var(--line);border-radius:999px;padding:10px 18px;background:#fffaf1;font-weight:850}.review-pill .stars{color:#f7b500;letter-spacing:.08em}.fleet-track{display:flex;gap:26px;overflow-x:auto;padding:6px 6vw 18px;scroll-snap-type:x mandatory}.fleet-card{flex:0 0 360px;border:1px solid var(--line);border-radius:26px;background:#fff;overflow:hidden;scroll-snap-align:center;text-align:left;box-shadow:0 13px 36px rgba(0,0,0,.045)}.fleet-card .card-img{height:235px}.fleet-body{padding:26px}.fleet-body h3{font-size:28px;margin:0;font-weight:950;letter-spacing:-.04em}.fleet-body .type{color:var(--gold);text-transform:uppercase;letter-spacing:.14em;font-weight:900;font-size:12px;margin:5px 0 18px}.fleet-specs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.fleet-specs span{border:1px solid var(--line);border-radius:999px;padding:10px 14px;text-align:center;font-size:13px;font-weight:800;background:#fffaf1}.included{margin-top:24px}.included strong{font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--gold)}.included-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;margin-top:12px;color:#333}.included-grid span:before{content:'✓';color:var(--gold);margin-right:8px}.commitments{padding:92px 0;background:#fff;text-align:center}.commit-grid{margin-top:44px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.commit-card{border:1px solid var(--line);border-radius:16px;background:#faf7f1;text-align:left;padding:28px 30px;display:flex;gap:22px;align-items:flex-start}.commit-icon{width:48px;height:48px;border:1px solid #e4d5b8;background:#fffaf1;border-radius:13px;display:grid;place-items:center;color:var(--gold);font-size:20px;flex:0 0 auto}.commit-card h3{margin:0 0 8px;font-size:18px;text-transform:uppercase;letter-spacing:.06em}.commit-card p{margin:0;color:#555}.destinations,.events-section,.reviews,.trust{padding:84px 0;text-align:center}.destination-track{display:flex;gap:24px;overflow-x:auto;margin-top:42px;padding:4px 6vw 22px;scroll-snap-type:x mandatory}.destination-card{position:relative;flex:0 0 360px;height:440px;border-radius:26px;overflow:hidden;background-size:cover;background-position:center;scroll-snap-align:center}.destination-card:before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.58))}.destination-card h3{position:absolute;left:28px;bottom:94px;color:#fff;font-size:30px;margin:0;font-weight:950}.destination-card .card-btn{position:absolute;left:28px;right:28px;bottom:28px;background:var(--accent)}.event-grid{margin-top:42px;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:left}.event-card{border:1px solid var(--line);border-radius:23px;overflow:hidden;background:#fff}.event-card .card-img{height:190px}.event-card-body{padding:24px}.event-card h3{font-size:24px;line-height:1.08;margin:0 0 18px;font-weight:950}.event-card p{color:#333;min-height:66px}.big-cta{width:min(1120px,calc(100% - 44px));margin:42px auto 0;background:var(--accent);color:#fff;border-radius:17px;padding:70px 38px;text-align:center}.big-cta h2{font-size:clamp(34px,4vw,64px);line-height:1.08;color:var(--gold);margin:0 0 18px}.big-cta p{font-size:20px;color:#fff}.big-cta-actions{display:flex;justify-content:center;gap:14px;flex-wrap:wrap;margin-top:28px}.phone-btn{border:1px solid #fff;color:#fff;border-radius:999px;padding:17px 34px;letter-spacing:.11em}.review-grid{margin-top:48px;display:grid;grid-template-columns:repeat(2,1fr);gap:28px;text-align:left}.review-card{background:#fbf8f2;border:1px solid var(--line);padding:34px 38px;border-radius:6px}.review-card:before{content:'“';color:#d9c894;font-size:72px;line-height:.6;font-family:Georgia,serif}.review-card p{font-style:italic;font-size:17px;color:#222}.review-card strong{display:block;margin-top:24px;text-transform:uppercase;letter-spacing:.08em}.review-card small{display:block;color:var(--gold);margin-top:10px}.trust-grid{width:min(980px,calc(100% - 44px));margin:42px auto 0;display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);border-right:0;border-bottom:0}.trust-logo{height:150px;display:grid;place-items:center;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-size:28px;font-weight:900;color:#555;filter:grayscale(1);letter-spacing:-.04em}.site-footer{background:#eee8dc;border-top:3px solid var(--gold);margin-top:70px}.footer-inner{width:min(1500px,calc(100% - 70px));margin:0 auto;padding:74px 0;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:80px}.footer-brand h2{font-size:38px;line-height:1.2;font-weight:450;margin:0 0 18px;color:#001b16}.footer-brand em{color:var(--gold)}.footer-brand p{max-width:320px;color:#7a827d}.footer-contacts{list-style:none;padding:0;margin:30px 0 0;display:grid;gap:12px;color:#18312b}.footer-col{display:flex;flex-direction:column;gap:12px}.footer-col h3{font-size:12px;color:var(--gold);text-transform:uppercase;letter-spacing:.2em;margin:0 0 10px}.footer-col a{color:#60736b}.footer-col a:hover{color:var(--ink)}.footer-bottom{border-top:1px solid #ddd2bf;padding:26px 42px;color:#7a827d;font-size:13px}.wa-float{position:fixed;right:26px;bottom:26px;z-index:1200;background:#19c750;color:#fff;border-radius:999px;padding:13px 19px;box-shadow:0 14px 35px rgba(0,0,0,.2);font-weight:950;display:flex;align-items:center;gap:8px;border:4px solid rgba(255,255,255,.75)}.blank-page{min-height:70vh;padding:180px 0 80px}.blank-card{width:min(960px,calc(100% - 44px));margin:0 auto;border:1px solid var(--line);border-radius:28px;background:#fff;padding:52px;box-shadow:0 18px 45px rgba(0,0,0,.06)}.blank-card h1{font-size:clamp(38px,5vw,72px);line-height:1.02;margin:0 0 16px;letter-spacing:-.055em}.blank-card p{color:#5b625e;font-size:18px}.breadcrumbs{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;margin-bottom:20px}
@media (max-width:1100px){.nav-shell{width:calc(100% - 28px);height:auto;min-height:76px}.mobile-toggle{display:flex}.main-nav{position:absolute;top:88px;left:14px;right:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;flex-direction:column;align-items:stretch;gap:8px;display:none}.main-nav.is-open{display:flex}.nav-link{display:block;padding:12px 0}.mega-menu{display:none}.brand,.brand-logo-link{min-width:auto}.brand-logo{height:44px;max-width:220px}.cards-grid,.commit-grid,.review-grid{grid-template-columns:1fr}.event-grid{grid-template-columns:repeat(2,1fr)}.footer-inner{grid-template-columns:1fr 1fr;gap:40px}.hero-content{margin:0 auto;text-align:center}.site-header{top:10px}}
@media (max-width:760px){.nav-shell{padding:0 16px}.brand-logo{height:40px;max-width:190px}.hero{padding-top:120px}.cards-grid,.event-grid{grid-template-columns:1fr}.fleet-card,.destination-card{flex-basis:82vw}.commit-card{flex-direction:column}.trust-grid{grid-template-columns:1fr 1fr}.footer-inner{width:calc(100% - 40px);grid-template-columns:1fr}.section-title{font-size:34px}.hero h1{font-size:40px}.hero h2{font-size:21px}.blank-card{padding:32px 24px}.wa-float span{display:none}}

/* =========================================================
   REVISIONE HERO / FONT - v4
   - Hero text a sinistra, allineato a sinistra
   - Sfumatura bianca sul lato sinistro per leggibilità
   - Titoli serif luxury con parole oro
   - Body e menu con font pulito e leggibile
   ========================================================= */
body{
  font-family:'Montserrat','Segoe UI',Arial,sans-serif;
  color:var(--ink);
  background:#fff;
}

h1,h2,h3,.section-title,.blank-card h1,.footer-brand h2{
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  font-weight:500;
  letter-spacing:-.025em;
}

.nav-link,.quote-btn,.lang-switch,.light-btn,.outline-btn,.card-btn,.mega-title,.eyebrow{
  font-family:'Montserrat','Segoe UI',Arial,sans-serif;
}

.hero{
  align-items:center;
  justify-content:flex-start;
  padding:142px 0 90px;
  background:#f7f3ea;
}

.hero:before{
  background:url('../img/hero.png') center center/cover no-repeat;
  opacity:1;
  filter:saturate(.98) contrast(1.02);
}

.hero:after{
  content:'';
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.94) 17%,
      rgba(255,255,255,.76) 31%,
      rgba(255,255,255,.34) 44%,
      rgba(255,255,255,.08) 57%,
      rgba(255,255,255,0) 72%),
    linear-gradient(180deg,
      rgba(255,255,255,.18) 0%,
      rgba(255,255,255,0) 28%,
      rgba(0,0,0,.06) 100%);
}

.hero-content{
  position:relative;
  z-index:2;
  width:min(620px,calc(100% - 64px));
  margin-left:7.4vw;
  margin-right:auto;
  color:#171717;
  text-align:left;
}

.hero h1{
  font-size:clamp(44px,4.8vw,82px);
  line-height:.96;
  margin:0 0 18px;
  max-width:640px;
  font-weight:500;
  letter-spacing:-.035em;
  color:#151515;
}

.hero h1 span{
  color:var(--gold);
  font-weight:500;
}

.hero h2{
  position:relative;
  display:inline-block;
  font-family:'Montserrat','Segoe UI',Arial,sans-serif;
  font-size:clamp(20px,1.55vw,27px);
  line-height:1.32;
  margin:0 0 24px;
  max-width:620px;
  font-weight:400;
  letter-spacing:.005em;
  color:#282828;
}

.hero h2:after{
  content:'';
  position:absolute;
  left:0;
  bottom:-10px;
  width:62px;
  height:1px;
  background:var(--gold);
}

.hero p{
  font-family:'Montserrat','Segoe UI',Arial,sans-serif;
  font-size:clamp(14px,1vw,17px);
  line-height:1.85;
  max-width:540px;
  margin:0;
  color:#252525;
  letter-spacing:.01em;
}

.hero-actions{
  justify-content:flex-start;
  margin-top:30px;
}

.hero .light-btn{
  background:var(--gold);
  color:#111;
  border:1px solid var(--gold);
  border-radius:4px;
  box-shadow:none;
}

.hero .outline-btn{
  border:1px solid rgba(20,20,20,.45);
  color:#111;
  background:rgba(255,255,255,.42);
  border-radius:4px;
}

.section-title{
  font-size:clamp(38px,4vw,68px);
  line-height:1.02;
  font-weight:500;
  color:#171717;
}

.gold-title{
  color:var(--gold);
}

.service-card h3,.fleet-body h3,.event-card h3,.commit-card h3,.destination-card h3{
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  font-weight:600;
  letter-spacing:-.02em;
}

@media (max-width:1100px){
  .hero-content{
    margin-left:6vw;
    margin-right:auto;
    text-align:left;
  }
  .hero-actions{
    justify-content:flex-start;
  }
}

@media (max-width:760px){
  .hero:after{
    background:linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.78) 58%,rgba(255,255,255,.28));
  }
  .hero-content{
    width:calc(100% - 40px);
    margin-left:20px;
  }
  .hero h1{
    font-size:46px;
  }
  .hero p{
    max-width:100%;
  }
}

/* REVISIONE MEGA MENU - v5
   Unisce visivamente header e pannello aperto, elimina gli spazi negli angoli
   e rende le icone più simili a quelle del riferimento: lineari, sottili, oro. */
.site-header.mega-active .nav-shell{
  border-bottom-left-radius:0;
  border-bottom-right-radius:0;
  border-bottom-color:transparent;
  box-shadow:0 10px 28px rgba(0,0,0,.08);
}
.site-header.mega-active .nav-shell::after{
  content:'';
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:rgba(255,255,255,.98);
}
.nav-shell{position:relative;}
.mega-menu{
  top:103px;
}
.mega-inner{
  margin-top:0;
  border-top:0;
  border-top-left-radius:0;
  border-top-right-radius:0;
  box-shadow:0 30px 70px rgba(0,0,0,.12);
}
.mega-icon{
  background:#f5f1e8;
  border:1px solid #eee7dc;
  color:var(--gold);
  font-size:0;
}
.mega-icon svg{
  width:19px;
  height:19px;
  display:block;
  fill:none;
  stroke:currentColor;
  stroke-width:1.45;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.mega-link:hover .mega-icon{
  background:#fffaf1;
  border-color:#e4d5b8;
}

@media (max-width: 960px){
  .site-header.mega-active .nav-shell{
    border-radius:16px;
  }
  .mega-menu{top:100px;}
}

/* FIX HERO TITLE OVERLAP - v7.1
   Aumenta l'interlinea del titolo hero per evitare sovrapposizioni
   tra la prima e la seconda riga con il font serif luxury. */
.hero h1{
  line-height: 1.16 !important;
  letter-spacing: -0.035em !important;
  max-width: 760px;
}

.hero h1 em{
  line-height: inherit;
}

@media (max-width: 1200px){
  .hero h1{
    line-height: 1.18 !important;
    letter-spacing: -0.025em !important;
  }
}

@media (max-width: 760px){
  .hero h1{
    line-height: 1.2 !important;
    letter-spacing: -0.015em !important;
  }
}

/* FIX ALLINEAMENTO BOTTONI CARD EVENTI */
.events-section .event-card{
  display: flex;
  flex-direction: column;
  height: 100%;
}

.events-section .event-card-body{
  display: flex;
  flex-direction: column;
  flex: 1;
}

.events-section .event-card-body p{
  min-height: 88px;
}

.events-section .event-card .card-btn{
  margin-top: auto;
}
/* =========================================================
   REVISIONE RELAZIONE AB SERVICE - v8
   UX morbida, bottoni oro, testi più quiet luxury, fleet dots.
   ========================================================= */
.section-lead,
.intro-copy,
.service-card p,
.event-card p,
.commit-card p,
.fleet-body,
.blank-card p{
  text-align:justify;
}
.services .section-lead,
.fleet-section .section-lead,
.commitments .section-lead,
.reviews .section-lead,
.trust .section-lead{
  text-align:center;
}
.card-btn,
.mega-panel-card a,
.big-cta .light-btn,
.footer-brand .dark-btn{
  background:var(--gold);
  color:#121212;
  border:1px solid var(--gold);
  box-shadow:none;
}
.card-btn:hover,
.mega-panel-card a:hover,
.big-cta .light-btn:hover,
.footer-brand .dark-btn:hover{
  background:#c6aa6b;
  border-color:#c6aa6b;
}
.hero .outline-btn{
  background:rgba(255,255,255,.24);
  backdrop-filter:blur(8px);
}
.eyebrow{
  background:#fff;
  border-color:#eadfca;
  box-shadow:0 10px 28px rgba(0,0,0,.035);
}
.eyebrow:before{
  content:'';
  width:22px;
  height:1px;
  background:var(--gold);
  display:inline-block;
}
.service-card,
.fleet-card,
.event-card,
.commit-card,
.review-card,
.blank-card{
  box-shadow:0 18px 48px rgba(0,0,0,.055);
}
.service-card-content,
.fleet-body,
.event-card-body{
  background:linear-gradient(180deg,#fff 0%,#fffaf3 100%);
}
.fleet-track{
  scroll-behavior:smooth;
  scrollbar-width:none;
  padding-bottom:16px;
}
.fleet-track::-webkit-scrollbar{display:none;}
.fleet-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
  margin:14px auto 0;
}
.fleet-dot{
  width:9px;
  height:9px;
  border-radius:999px;
  border:1px solid var(--gold);
  background:transparent;
  padding:0;
  cursor:pointer;
  opacity:.75;
  transition:width .22s ease, background .22s ease, opacity .22s ease;
}
.fleet-dot.is-active{
  width:34px;
  background:var(--gold);
  opacity:1;
}
.fleet-body .included strong{
  color:#8d743d;
}
.wa-float{
  background:rgba(45,47,49,.94);
  color:#fff;
  border:1px solid rgba(217,200,148,.7);
  border-radius:999px;
  box-shadow:0 18px 45px rgba(0,0,0,.22);
}
.wa-float::after{
  content:'';
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
  margin-left:2px;
}
.reveal-up{
  opacity:0;
  transform:translateY(22px);
  transition:opacity .7s ease, transform .7s ease;
}
.reveal-up.is-visible{
  opacity:1;
  transform:translateY(0);
}
.luxury-page{
  width:min(1180px,calc(100% - 44px));
  margin:0 auto;
  display:grid;
  gap:24px;
}
.luxury-hero-card{
  border:1px solid var(--line);
  border-radius:30px;
  background:linear-gradient(135deg,#fff 0%,#f8f1e4 100%);
  padding:58px;
  box-shadow:0 18px 45px rgba(0,0,0,.06);
}
.luxury-hero-card h1{
  font-size:clamp(44px,5vw,78px);
  line-height:1.02;
  margin:12px 0 18px;
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  font-weight:500;
  letter-spacing:-.035em;
}
.luxury-hero-card p{
  max-width:860px;
  color:#424742;
  font-size:18px;
  text-align:justify;
}
.luxury-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.luxury-info-card{
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  padding:34px;
  box-shadow:0 14px 36px rgba(0,0,0,.045);
}
.luxury-info-card h2{
  font-family:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  font-size:34px;
  line-height:1.05;
  margin:0 0 14px;
  color:var(--gold);
  font-weight:600;
}
.luxury-info-card p{
  margin:0;
  color:#444;
  text-align:justify;
}
@media (max-width:900px){
  .luxury-grid{grid-template-columns:1fr;}
  .luxury-hero-card{padding:38px 26px;}
}

/* Destinazioni selezionate - variante diversa dalle tratte richieste */
.mega-menu[data-mega-panel="destinazioni"] .route-list {
  gap: 13px;
}

.mega-menu[data-mega-panel="destinazioni"] .route-card {
  position: relative;
  overflow: hidden;
  min-height: 76px;
  padding: 18px 18px 17px 20px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(250,247,241,.86));
  border: 1px solid rgba(196, 162, 92, .28);
  border-left: 3px solid var(--gold);
  border-radius: 14px;
  box-shadow: 0 12px 28px rgba(0,0,0,.035);
}

.mega-menu[data-mega-panel="destinazioni"] .route-card::after {
  content: '';
  position: absolute;
  right: -38px;
  top: -44px;
  width: 120px;
  height: 120px;
  border-radius: 999px;
  background: rgba(196, 162, 92, .08);
  pointer-events: none;
}

.mega-menu[data-mega-panel="destinazioni"] .route-card strong {
  display: block;
  font-size: 16px;
  letter-spacing: .01em;
}

.mega-menu[data-mega-panel="destinazioni"] .route-card small {
  margin-top: 5px;
  max-width: 320px;
  line-height: 1.35;
  color: #7b8782;
}

.mega-menu[data-mega-panel="destinazioni"] .route-card em {
  align-self: flex-start;
  min-width: auto;
  padding: 7px 11px;
  border-radius: 999px;
  background: #f4ecdd;
  color: var(--gold);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .12em;
}
/* =========================================================
   PATCH FLOTTA / BOTTONI / ANIMAZIONI - v9
   - Carousel flotta piu composto: cards dentro una corsia centrata,
     preview laterali piu morbide e card fuori focus attenuate.
   - Pallino attivo sincronizzato anche al click.
   - Bottoni card neri, hover oro. CTA preventivo header resta oro.
   ========================================================= */

/* Bottoni delle card: neri di partenza, oro solo al passaggio/click */
.service-card .card-btn,
.fleet-card .card-btn,
.event-card .card-btn,
.destination-card .card-btn,
.blank-card .card-btn,
.luxury-info-card .card-btn{
  background:#111;
  color:#fff;
  border:1px solid #111;
  box-shadow:none;
}
.service-card .card-btn:hover,
.service-card .card-btn:focus-visible,
.fleet-card .card-btn:hover,
.fleet-card .card-btn:focus-visible,
.event-card .card-btn:hover,
.event-card .card-btn:focus-visible,
.destination-card .card-btn:hover,
.destination-card .card-btn:focus-visible,
.blank-card .card-btn:hover,
.blank-card .card-btn:focus-visible,
.luxury-info-card .card-btn:hover,
.luxury-info-card .card-btn:focus-visible{
  background:var(--gold);
  color:#111;
  border-color:var(--gold);
  transform:translateY(-2px);
  box-shadow:0 16px 35px rgba(0,0,0,.14);
}
.service-card .card-btn:active,
.fleet-card .card-btn:active,
.event-card .card-btn:active,
.destination-card .card-btn:active{
  transform:translateY(0);
}
/* non toccare il bottone preventivo principale */
.quote-btn{
  background:var(--gold);
  color:#0d120f;
  border:1px solid var(--gold);
}

/* Flotta: niente uscita brutta a tutta larghezza, track centrata e piu fine */
.fleet-section{
  overflow:hidden;
}
.fleet-track{
  width:min(1288px,calc(100% - 44px));
  margin:0 auto;
  padding:8px 0 22px;
  gap:24px;
  scroll-padding-left:0;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.fleet-card{
  flex:0 0 calc((100% - 48px) / 3);
  min-width:330px;
  max-width:392px;
  scroll-snap-align:start;
  transition:opacity .35s ease, filter .35s ease, transform .35s ease, box-shadow .35s ease;
}
.fleet-card.is-muted{
  opacity:.42;
  filter:grayscale(.45) saturate(.72);
  transform:scale(.985);
  box-shadow:0 10px 26px rgba(0,0,0,.035);
}
.fleet-card.is-muted .card-btn{
  pointer-events:none;
}
.fleet-card.is-focus{
  opacity:1;
  filter:none;
}
.fleet-card.is-focus:hover{
  transform:translateY(-4px);
}
.fleet-dots{
  gap:10px;
  margin:18px auto 0;
}
.fleet-dot{
  width:8px;
  height:8px;
  border:0;
  background:rgba(184,154,90,.34);
  opacity:1;
  position:relative;
}
.fleet-dot::after{
  content:'';
  position:absolute;
  inset:-8px;
}
.fleet-dot.is-active{
  width:34px;
  background:var(--gold);
}
.fleet-dot:hover{
  background:rgba(184,154,90,.72);
}

/* Entrate morbide, moderne ma non invasive */
.js-reveal{
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .78s cubic-bezier(.22,.8,.24,1),
    transform .78s cubic-bezier(.22,.8,.24,1),
    filter .78s cubic-bezier(.22,.8,.24,1);
  filter:blur(4px);
  transition-delay:var(--reveal-delay,0ms);
}
.js-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
.hero .js-reveal:not(.is-visible){
  transform:translateY(18px);
  filter:blur(3px);
}
.hero .js-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
  filter:blur(0);
}
.mega-link.js-reveal,
.route-card.js-reveal{
  transform:translateY(10px);
  filter:none;
}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .js-reveal,
  .reveal-up,
  .fleet-card,
  .card-btn,
  .fleet-dot{
    transition:none!important;
    transform:none!important;
    filter:none!important;
    opacity:1!important;
  }
}
@media (max-width:1100px){
  .fleet-card{
    flex-basis:calc((100% - 24px) / 2);
  }
}
@media (max-width:760px){
  .fleet-track{
    width:calc(100% - 34px);
    gap:18px;
  }
  .fleet-card{
    flex:0 0 86%;
    min-width:0;
  }
  .fleet-card.is-muted{
    opacity:.72;
    filter:saturate(.85);
  }
}


/* FIX hero reveal: evita titolo sfocato/bottone nascosto dopo animazione JS */
.hero .js-reveal.is-visible,
.hero-content > .js-reveal.is-visible{
  opacity:1 !important;
  transform:translateY(0) !important;
  filter:blur(0) !important;
}
.hero .js-reveal:not(.is-visible){
  filter:blur(3px);
}

/* =========================================================
   PAGINE DETTAGLIO + MODALI PREVENTIVO / CONCIERGE
   ========================================================= */
.quote-btn-button{border:0;cursor:pointer;font-family:'Montserrat','Segoe UI',Arial,sans-serif}.detail-page{padding-top:126px;background:#fff}.detail-hero{width:min(1500px,calc(100% - 54px));margin:34px auto 0;display:grid;grid-template-columns:1.02fr .98fr;min-height:570px;border:1px solid var(--line);border-radius:30px;overflow:hidden;background:#fff;box-shadow:0 22px 58px rgba(0,0,0,.08)}.detail-hero-media{background-size:cover;background-position:center;min-height:520px}.detail-hero-copy{padding:70px 70px 62px;display:flex;flex-direction:column;justify-content:center}.detail-hero-copy h1{font-size:clamp(48px,5vw,86px);line-height:.94;margin:0 0 22px;font-weight:500;color:#151515}.detail-hero-copy p{font-size:18px;line-height:1.8;color:#4c524f;margin:0;max-width:690px}.detail-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.ghost-btn,.text-btn{border:1px solid var(--line);background:#fff;color:#161616;border-radius:10px;padding:15px 22px;text-transform:uppercase;letter-spacing:.11em;font-weight:950;font-size:12px;cursor:pointer}.text-btn{border:0;text-transform:none;letter-spacing:0;text-decoration:underline;text-underline-offset:4px;padding:10px 0;color:var(--gold);background:transparent}.detail-intro{display:grid;grid-template-columns:1.45fr .75fr;gap:42px;padding:80px 0 42px}.detail-copy{font-size:18px;line-height:1.85;color:#2c302e}.detail-copy p{margin:0 0 24px}.detail-highlights{border:1px solid var(--line);border-radius:22px;background:#fbf8f1;padding:30px;align-self:start}.detail-highlights h2{font-size:34px;margin:0 0 18px}.detail-highlights span{display:block;border-top:1px solid var(--line);padding:14px 0;color:#323735;font-weight:650}.detail-blocks{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding:24px 0 80px}.detail-blocks article{border:1px solid var(--line);border-radius:22px;background:#fff;padding:30px;box-shadow:0 12px 34px rgba(0,0,0,.045)}.detail-blocks h2{font-size:31px;line-height:1.05;margin:0 0 14px}.detail-blocks p{color:#555;margin:0}.configurator{padding:40px 0 95px;text-align:center}.config-grid{margin-top:36px;display:grid;grid-template-columns:.75fr 1.25fr;gap:28px;text-align:left}.select-panel{border:1px solid var(--line);border-radius:24px;background:#fbf8f1;padding:32px;display:flex;flex-direction:column;gap:14px}.select-panel label{font-size:12px;text-transform:uppercase;letter-spacing:.15em;font-weight:950;color:var(--gold);margin-top:4px}.select-panel select,.quote-form input,.quote-form textarea,.quote-form select{width:100%;border:1px solid var(--line);border-radius:12px;padding:15px 16px;font:inherit;background:#fff}.courtesy-desc{font-size:14px;color:#59615d;margin:0 0 10px}.mini-fleet-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.mini-car{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 10px 28px rgba(0,0,0,.04);transition:.22s ease}.mini-car:hover{transform:translateY(-4px);box-shadow:0 18px 42px rgba(0,0,0,.10)}.mini-car div{height:150px;background-size:cover;background-position:center}.mini-car strong{display:block;padding:18px 18px 2px;font-size:20px;font-family:'Cormorant Garamond',Georgia,serif}.mini-car small{display:block;padding:0 18px 18px;color:#6c7470}.detail-cta{margin-bottom:40px}.detail-vehicle .detail-hero-copy{background:#fbf8f1}.detail-concierge .detail-hero{grid-template-columns:.9fr 1.1fr}.modal-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.56);z-index:1990;backdrop-filter:blur(4px)}.quote-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:28px;overflow:auto}.quote-modal[hidden],.modal-backdrop[hidden]{display:none!important}.quote-modal-card{position:relative;width:min(920px,100%);max-height:calc(100vh - 56px);overflow:auto;background:#fff;border:1px solid var(--line);border-radius:28px;box-shadow:0 35px 90px rgba(0,0,0,.28);padding:42px}.quote-modal-card.wide{width:min(1040px,100%)}.quote-modal-card h2{font-size:clamp(38px,4vw,62px);line-height:1;margin:14px 0 12px}.quote-modal-card p{color:#59615d}.modal-close{position:absolute;right:20px;top:18px;width:42px;height:42px;border-radius:999px;border:1px solid var(--line);background:#fff;font-size:30px;line-height:1;cursor:pointer}.quote-form{display:grid;gap:14px;margin-top:24px}.quote-form textarea{min-height:130px;resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.modal-form .dark-btn{border:0;cursor:pointer}.mail-status{font-size:13px;color:#59615d;margin-top:6px}.contact-direct{display:grid;gap:10px;margin-top:20px}.contact-direct a{font-weight:800;color:var(--gold)}
@media(max-width:1050px){.detail-hero,.detail-intro,.config-grid{grid-template-columns:1fr}.detail-hero-copy{padding:46px 34px}.detail-blocks{grid-template-columns:1fr}.mini-fleet-grid{grid-template-columns:1fr 1fr}.detail-page{padding-top:105px}}
@media(max-width:720px){.detail-hero{width:calc(100% - 28px);border-radius:22px}.detail-hero-media{min-height:320px}.detail-hero-copy h1{font-size:44px}.form-row,.mini-fleet-grid{grid-template-columns:1fr}.quote-modal{padding:14px}.quote-modal-card{padding:30px 20px}.detail-actions{flex-direction:column}.detail-actions .dark-btn,.detail-actions .ghost-btn{width:100%}.detail-intro{padding-top:46px}}

/* === Patch pagine interne, flotta e concierge === */
.detail-page { background: #f7f4ef; color: #17130f; }
.detail-hero { position: relative; min-height: 72vh; display: grid; grid-template-columns: 1.05fr .95fr; align-items: stretch; overflow: hidden; background: #14110d; }
.detail-hero-media { min-height: 520px; background-size: cover; background-position: center; filter: saturate(.95); }
.detail-hero-copy { padding: clamp(90px, 10vw, 140px) clamp(28px, 6vw, 90px) 70px; color: #fff; display: flex; flex-direction: column; justify-content: center; background: radial-gradient(circle at 20% 20%, rgba(191,151,91,.18), transparent 30%), linear-gradient(135deg, #15110d, #272017); }
.breadcrumbs { font-size: .74rem; letter-spacing: .18em; text-transform: uppercase; color: rgba(255,255,255,.62); margin-bottom: 18px; }
.detail-hero h1 { font-family: 'Cormorant Garamond', serif; font-size: clamp(3rem, 6vw, 6.8rem); line-height: .9; font-weight: 600; margin: 0 0 24px; color: #f7ead3; }
.detail-hero p { max-width: 740px; font-size: clamp(1.02rem, 1.5vw, 1.28rem); line-height: 1.75; color: rgba(255,255,255,.78); }
.detail-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.container { width: min(1180px, calc(100% - 42px)); margin-inline: auto; }
.detail-intro { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 42px; padding: 78px 0 34px; }
.detail-copy { font-size: 1.08rem; line-height: 1.9; color: #373029; }
.detail-copy p { margin: 0 0 22px; }
.detail-highlights { background: #fff; border: 1px solid rgba(65,48,28,.1); border-radius: 28px; padding: 28px; box-shadow: 0 22px 60px rgba(41,30,18,.08); align-self: start; }
.detail-highlights h2 { margin: 0 0 18px; font-family: 'Cormorant Garamond', serif; font-size: 2rem; }
.detail-highlights span { display: block; padding: 13px 0; border-bottom: 1px solid rgba(0,0,0,.07); color: #4b433b; }
.detail-highlights span:before { content: '✓'; color: #aa7b36; margin-right: 10px; }
.detail-blocks { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding: 26px 0 70px; }
.detail-blocks article, .service-flow div, .story-panel, .vehicle-card-rich, .select-panel, .mini-car, .concierge-copy, .concierge-tiles div { background: #fff; border: 1px solid rgba(65,48,28,.1); box-shadow: 0 18px 45px rgba(41,30,18,.07); }
.detail-blocks article { border-radius: 24px; padding: 28px; }
.detail-blocks h2, .service-flow h3, .story-panel h2, .vehicle-card-rich h3 { font-family: 'Cormorant Garamond', serif; font-size: 1.85rem; margin: 0 0 12px; color: #211914; }
.detail-blocks p, .service-flow p, .story-panel p, .vehicle-card-rich p { line-height: 1.72; color: #62574d; }
.service-flow { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding: 0 0 78px; }
.service-flow div { border-radius: 26px; padding: 30px; }
.service-flow span, .story-panel span { display: inline-flex; width: 42px; height: 42px; border-radius: 999px; align-items: center; justify-content: center; background: #19140f; color: #e7c17d; margin-bottom: 16px; font-weight: 700; }
.split-story { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; padding: 0 0 78px; }
.story-panel { border-radius: 28px; padding: 32px; }
.story-panel.dark { background: #18130f; color: #fff; }
.story-panel.dark h2 { color: #f5dfb8; }
.story-panel.dark p { color: rgba(255,255,255,.75); }
.concierge-deep { display: grid; grid-template-columns: 1.15fr .85fr; gap: 22px; padding: 0 0 78px; }
.concierge-copy { border-radius: 32px; padding: clamp(30px,5vw,56px); }
.concierge-copy h2 { font-family: 'Cormorant Garamond', serif; font-size: clamp(2.3rem,4vw,4.2rem); line-height: 1; margin: 8px 0 22px; }
.concierge-copy p { line-height: 1.84; color: #574d43; }
.concierge-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.concierge-tiles div { border-radius: 26px; padding: 28px; display: flex; flex-direction: column; justify-content: end; min-height: 180px; }
.concierge-tiles strong { font-family: 'Cormorant Garamond', serif; font-size: 2rem; color: #2a211a; }
.concierge-tiles span { color: #6d6258; }
.configurator { padding: 0 0 86px; }
.config-grid { display: grid; grid-template-columns: 390px 1fr; gap: 24px; align-items: start; }
.select-panel { border-radius: 30px; padding: 28px; position: sticky; top: 92px; }
.select-panel label { display: block; font-weight: 700; color: #271f18; margin: 16px 0 8px; }
.select-panel select, .modal-form input, .modal-form select, .modal-form textarea { width: 100%; border: 1px solid rgba(46,34,22,.16); border-radius: 16px; padding: 14px 16px; background: #fbfaf7; color: #221b15; font-family: inherit; }
.courtesy-desc { background: #f3eee6; border-left: 3px solid #b88945; padding: 16px; border-radius: 16px; line-height: 1.6; color: #5e5349; }
.mini-fleet-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 15px; }
.mini-car { border-radius: 24px; padding: 14px; text-decoration: none; color: inherit; transition: transform .2s ease, box-shadow .2s ease; }
.mini-car:hover { transform: translateY(-3px); box-shadow: 0 22px 60px rgba(41,30,18,.14); }
.mini-car div { height: 165px; border-radius: 18px; background-size: cover; background-position: center; margin-bottom: 14px; }
.mini-car strong { display: block; font-family: 'Cormorant Garamond', serif; font-size: 1.55rem; }
.mini-car small { color: #756a60; }
.fleet-detail-showcase { padding: 0 0 78px; }
.vehicle-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
.vehicle-card-rich { border-radius: 32px; overflow: hidden; display: grid; grid-template-columns: 44% 1fr; }
.vehicle-img { min-height: 280px; background-size: cover; background-position: center; }
.vehicle-card-body { padding: 28px; }
.vehicle-card-body small { letter-spacing: .12em; text-transform: uppercase; color: #a07335; font-weight: 700; font-size: .72rem; }
.vehicle-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 16px; }
.quote-modal[hidden], .modal-backdrop[hidden] { display: none !important; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(15,12,9,.58); backdrop-filter: blur(6px); z-index: 90; }
.quote-modal { position: fixed; inset: 0; display: grid; place-items: center; padding: 24px; z-index: 100; overflow: auto; }
.quote-modal-card { width: min(760px, 100%); background: #fffaf3; border-radius: 30px; padding: clamp(26px,4vw,42px); position: relative; box-shadow: 0 35px 110px rgba(0,0,0,.3); }
.quote-modal-card.wide { width: min(940px, 100%); }
.quote-modal-card h2 { font-family: 'Cormorant Garamond', serif; font-size: 3rem; margin: 4px 0 10px; }
.modal-close { position: absolute; top: 18px; right: 18px; width: 42px; height: 42px; border-radius: 999px; border: 0; background: #1b1510; color: #fff; font-size: 26px; cursor: pointer; }
.form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.modal-form textarea { min-height: 130px; resize: vertical; margin-bottom: 14px; }
.mail-status { margin: 12px 0 0; color: #6b5f54; line-height: 1.5; }
@media (max-width: 900px) {
  .detail-hero, .detail-intro, .config-grid, .concierge-deep { grid-template-columns: 1fr; }
  .detail-hero-media { min-height: 330px; }
  .detail-blocks, .service-flow, .split-story, .vehicle-card-grid, .mini-fleet-grid { grid-template-columns: 1fr; }
  .vehicle-card-rich { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .select-panel { position: static; }
}

/* =========================================================
   AB SERVICE - pagine interne differenziate v2
   Queste regole separano visivamente servizi, esperienze,
   destinazioni, flotta, vetture e pagine istituzionali.
   ========================================================= */
.service-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:44px;padding:86px 0 36px;align-items:start}.service-main-copy{font-size:1.06rem;line-height:1.9;color:#333}.service-main-copy p+p{margin-top:22px}.service-summary-card,.institutional-layout aside{background:#101010;color:#fff;border-radius:28px;padding:32px;box-shadow:0 25px 60px rgba(0,0,0,.18);position:sticky;top:100px}.service-summary-card h2,.institutional-layout aside h2{font-family:'Cormorant Garamond',serif;font-size:2rem;margin-bottom:18px}.service-summary-card span,.institutional-layout aside span{display:block;border-top:1px solid rgba(255,255,255,.14);padding:14px 0;color:rgba(255,255,255,.84)}.service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:34px 0 76px}.service-steps article{border:1px solid rgba(0,0,0,.08);border-radius:26px;padding:28px;background:#fff;box-shadow:0 18px 50px rgba(0,0,0,.06)}.service-steps strong{display:block;color:#a98552;letter-spacing:.22em;margin-bottom:34px}.service-steps h3{font-family:'Cormorant Garamond',serif;font-size:1.9rem}.service-steps p{line-height:1.75;color:#555}.service-choice-band{background:#f5efe7;padding:64px 0;margin:20px 0 70px}.service-choice-band h2{font-family:'Cormorant Garamond',serif;font-size:2.8rem;max-width:820px}.service-choice-band p{max-width:760px;color:#5f5750;line-height:1.8}
.airport-board{display:grid;grid-template-columns:1.2fr .8fr;gap:34px;padding:86px 0 40px}.airport-board-copy{background:#f7f2eb;border-radius:32px;padding:42px}.airport-board-copy h2{font-family:'Cormorant Garamond',serif;font-size:2.8rem}.airport-board-copy p{line-height:1.85;color:#514b45}.airport-board-panel{display:grid;grid-template-columns:1fr 1fr;gap:14px}.airport-board-panel div{background:#111;color:#fff;border-radius:24px;padding:26px;min-height:150px;display:flex;flex-direction:column;justify-content:space-between}.airport-board-panel small{color:#b89666;letter-spacing:.2em}.airport-board-panel strong{font-family:'Cormorant Garamond',serif;font-size:1.55rem}.airport-route-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:24px 0 70px}.airport-route-cards article{border-left:4px solid #b89666;background:#fff;padding:26px;border-radius:0 24px 24px 0;box-shadow:0 16px 50px rgba(0,0,0,.05)}.airport-route-cards h3{font-family:'Cormorant Garamond',serif;font-size:1.7rem}.airport-route-cards p{color:#555;line-height:1.75}
.combined-map{display:grid;grid-template-columns:1fr auto 1fr;gap:22px;align-items:stretch;padding:86px 0 38px}.combined-leg{background:#f7f2eb;border-radius:34px;padding:42px;min-height:320px}.combined-leg.primary{background:#111;color:#fff}.combined-leg span{display:block;color:#b89666;letter-spacing:.18em;text-transform:uppercase;font-size:.75rem}.combined-leg h2{font-family:'Cormorant Garamond',serif;font-size:2.6rem}.combined-leg p{line-height:1.8;color:inherit;opacity:.82}.combined-link{width:74px;height:74px;border-radius:999px;background:#b89666;color:#fff;display:grid;place-items:center;font-size:2.5rem;align-self:center;box-shadow:0 15px 45px rgba(184,150,102,.35)}.combined-timeline{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:28px 0 40px}.combined-timeline article{background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:28px;padding:28px}.combined-timeline span{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#f0e5d8;color:#6b4d28;margin-bottom:20px}.combined-timeline h3{font-family:'Cormorant Garamond',serif;font-size:1.8rem}.combined-note{background:#111;color:#fff;border-radius:32px;padding:36px;margin-bottom:78px}.combined-note p{font-size:1.1rem;line-height:1.8;max-width:900px}.combined-note em{display:inline-flex;margin:8px 8px 0 0;border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:9px 14px;font-style:normal;color:rgba(255,255,255,.82)}
.experience-editorial{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;padding:90px 0 36px;align-items:center}.experience-image-stack{display:grid;grid-template-columns:1fr 1fr;gap:16px}.experience-image-stack div{border-radius:32px;background-size:cover;background-position:center;min-height:430px}.experience-image-stack div:nth-child(2){margin-top:62px;min-height:330px;filter:saturate(.86)}.experience-copy p{font-size:1.07rem;line-height:1.95;color:#3b3732}.experience-itinerary{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:30px 0}.experience-itinerary article{background:#f7f2eb;border-radius:28px;padding:28px}.experience-itinerary small{color:#a98552;letter-spacing:.17em;text-transform:uppercase}.experience-itinerary h3{font-family:'Cormorant Garamond',serif;font-size:1.9rem}.experience-itinerary p{line-height:1.75;color:#57524d}.experience-moodboard{display:flex;flex-wrap:wrap;gap:12px;padding:22px 0 76px}.experience-moodboard div{border:1px solid rgba(0,0,0,.08);border-radius:999px;padding:13px 18px;background:#fff;box-shadow:0 12px 38px rgba(0,0,0,.04)}
.destination-feature{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;padding:88px 0 42px;align-items:center}.destination-big-photo{min-height:540px;border-radius:38px;background-size:cover;background-position:center;box-shadow:0 28px 70px rgba(0,0,0,.18)}.destination-text h2{font-family:'Cormorant Garamond',serif;font-size:3rem}.destination-text p{line-height:1.9;color:#4d4842}.destination-routes{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:26px 0}.destination-routes article{background:#111;color:#fff;border-radius:28px;padding:30px;min-height:260px}.destination-routes h3{font-family:'Cormorant Garamond',serif;font-size:1.9rem}.destination-routes p{color:rgba(255,255,255,.76);line-height:1.72}.destination-routes .text-btn{color:#d7b57d}.destination-highlights{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:20px 0 76px}.destination-highlights span{background:#f5efe7;border-radius:22px;padding:18px;line-height:1.55;color:#4b4238}
.concierge-hero-pro{position:relative;min-height:78vh;display:flex;align-items:center;overflow:hidden}.concierge-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.45)}.concierge-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.22))}.concierge-hero-inner{position:relative;color:#fff;padding:120px 0}.concierge-hero-inner h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6.8rem);max-width:920px;line-height:.95}.concierge-hero-inner p{max-width:720px;font-size:1.13rem;line-height:1.8;color:rgba(255,255,255,.82)}.concierge-command{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;padding:88px 0 34px}.concierge-command h2{font-family:'Cormorant Garamond',serif;font-size:3.1rem}.concierge-command p{line-height:1.88;color:#48433d}.concierge-command aside{display:grid;gap:12px}.concierge-command aside span{background:#111;color:#fff;border-radius:22px;padding:18px}.concierge-modules{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:26px 0 80px}.concierge-modules article{border-radius:30px;background:#f7f2eb;padding:30px}.concierge-modules h3{font-family:'Cormorant Garamond',serif;font-size:1.95rem}.concierge-modules p{line-height:1.75;color:#575049}
.fleet-catalog-hero{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:90px 0 52px}.fleet-catalog-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,6vw,5.8rem);line-height:.95}.fleet-catalog-hero p{font-size:1.1rem;line-height:1.85;color:#4f4943}.fleet-catalog-cover{min-height:520px;border-radius:40px;background-size:cover;background-position:center;box-shadow:0 28px 70px rgba(0,0,0,.18)}.fleet-catalog-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;padding:24px 0 88px}.fleet-catalog-card{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:32px;padding:18px;box-shadow:0 18px 55px rgba(0,0,0,.06)}.fleet-catalog-img{min-height:260px;border-radius:24px;background-size:cover;background-position:center}.fleet-catalog-card small{color:#a98552;letter-spacing:.08em;text-transform:uppercase}.fleet-catalog-card h2{font-family:'Cormorant Garamond',serif;font-size:2.1rem}.fleet-catalog-card p{line-height:1.72;color:#555}.vehicle-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.card-btn{display:inline-flex;align-items:center;border-radius:999px;background:#111;color:#fff!important;padding:11px 16px;text-decoration:none}
.vehicle-detail-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;align-items:center;padding:86px 0 44px}.vehicle-gallery-main{min-height:540px;border-radius:38px;background-size:cover;background-position:center;position:relative;box-shadow:0 30px 80px rgba(0,0,0,.2);overflow:hidden}.vehicle-gallery-main span,.vehicle-gallery-thumbs span{position:absolute;left:16px;bottom:14px;background:rgba(0,0,0,.62);color:#fff;border-radius:999px;padding:7px 12px;font-size:.78rem}.vehicle-gallery-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.vehicle-gallery-thumbs button{min-height:118px;border:0;border-radius:22px;background-size:cover;background-position:center;position:relative;overflow:hidden;cursor:pointer}.gallery-placeholder{background:linear-gradient(135deg,#eee6dc,#151515)!important}.vehicle-spec-panel{background:#111;color:#fff;border-radius:40px;padding:42px}.vehicle-spec-panel h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,5vw,5.2rem);line-height:.98}.vehicle-spec-panel p{line-height:1.82;color:rgba(255,255,255,.78)}.vehicle-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:28px 0}.vehicle-specs div{background:rgba(255,255,255,.08);border-radius:18px;padding:15px}.vehicle-specs small{display:block;color:#c8a46e;font-size:.72rem}.vehicle-specs strong{display:block;margin-top:6px;font-size:.92rem}.vehicle-story{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;padding:36px 0}.vehicle-story p{font-size:1.06rem;line-height:1.9;color:#3d3934}.vehicle-story aside{display:grid;gap:10px}.vehicle-story aside span{background:#f7f2eb;border-radius:20px;padding:16px;line-height:1.55}.vehicle-use-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:24px 0 48px}.vehicle-use-cases article{border:1px solid rgba(0,0,0,.08);border-radius:26px;padding:28px;background:#fff}.vehicle-use-cases h3{font-family:'Cormorant Garamond',serif;font-size:1.8rem}.vehicle-use-cases p{line-height:1.72;color:#555}.vehicle-gallery-note{background:#f5efe7;border-radius:32px;padding:34px;margin-bottom:60px}.vehicle-gallery-note h2{font-family:'Cormorant Garamond',serif;font-size:2.4rem}.vehicle-gallery-note p{line-height:1.8;color:#554b41}
.institutional-hero{padding:100px 0 44px;text-align:center}.institutional-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,7vw,6rem);line-height:.95;max-width:920px;margin:0 auto 22px}.institutional-hero p{max-width:780px;margin:auto;line-height:1.85;color:#524c46}.institutional-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:44px;padding:30px 0}.institutional-layout article{background:#fff;border-radius:34px;padding:42px;box-shadow:0 18px 55px rgba(0,0,0,.05)}.institutional-layout article p{font-size:1.06rem;line-height:1.92;color:#45403b}.institutional-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:26px 0 90px}.institutional-cards div{background:#f7f2eb;border-radius:28px;padding:28px}.institutional-cards h3{font-family:'Cormorant Garamond',serif;font-size:1.85rem}.institutional-cards p{line-height:1.72;color:#57524d}
@media(max-width:980px){.service-layout,.airport-board,.combined-map,.experience-editorial,.destination-feature,.concierge-command,.fleet-catalog-hero,.vehicle-detail-hero,.vehicle-story,.institutional-layout{grid-template-columns:1fr}.combined-map{gap:12px}.combined-link{margin:auto}.service-steps,.airport-route-cards,.combined-timeline,.experience-itinerary,.destination-routes,.concierge-modules,.vehicle-use-cases,.institutional-cards{grid-template-columns:1fr}.destination-highlights{grid-template-columns:1fr 1fr}.fleet-catalog-grid{grid-template-columns:1fr}.fleet-catalog-card{grid-template-columns:1fr}.vehicle-gallery-thumbs{grid-template-columns:1fr 1fr}.service-summary-card,.institutional-layout aside{position:static}.destination-big-photo,.fleet-catalog-cover,.vehicle-gallery-main{min-height:360px}}
@media(max-width:620px){.destination-highlights,.vehicle-specs{grid-template-columns:1fr}.service-layout,.airport-board,.experience-editorial,.destination-feature,.concierge-command,.fleet-catalog-hero,.vehicle-detail-hero,.institutional-layout{padding-top:56px}.fleet-catalog-card,.vehicle-spec-panel,.institutional-layout article{padding:24px}.combined-leg{padding:28px}.concierge-hero-inner{padding:90px 0}.vehicle-gallery-thumbs{grid-template-columns:1fr}}


/* Icone definitive AB Service */
.mega-icon-png{width:42px;height:42px;overflow:hidden;padding:5px;background:#f5f1e8;border:1px solid rgba(185,150,102,.24);border-radius:10px;box-shadow:0 8px 20px rgba(65,48,28,.045);font-size:0}
.mega-icon-png img{width:100%;height:100%;object-fit:contain;display:block}
.card-service-icon,.event-service-icon{width:74px;height:74px;border-radius:20px;background:#f3ece4;border:1px solid rgba(185,150,102,.24);display:grid;place-items:center;margin:0 0 18px;padding:7px;box-shadow:0 10px 24px rgba(65,48,28,.05);overflow:hidden}
.card-service-icon img,.event-service-icon img{width:100%;height:100%;object-fit:contain;display:block}
.service-card-content .card-service-icon{margin-top:-2px}
.event-service-icon{width:64px;height:64px;border-radius:18px;margin-bottom:16px;padding:6px}
.commit-icon-png{padding:6px;overflow:hidden;font-size:0}
.commit-icon-png img{width:100%;height:100%;object-fit:contain;display:block}
.review-pill-icon{gap:12px}
.review-icon-png{width:46px;height:46px;border-radius:12px;background:#f3ece4;border:1px solid rgba(185,150,102,.24);display:grid;place-items:center;padding:5px;margin:-4px 2px -4px -4px;overflow:hidden}
.review-icon-png img{width:100%;height:100%;object-fit:contain;display:block}
.detail-page-icon{width:96px;height:96px;border-radius:26px;background:#f3ece4;border:1px solid rgba(185,150,102,.25);display:grid;place-items:center;padding:9px;margin:0 0 24px;box-shadow:0 18px 45px rgba(65,48,28,.08);overflow:hidden}
.detail-page-icon img{width:100%;height:100%;object-fit:contain;display:block}
.concierge-page-icon{background:rgba(255,255,255,.93)}
.institutional-page-icon{margin-left:auto;margin-right:auto}
@media(max-width:720px){.mega-icon-png{width:40px;height:40px;padding:4px}.card-service-icon,.event-service-icon{width:62px;height:62px;padding:6px}.event-service-icon{width:56px;height:56px;padding:5px}.detail-page-icon{width:82px;height:82px;border-radius:22px;padding:8px}}


/* Icone: visibili solo nel mega menu */
.service-card-content .card-service-icon,
.commit-card .commit-icon-png,
.event-service-icon,
.review-icon-png,
.detail-page-icon{display:none!important}
.commit-card{gap:0}
.review-pill-icon{gap:10px}

/* PATCH REVISIONE CLIENTE - HOME + MEGA MENU */
.nav-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  white-space:nowrap;
}
.nav-link span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-left:0;
  line-height:1;
  transform:translateY(-1px);
}
.included-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px 12px;
  align-items:start;
}
.included-grid span{
  display:flex;
  align-items:flex-start;
  line-height:1.25;
  min-width:0;
}
.included-grid span:before{
  flex:0 0 auto;
}
.mega-menu[data-mega-panel="chi-siamo"] .mega-panel-card p{
  max-width:340px;
  line-height:1.65;
}
@media (min-width:1101px){
  .mega-menu[data-mega-panel="chi-siamo"] .mega-inner{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:1100px){
  .nav-link{
    justify-content:flex-start;
  }
}


/* =========================================================
   PATCH MODIFICHE 12/06 - HOME, MENU, ICONE
   ========================================================= */
.brand-logo{
  height:60px;
  max-width:330px;
  filter:contrast(1.18) saturate(1.12);
}
.footer-logo{
  width:min(200px,100%);
  height:auto;
  margin:0 0 22px;
  filter:contrast(1.18) saturate(1.12);
}
.footer-brand h2{
  margin-top:0;
}
.mega-icon-png img{
  width:26px;
  height:26px;
  object-fit:contain;
  display:block;
}
.mega-panel-card small{
  display:none;
}
.mega-panel-card strong{
  color:#fff;
  margin-top:0;
  max-width:280px;
}
.service-card p,
.event-card p,
.commit-card p,
.fleet-body,
.luxury-info-card p,
.detail-copy,
.detail-blocks p{
  text-align:left !important;
  hyphens:auto;
}
.service-card p,
.event-card p{
  font-size:15px;
  line-height:1.62;
  min-height:auto;
}
.event-grid{
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
}
.big-cta h2{
  font-size:clamp(30px,3.15vw,52px);
  line-height:1.12;
}
.fleet-specs span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.fleet-spec-icon{
  width:22px;
  height:22px;
  object-fit:contain;
  flex:0 0 auto;
}
.included-grid span:first-child{
  grid-column:1 / -1;
}
@media (max-width:1100px){
  .brand-logo{height:50px;max-width:250px;}
}
@media (max-width:760px){
  .brand-logo{height:44px;max-width:205px;}
  .footer-logo{width:180px;}
}


/* PATCH HOME FLOTTA - elenco incluso a bordo più ordinato */
.fleet-card .fleet-body{
  display:flex;
  flex-direction:column;
}
.fleet-card .included{
  margin-bottom:18px;
}
.fleet-card .included-grid-balanced{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 18px;
  margin-top:12px;
}
.fleet-card .included-grid-balanced .included-wide{
  grid-column:1 / -1;
}
.fleet-card .included-grid-balanced .included-col{
  display:grid;
  gap:8px;
  align-content:start;
}
.fleet-card .included-grid-balanced span{
  display:flex;
  align-items:flex-start;
  line-height:1.25;
  min-width:0;
}
.fleet-card .included-grid-balanced span:before{
  content:'✓';
  color:var(--gold);
  margin-right:8px;
  flex:0 0 auto;
}
.fleet-card .included-grid-balanced .included-col span:first-child{
  grid-column:auto;
}
.fleet-card .card-btn{
  width:100%;
  margin-top:auto;
}
@media(max-width:420px){
  .fleet-card .included-grid-balanced{
    grid-template-columns:1fr;
  }
  .fleet-card .included-grid-balanced .included-wide{
    grid-column:auto;
  }
}


/* PATCH v3 - logo footer/header + frecce menu rimosse */
.nav-link span{display:none !important;}
.brand-logo,.footer-logo{background:transparent !important;}

/* PATCH v4 - header logo grande, footer logo piccolo trasparente */
.site-header .brand-logo{
  height:60px;
  max-width:330px;
}
.site-footer .footer-logo{
  width:min(200px,100%);
  max-width:200px;
  height:auto;
  background:transparent !important;
}





/* PATCH v7 - eventi tutti e 5 su una riga come da mockup */
@media (min-width: 1400px){
  .events-section .container{
    width:min(1700px, calc(100% - 44px));
  }
  .events-section .event-grid{
    display:grid !important;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap:20px;
    justify-content:center;
    align-items:stretch;
    margin-left:auto;
    margin-right:auto;
    overflow:visible;
  }
  .events-section .event-card{
    min-width:0;
    width:100%;
  }
  .events-section .event-card .card-img{
    height:185px;
  }
  .events-section .event-card h3{
    font-size:22px;
  }
  .events-section .event-card p{
    font-size:14px;
    line-height:1.5;
  }
  .events-section .event-card .card-btn{
    padding:15px 18px;
  }
  .destination-track{
    justify-content:center;
    padding-left:0;
    padding-right:0;
  }
}

@media (min-width: 901px) and (max-width: 1399px){
  .events-section .event-grid{
    display:grid !important;
    grid-template-columns:repeat(auto-fit, minmax(240px, 300px));
    justify-content:center;
    gap:24px;
  }
}

@media (max-width: 1350px){
  .destination-track{
    justify-content:flex-start;
    padding-left:6vw;
    padding-right:6vw;
  }
}

@media (max-width: 900px){
  .events-section .event-grid{
    display:grid !important;
    grid-template-columns:1fr;
    gap:22px;
  }
}

/* PATCH v8 - modifiche sezione servizi 15/06 */
.detail-hero-clean .detail-hero-copy{
  padding-top:clamp(82px, 9vw, 128px);
}
.detail-hero-clean .detail-primary-cta{
  background:#fff;
  color:#111 !important;
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 16px 34px rgba(255,255,255,.08);
}
.service-layout-no-aside{
  grid-template-columns:minmax(0, 880px);
  justify-content:center;
  padding-bottom:20px;
}
.service-layout-no-aside .service-main-copy{
  max-width:880px;
}
.airport-board-simple{
  display:block;
  max-width:980px;
  padding-bottom:26px;
}
.airport-board-simple .airport-board-copy{
  padding:48px 54px;
}
.airport-route-cards article,
.service-steps-strip article{
  position:relative;
  border-left:0;
  border-radius:0 24px 24px 0;
  overflow:hidden;
}
.airport-route-cards article::before,
.service-steps-strip article::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:#6b4d28;
}
.service-steps-strip article{
  padding-left:32px;
}
.service-steps-strip h3{
  margin-top:0;
}
.configurator-compact-fleet .config-grid{
  grid-template-columns:340px 1fr;
}
.configurator-compact-fleet .mini-fleet-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.included-note{
  margin:18px 0 18px;
  padding:16px 16px;
  border:1px solid rgba(46,34,22,.12);
  border-radius:18px;
  background:#fbfaf7;
}
.included-note strong{
  display:block;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.12em;
  font-size:11px;
  margin-bottom:8px;
}
.included-note p{
  margin:0;
  color:#50483f;
  line-height:1.58;
  font-size:14px;
}
.fleet-full-link{
  display:inline-flex;
  justify-content:center;
  align-items:center;
  margin:22px auto 0;
  min-width:260px;
  border-radius:999px;
  background:#111;
  color:#fff !important;
  padding:15px 24px;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-weight:950;
  font-size:12px;
}
.configurator-compact-fleet .text-btn{
  margin-top:12px;
}
@media(max-width:980px){
  .configurator-compact-fleet .config-grid,
  .configurator-compact-fleet .mini-fleet-grid{
    grid-template-columns:1fr;
  }
  .airport-board-simple .airport-board-copy{
    padding:34px 26px;
  }
}
.form-row-single{
  grid-template-columns:1fr;
}


/* PATCH v9 - chiarimento PDF 15/06:
   nelle hero di Transfer aeroportuale, Transfer singolo e Auto a disposizione
   "Richiedi preventivo" deve essere un bottone bianco, non solo testo bianco. */


/* PATCH v10 - modifiche servizi luxury 16/06 */
.service-section-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2rem,4vw,3rem);
  line-height:1.05;
  margin:0 0 20px;
  color:#1d1915;
}
.combined-timeline-strip article,
.experience-itinerary-strip article{
  position:relative;
  border-left:0;
  border-radius:0 24px 24px 0;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 50px rgba(0,0,0,.06);
}
.combined-timeline-strip article::before,
.experience-itinerary-strip article::before{
  content:'';
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:#6b4d28;
}
.combined-timeline-strip article,
.experience-itinerary-strip article{
  padding-left:32px;
}
.combined-timeline-strip h3,
.experience-itinerary-strip h3{
  margin-top:0;
}
.combined-timeline-strip span,
.experience-itinerary-strip small{
  display:none;
}
.experience-itinerary-strip article{
  background:#fff;
}


/* PATCH v11 - hero interne uniformate + corporate 16/06 */
.detail-hero-global-clean .detail-hero-copy{
  padding-top:clamp(82px, 9vw, 128px);
}
.detail-hero .detail-primary-cta,
.detail-hero-clean .detail-primary-cta,
.detail-hero-global-clean .detail-primary-cta{
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(255,255,255,.88) !important;
  box-shadow:0 16px 34px rgba(255,255,255,.08);
}
.service-summary-card h2{
  text-transform:none;
}
.detail-hero .ghost-btn{
  display:none !important;
}


/* PATCH v12 - hero: solo Richiesta su misura bianco */
.detail-hero .detail-custom-cta{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(255,255,255,.88) !important;
  border-radius:10px;
  padding:16px 24px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
  font-size:12px;
  box-shadow:0 16px 34px rgba(255,255,255,.08);
}
.detail-hero .detail-primary-cta{
  display:none !important;
}


/* PATCH v13 - CTA hero unica, bianca, senza richiedi preventivo */
.detail-hero .detail-custom-cta,
.concierge-hero-inner .detail-custom-cta,
.fleet-catalog-hero .detail-custom-cta,
.vehicle-spec-panel .detail-custom-cta{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(255,255,255,.88) !important;
  border-radius:10px;
  padding:16px 24px;
  text-transform:uppercase;
  letter-spacing:.12em;
  font-weight:950;
  font-size:12px;
  box-shadow:0 16px 34px rgba(255,255,255,.08);
}
.detail-hero .detail-primary-cta,
.detail-hero .dark-btn.detail-primary-cta{
  display:none !important;
}

/* PATCH MENU DESTINAZIONI - card compatte come versione leader */
.mega-menu[data-mega-panel="destinazioni"] .route-list{
  gap:12px;
}
.mega-menu[data-mega-panel="destinazioni"] .route-card{
  position:relative;
  overflow:hidden;
  min-height:92px;
  padding:18px 18px 17px 20px;
  background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(250,247,241,.86));
  border:1px solid rgba(196,162,92,.28);
  border-left:3px solid var(--gold);
  border-radius:14px;
  box-shadow:0 12px 28px rgba(0,0,0,.035);
  align-items:flex-start;
  flex-direction:column;
  justify-content:space-between;
}
.mega-menu[data-mega-panel="destinazioni"] .route-card::after{
  content:'';
  position:absolute;
  right:-38px;
  top:-44px;
  width:120px;
  height:120px;
  border-radius:999px;
  background:rgba(196,162,92,.08);
  pointer-events:none;
}
.mega-menu[data-mega-panel="destinazioni"] .route-card strong{
  display:block;
  font-size:16px;
  letter-spacing:.01em;
}
.mega-menu[data-mega-panel="destinazioni"] .route-card small{
  margin-top:5px;
  max-width:320px;
  line-height:1.35;
  color:#7b8782;
}
.mega-menu[data-mega-panel="destinazioni"] .route-card em{
  align-self:flex-start;
  min-width:auto;
  padding:7px 11px;
  border-radius:999px;
  background:#f4ecdd;
  color:var(--gold);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
@media (min-width:1101px){
  .mega-menu[data-mega-panel="destinazioni"] .mega-inner{
    width:min(1820px,calc(100% - 76px));
    max-width:none;
    grid-template-columns:repeat(2,464px);
    justify-content:center;
    gap:58px;
    padding:38px 70px;
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col{
    padding-right:0;
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:first-child{
    padding-right:28px;
  }
  .mega-menu[data-mega-panel="destinazioni"] .route-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:1100px){
  .mega-menu[data-mega-panel="destinazioni"] .mega-inner{
    grid-template-columns:1fr 1fr;
  }
  .mega-menu[data-mega-panel="destinazioni"] .route-list{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  .mega-menu[data-mega-panel="destinazioni"] .mega-inner{
    grid-template-columns:1fr;
  }
}


/* PATCH v14 - richieste finali 17/06: riga laterale card in oro sito */
.airport-route-cards article::before,
.service-steps-strip article::before,
.combined-timeline-strip article::before,
.experience-itinerary-strip article::before{
  background:var(--gold) !important;
}

/* Modifiche 18/06: striscia scura solo nelle cinque pagine Eventi aggiornate. */
.service-steps-strip.event-dark-strip article::before,
.experience-itinerary-strip.event-dark-strip article::before{
  background:#6b4d28 !important;
}

/* Modifiche Flotta 19/06: schede categoria e galleria principale. */
.vehicle-story-no-aside{
  grid-template-columns:1fr;
}
.vehicle-use-cases-strip article{
  padding-left:32px;
}
.vehicle-gallery-main .vehicle-gallery-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
  background:rgba(0,0,0,.58);
  color:#fff;
  display:grid;
  place-items:center;
  font-size:30px;
  line-height:1;
  cursor:pointer;
  z-index:2;
}
.vehicle-gallery-main .vehicle-gallery-prev{left:18px}
.vehicle-gallery-main .vehicle-gallery-next{right:18px}
.vehicle-gallery-main .vehicle-gallery-arrow:disabled{
  opacity:.28;
  cursor:default;
}
@media(max-width:620px){
  .vehicle-gallery-main .vehicle-gallery-arrow{width:40px;height:40px;font-size:26px}
}

/* PATCH PDF 03/07 - micro-correzioni richieste */
.service-card p,
.commit-card p,
.event-card p,
.fleet-body h3,
.event-card h3,
.commit-card h3{
  hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}
.fleet-section .fleet-body .type{
  min-height:34px;
}
.fleet-section .fleet-specs{
  margin-top:auto;
}
.detail-service .service-steps-strip.event-dark-strip article::before,
.detail-experience .experience-itinerary-strip.event-dark-strip article::before,
.detail-combined .combined-timeline-strip.event-dark-strip article::before{
  background:var(--gold) !important;
}
.detail-vehicle .vehicle-use-cases-strip.event-dark-strip article::before{
  background:#6b4d28 !important;
}

/* Modifiche 19/06: preventivo e pagine istituzionali. */
.concierge-command-no-aside,
.institutional-layout-no-aside{
  grid-template-columns:1fr;
}
.concierge-modules-dark article,
.institutional-cards-dark div{
  background:#111;
  color:#fff;
}
.concierge-modules-dark p,
.institutional-cards-dark p,
.institutional-cards-dark li{
  color:rgba(255,255,255,.78);
}
.institutional-cards-dark ul{
  margin:20px 0 0;
  padding-left:20px;
  display:grid;
  gap:10px;
  line-height:1.55;
}
.faq-groups{
  display:grid;
  gap:56px;
  padding:20px 0 100px;
}
.faq-group h2{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.3rem,4vw,3.5rem);
  margin:0 0 24px;
}
.faq-list{
  display:grid;
  gap:12px;
}
.faq-list details{
  border:1px solid rgba(0,0,0,.1);
  border-radius:8px;
  background:#fff;
  padding:0 24px;
}
.faq-list summary{
  cursor:pointer;
  list-style:none;
  padding:22px 40px 22px 0;
  font-weight:800;
  position:relative;
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{
  content:'+';
  position:absolute;
  right:0;
  top:16px;
  font-size:28px;
  color:var(--gold);
}
.faq-list details[open] summary::after{content:'−'}
.faq-list details p{
  margin:0;
  padding:0 0 22px;
  color:#555;
  line-height:1.75;
}
.reviews-page{
  padding:0 0 100px;
}
.contact-page-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
  padding:20px 0 100px;
  align-items:start;
}
.contact-page-copy,
.contact-page-form{
  border:1px solid rgba(0,0,0,.09);
  border-radius:8px;
  background:#fff;
  padding:36px;
  box-shadow:0 16px 44px rgba(0,0,0,.055);
}
.contact-page-copy h2,
.contact-page-form h2{
  font-family:'Cormorant Garamond',serif;
  font-size:2.5rem;
  margin:0 0 20px;
}
.contact-page-copy p{
  color:#555;
  line-height:1.8;
}
.contact-page-form{
  margin:0;
}
.contact-page-form .dark-btn{
  border:0;
  cursor:pointer;
}
@media(max-width:820px){
  .contact-page-grid{grid-template-columns:1fr}
}

/* PATCH HOME FLOTTA - solo allineamento bottone */
.fleet-section .fleet-card{
  display:flex;
  flex-direction:column;
}
.fleet-section .fleet-body{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
}
.fleet-section .fleet-body h3{
  min-height:68px;
}
.fleet-section .fleet-card .card-btn{
  margin-top:auto;
}
@media(max-width:760px){
  .fleet-section .fleet-body h3{
    min-height:auto;
  }
}


/* Rifiniture finali 07/07 - flotta, gallery e card vettura */
.fleet-section .section-title.gold-title,
.commitments .section-title.gold-title,
.reviews .section-title.gold-title{color:var(--gold)}
.fleet-card{display:flex;flex-direction:column}
.fleet-body{display:flex;flex-direction:column;flex:1}
.fleet-body h3{min-height:66px}
.fleet-body .type{min-height:34px}
.fleet-specs{margin-top:8px}
.vehicle-gallery-main{background-size:92% auto;background-repeat:no-repeat;background-color:#f7f2eb}
.vehicle-use-cases h3{font-size:1.45rem;line-height:1.12}
.mini-car strong{font-size:1.32rem;line-height:1.15}
.included-note strong{font-size:12px;letter-spacing:.15em;text-transform:uppercase}
.fleet-full-link{display:inline-flex;margin-top:18px;font-weight:900;color:var(--gold);text-transform:uppercase;letter-spacing:.08em;font-size:12px}
@media (max-width: 700px){.fleet-body h3{min-height:auto}.fleet-body .type{min-height:auto}.vehicle-gallery-main{background-size:contain}}

/* PATCH 07/07 - Gallery vetture: immagine più piena senza tagli.
   Mantiene la foto intera usando contain, ma riduce l'altezza/padding visivo
   del riquadro così l'immagine occupa molto più spazio nella card. */
.detail-vehicle .vehicle-gallery-main{
  aspect-ratio:16 / 10;
  min-height:0 !important;
  height:auto !important;
  background-size:contain !important;
  background-repeat:no-repeat !important;
  background-position:center center !important;
  background-color:#f7f2eb;
}

@media (max-width:980px){
  .detail-vehicle .vehicle-gallery-main{
    aspect-ratio:16 / 10;
    min-height:0 !important;
  }
}

@media (max-width:620px){
  .detail-vehicle .vehicle-gallery-main{
    aspect-ratio:4 / 3;
  }
}

/* PATCH 08/07 - menu Flotta in 3 colonne + gallery vetture più piena
   - La lista modelli è divisa 5 + 4, così gli ultimi due veicoli restano visibili anche su schermi meno alti.
   - Il titolo visibile diventa "Modelli"; la seconda colonna usa un titolo invisibile solo per mantenere l'allineamento.
   - Le immagini delle pagine vettura occupano meglio il riquadro senza zoom eccessivo. */
.mega-title-placeholder{
  visibility:hidden;
}
@media (min-width:1101px){
  .mega-menu[data-mega-panel="flotta"] .mega-inner{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(360px,1.35fr);
    gap:32px;
  }
  .mega-menu[data-mega-panel="flotta"] .mega-col{
    padding-right:24px;
  }
  .mega-menu[data-mega-panel="flotta"] .mega-link{
    min-height:62px;
  }
  .mega-menu[data-mega-panel="flotta"] .mega-panel-card{
    min-height:100%;
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding-top:34px;
    padding-bottom:34px;
  }
}
.detail-vehicle .vehicle-gallery-main{
  aspect-ratio:16 / 8.8;
  background-size:104% auto !important;
  background-position:center center !important;
}
@media (max-width:980px){
  .detail-vehicle .vehicle-gallery-main{
    aspect-ratio:16 / 9.2;
    background-size:102% auto !important;
  }
}
@media (max-width:620px){
  .detail-vehicle .vehicle-gallery-main{
    aspect-ratio:4 / 3;
    background-size:contain !important;
  }
}

/* PATCH 08/07 - pagine vettura: barre laterali card in oro
   Correzione mirata solo alle card delle pagine macchina. */
.detail-vehicle .vehicle-use-cases-strip.event-dark-strip article::before{
  background:var(--gold) !important;
}


/* =========================================================
   AGGIUNTE 09/07/2026 - DESTINAZIONI, GUIDA E MEET & GREET
   Patch isolata: la home e le sezioni già approvate non vengono modificate.
   ========================================================= */
@media (min-width:1101px){
  .mega-menu[data-mega-panel="destinazioni"] .mega-inner{
    width:min(1820px,calc(100% - 76px));
    max-width:none;
    grid-template-columns:minmax(0,1.08fr) minmax(0,1.08fr) minmax(310px,.84fr);
    justify-content:center;
    gap:30px;
    padding:38px 48px;
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col{
    padding-right:24px;
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:first-child{
    padding-right:24px;
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:nth-child(-n+2) .route-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:nth-child(3) .route-list{
    grid-template-columns:1fr;
  }
  .mega-menu[data-mega-panel="destinazioni"] .route-card{
    min-height:76px;
  }
}

.destination-related-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin-top:20px;
  padding:14px 19px;
  border-radius:9px;
  background:#17130f;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:11px;
  font-weight:900;
  transition:.2s ease;
}
.destination-related-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.16);
}
.destination-related-btn-light{
  background:#fff;
  color:#17130f;
}

.destination-marine-service{
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  min-height:520px;
  margin-top:54px;
  margin-bottom:92px;
  overflow:hidden;
  border-radius:30px;
  background:#17130f;
  box-shadow:0 25px 70px rgba(31,23,16,.16);
}
.destination-marine-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  padding:clamp(34px,5vw,68px);
  color:#fff;
  background:radial-gradient(circle at 18% 15%,rgba(191,151,91,.16),transparent 34%),linear-gradient(135deg,#15110d,#272017);
}
.destination-marine-copy h2{
  margin:0 0 20px;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.5rem,4.3vw,4.7rem);
  line-height:.98;
  color:#f4dfb9;
}
.destination-marine-copy p{
  margin:0 0 16px;
  color:rgba(255,255,255,.78);
  line-height:1.78;
}
.destination-marine-gallery{
  display:grid;
  grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;
  min-height:520px;
  gap:2px;
  background:#ede6dc;
}
.destination-marine-image{
  min-height:0;
  background-size:cover;
  background-position:center;
}
.destination-marine-image-1{
  grid-column:1 / -1;
}

.experience-moodboard-centered{
  justify-content:center;
  text-align:center;
  padding-bottom:42px;
}

.detail-feature-panel{
  display:grid;
  grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr);
  gap:0;
  margin-top:26px;
  margin-bottom:92px;
  overflow:hidden;
  border:1px solid rgba(65,48,28,.1);
  border-radius:28px;
  background:#f4eee5;
  box-shadow:0 20px 55px rgba(41,30,18,.08);
}
.detail-feature-media{
  min-height:360px;
  background-size:cover;
  background-position:center;
  background-color:#e8dfd3;
}
.detail-feature-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(32px,5vw,62px);
}
.detail-feature-copy h2{
  margin:0 0 18px;
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(2.4rem,4vw,4.1rem);
  line-height:1;
  color:#211914;
}
.detail-feature-copy p{
  margin:0 0 15px;
  line-height:1.78;
  color:#554c43;
}
.detail-feature-copy ul{
  list-style:none;
  display:grid;
  gap:10px;
  margin:12px 0 0;
  padding:0;
}
.detail-feature-copy li{
  position:relative;
  padding-left:25px;
  color:#403831;
  font-weight:600;
}
.detail-feature-copy li::before{
  content:'✓';
  position:absolute;
  left:0;
  top:0;
  color:var(--gold);
  font-weight:900;
}
.detail-feature-panel-meet-greet{
  grid-template-columns:240px minmax(0,1fr);
  margin-top:42px;
}
.detail-feature-panel-meet-greet .detail-feature-media{
  min-height:310px;
  background-size:cover;
}
.detail-feature-panel-meet-greet .detail-feature-copy h2{
  font-size:clamp(2.2rem,3.5vw,3.6rem);
}

@media (max-width:1100px){
  .mega-menu[data-mega-panel="destinazioni"] .mega-inner{
    grid-template-columns:1fr 1fr;
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:last-child{
    grid-column:1 / -1;
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:last-child .route-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media (max-width:820px){
  .destination-marine-service,
  .detail-feature-panel,
  .detail-feature-panel-meet-greet{
    grid-template-columns:1fr;
  }
  .destination-marine-gallery{
    min-height:440px;
  }
  .detail-feature-media,
  .detail-feature-panel-meet-greet .detail-feature-media{
    min-height:320px;
  }
}
@media (max-width:760px){
  .mega-menu[data-mega-panel="destinazioni"] .mega-inner{
    grid-template-columns:1fr;
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:last-child{
    grid-column:auto;
  }
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:last-child .route-list{
    grid-template-columns:1fr;
  }
  .destination-marine-service,
  .detail-feature-panel{
    width:calc(100% - 28px);
    margin-bottom:64px;
  }
  .destination-marine-gallery{
    grid-template-columns:1fr;
    grid-template-rows:repeat(3,220px);
  }
  .destination-marine-image-1{
    grid-column:auto;
  }
}

/* =========================================================
   RESPONSIVE DEFINITIVO — TABLET E SMARTPHONE — 13/07/2026
   Patch aggiunta in fondo al CSS approvato.
   Tutte le regole desktop sopra 1100px restano invariate.
   ========================================================= */

/* Evita che testi, griglie o controlli larghi generino scroll laterale. */
@media (max-width:1100px){
  html{
    scroll-padding-top:96px;
    -webkit-text-size-adjust:100%;
    text-size-adjust:100%;
  }
  body{
    min-width:320px;
    overflow-x:hidden;
  }
  .page{
    max-width:100%;
    overflow:clip;
  }
  .container{
    width:calc(100% - 40px);
    max-width:100%;
  }
  .cards-grid > *,
  .commit-grid > *,
  .event-grid > *,
  .review-grid > *,
  .detail-blocks > *,
  .service-steps > *,
  .airport-route-cards > *,
  .combined-timeline > *,
  .experience-itinerary > *,
  .destination-routes > *,
  .destination-highlights > *,
  .concierge-modules > *,
  .institutional-cards > *,
  .vehicle-use-cases > *,
  .fleet-catalog-grid > *,
  .config-grid > *,
  .mini-fleet-grid > *{
    min-width:0;
  }

  /* ---------- HEADER E MENU TOUCH ---------- */
  .site-header{
    top:8px;
    max-height:calc(100vh - 8px);
    max-height:calc(100dvh - 8px);
    overflow:visible;
    overscroll-behavior:contain;
  }
  .site-header:has(.main-nav.is-open){
    top:0;
    bottom:0;
    max-height:100vh;
    max-height:100dvh;
    padding:8px 0 22px;
    overflow-y:auto;
    overflow-x:hidden;
    background:rgba(247,244,238,.985);
    pointer-events:auto;
    scrollbar-width:thin;
  }
  .nav-shell{
    position:relative;
    width:calc(100% - 20px);
    min-height:72px;
    height:auto;
    padding:8px 16px;
    flex-wrap:wrap;
    align-content:center;
    gap:0;
    border-radius:14px;
  }
  .site-header:has(.main-nav.is-open) .nav-shell{
    position:sticky;
    top:0;
    z-index:4;
    border-radius:14px;
    border-bottom-color:rgba(230,222,208,.9);
    box-shadow:0 14px 36px rgba(0,0,0,.10);
  }
  .site-header.mega-active .nav-shell,
  .site-header:has(.main-nav.is-open).mega-active .nav-shell{
    border-radius:14px;
    border-bottom-color:rgba(230,222,208,.9);
  }
  .site-header.mega-active .nav-shell::after{
    display:none;
  }
  .brand,
  .brand-logo-link{
    min-width:0;
    max-width:calc(100% - 58px);
  }
  .site-header .brand-logo{
    width:auto;
    height:48px;
    max-width:min(250px,100%);
  }
  .mobile-toggle{
    display:flex;
    width:44px;
    height:44px;
    margin-left:auto;
    padding:0;
    align-items:center;
    justify-content:center;
    gap:5px;
    border-radius:10px;
    cursor:pointer;
    touch-action:manipulation;
  }
  .mobile-toggle:focus-visible{
    outline:2px solid var(--gold);
    outline-offset:2px;
  }
  .mobile-toggle span{
    width:25px;
    height:2px;
    border-radius:999px;
    transition:transform .2s ease, opacity .2s ease;
  }
  .site-header:has(.main-nav.is-open) .mobile-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }
  .site-header:has(.main-nav.is-open) .mobile-toggle span:nth-child(2){
    opacity:0;
  }
  .site-header:has(.main-nav.is-open) .mobile-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
  .main-nav{
    position:static !important;
    top:auto;
    left:auto;
    right:auto;
    order:3;
    flex:0 0 100%;
    width:100%;
    margin:0;
    padding:0;
    display:none !important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    align-items:stretch;
    background:transparent;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  .main-nav.is-open{
    display:grid !important;
    padding:14px 0 8px;
  }
  .nav-item{
    width:100%;
    min-width:0;
  }
  .nav-link{
    width:100%;
    min-height:46px;
    padding:10px 8px;
    justify-content:center;
    text-align:center;
    white-space:normal;
    line-height:1.25;
    font-size:11px;
    border:1px solid var(--line);
    border-radius:9px;
    background:#fff;
    touch-action:manipulation;
  }
  .nav-item.is-active .nav-link{
    border-color:rgba(184,154,90,.55);
    background:#fffaf1;
  }
  .quote-btn,
  .lang-switch{
    min-height:46px;
    justify-content:center;
    text-align:center;
  }
  .quote-btn{
    grid-column:span 2;
    padding:13px 16px;
  }
  .lang-switch{
    padding:11px 12px;
    background:#fff;
  }

  /* I mega menu diventano pannelli interni allo stesso menu mobile.
     Funzionano con il JavaScript già presente, senza modificare altri file. */
  .mega-menu{
    position:static !important;
    inset:auto !important;
    top:auto !important;
    width:100%;
    margin:10px 0 0;
    padding:0;
    display:none !important;
    opacity:1;
    visibility:visible;
    transform:none;
    pointer-events:auto;
  }
  .site-header:has(.main-nav.is-open) .mega-menu.is-open{
    display:block !important;
  }
  .mega-inner,
  .mega-menu[data-mega-panel="destinazioni"] .mega-inner{
    width:calc(100% - 20px) !important;
    max-width:none !important;
    margin:0 auto;
    padding:24px !important;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:0 24px !important;
    border:1px solid rgba(230,222,208,.95);
    border-radius:16px !important;
    box-shadow:0 18px 46px rgba(0,0,0,.11);
    background:#fff;
  }
  .mega-cols-1{
    grid-template-columns:1fr !important;
  }
  .mega-cols-3 .mega-col:last-child,
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:last-child{
    grid-column:1 / -1 !important;
  }
  .mega-col,
  .mega-menu[data-mega-panel="destinazioni"] .mega-col,
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:first-child{
    min-width:0;
    padding:20px 0 !important;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .mega-col:nth-last-child(-n+2){
    border-bottom:0;
  }
  .mega-cols-1 .mega-col:last-child,
  .mega-cols-2 .mega-col:last-child,
  .mega-cols-3 .mega-col:last-child{
    border-bottom:0;
  }
  .mega-title{
    margin-bottom:14px;
  }
  .mega-title-placeholder{
    display:none;
  }
  .mega-list{
    gap:8px;
  }
  .mega-link{
    min-height:54px;
    padding:8px;
    align-items:center;
  }
  .mega-link:hover{
    transform:none;
  }
  .mega-link strong{
    font-size:14px;
    line-height:1.25;
  }
  .mega-link small{
    font-size:12px;
    line-height:1.35;
  }
  .route-list,
  .mega-menu[data-mega-panel="destinazioni"] .route-list,
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:last-child .route-list{
    grid-template-columns:1fr !important;
    gap:9px;
  }
  .route-card,
  .mega-menu[data-mega-panel="destinazioni"] .route-card{
    min-height:0;
    padding:13px 14px;
  }
  .mega-panel-card{
    min-height:210px;
    padding:28px;
  }

  /* ---------- HOME: TABLET ---------- */
  .hero{
    min-height:760px;
    min-height:min(100svh,860px);
    padding:126px 0 76px;
  }
  .hero-content{
    width:min(590px,calc(100% - 56px));
    margin-left:clamp(28px,6vw,64px);
    margin-right:auto;
    text-align:left;
  }
  .hero h1{
    max-width:590px;
    font-size:clamp(50px,7vw,68px);
    line-height:1.02;
  }
  .hero h2{
    max-width:560px;
    font-size:clamp(20px,2.8vw,26px);
  }
  .hero p{
    max-width:520px;
    font-size:16px;
    line-height:1.75;
  }
  .hero-actions{
    justify-content:flex-start;
  }
  .intro{
    padding:76px 0 52px;
  }
  .services,
  .fleet-section,
  .commitments,
  .destinations,
  .events-section,
  .reviews,
  .trust{
    padding-top:68px;
    padding-bottom:72px;
  }
  .cards-grid,
  .event-grid,
  .commit-grid,
  .review-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
  .service-card{
    min-height:0;
  }
  .service-card-content,
  .fleet-body,
  .event-card-body{
    padding:24px;
  }
  .service-card p,
  .event-card p{
    min-height:0;
  }
  .fleet-track{
    width:calc(100% - 40px);
    gap:20px;
  }
  .fleet-card{
    flex:0 0 calc((100% - 20px) / 2);
    min-width:0;
    max-width:none;
  }
  .destination-track{
    padding-left:20px;
    padding-right:20px;
  }
  .destination-card{
    flex-basis:min(360px,46vw);
  }
  .big-cta{
    width:calc(100% - 40px);
    padding:56px 32px;
  }
  .trust-grid{
    width:calc(100% - 40px);
  }
  .footer-inner{
    width:calc(100% - 40px);
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:42px;
    padding:60px 0;
  }
  .footer-bottom{
    padding:24px 20px;
  }

  /* ---------- PAGINE INTERNE: TABLET ---------- */
  .detail-page{
    padding-top:94px;
  }
  .detail-hero,
  .detail-concierge .detail-hero{
    width:calc(100% - 40px);
    min-height:0;
    margin:22px auto 0;
    grid-template-columns:1fr !important;
    border-radius:26px;
  }
  .detail-hero-media{
    min-height:clamp(360px,48vw,500px);
  }
  .detail-hero-copy{
    padding:54px 42px 52px;
  }
  .detail-hero h1,
  .detail-hero-copy h1{
    font-size:clamp(52px,8vw,74px);
    line-height:.96;
    overflow-wrap:break-word;
    text-wrap:balance;
  }
  .detail-hero p,
  .detail-hero-copy p{
    font-size:17px;
    line-height:1.72;
  }
  .detail-intro,
  .service-layout,
  .airport-board,
  .combined-map,
  .experience-editorial,
  .destination-feature,
  .concierge-command,
  .fleet-catalog-hero,
  .vehicle-detail-hero,
  .vehicle-story,
  .institutional-layout,
  .contact-page-grid,
  .config-grid,
  .configurator-compact-fleet .config-grid{
    grid-template-columns:1fr !important;
  }
  .detail-intro{
    gap:26px;
    padding:62px 0 30px;
  }
  .detail-highlights,
  .service-summary-card,
  .institutional-layout aside{
    position:static;
  }
  .detail-blocks,
  .service-steps,
  .airport-route-cards,
  .combined-timeline,
  .experience-itinerary,
  .destination-routes,
  .concierge-modules,
  .institutional-cards,
  .vehicle-use-cases{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:18px;
  }
  .mini-fleet-grid,
  .configurator-compact-fleet .mini-fleet-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .fleet-catalog-grid{
    grid-template-columns:1fr;
  }
  .fleet-catalog-card{
    grid-template-columns:minmax(240px,.85fr) minmax(0,1.15fr);
  }
  .fleet-catalog-cover,
  .destination-big-photo,
  .vehicle-gallery-main{
    min-height:400px;
  }
  .vehicle-gallery-thumbs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .vehicle-spec-panel,
  .institutional-layout article,
  .contact-page-copy,
  .contact-page-form{
    padding:34px;
  }
  .quote-modal{
    padding:20px;
  }
  .quote-modal-card{
    width:min(920px,100%);
    max-height:calc(100dvh - 40px);
  }
  .destination-highlights{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .experience-moodboard-centered{
    justify-content:center;
  }
}

/* Tablet verticale e schermi intermedi. */
@media (max-width:900px){
  .cards-grid,
  .event-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .review-grid{
    grid-template-columns:1fr;
  }
  .destination-marine-service,
  .detail-feature-panel,
  .detail-feature-panel-meet-greet{
    grid-template-columns:1fr;
  }
  .destination-marine-gallery{
    min-height:420px;
  }
  .detail-feature-media,
  .detail-feature-panel-meet-greet .detail-feature-media{
    min-height:330px;
  }
  .fleet-catalog-card{
    grid-template-columns:1fr;
  }
  .contact-page-grid{
    grid-template-columns:1fr;
  }
}

/* ---------- SMARTPHONE ---------- */
@media (max-width:760px){
  html{
    scroll-padding-top:84px;
  }
  .container{
    width:calc(100% - 28px);
  }
  .section-title{
    font-size:clamp(34px,11vw,46px);
    line-height:1.02;
    text-wrap:balance;
  }
  .section-lead,
  .intro-copy,
  .detail-copy{
    font-size:16px;
    line-height:1.75;
  }
  .eyebrow{
    max-width:100%;
    padding:7px 13px;
    font-size:10px;
    line-height:1.35;
    white-space:normal;
  }

  /* Header mobile compatto. */
  .site-header{
    top:6px;
    max-height:calc(100dvh - 6px);
  }
  .site-header:has(.main-nav.is-open){
    padding-top:6px;
  }
  .nav-shell{
    width:calc(100% - 12px);
    min-height:66px;
    padding:7px 11px;
    border-radius:12px;
  }
  .site-header .brand-logo{
    height:42px;
    max-width:195px;
  }
  .mobile-toggle{
    width:42px;
    height:42px;
  }
  .main-nav{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }
  .main-nav.is-open{
    padding-top:12px;
  }
  .nav-link{
    min-height:44px;
    padding:9px 6px;
    font-size:10px;
    letter-spacing:.09em;
  }
  .quote-btn,
  .lang-switch{
    grid-column:1 / -1;
    min-height:44px;
  }
  .mega-inner,
  .mega-menu[data-mega-panel="destinazioni"] .mega-inner{
    width:calc(100% - 12px) !important;
    padding:18px !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    border-radius:12px !important;
  }
  .mega-cols-3 .mega-col:last-child,
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:last-child{
    grid-column:auto !important;
  }
  .mega-col,
  .mega-menu[data-mega-panel="destinazioni"] .mega-col,
  .mega-menu[data-mega-panel="destinazioni"] .mega-col:first-child{
    padding:17px 0 !important;
    border-bottom:1px solid var(--line);
  }
  .mega-col:last-child{
    border-bottom:0;
  }
  .mega-link{
    min-height:50px;
  }
  .mega-icon-png,
  .mega-icon{
    width:38px;
    height:38px;
    flex-basis:38px;
  }
  .mega-panel-card{
    min-height:180px;
    padding:24px;
  }

  /* Hero home: testo leggibile e CTA utilizzabili con il pollice. */
  .hero{
    min-height:690px;
    min-height:max(690px,100svh);
    padding:112px 0 58px;
  }
  .hero:before{
    background-position:58% center;
  }
  .hero:after{
    background:
      linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.91) 48%,rgba(255,255,255,.58) 76%,rgba(255,255,255,.20) 100%),
      linear-gradient(180deg,rgba(255,255,255,.12),rgba(0,0,0,.05));
  }
  .hero-content{
    width:calc(100% - 36px);
    margin:0 18px;
  }
  .hero h1{
    max-width:100%;
    margin-bottom:16px;
    font-size:clamp(40px,13vw,52px);
    line-height:1.02;
    text-wrap:balance;
  }
  .hero h2{
    max-width:100%;
    margin-bottom:22px;
    font-size:19px;
    line-height:1.35;
  }
  .hero p{
    max-width:100%;
    font-size:15px;
    line-height:1.7;
  }
  .hero-actions,
  .big-cta-actions,
  .detail-actions,
  .vehicle-actions{
    width:100%;
    flex-direction:column;
    align-items:stretch;
  }
  .hero-actions .light-btn,
  .hero-actions .outline-btn,
  .big-cta-actions .light-btn,
  .big-cta-actions .phone-btn,
  .detail-actions .dark-btn,
  .detail-actions .ghost-btn,
  .detail-actions .detail-custom-cta,
  .vehicle-actions .card-btn,
  .vehicle-actions .text-btn{
    width:100%;
    min-height:48px;
    text-align:center;
  }

  /* Home mobile. */
  .intro{
    padding:58px 0 36px;
  }
  .services,
  .fleet-section,
  .commitments,
  .destinations,
  .events-section,
  .reviews,
  .trust{
    padding-top:54px;
    padding-bottom:58px;
  }
  .cards-grid,
  .commit-grid,
  .event-grid,
  .review-grid{
    grid-template-columns:1fr;
    gap:18px;
    margin-top:30px;
  }
  .service-card,
  .event-card,
  .commit-card,
  .review-card{
    border-radius:18px;
  }
  .card-img,
  .service-card .card-img,
  .event-card .card-img{
    height:210px;
  }
  .service-card-content,
  .fleet-body,
  .event-card-body,
  .commit-card,
  .review-card{
    padding:22px;
  }
  .service-card h3,
  .fleet-body h3,
  .event-card h3{
    font-size:27px;
    line-height:1.08;
  }
  .service-card p,
  .event-card p,
  .commit-card p,
  .review-card p{
    font-size:15px;
    line-height:1.65;
  }
  .card-btn,
  .dark-btn,
  .light-btn,
  .outline-btn,
  .ghost-btn,
  .phone-btn{
    min-height:48px;
  }
  .review-pill{
    max-width:100%;
    padding:10px 14px;
    flex-wrap:wrap;
    justify-content:center;
    text-align:center;
  }
  .fleet-track{
    width:calc(100% - 24px);
    gap:14px;
    padding-bottom:18px;
  }
  .fleet-card{
    flex:0 0 88%;
    max-width:360px;
    border-radius:20px;
  }
  .fleet-card .card-img{
    height:220px;
  }
  .fleet-card.is-muted{
    opacity:.78;
    transform:none;
  }
  .fleet-specs,
  .included-grid,
  .fleet-card .included-grid-balanced{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  .destination-track{
    margin-top:30px;
    padding:4px 14px 18px;
    gap:14px;
  }
  .destination-card{
    flex:0 0 88%;
    max-width:360px;
    height:420px;
    border-radius:20px;
  }
  .destination-card h3{
    left:22px;
    bottom:88px;
    font-size:28px;
  }
  .destination-card .card-btn{
    left:22px;
    right:22px;
    bottom:22px;
  }
  .big-cta{
    width:calc(100% - 28px);
    margin-top:28px;
    padding:44px 22px;
    border-radius:14px;
  }
  .big-cta h2{
    font-size:clamp(32px,10vw,44px);
  }
  .big-cta p{
    font-size:16px;
    line-height:1.7;
  }
  .trust-grid{
    width:calc(100% - 28px);
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .trust-logo{
    height:110px;
    padding:12px;
    font-size:21px;
  }

  /* Pagine interne mobile. */
  .detail-page{
    padding-top:80px;
  }
  .detail-hero,
  .detail-concierge .detail-hero{
    width:calc(100% - 20px);
    margin-top:12px;
    border-radius:20px;
  }
  .detail-hero-media{
    min-height:280px;
  }
  .detail-hero-copy{
    padding:36px 22px 38px;
  }
  .detail-hero h1,
  .detail-hero-copy h1{
    margin-bottom:18px;
    font-size:clamp(40px,13vw,54px);
    line-height:.98;
  }
  .detail-hero p,
  .detail-hero-copy p{
    font-size:16px;
    line-height:1.68;
  }
  .detail-actions{
    margin-top:26px;
  }
  .detail-intro,
  .service-layout,
  .airport-board,
  .combined-map,
  .experience-editorial,
  .destination-feature,
  .concierge-command,
  .fleet-catalog-hero,
  .vehicle-detail-hero,
  .vehicle-story,
  .institutional-layout,
  .contact-page-grid{
    padding-top:48px;
    gap:22px;
  }
  .detail-copy,
  .service-main-copy,
  .airport-board-copy,
  .combined-leg,
  .experience-editorial,
  .destination-feature,
  .concierge-command,
  .vehicle-story,
  .institutional-layout article{
    font-size:16px;
    line-height:1.75;
  }
  .detail-highlights,
  .service-summary-card,
  .select-panel,
  .vehicle-spec-panel,
  .institutional-layout article,
  .contact-page-copy,
  .contact-page-form{
    padding:24px;
    border-radius:20px;
  }
  .detail-blocks,
  .service-steps,
  .airport-route-cards,
  .combined-timeline,
  .experience-itinerary,
  .destination-routes,
  .concierge-modules,
  .institutional-cards,
  .vehicle-use-cases,
  .mini-fleet-grid,
  .configurator-compact-fleet .mini-fleet-grid,
  .destination-highlights,
  .vehicle-specs{
    grid-template-columns:1fr !important;
  }
  .detail-blocks,
  .service-steps,
  .airport-route-cards,
  .combined-timeline,
  .experience-itinerary,
  .destination-routes,
  .concierge-modules,
  .institutional-cards,
  .vehicle-use-cases{
    gap:14px;
    padding-bottom:52px;
  }
  .detail-blocks article,
  .service-steps article,
  .airport-route-cards article,
  .combined-timeline article,
  .experience-itinerary article,
  .destination-routes article,
  .concierge-modules article,
  .institutional-cards div,
  .vehicle-use-cases article{
    min-height:0;
    padding:24px;
    border-radius:20px;
  }
  .configurator{
    padding:34px 0 64px;
  }
  .config-grid{
    margin-top:28px;
    gap:18px;
  }
  .mini-car div{
    height:190px;
  }
  .fleet-catalog-hero,
  .vehicle-detail-hero,
  .institutional-hero{
    padding-top:52px;
  }
  .fleet-catalog-cover,
  .destination-big-photo,
  .vehicle-gallery-main{
    min-height:300px;
    border-radius:22px;
  }
  .fleet-catalog-card{
    padding:14px;
    border-radius:22px;
  }
  .fleet-catalog-img{
    min-height:230px;
    border-radius:16px;
  }
  .vehicle-spec-panel{
    border-radius:24px;
  }
  .vehicle-spec-panel h1,
  .fleet-catalog-hero h1,
  .institutional-hero h1,
  .concierge-hero-inner h1{
    font-size:clamp(40px,13vw,56px);
    line-height:1;
    overflow-wrap:break-word;
    text-wrap:balance;
  }
  .vehicle-gallery-thumbs{
    grid-template-columns:1fr;
  }
  .vehicle-gallery-thumbs button{
    min-height:190px;
  }
  .vehicle-gallery-note{
    padding:24px;
    border-radius:20px;
  }
  .destination-marine-service,
  .detail-feature-panel{
    width:calc(100% - 28px);
    margin-top:36px;
    margin-bottom:58px;
    border-radius:20px;
  }
  .destination-marine-copy,
  .detail-feature-copy{
    padding:30px 22px;
  }
  .destination-marine-copy h2,
  .detail-feature-copy h2{
    font-size:clamp(36px,11vw,48px);
  }
  .destination-marine-gallery{
    min-height:0;
    grid-template-columns:1fr;
    grid-template-rows:repeat(3,210px);
  }
  .detail-feature-media,
  .detail-feature-panel-meet-greet .detail-feature-media{
    min-height:280px;
  }
  .experience-moodboard-centered{
    padding-bottom:28px;
  }

  /* Form e modali: font 16px per evitare lo zoom automatico su iPhone. */
  .quote-modal{
    padding:8px;
    align-items:start;
  }
  .quote-modal-card,
  .quote-modal-card.wide{
    width:100%;
    max-height:calc(100vh - 16px);
    max-height:calc(100dvh - 16px);
    padding:28px 18px 22px;
    border-radius:18px;
  }
  .quote-modal-card h2{
    padding-right:42px;
    font-size:clamp(36px,11vw,48px);
  }
  .modal-close{
    top:12px;
    right:12px;
    width:40px;
    height:40px;
  }
  .form-row{
    grid-template-columns:1fr;
    gap:12px;
  }
  .select-panel select,
  .quote-form input,
  .quote-form textarea,
  .quote-form select{
    min-height:48px;
    padding:13px 14px;
    font-size:16px;
  }
  .quote-form textarea{
    min-height:120px;
  }

  /* Footer e pulsante concierge. */
  .site-footer{
    margin-top:48px;
  }
  .footer-inner{
    width:calc(100% - 28px);
    grid-template-columns:1fr;
    gap:32px;
    padding:48px 0;
  }
  .site-footer .footer-logo{
    width:170px;
  }
  .footer-brand p{
    max-width:none;
  }
  .footer-contacts,
  .footer-col{
    gap:10px;
  }
  .footer-contacts a,
  .contact-direct a,
  .mail-status{
    overflow-wrap:anywhere;
  }
  .footer-bottom{
    padding:20px 14px;
    text-align:center;
    line-height:1.6;
  }
  .wa-float{
    right:12px;
    bottom:12px;
    width:50px;
    height:50px;
    padding:0;
    justify-content:center;
    border-width:2px;
  }
  .wa-float span,
  .wa-float::after{
    display:none;
  }
}

/* Telefoni molto stretti. */
@media (max-width:480px){
  .site-header .brand-logo{
    height:39px;
    max-width:172px;
  }
  .nav-shell{
    min-height:62px;
  }
  .mobile-toggle{
    width:40px;
    height:40px;
  }
  .hero{
    min-height:660px;
  }
  .hero h1{
    font-size:clamp(37px,12.5vw,47px);
  }
  .hero h2{
    font-size:18px;
  }
  .fleet-card,
  .destination-card{
    flex-basis:92%;
  }
  .fleet-specs,
  .included-grid,
  .fleet-card .included-grid-balanced{
    grid-template-columns:1fr;
  }
  .fleet-card .included-grid-balanced .included-wide{
    grid-column:auto;
  }
  .trust-grid{
    grid-template-columns:1fr 1fr;
  }
  .detail-hero h1,
  .detail-hero-copy h1,
  .vehicle-spec-panel h1,
  .fleet-catalog-hero h1,
  .institutional-hero h1,
  .concierge-hero-inner h1{
    font-size:clamp(36px,12vw,46px);
  }
  .detail-hero-media{
    min-height:240px;
  }
  .detail-feature-media,
  .detail-feature-panel-meet-greet .detail-feature-media{
    min-height:240px;
  }
  .destination-marine-gallery{
    grid-template-rows:repeat(3,185px);
  }
  .faq-list details{
    padding:0 17px;
  }
  .faq-list summary{
    padding-right:34px;
  }
}

/* Area sicura per iPhone con notch e barra inferiore. */
@supports (padding:max(0px)){
  @media (max-width:760px){
    .site-header:has(.main-nav.is-open){
      padding-top:max(6px,env(safe-area-inset-top));
      padding-bottom:max(18px,env(safe-area-inset-bottom));
    }
    .wa-float{
      right:max(12px,env(safe-area-inset-right));
      bottom:max(12px,env(safe-area-inset-bottom));
    }
    .quote-modal-card{
      padding-bottom:max(22px,env(safe-area-inset-bottom));
    }
  }
}

/* Su dispositivi touch non resta bloccato un effetto hover dopo il tap. */
@media (hover:none) and (pointer:coarse){
  .service-card:hover,
  .fleet-card:hover,
  .event-card:hover,
  .mini-car:hover,
  .quote-btn:hover,
  .dark-btn:hover,
  .card-btn:hover,
  .destination-related-btn:hover{
    transform:none;
    box-shadow:inherit;
  }
  a,
  button,
  select{
    touch-action:manipulation;
  }
}

/* =========================================================
   ALLINEAMENTO TESTI GLOBALE + MEET & GREET — 13/07/2026
   Passata completa e ragionata: titoli, menu, pulsanti,
   etichette brevi e dati tecnici restano invariati.
   ========================================================= */

/* Tutti i veri testi narrativi del sito vengono giustificati.
   Le esclusioni riguardano soltanto sovratitoli, categorie e
   messaggi tecnici, che non sono paragrafi descrittivi. */
.page p:not(.mega-title):not(.eyebrow):not(.type):not(.mail-status):not(.home-intro-statement):not(.home-centered-lead){
  text-align:justify !important;
  text-justify:inter-word;
  hyphens:none;
  -webkit-hyphens:none;
  -ms-hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

/* Testi descrittivi presenti in elenchi editoriali o informativi. */
.detail-feature-copy li,
.institutional-cards li{
  text-align:justify !important;
  text-justify:inter-word;
  hyphens:none;
  -webkit-hyphens:none;
  -ms-hyphens:none;
  word-break:normal;
  overflow-wrap:normal;
}

/* Blocchi nati graficamente su un asse centrale: qui il centrato
   è più coerente del giustificato. Le card restano giustificate. */
.hero-content p,
.section-lead,
.big-cta p,
.institutional-hero p{
  text-align:center !important;
  text-justify:auto;
  hyphens:none;
  -webkit-hyphens:none;
}

/* Le due card Meet & Greet mantengono le stesse dimensioni e
   proporzioni della card “Guida turistica”, anche nel responsive. */
.detail-feature-panel-meet-greet{
  width:min(var(--max),calc(100% - 44px));
  grid-template-columns:minmax(280px,.86fr) minmax(0,1.14fr);
  margin-top:26px;
}
.detail-feature-panel-meet-greet .detail-feature-media{
  min-height:360px;
}
.detail-feature-panel-meet-greet .detail-feature-copy h2{
  font-size:clamp(2.4rem,4vw,4.1rem);
}

@media (max-width:900px){
  .detail-feature-panel-meet-greet{
    grid-template-columns:1fr;
  }
  .detail-feature-panel-meet-greet .detail-feature-media{
    min-height:330px;
  }
}

@media (max-width:760px){
  .detail-feature-panel-meet-greet{
    width:calc(100% - 28px);
    margin-top:36px;
    margin-bottom:58px;
  }
  .detail-feature-panel-meet-greet .detail-feature-media{
    min-height:280px;
  }
}

@media (max-width:420px){
  .detail-feature-panel-meet-greet .detail-feature-media{
    min-height:240px;
  }
}

/* =========================================================
   RIFINITURA TESTI — 14/07/2026
   Il testo introduttivo richiesto è centrato. In tutto il sito
   le parole restano intere: nessuna sillabazione automatica e
   nessuna divisione forzata a fine riga, anche nei testi giustificati.
   ========================================================= */
.page .intro .intro-copy .home-intro-statement{
  text-align:center !important;
  text-justify:auto;
}

.page,
.page *{
  hyphens:none !important;
  -webkit-hyphens:none !important;
  -ms-hyphens:none !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
}

/* =========================================================
   RIFINITURA HOME — FLOTTA E STANDARD DEL SERVIZIO — 14/07/2026
   Allineamento e distanze uniformati al blocco
   “Mobilità privata ed esperienze premium”.
   ========================================================= */
.page .fleet-section .section-title,
.page .commitments .section-title{
  margin:20px 0 12px;
}

.page .home-centered-lead{
  max-width:760px;
  margin:0 auto;
  text-align:center !important;
  text-justify:auto;
}

/* La track ha già 8px di padding superiore: 36 + 8 = 44px,
   la stessa distanza visiva usata prima delle card dei servizi. */
.page .fleet-section .fleet-track{
  margin:36px auto 0;
}

.page .commitments .commit-grid{
  margin-top:44px;
}

/* =========================================================
   CONTATTI RAPIDI NEL MEGA MENU — 14/07/2026
   Telefono, email e indirizzo su righe separate, con icone oro
   e collegamenti diretti. Regole limitate al menu "Chi siamo".
   ========================================================= */
.mega-menu[data-mega-panel="chi-siamo"] .mega-panel-card{
  justify-content:center;
  padding:36px 32px;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-panel-card > strong{
  margin:0 0 20px;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-list{
  width:100%;
  display:grid;
  gap:8px;
  margin:0 0 22px;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:8px 10px;
  margin:0;
  border-radius:8px;
  background:transparent;
  color:#eef1ee;
  font-size:15px;
  font-weight:450;
  line-height:1.45;
  letter-spacing:0;
  text-transform:none;
  transition:background-color .18s ease,color .18s ease,transform .18s ease;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link:hover,
.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link:focus-visible{
  background:rgba(255,255,255,.07);
  color:#fff;
  transform:translateX(3px);
  outline:none;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-icon{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border:1px solid rgba(200,164,94,.55);
  border-radius:50%;
  color:var(--gold);
  background:rgba(200,164,94,.08);
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-icon svg{
  width:15px;
  height:15px;
  display:block;
  fill:currentColor;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link > span:last-child{
  min-width:0;
  overflow-wrap:normal !important;
  word-break:normal !important;
  hyphens:none !important;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-panel-card .mega-panel-cta{
  margin-top:0;
}

@media (max-width:1100px){
  .mega-menu[data-mega-panel="chi-siamo"] .mega-panel-card{
    min-height:0;
    padding:28px;
  }

  .mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link{
    padding:8px 4px;
  }
}

@media (max-width:520px){
  .mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link{
    grid-template-columns:30px minmax(0,1fr);
    gap:10px;
    font-size:13px;
  }

  .mega-menu[data-mega-panel="chi-siamo"] .mega-contact-icon{
    width:28px;
    height:28px;
  }
}


/* =========================================================
   CONTATTI RAPIDI — LARGHEZZA NATURALE — 14/07/2026
   Ogni contatto resta su una riga distinta, ma il collegamento
   occupa solo lo spazio necessario: niente numero o testo
   distribuito artificialmente per tutta la larghezza del box.
   ========================================================= */
.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-list{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link{
  width:auto;
  max-width:100%;
  align-self:flex-start;
  display:inline-grid;
  grid-template-columns:34px auto;
  justify-content:start;
  text-align:left !important;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link > span:last-child{
  width:auto;
  max-width:100%;
  text-align:left !important;
}

.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link[href^="tel:"] > span:last-child,
.mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link[href^="mailto:"] > span:last-child{
  white-space:nowrap;
}

@media (max-width:520px){
  .mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link{
    grid-template-columns:30px auto;
  }
}

/* =========================================================
   CENTRATURA TESTO CTA SCURE — 17/07/2026
   Corregge la regola globale dei paragrafi giustificati e
   centra il testo descrittivo in tutte le card .big-cta.
   ========================================================= */
.page .big-cta p:not(.mega-title):not(.eyebrow):not(.type):not(.mail-status):not(.home-intro-statement):not(.home-centered-lead){
  width:100%;
  margin-left:auto;
  margin-right:auto;
  text-align:center !important;
  text-align-last:center;
  text-justify:auto;
  hyphens:none;
  -webkit-hyphens:none;
  -ms-hyphens:none;
}

/* =========================================================
   MULTILINGUA IT / EN / RU / AR — 10/08/2026
   Selettore lingua, compensazioni per testi lunghi e layout RTL.
   ========================================================= */
.lang-switch{
  position:relative;
  display:block;
  padding:0;
  flex:0 0 auto;
  background:#fff;
}
.lang-current{
  min-width:84px;
  min-height:46px;
  padding:11px 13px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:var(--ink);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  font:inherit;
  cursor:pointer;
}
.lang-current:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}
.lang-flag{font-size:16px;line-height:1}
.lang-chevron{font-size:14px;transition:transform .18s ease}
.lang-switch.is-open .lang-chevron{transform:rotate(180deg)}
.lang-menu{
  position:absolute;
  top:calc(100% + 10px);
  right:0;
  z-index:1200;
  min-width:190px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(255,255,255,.99);
  box-shadow:0 20px 48px rgba(0,0,0,.15);
  display:grid;
  gap:3px;
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.lang-switch.is-open .lang-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
  pointer-events:auto;
}
.lang-menu a{
  min-height:40px;
  padding:9px 11px;
  border-radius:8px;
  display:flex;
  align-items:center;
  gap:10px;
  font-size:13px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
  white-space:nowrap;
}
.lang-menu a:hover,
.lang-menu a:focus-visible{background:#f5f1e8;outline:none}
.lang-menu a.is-current{background:var(--accent);color:#fff}

/* Il russo occupa più spazio nel menu desktop. */
html[lang="ru"] .main-nav{gap:17px}
html[lang="ru"] .nav-link{font-size:11px;letter-spacing:.065em}
html[lang="ru"] .quote-btn{padding-left:17px;padding-right:17px;font-size:11px;letter-spacing:.07em}
html[lang="ru"] .brand,
html[lang="ru"] .brand-logo-link{min-width:245px}

/* Base tipografica e direzionale araba. */
html[lang="ar"] body{
  font-family:'Noto Sans Arabic',Tahoma,Arial,sans-serif;
  line-height:1.75;
}
html[lang="ar"] h1,
html[lang="ar"] h2,
html[lang="ar"] h3,
html[lang="ar"] h4,
html[lang="ar"] .section-title,
html[lang="ar"] .service-card h3,
html[lang="ar"] .fleet-body h3,
html[lang="ar"] .event-card h3,
html[lang="ar"] .commit-card h3,
html[lang="ar"] .destination-card h3{
  font-family:'Noto Sans Arabic',Tahoma,Arial,sans-serif;
  letter-spacing:0;
  line-height:1.35;
}
html[lang="ar"] .nav-link,
html[lang="ar"] .quote-btn,
html[lang="ar"] .lang-switch,
html[lang="ar"] .light-btn,
html[lang="ar"] .dark-btn,
html[lang="ar"] .outline-btn,
html[lang="ar"] .card-btn,
html[lang="ar"] .mega-title,
html[lang="ar"] .eyebrow,
html[lang="ar"] .footer-col h3{
  font-family:'Noto Sans Arabic',Tahoma,Arial,sans-serif;
  letter-spacing:0;
  text-transform:none;
}
html[lang="ar"] .main-nav{gap:18px}
html[lang="ar"] .nav-link{font-size:13px}
html[lang="ar"] .quote-btn{padding-left:18px;padding-right:18px}
html[lang="ar"] .brand,
html[lang="ar"] .brand-logo-link{min-width:245px}

html[dir="rtl"] body,
html[dir="rtl"] .page{direction:rtl}
html[dir="rtl"] .nav-shell,
html[dir="rtl"] .main-nav,
html[dir="rtl"] .mega-inner,
html[dir="rtl"] .footer-inner,
html[dir="rtl"] .form-row,
html[dir="rtl"] .detail-actions,
html[dir="rtl"] .big-cta-actions{direction:rtl}
html[dir="rtl"] .brand-logo{direction:ltr}
html[dir="rtl"] .lang-menu{right:auto;left:0}
html[dir="rtl"] .lang-menu a{text-align:right}

html[dir="rtl"] .hero:before,
html[dir="rtl"] .hero:after{
  transform:scaleX(-1);
  transform-origin:center;
}
html[dir="rtl"] .hero-content{
  margin-left:7.4vw;
  margin-right:auto;
  text-align:right;
}
html[dir="rtl"] .hero h1,
html[dir="rtl"] .hero h2,
html[dir="rtl"] .hero p{margin-left:0;margin-right:0;text-align:right}
html[dir="rtl"] .hero-actions{justify-content:flex-start}

html[dir="rtl"] .intro-copy,
html[dir="rtl"] .service-card-content,
html[dir="rtl"] .fleet-body,
html[dir="rtl"] .event-card-body,
html[dir="rtl"] .commit-card,
html[dir="rtl"] .review-card,
html[dir="rtl"] .detail-hero-copy,
html[dir="rtl"] .service-main-copy,
html[dir="rtl"] .service-summary-card,
html[dir="rtl"] .select-panel,
html[dir="rtl"] .experience-copy,
html[dir="rtl"] .institutional-hero,
html[dir="rtl"] .institutional-layout,
html[dir="rtl"] .institutional-cards,
html[dir="rtl"] .contact-page-copy,
html[dir="rtl"] .quote-modal-card,
html[dir="rtl"] .footer-brand,
html[dir="rtl"] .footer-col{
  text-align:right !important;
}
html[dir="rtl"] .service-card p,
html[dir="rtl"] .event-card p,
html[dir="rtl"] .commit-card p,
html[dir="rtl"] .fleet-body,
html[dir="rtl"] .blank-card p,
html[dir="rtl"] .detail-copy,
html[dir="rtl"] .detail-blocks p,
html[dir="rtl"] .home-intro-statement{
  text-align:right !important;
  text-align-last:right;
}
html[dir="rtl"] .mega-col{
  padding-right:0;
  padding-left:30px;
  border-right:0;
  border-left:1px solid var(--line);
}
html[dir="rtl"] .mega-col:last-child{padding-left:0;border-left:0}
html[dir="rtl"] .mega-link:hover{transform:translateX(-4px)}
html[dir="rtl"] .mega-panel-card{align-items:flex-start;text-align:right}
html[dir="rtl"] .mega-menu[data-mega-panel="chi-siamo"] .mega-contact-list{align-items:flex-end}
html[dir="rtl"] .mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link{
  align-self:flex-end;
  grid-template-columns:auto 34px;
  text-align:right !important;
}
html[dir="rtl"] .mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link .mega-contact-icon{grid-column:2}
html[dir="rtl"] .mega-menu[data-mega-panel="chi-siamo"] .mega-contact-link > span:last-child{grid-column:1;grid-row:1;text-align:right !important}

html[dir="rtl"] input,
html[dir="rtl"] select,
html[dir="rtl"] textarea{text-align:right;direction:rtl}
html[dir="rtl"] input[type="email"],
html[dir="rtl"] input[name="Telefono"],
html[dir="rtl"] a[href^="tel:"],
html[dir="rtl"] a[href^="mailto:"],
html[dir="rtl"] .footer-contacts li:nth-child(1),
html[dir="rtl"] .footer-contacts li:nth-child(2),
html[dir="rtl"] .footer-contacts li:nth-child(3){
  direction:ltr;
  unicode-bidi:isolate;
  text-align:left;
}
html[dir="rtl"] .footer-bottom{text-align:right}
html[dir="rtl"] .wa-float{right:auto;left:26px}

/* Mantiene stabile lo scorrimento JS; il contenuto delle card resta RTL. */
html[dir="rtl"] .fleet-track,
html[dir="rtl"] .destination-track,
html[dir="rtl"] .vehicle-gallery-thumbs{direction:ltr}
html[dir="rtl"] .fleet-track > *,
html[dir="rtl"] .destination-track > *,
html[dir="rtl"] .vehicle-gallery-thumbs > *{direction:rtl}

@media (max-width:1100px){
  .lang-switch{width:100%;margin-top:6px}
  .lang-current{width:100%;justify-content:flex-start;padding:12px 14px}
  .lang-menu{
    position:static;
    min-width:0;
    width:100%;
    margin-top:0;
    padding:0;
    border:0;
    box-shadow:none;
    max-height:0;
    overflow:hidden;
    opacity:1;
    visibility:visible;
    transform:none;
  }
  .lang-switch.is-open .lang-menu{max-height:220px;padding:7px;margin-top:4px;border:1px solid var(--line)}
  html[dir="rtl"] .lang-current{justify-content:flex-start}
  html[dir="rtl"] .main-nav{text-align:right}
  html[dir="rtl"] .hero-content{margin-left:auto;margin-right:auto;text-align:right}
}

@media (max-width:760px){
  html[dir="rtl"] .hero-content{margin-left:20px;margin-right:20px;width:calc(100% - 40px)}
  html[dir="rtl"] .hero-actions{justify-content:flex-start}
  html[dir="rtl"] .wa-float{left:18px;right:auto}
  html[lang="ru"] .quote-btn,
  html[lang="ar"] .quote-btn{white-space:normal;text-align:center}
}

/* =========================================================
   RTL HERO — 11/08/2026
   In arabo il contenuto delle hero occupa fisicamente il lato
   destro: testo, sottotitoli e CTA seguono la stessa colonna.
   Le hero a due colonne mantengono immagine a sinistra e testo
   a destra, senza invertire il layout per effetto di direction.
   ========================================================= */
html[dir="rtl"] .hero-content{
  margin-left:auto !important;
  margin-right:7.4vw !important;
  text-align:right !important;
}
html[dir="rtl"] .hero h1,
html[dir="rtl"] .hero h2,
html[dir="rtl"] .hero p{
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:right !important;
  text-align-last:right;
}
html[dir="rtl"] .hero h2:after{
  left:auto;
  right:0;
}
html[dir="rtl"] .hero-actions{
  direction:rtl;
  justify-content:flex-start !important;
}

html[dir="rtl"] .detail-hero,
html[dir="rtl"] .vehicle-detail-hero{
  direction:ltr;
}
html[dir="rtl"] .detail-hero-media,
html[dir="rtl"] .vehicle-gallery{
  direction:ltr;
}
html[dir="rtl"] .detail-hero-copy,
html[dir="rtl"] .vehicle-spec-panel{
  direction:rtl;
  text-align:right !important;
}
html[dir="rtl"] .detail-hero-copy h1,
html[dir="rtl"] .detail-hero-copy p,
html[dir="rtl"] .vehicle-spec-panel h1,
html[dir="rtl"] .vehicle-spec-panel p{
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:right !important;
  text-align-last:right;
}
html[dir="rtl"] .detail-actions,
html[dir="rtl"] .vehicle-spec-panel{
  justify-content:flex-start;
}
html[dir="rtl"] .detail-actions{
  width:100%;
  direction:rtl;
}
html[dir="rtl"] .vehicle-specs{
  direction:rtl;
  text-align:right;
}
html[dir="rtl"] .vehicle-gallery-main > span{
  left:auto;
  right:16px;
}

html[dir="rtl"] .concierge-bg:after{
  background:linear-gradient(270deg,rgba(0,0,0,.76),rgba(0,0,0,.22));
}
html[dir="rtl"] .concierge-hero-inner,
html[dir="rtl"] .fleet-catalog-hero > div:first-child{
  text-align:right !important;
}
html[dir="rtl"] .concierge-hero-inner h1,
html[dir="rtl"] .concierge-hero-inner p,
html[dir="rtl"] .fleet-catalog-hero h1,
html[dir="rtl"] .fleet-catalog-hero p{
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:right !important;
  text-align-last:right;
}

html[dir="rtl"] .institutional-hero h1,
html[dir="rtl"] .institutional-hero p{
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:right !important;
  text-align-last:right;
}

@media (max-width:1100px){
  html[dir="rtl"] .hero-content{
    margin-left:auto !important;
    margin-right:clamp(28px,6vw,64px) !important;
  }
}

@media (max-width:760px){
  html[dir="rtl"] .hero-content{
    width:calc(100% - 40px);
    margin-left:20px !important;
    margin-right:20px !important;
  }
}

/* Footer arabo: i tre contatti sono dati LTR e condividono lo stesso margine. */
html[dir="rtl"] .footer-contacts{
  direction:ltr !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start !important;
  justify-content:flex-start !important;
  width:100%;
  text-align:left !important;
}
html[dir="rtl"] .footer-contacts li{
  direction:ltr !important;
  unicode-bidi:isolate;
  align-self:flex-start !important;
  width:auto !important;
  margin:0 !important;
  text-align:left !important;
}

/* REVISIONE CLIENTE — 12/08/2026 */
.modal-backdrop{z-index:5000}
.quote-modal{z-index:5010}
.quote-modal-card{isolation:isolate}
.modal-close{z-index:3}
@media (min-width:1101px){
  .mega-menu[data-mega-panel="flotta"] .mega-panel-card{
    min-height:260px;
    height:auto;
    align-self:start;
    justify-content:flex-end;
    padding:38px 32px;
  }
  html[lang="en"] .ab-page-slug-luxury-experience .detail-hero{
    grid-template-columns:.78fr 1.22fr;
  }
  html[lang="en"] .ab-page-slug-luxury-experience .detail-hero-copy h1{
    max-width:none;
    font-size:clamp(34px,2.6vw,50px);
    letter-spacing:-.04em;
    white-space:nowrap;
    text-wrap:nowrap;
  }
}
