/* =========================================================
   Skylimit RentBack — landing page
   Palette e tipografia derivate dal depliant ufficiale
   ========================================================= */

:root{
  --bg:            #08080A;
  --bg-2:          #0C0C0F;
  --panel:         #121216;
  --panel-2:       #17171C;
  --gold:          #E4A518;
  --gold-soft:     #F2C05A;
  --gold-deep:     #B57F0A;
  --line:          rgba(228,165,24,.26);
  --line-soft:     rgba(255,255,255,.08);
  --text:          #FFFFFF;
  --muted:         #9B9BA2;
  --muted-2:       #77777D;

  --display: 'Barlow Condensed', 'Arial Narrow', Impact, sans-serif;
  --body:    'Titillium Web', system-ui, -apple-system, Segoe UI, sans-serif;

  --wrap: 1180px;
  --pad: clamp(20px, 5vw, 48px);
}

*,*::before,*::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; scroll-padding-top:24px; }

body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--body);
  font-weight:300;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3{ margin:0; font-family:var(--display); font-weight:700; line-height:1.02; letter-spacing:.01em; }
p{ margin:0; }
ul,ol{ margin:0; padding:0; list-style:none; }

.wrap{ width:100%; max-width:var(--wrap); margin-inline:auto; padding-inline:var(--pad); }
.visually-hidden{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* icone: stile linea dorata come sul depliant */
.ic{
  width:1em; height:1em; flex:none;
  fill:none; stroke:currentColor; stroke-width:1.5;
  stroke-linecap:round; stroke-linejoin:round;
}

/* le auto sono PNG scontornati: sotto ci va una pozza di luce, non un'ombra */
.car-shot{ position:relative; }
.car-shot img{ position:relative; }
.car-shot::after{
  content:''; position:absolute; z-index:0; pointer-events:none;
  left:6%; right:6%; bottom:-2%; height:22%;
  background:radial-gradient(50% 50% at 50% 55%,
    rgba(228,165,24,.22), rgba(228,165,24,.07) 46%, transparent 72%);
  filter:blur(16px);
}

/* sfumatura dei bordi delle foto, per fonderle con lo sfondo scuro */
.feather{
  -webkit-mask-image:
    linear-gradient(90deg,transparent 0,#000 var(--fx,7%),#000 calc(100% - var(--fx,7%)),transparent 100%),
    linear-gradient(180deg,transparent 0,#000 var(--fy,6%),#000 calc(100% - var(--fy,6%)),transparent 100%);
  -webkit-mask-composite:source-in;
          mask-image:
    linear-gradient(90deg,transparent 0,#000 var(--fx,7%),#000 calc(100% - var(--fx,7%)),transparent 100%),
    linear-gradient(180deg,transparent 0,#000 var(--fy,6%),#000 calc(100% - var(--fy,6%)),transparent 100%);
          mask-composite:intersect;
}

/* ---------------- Bottoni ---------------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.6em;
  font-family:var(--display); font-weight:600; text-transform:uppercase;
  letter-spacing:.09em; color:#141006;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));
  border:0; border-radius:2px; cursor:pointer;
  transition:transform .25s ease, box-shadow .25s ease, filter .25s ease;
  box-shadow:0 6px 22px -10px rgba(228,165,24,.75);
}
.btn:hover{ transform:translateY(-2px); filter:brightness(1.06); box-shadow:0 12px 30px -10px rgba(228,165,24,.85); }
.btn:active{ transform:translateY(0); }
.btn-sm{ padding:.55em 1.15em; font-size:15px; }
.btn-lg{ padding:.72em 1.6em; font-size:22px; }
.btn-arrow{ width:.72em; height:.72em; stroke-width:2.6; }


/* ---------------- Logo al neon ---------------- */
.logo-neon{ position:relative; display:block; }
.logo-neon img{
  position:relative; z-index:2; width:100%; display:block;
  filter:
    drop-shadow(0 0 1px rgba(255,255,255,.55))
    drop-shadow(0 0 6px rgba(255,255,255,.28));
}
/* due aloni bianchi sovrapposti: uno stretto, uno diffuso */
.logo-neon::before,
.logo-neon::after{
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:#fff;
  -webkit-mask:var(--logo-src) center/contain no-repeat;
          mask:var(--logo-src) center/contain no-repeat;
}
.logo-neon::before{ filter:blur(3px);  opacity:.3; }
.logo-neon::after{
  filter:blur(15px); opacity:.26;
  animation:neon-breathe 5.5s ease-in-out infinite;
}
@keyframes neon-breathe{
  0%,100%{ opacity:.18; }
  50%    { opacity:.32; }
}

.hero-mark{
  --logo-src:url('assets/logo_vert.png');
  width:clamp(92px,10vw,128px); margin:0 auto clamp(20px,2.6vw,30px);
}
.footer-logo{
  --logo-src:url('assets/logo_oriz.png');
  width:clamp(132px,16vw,168px); margin:0 auto 10px;
}
.footer-logo::before{ filter:blur(2.5px); opacity:.24; }
.footer-logo::after{ filter:blur(10px); opacity:.2; }

/* ---------------- Hero ----------------
   Una schermata esatta. Tre gruppi (testa / auto / lockup) piu' la striscia
   in fondo; lo spazio che avanza si distribuisce FRA i gruppi, mai ai bordi. */
.hero{
  position:relative; overflow:hidden; text-align:center;
  min-height:100vh; min-height:100svh;
  display:flex; flex-direction:column;
  padding-top:clamp(18px,2.6vh,36px);
  padding-bottom:clamp(26px,3.6vh,48px);
}
.hero-glow{
  position:absolute; inset:-16% -10% auto; height:min(760px,86vh); pointer-events:none;
  background:
    radial-gradient(58% 52% at 50% 34%, rgba(228,165,24,.13), transparent 68%),
    radial-gradient(40% 40% at 50% 12%, rgba(255,255,255,.07), transparent 70%);
}
.hero .wrap{ position:relative; }
.hero-top{
  flex:1 1 auto; min-height:0;
  display:flex; flex-direction:column; justify-content:space-evenly;
  gap:clamp(6px,1vh,14px);
}
.hero-bottom{ flex:0 0 auto; }

/* --- testa: logo, titolo, sottotitolo --- */
.hero-mark{
  --logo-src:url('assets/logo_vert.png');
  width:clamp(86px, min(22vw, 14.5vh), 156px);
  margin:0 auto clamp(8px,1.2vh,16px);
}
.hero-title{
  font-size:clamp(34px, min(10vw, 7.2vh), 76px);
  text-transform:uppercase; letter-spacing:.005em;
}
.hero-title em{
  font-style:normal;
  background:linear-gradient(180deg,var(--gold-soft) 8%,var(--gold) 55%,var(--gold-deep) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-sub{
  margin-top:clamp(5px,.8vh,12px);
  font-size:clamp(12px, min(3.4vw, 1.9vh), 18px); font-weight:400;
  text-transform:uppercase; letter-spacing:.12em; color:#C9C9CE;
}

/* --- auto: in orizzontale e' l'elemento elastico (limitata dall'altezza),
       in verticale segue la larghezza e non cresce --- */
.hero-figure{
  flex:1 1 0; min-height:clamp(80px,12vh,150px);
  display:flex; align-items:center; justify-content:center;
  width:100%; max-width:min(880px,94vw); margin:0 auto;
}
.hero-figure .car-shot{
  display:block; height:100%; width:auto; max-width:100%;
  aspect-ratio:1755 / 716;
}
.hero-figure img{ width:100%; height:100%; object-fit:contain; }

/* --- lockup --- */
.lockup-top{
  font-family:var(--display); font-weight:500;
  font-size:clamp(11px, min(3.2vw, 2.1vh), 24px);
  letter-spacing:.42em; text-transform:uppercase; color:#E8E8EC; text-indent:.42em;
}
.lockup-main{
  font-family:var(--display); font-weight:700;
  font-size:clamp(32px, min(9.6vw, 7vh), 80px);
  text-transform:uppercase; letter-spacing:.02em; line-height:.92; margin-top:1px;
}
.lockup-main em{ font-style:normal; color:var(--gold); }
.lockup-claim{
  margin-top:clamp(4px,.6vh,9px);
  font-family:var(--display); font-weight:500;
  font-size:clamp(12.5px, min(3.4vw, 2.1vh), 25px);
  text-transform:uppercase; letter-spacing:.06em; color:#DCDCE1;
}
.lockup-claim strong{ color:var(--gold); font-weight:700; }

/* --- striscia dei 4 punti --- */
.hero-strip{
  display:grid; grid-template-columns:repeat(4,1fr);
  margin-top:clamp(10px,1.6vh,26px);
  border-top:1px solid var(--line-soft);
  padding-top:clamp(10px,1.4vh,24px);
}
.hero-strip li{
  display:flex; flex-direction:column; align-items:center;
  gap:clamp(5px,.9vh,11px);
  padding-inline:clamp(6px,1vw,14px); text-align:center;
  font-size:clamp(10px, min(2.7vw, 1.3vh), 13px);
  text-transform:uppercase; letter-spacing:.06em; color:#C4C4C9; line-height:1.4;
}
.hero-strip li + li{ border-left:1px solid var(--line-soft); }
.hero-strip .ic{
  width:clamp(18px, min(5vw, 2.8vh), 32px);
  height:clamp(18px, min(5vw, 2.8vh), 32px);
  color:var(--gold);
}

/* ---------------- Sezioni ---------------- */
.section{ padding-block:clamp(64px,9vw,118px); }
.section-alt{ background:linear-gradient(180deg,var(--bg-2),#0A0A0D); border-block:1px solid var(--line-soft); }

.rule-title{
  display:flex; align-items:center; gap:22px; justify-content:center;
  font-size:clamp(30px,5.2vw,58px); text-transform:uppercase; text-align:center;
  margin-bottom:clamp(34px,4.6vw,58px);
}
.rule-title::before,.rule-title::after{
  content:''; height:1px; flex:1 1 auto; max-width:190px;
  background:linear-gradient(90deg,transparent,var(--line));
}
.rule-title::after{ background:linear-gradient(90deg,var(--line),transparent); }
.rule-title em{ font-style:normal; color:var(--gold); }
.rule-left{ justify-content:flex-start; margin-bottom:6px; }
.rule-left::before{ display:none; }

.big-title{
  font-size:clamp(32px,5.6vw,62px); text-transform:uppercase; line-height:1.03;
}
.big-title em{ font-style:normal; color:var(--gold); }
.lead{ margin-top:20px; font-size:clamp(17px,1.6vw,20px); color:var(--muted); }

/* ---------------- Come funziona ----------------
   Lista verticale centrata come blocco; il numero e' un badge sull'icona. */
.steps{
  display:flex; flex-direction:column; gap:clamp(22px,2.8vw,32px);
  width:max-content; max-width:100%; margin-inline:auto;
}
.step{
  display:grid; grid-template-columns:auto 1fr; align-items:center; gap:22px;
}
.step-ic{
  position:relative;
  display:grid; place-items:center; width:64px; height:64px; border-radius:50%;
  border:1px solid var(--line); color:var(--gold);
  background:radial-gradient(circle at 50% 30%,rgba(228,165,24,.10),transparent 70%);
}
.step-ic .ic{ width:30px; height:30px; }
.step-n{
  position:absolute; top:-7px; right:-7px;
  display:grid; place-items:center; width:26px; height:26px; border-radius:50%;
  background:linear-gradient(180deg,var(--gold-soft),var(--gold));
  color:#141006; font-family:var(--display); font-weight:700; font-size:15px; line-height:1;
  box-shadow:0 0 0 3px var(--bg), 0 4px 12px -4px rgba(228,165,24,.7);
}
.step h3{
  font-size:clamp(19px,2.2vw,25px); text-transform:uppercase; letter-spacing:.02em;
  color:#EFEFF2; font-weight:500;
}
.step h3 strong{ font-weight:700; color:#fff; }
.step p{ margin-top:5px; color:var(--muted); font-size:16px; line-height:1.6; max-width:52ch; }

.callout{
  display:flex; align-items:center; gap:clamp(18px,3vw,34px);
  margin-top:clamp(36px,5vw,58px); padding:clamp(20px,3vw,30px) clamp(22px,4vw,42px);
  border:1px solid var(--line); border-radius:4px;
  background:linear-gradient(180deg,rgba(228,165,24,.055),rgba(228,165,24,.015));
}
.callout-ic{ width:clamp(34px,4vw,48px); height:clamp(34px,4vw,48px); color:var(--gold); stroke-width:2.2; }
.callout-main{
  font-family:var(--display); font-weight:600; font-size:clamp(20px,2.9vw,32px);
  text-transform:uppercase; letter-spacing:.03em; line-height:1.14; color:#F0F0F3;
}
.callout-main em{ font-style:normal; color:var(--gold); }
.callout-main.gold{ color:var(--gold); }
.callout-note{ margin-top:8px; color:var(--muted); font-size:15.5px; }

/* ---------------- Quando non la usi ---------------- */
.risorsa-grid{
  display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(28px,5vw,66px); align-items:center;
  margin-top:clamp(34px,4.6vw,54px);
}
.phone-figure{ position:relative; }
.phone-figure::after{
  content:''; position:absolute; inset:-6% -14%; z-index:-1;
  background:radial-gradient(46% 42% at 46% 46%,rgba(228,165,24,.16),transparent 70%);
}
.phone-figure img,
.phone-figure video{ width:100%; max-width:460px; margin-inline:auto; display:block; --fx:16%; --fy:12%; }
/* il nero del video (compresso) e' un filo piu' chiaro di quello della pagina:
   contrasto e "screen" lo riportano al fondo, la sfumatura larga nasconde i bordi */
.phone-figure video{ height:auto; mix-blend-mode:screen; filter:contrast(1.1) brightness(.96); }

.fifty{
  border:1px solid var(--line); border-radius:5px;
  padding:clamp(26px,4vw,44px) clamp(22px,4vw,48px); text-align:center;
  background:linear-gradient(180deg,rgba(228,165,24,.06),rgba(255,255,255,.012));
}
.fifty-kicker{
  font-family:var(--display); font-weight:500; text-transform:uppercase;
  letter-spacing:.22em; font-size:clamp(15px,1.8vw,20px); color:#DBDBE0;
}
.fifty-num{
  font-family:var(--display); font-weight:700; line-height:.86;
  font-size:clamp(96px,15vw,180px); letter-spacing:-.01em;
  background:linear-gradient(180deg,var(--gold-soft) 5%,var(--gold) 50%,var(--gold-deep) 100%);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.fifty-num i{ font-style:normal; font-size:.58em; }
.fifty-label{
  font-family:var(--display); font-weight:600; text-transform:uppercase;
  font-size:clamp(18px,2.3vw,27px); letter-spacing:.045em; line-height:1.12; margin-top:6px;
}
.fifty hr{ border:0; border-top:1px solid var(--line); margin:clamp(18px,2.4vw,26px) auto; width:100%; }
.fifty-note{ color:var(--muted); font-size:16px; max-width:40ch; margin-inline:auto; }

.trio{
  display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(20px,3vw,36px);
  margin-top:clamp(40px,5vw,62px); padding-top:clamp(28px,3.6vw,42px);
  border-top:1px solid var(--line-soft);
}
.trio li{
  display:flex; flex-direction:column; align-items:center; gap:14px; text-align:center;
  font-size:13.5px; text-transform:uppercase; letter-spacing:.08em; color:#C4C4C9; line-height:1.55;
}
.trio .ic{ width:38px; height:38px; color:var(--gold); }

/* ---------------- Esempio reale ---------------- */
.model{
  font-family:var(--display); font-weight:500; text-transform:uppercase;
  font-size:clamp(24px,3.6vw,40px); letter-spacing:.02em; color:#E9E9ED;
  margin-bottom:clamp(28px,3.6vw,44px);
}
.model em{ font-style:normal; font-weight:700; color:var(--gold); }

.esempio-grid{
  display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);
  gap:clamp(26px,4vw,48px); align-items:center;
}
.esempio-figure img{ width:100%; }

.table-card{
  border:1px solid var(--line); border-radius:5px; overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.026),rgba(255,255,255,.008));
}
.spec{ width:100%; border-collapse:collapse; }
.spec th,.spec td{ padding:clamp(12px,1.7vw,17px) clamp(16px,2.4vw,26px); text-align:left; vertical-align:middle; }
.spec th{
  font-weight:400; font-size:14.5px; text-transform:uppercase; letter-spacing:.075em;
  color:#C6C6CB; border-right:1px solid var(--line-soft);
}
.spec th small{ display:block; text-transform:none; letter-spacing:.02em; color:var(--muted-2); font-size:13px; margin-top:2px; }
.spec td{
  font-family:var(--display); font-weight:600; font-size:clamp(21px,2.6vw,29px);
  text-transform:uppercase;
  letter-spacing:.02em; white-space:nowrap; text-align:right; width:38%;
}
.spec tr + tr{ border-top:1px solid var(--line-soft); }
.spec tr.hl{ background:linear-gradient(90deg,rgba(228,165,24,.20),rgba(228,165,24,.34)); }
.spec tr.hl th{ color:#fff; border-right-color:rgba(0,0,0,.18); }
.spec tr.hl td{ color:#fff; }
.spec tr.last td{ color:var(--gold); }

/* ---------------- Vantaggi ---------------- */
.side-figure{ margin:clamp(6px,1.6vw,16px) auto clamp(34px,4.4vw,54px); max-width:900px; }

.benefits{
  display:grid; grid-template-columns:repeat(3,1fr);
  border:1px solid var(--line-soft); border-radius:4px; overflow:hidden;
}
.benefits li{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px;
  padding:clamp(26px,3.4vw,42px) 18px; text-align:center; min-height:180px;
  border-right:1px solid var(--line-soft); border-bottom:1px solid var(--line-soft);
  font-size:14px; text-transform:uppercase; letter-spacing:.08em; color:#CFCFD4; line-height:1.5;
  transition:background .3s ease, transform .3s ease;
}
.benefits li:nth-child(3n){ border-right:0; }
.benefits li:nth-child(n+4){ border-bottom:0; }
.benefits li:hover{ background:rgba(228,165,24,.05); }
.benefits .ic{ width:42px; height:42px; color:var(--gold); }

.closing{
  margin-top:clamp(36px,4.6vw,56px); text-align:center;
  font-family:var(--display); font-weight:500; text-transform:uppercase;
  font-size:clamp(22px,3.4vw,40px); letter-spacing:.035em; line-height:1.18; color:#B9B9BE;
}
.closing strong{ display:inline-block; font-weight:700; color:#fff; }

/* ---------------- CTA ---------------- */
.cta{
  position:relative; padding-block:clamp(64px,8vw,104px);
  background:radial-gradient(70% 55% at 50% 20%,rgba(255,255,255,.05),transparent 70%),var(--bg);
  border-top:1px solid var(--line-soft);
  text-align:center;
}
.cta-title{
  font-size:clamp(24px,4.2vw,50px); text-transform:uppercase; font-weight:500;
  letter-spacing:.03em; line-height:1.16; color:#DBDBE0;
}
.cta-title em{ font-style:normal; font-weight:700; color:var(--gold); }
.cta-figure{ margin:clamp(20px,3.4vw,38px) auto clamp(30px,4vw,46px); max-width:680px; }
.cta-figure img{ width:100%; }

/* contatti in riga sopra al form */
.contacts{
  display:flex; flex-wrap:wrap; justify-content:center;
  gap:14px clamp(28px,4vw,56px); margin-bottom:clamp(26px,3.4vw,40px);
}
.contacts li{ display:flex; align-items:center; gap:12px; font-size:17px; color:#E4E4E8; }
.contacts .ic{ width:24px; height:24px; color:var(--gold); }
.contacts a{ transition:color .25s ease; }
.contacts a:hover{ color:var(--gold); }

/* ---------------- Form ---------------- */
.lead-form{
  max-width:760px; margin-inline:auto; text-align:center;
  padding:clamp(26px,3.6vw,40px) clamp(22px,4vw,48px);
  border:1px solid var(--line-soft); border-radius:5px;
  background:linear-gradient(180deg,rgba(255,255,255,.03),rgba(255,255,255,.008));
}
.form-head{ margin-bottom:clamp(20px,2.6vw,28px); }
.cta-kicker{ font-size:14px; text-transform:uppercase; letter-spacing:.09em; color:var(--muted); }
.cta-brand{
  font-family:var(--display); font-weight:600; text-transform:uppercase;
  font-size:clamp(22px,2.8vw,32px); letter-spacing:.05em; margin-top:2px;
}
.cta-brand em{ font-style:normal; color:var(--gold); }

.form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px 18px; text-align:left; align-items:end; }
.field{ display:flex; flex-direction:column; gap:7px; }
.field span{ font-size:12.5px; text-transform:uppercase; letter-spacing:.08em; color:#C4C4C9; }
.field input{
  width:100%; padding:13px 14px; font:inherit; font-size:16px; color:#fff;
  background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.14); border-radius:3px;
  transition:border-color .2s ease, background .2s ease;
}
.field input::placeholder{ color:#66666D; }
.field input:focus{ outline:none; border-color:var(--gold); background:rgba(228,165,24,.05); }
.lead-form.was-validated input:invalid{ border-color:#C8503A; }

.consent{
  display:flex; align-items:flex-start; gap:12px; text-align:left;
  margin-top:18px; font-size:14px; line-height:1.5; color:var(--muted); cursor:pointer;
}
.consent input{ position:absolute; opacity:0; width:0; height:0; }
.consent .check{
  flex:none; width:20px; height:20px; margin-top:1px; border-radius:3px;
  border:1px solid rgba(255,255,255,.3); display:grid; place-items:center;
  color:#141006; transition:background .2s ease, border-color .2s ease;
}
.consent .check .ic{ width:14px; height:14px; stroke-width:2.6; opacity:0; }
.consent input:checked + .check{ background:var(--gold); border-color:var(--gold); }
.consent input:checked + .check .ic{ opacity:1; }
.consent input:focus-visible + .check{ outline:2px solid var(--gold); outline-offset:2px; }
.lead-form.was-validated .consent input:invalid + .check{ border-color:#C8503A; }

.form-msg{ min-height:1.4em; margin-top:14px; font-size:14.5px; color:var(--gold); }
.form-msg.error{ color:#E0705A; }
.lead-form .btn{ margin-top:6px; min-width:220px; }
.lead-form.is-sent .form-grid,
.lead-form.is-sent .consent,
.lead-form.is-sent .btn{ display:none; }

/* ---------------- Footer ---------------- */
.site-footer{ border-top:1px solid var(--line-soft); padding-block:38px; background:#050506; }
.footer-inner{ display:flex; flex-direction:column; align-items:center; gap:12px; text-align:center; }
.copy{ font-size:13px; color:var(--muted-2); letter-spacing:.04em; }

/* ---------------- Effetti di entrata allo scroll ---------------- */
.js .reveal{
  opacity:0; transform:translateY(22px);
  transition:opacity .75s cubic-bezier(.22,.61,.36,1) var(--d,0s),
             transform .75s cubic-bezier(.22,.61,.36,1) var(--d,0s);
  will-change:opacity,transform;
}
.js .reveal.in{ opacity:1; transform:none; }

/* ---------------- Responsive ---------------- */

/* Telefoni verticali bassi (iPhone SE e simili): un filo piu' compatto */
@media (max-aspect-ratio:1/1) and (max-height:600px){
  .hero{ padding-top:10px; padding-bottom:18px; }
  .hero-mark{ width:68px; margin-bottom:6px; }
  .hero-title{ font-size:clamp(30px,8.6vw,36px); }
  .hero-figure{ max-width:76%; }
  .lockup-main{ font-size:clamp(28px,8.4vw,34px); }
  .hero-strip{ margin-top:8px; padding-top:8px; }
  .hero-strip li:nth-child(n+3){ padding-top:8px; }
  .hero-strip{ gap:8px 0; }
}

/* Finestre molto basse (telefono in orizzontale): tutto compattato,
   cosi' l'hero regge la promessa di stare in una schermata anche qui. */
@media (max-height:520px){
  .hero{ padding-top:8px; padding-bottom:16px; }
  .hero-mark{ width:max(40px,min(7.6vh,60px)); margin-bottom:6px; }
  .hero-title{ font-size:max(26px,min(7.4vh,54px)); }
  .hero-sub{ margin-top:4px; font-size:max(10.5px,min(2vh,14px)); letter-spacing:.1em; }
  .hero-figure{ min-height:76px; margin-block:6px; }
  .lockup-top{ font-size:max(9.5px,min(2vh,15px)); letter-spacing:.34em; }
  .lockup-main{ font-size:max(26px,min(7.6vh,56px)); }
  .lockup-claim{ margin-top:3px; font-size:max(10.5px,min(2vh,16px)); }
  .hero-strip{ margin-top:8px; padding-top:8px; }
  .hero-strip li{ font-size:9.5px; gap:5px; line-height:1.35; }
  .hero-strip .ic{ width:16px; height:16px; }
}

/* Sui formati verticali l'auto e' limitata dalla larghezza: invece di
   lasciarle tutto lo spazio che avanza, lo distribuisco fra gli elementi. */
@media (max-aspect-ratio:1/1){
  .hero-figure{ flex:0 0 auto; min-height:0; max-width:92%; }
  .hero-figure .car-shot{ height:auto; width:100%; }
}

@media (max-width:960px){
  .risorsa-grid,.esempio-grid{ grid-template-columns:1fr; }
  .esempio-figure{ max-width:420px; margin-inline:auto; }
  .benefits{ grid-template-columns:repeat(2,1fr); }
  .benefits li:nth-child(3n){ border-right:1px solid var(--line-soft); }
  .benefits li:nth-child(2n){ border-right:0; }
  .benefits li:nth-child(n+4){ border-bottom:1px solid var(--line-soft); }
  .benefits li:nth-child(n+5){ border-bottom:0; }
  .contacts{ flex-direction:column; align-items:center; gap:12px; }
  .form-grid{ grid-template-columns:1fr; }
  .lead-form .btn{ width:100%; }
}

@media (max-width:640px){
  body{ font-size:16px; }
  .hero-strip{ grid-template-columns:repeat(2,1fr); gap:clamp(10px,1.6vh,20px) 0; }
  .hero-strip li:nth-child(odd){ border-left:0; }
  .hero-strip li:nth-child(n+3){
    padding-top:clamp(10px,1.6vh,20px); border-top:1px solid var(--line-soft);
  }
  .trio{ grid-template-columns:1fr; gap:28px; }
  .callout{ flex-direction:column; text-align:center; }
  .steps{ width:100%; gap:24px; }
  .step{ gap:16px; align-items:start; }
  .step-ic{ width:56px; height:56px; }
  .step h3{ margin-top:6px; }
  .benefits{ font-size:13px; }
  .benefits br{ display:none; }
  .benefits li{ min-height:158px; letter-spacing:.06em; }
  .spec th,.spec td{ padding:12px 14px; }
  .spec td{ font-size:20px; }
  .rule-title{ gap:12px; }
}

@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .js .reveal{ opacity:1; transform:none; transition:none; }
  .logo-neon::after{ animation:none; opacity:.26; }
  .btn:hover{ transform:none; }
}
