
/* font della vetrina, serviti dallo stesso dominio (stessi file di Google Fonts, sottoinsiemi latin e latin-ext) */
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 300;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/archivo-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(/fonts/archivo-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cinzel-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/cinzel-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/cinzel-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cinzel';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/cinzel-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/fraunces-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/fraunces-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/fraunces-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/fraunces-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/fraunces-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(/fonts/fraunces-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/fraunces-normal-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/fraunces-normal-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* ═══ 808 — DESIGN SYSTEM v3 ═══ */
:root{
  --inchiostro:#0A0A0B;--grafite:#101012;--grafite-2:#16161A;
  --acciaio:#8C8C93;--acciaio-scuro:#808087;--avorio:#F3F0E9;
  --hair:rgba(243,240,233,.08);--hair-2:rgba(243,240,233,.15);
  --bronzo:#B08D57;--bronzo-chiaro:#CDA875;
  --e-out:cubic-bezier(.16,1,.3,1);--e-io:cubic-bezier(.76,0,.24,1);
  --e-soft:cubic-bezier(.33,1,.68,1);
  --s1:8px;--s2:16px;--s3:24px;--s4:40px;--s5:64px;--s6:104px;--s7:200px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--inchiostro);color:var(--avorio);font-family:'Archivo',system-ui,sans-serif;
  font-weight:300;font-size:16px;line-height:1.62;-webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;overflow-x:hidden}
body.bloccato,body.menu{overflow:hidden}
::selection{background:var(--bronzo);color:var(--inchiostro)}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(20px,5vw,40px)}

h1,h2,h3,.display{font-family:'Fraunces',Georgia,serif;font-weight:300;line-height:1.06;letter-spacing:.004em}
em{font-style:italic}
.occhiello{font-size:11px;font-weight:400;letter-spacing:.44em;text-indent:.44em;text-transform:uppercase;color:var(--acciaio)}

/* parola-per-parola reveal (hero) */
.mask{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.14em;margin-bottom:-.14em}
.mask>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--e-out)}
.up .mask>span{transform:none}

/* cursore */
@media (pointer:fine){
  html.jsc body{cursor:none}
  .cur{position:fixed;top:0;left:0;width:7px;height:7px;border-radius:50%;background:var(--avorio);
    z-index:400;pointer-events:none;transform:translate(-50%,-50%);mix-blend-mode:difference;
    transition:width .45s var(--e-out),height .45s var(--e-out),opacity .3s}
  .cur.link{width:52px;height:52px;background:var(--bronzo)}
  .cur.hide{opacity:0}
}

/* cortina */
#cortina{position:fixed;inset:0;z-index:300;background:var(--inchiostro);
  display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--s4)}
#cortina img{width:130px;opacity:0;transform:scale(1.1) translateY(6px);filter:blur(6px);
  animation:sig 1.8s var(--e-out) .2s forwards}
#cortina .filo{width:0;height:1px;background:var(--hair-2);animation:filoA 1.5s var(--e-out) 1.1s forwards}
@keyframes sig{to{opacity:1;transform:none;filter:blur(0)}}
@keyframes filoA{to{width:min(200px,42vw)}}
#cortina.via{opacity:0;visibility:hidden;transition:opacity 1s var(--e-io),visibility 1s}

/* ambient — grana + aloni che respirano dietro l'hero */
.aura{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
.aura .glow{position:absolute;border-radius:50%;filter:blur(120px);opacity:.5;will-change:transform}
.aura .g1{width:60vw;height:60vw;left:-10vw;top:-10vw;background:radial-gradient(circle,rgba(176,141,87,.10),transparent 65%);animation:drift1 26s var(--e-soft) infinite alternate}
.aura .g2{width:50vw;height:50vw;right:-8vw;top:20vh;background:radial-gradient(circle,rgba(90,110,140,.08),transparent 65%);animation:drift2 32s var(--e-soft) infinite alternate}
@keyframes drift1{to{transform:translate(8vw,10vh) scale(1.15)}}
@keyframes drift2{to{transform:translate(-6vw,-8vh) scale(1.1)}}

/* nav */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;padding-block:var(--s3);
  transition:padding .5s var(--e-out),background .5s,border-color .5s,box-shadow .5s;border-bottom:1px solid transparent}
.nav::after{content:'';position:absolute;left:0;right:0;bottom:-1px;height:1px;
  background:linear-gradient(90deg,transparent,var(--bronzo) 50%,transparent);
  opacity:0;transform:scaleX(.6);transition:opacity .7s var(--e-out),transform .7s var(--e-out)}
.nav.densa::after{opacity:.5;transform:none}
.nav.densa{box-shadow:0 10px 34px rgba(0,0,0,.38)}
.nav.densa{padding-block:13px;background:rgba(10,10,11,.7);backdrop-filter:blur(22px) saturate(1.3);border-color:var(--hair)}
.navin{display:flex;align-items:center;justify-content:space-between}
.logo-nav{display:flex;align-items:center;gap:12px;text-decoration:none}
.logo-nav img{width:32px}
.logo-nav .wm{font-family:'Fraunces';font-size:23px;letter-spacing:.3em;text-indent:.3em;color:var(--avorio)}
.trigger{width:54px;height:54px;background:none;border:none;display:flex;flex-direction:column;
  align-items:flex-end;justify-content:center;gap:6px}
.trigger i{display:block;height:1.5px;background:var(--avorio);transition:all .6s var(--e-out);transform-origin:right}
.trigger i:nth-child(1){width:32px}.trigger i:nth-child(2){width:24px}.trigger i:nth-child(3){width:28px}
.trigger:hover i{background:var(--bronzo-chiaro)}
.trigger:hover i:nth-child(2){width:32px}
body.menu .trigger i:nth-child(1){transform:translateY(7.5px) rotate(-45deg);width:30px}
body.menu .trigger i:nth-child(2){opacity:0;transform:translateX(12px)}
body.menu .trigger i:nth-child(3){transform:translateY(-7.5px) rotate(45deg);width:30px}

/* menu */
.pannello{position:fixed;inset:0;z-index:190;background:var(--grafite);overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  clip-path:circle(0% at calc(100% - 47px) 40px);transition:clip-path .9s var(--e-io);
  display:flex;align-items:center}
body.menu .pannello{clip-path:circle(150% at calc(100% - 47px) 40px)}
.pannello-in{width:100%;max-width:1200px;margin:0 auto;padding-inline:clamp(20px,5vw,40px)}
.menu-voci{list-style:none;margin-bottom:var(--s6)}
.menu-voci li{overflow:hidden;padding:3px 0}
.menu-voci a{display:inline-flex;align-items:baseline;gap:var(--s3);text-decoration:none;
  font-family:'Fraunces';font-weight:300;font-size:clamp(42px,8.5vw,82px);line-height:1.12;
  color:var(--avorio);transform:translateY(120%);transition:transform .95s var(--e-out),color .4s}
body.menu .menu-voci a{transform:none}
.menu-voci li:nth-child(1) a{transition-delay:.2s}.menu-voci li:nth-child(2) a{transition-delay:.27s}
.menu-voci li:nth-child(3) a{transition-delay:.34s}.menu-voci li:nth-child(4) a{transition-delay:.41s}
.menu-voci li:nth-child(5) a{transition-delay:.48s}
.menu-voci a .idx{font-size:13px;font-family:'Archivo';font-weight:400;letter-spacing:.2em;color:var(--acciaio-scuro)}
.menu-voci a:hover{color:var(--bronzo-chiaro);font-style:italic;padding-left:12px}
.menu-piede{display:flex;gap:var(--s4);flex-wrap:wrap;color:var(--acciaio);font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;opacity:0;transition:opacity .6s .6s}
body.menu .menu-piede{opacity:1}
.menu-piede a{text-decoration:none;transition:color .3s}.menu-piede a:hover{color:var(--bronzo-chiaro)}

/* hero */
.hero{min-height:100svh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;position:relative;z-index:1;
  padding:calc(var(--s7) + env(safe-area-inset-top)) clamp(20px,5vw,40px) var(--s6)}
.hero .sigillo{width:min(300px,56vw);height:auto;aspect-ratio:1/1;object-fit:contain;
  margin-bottom:var(--s5);will-change:transform;
  filter:drop-shadow(0 0 80px rgba(176,141,87,.10))}
/* ogni istanza del sigillo resta 1:1 e non deforma il logo, a qualsiasi larghezza */
img[src$="sigillo-808.png"]{aspect-ratio:1/1;height:auto;object-fit:contain}
.hero h1{font-size:clamp(46px,8.4vw,100px);letter-spacing:.008em;max-width:15ch;margin-bottom:var(--s3)}
.hero h1 em{color:var(--avorio)}
.hero .sub{color:var(--acciaio);font-size:clamp(14px,1.7vw,17px);max-width:50ch;line-height:1.8;
  margin-bottom:var(--s4);opacity:0;transform:translateY(16px);transition:opacity 1s var(--e-out) .7s,transform 1s var(--e-out) .7s}
.up .hero .sub,.hero.up .sub{opacity:1;transform:none}
.hero-cta{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--avorio);
  font-size:12px;letter-spacing:.28em;text-transform:uppercase;padding-bottom:8px;position:relative}
.hero-azioni{opacity:0;transform:translateY(16px);transition:opacity 1s var(--e-out) .9s,transform 1s var(--e-out) .9s}
.hero.up .hero-azioni{opacity:1;transform:none}
.hero-cta::after{content:'';position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--bronzo);
  transform:scaleX(.35);transform-origin:left;transition:transform .6s var(--e-out)}
.hero-cta:hover::after{transform:scaleX(1)}
.hero-cta .arr{color:var(--bronzo);transition:transform .5s var(--e-out)}
.hero-cta:hover .arr{transform:translateX(7px)}
.scia{position:absolute;left:50%;bottom:calc(26px + env(safe-area-inset-bottom));width:1px;height:56px;
  background:var(--hair-2);overflow:hidden;opacity:0;animation:fadeIn 1s 1.4s forwards}
.scia::after{content:'';position:absolute;top:-56px;left:0;width:1px;height:28px;background:var(--avorio);animation:scia 3.2s var(--e-io) infinite}
@keyframes scia{to{top:56px}}
@keyframes fadeIn{to{opacity:1}}

/* sezioni */
.sez{padding-block:var(--s7);position:relative;z-index:1}
.sez-cap{text-align:center;margin-bottom:var(--s6)}
.kick{display:flex;align-items:center;justify-content:center;gap:var(--s2);margin-bottom:var(--s3)}
.kick::before,.kick::after{content:'';height:1px;width:min(80px,15vw);background:var(--hair)}
.rombo{width:6px;height:6px;border:1px solid var(--bronzo);transform:rotate(45deg);flex:none;transition:transform .8s var(--e-out)}
.sez:hover .sez-cap .rombo{transform:rotate(225deg)}
.sez-cap h2{font-size:clamp(38px,5.6vw,72px);margin-bottom:var(--s3)}
.sez-cap .lede{max-width:54ch;margin-inline:auto;color:var(--acciaio);font-size:16px;line-height:1.85}

/* statement */
.statement{background:var(--grafite);border-block:1px solid var(--hair)}
.statement blockquote{font-family:'Fraunces';font-weight:300;font-size:clamp(30px,4.8vw,56px);
  line-height:1.3;text-align:center;max-width:18ch;margin-inline:auto}
.statement blockquote em{color:var(--bronzo)}

/* perché */
.motivi{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.motivo{background:var(--inchiostro);padding:clamp(28px,4vw,48px);min-height:200px;display:flex;
  flex-direction:column;justify-content:space-between;gap:var(--s4);position:relative;overflow:hidden;
  transition:background .6s var(--e-out)}
.motivo::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background:var(--bronzo);
  transform:scaleX(0);transform-origin:left;transition:transform .7s var(--e-out)}
.motivo:hover{background:var(--grafite)}
.motivo:hover::after{transform:scaleX(1)}
.motivo .num{font-family:'Cinzel',Georgia,serif;font-weight:600;font-size:26px;line-height:1;
  color:var(--bronzo);letter-spacing:.06em;text-transform:uppercase;opacity:1;font-variant-numeric:lining-nums}
.motivo h3{font-family:'Archivo';font-weight:400;font-size:17px;letter-spacing:.02em;line-height:1.35;margin-bottom:10px}
.motivo p{color:var(--acciaio);font-size:14px;line-height:1.75}
@media(max-width:720px){.motivi{grid-template-columns:1fr}}

/* passi */
.passi{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s5)}
.passi.q{grid-template-columns:repeat(4,1fr);gap:var(--s4)}
@media(max-width:1000px){.passi.q{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.passi.q{grid-template-columns:1fr}}
.passo{position:relative;padding-top:var(--s4)}
.passo::before{content:attr(data-n);position:absolute;top:0;left:0;font-family:'Cinzel',Georgia,serif;font-weight:600;letter-spacing:.08em;
  font-size:16px;letter-spacing:.2em;color:var(--bronzo)}
.passo .barra{height:1px;background:var(--hair);margin-bottom:var(--s3);position:relative;overflow:hidden}
.passo .barra::after{content:'';position:absolute;inset:0;background:var(--bronzo);transform:scaleX(0);transform-origin:left;transition:transform 1.1s var(--e-out)}
.passo.in .barra::after{transform:scaleX(1)}
.passo h3{font-family:'Fraunces';font-size:28px;margin-bottom:var(--s2)}
.passo p{color:var(--acciaio);font-size:14.5px;line-height:1.75}
@media(max-width:720px){.passi{grid-template-columns:1fr;gap:var(--s4)}}

/* stats */
.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--hair);max-width:100%;overflow:hidden}
.stat{padding:clamp(30px,4vw,52px) var(--s3);text-align:center;border-right:1px solid var(--hair)}
.stat:last-child{border-right:none}
.stat .cifra{font-family:'Fraunces';font-weight:300;font-size:clamp(40px,5vw,64px);line-height:1;margin-bottom:var(--s2)}
.stat .cifra em{color:var(--bronzo);font-style:normal}
.stat .lab{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--acciaio)}
@media(max-width:720px){.stats{grid-template-columns:1fr 1fr}.stat:nth-child(2){border-right:none}
  .stat:nth-child(1),.stat:nth-child(2){border-bottom:1px solid var(--hair)}}

/* partner (loghi ufficiali, leggibili) */
.partner-riga{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:rgba(243,240,233,.06);
  border:1px solid rgba(243,240,233,.12)}
.partner-cell{background:rgba(10,10,11,.42);backdrop-filter:blur(8px) saturate(1.1);min-height:88px;display:flex;align-items:center;justify-content:center;
  padding:var(--s3) var(--s2);position:relative;overflow:hidden;transition:background .5s var(--e-out)}
.partner-cell::after{content:'';position:absolute;left:50%;bottom:0;width:0;height:1px;background:var(--bronzo);
  transform:translateX(-50%);transition:width .5s var(--e-out)}
.partner-cell:hover{background:rgba(27,27,32,.62)}
.partner-cell:hover::after{width:60%}
.partner-cell span{font-family:'Fraunces';font-weight:400;font-size:clamp(15px,1.8vw,20px);
  color:var(--avorio);letter-spacing:.03em;text-align:center;line-height:1.2;transition:color .5s;cursor:default;
  text-shadow:0 1px 8px rgba(10,10,11,.9)}
.partner-cell:hover span{color:var(--avorio)}
@media(max-width:900px){.partner-riga{grid-template-columns:repeat(3,1fr)}}
@media(max-width:520px){.partner-riga{grid-template-columns:repeat(2,1fr)}.partner-cell{min-height:74px}}

/* collezione */
.oltre{display:grid;grid-template-columns:1fr 1.35fr;gap:var(--s5);align-items:start;
  border:1px solid var(--hair-2);background:linear-gradient(168deg,var(--grafite),var(--inchiostro));
  padding:clamp(28px,4vw,52px);margin-bottom:var(--s5)}
.oltre-t h3{font-family:'Fraunces';font-weight:300;font-size:clamp(28px,3.6vw,42px);line-height:1.12;margin-top:var(--s2)}
.oltre-t h3 em{font-style:italic;color:var(--bronzo-chiaro)}
.oltre-c p{color:var(--acciaio);font-size:15px;line-height:1.9;max-width:56ch}
.oltre-c strong{color:var(--avorio);font-weight:400}
.oltre-l{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:10px var(--s3);margin:var(--s3) 0}
.oltre-l li{position:relative;padding-left:17px;color:var(--acciaio);font-size:13px}
.oltre-l li::before{content:'';position:absolute;left:0;top:7px;width:4px;height:4px;border:1px solid var(--bronzo);transform:rotate(45deg)}
.oltre-c .btn{margin-top:var(--s2)}
@media(max-width:900px){.oltre{grid-template-columns:1fr;gap:var(--s3)}}
@media(max-width:560px){.oltre-l{grid-template-columns:1fr 1fr}}
.profili{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s1);margin-bottom:var(--s3)}
.profilo{background:none;border:1px solid var(--hair);color:var(--acciaio);font-family:'Archivo';font-weight:400;min-height:44px;
  font-size:12px;letter-spacing:.14em;text-transform:uppercase;padding:12px 22px;transition:all .5s var(--e-out)}
.profilo:hover{border-color:var(--hair-2);color:var(--avorio)}
.profilo.on{border-color:var(--bronzo);color:var(--avorio);background:rgba(176,141,87,.06)}
.profnota{text-align:center;color:var(--acciaio-scuro);font-size:13px;min-height:20px;margin-bottom:var(--s5)}
.indice{border-top:1px solid var(--hair)}
.riga-marca{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);width:100%;background:none;
  border:none;border-bottom:1px solid var(--hair);color:var(--avorio);padding:clamp(18px,2.6vw,26px) var(--s2);
  text-align:left;position:relative;overflow:hidden;transition:padding-left .6s var(--e-out)}
.riga-marca::before{content:'';position:absolute;inset:0;background:var(--grafite);transform:translateX(-101%);transition:transform .6s var(--e-out);z-index:0}
.riga-marca:hover::before{transform:none}
.riga-marca:hover{padding-left:var(--s4)}
.riga-marca>*{position:relative;z-index:1}
.rm-sx{display:flex;align-items:center;gap:var(--s3);min-width:0}
.rm-badge{width:52px;height:52px;border-radius:50%;background:#F3F0E9;display:flex;align-items:center;
  justify-content:center;flex:none;padding:11px;box-shadow:0 2px 14px rgba(0,0,0,.4);transition:transform .6s var(--e-out)}
.riga-marca:hover .rm-badge{transform:scale(1.06)}
.rm-badge img{max-width:100%;max-height:100%;object-fit:contain}
.rm-badge.mono{background:none;border:1px solid var(--hair-2);font-family:'Fraunces';font-style:italic;font-size:22px;color:var(--acciaio)}
.rm-nome{font-family:'Fraunces';font-weight:300;font-size:clamp(24px,3.6vw,40px);letter-spacing:.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rm-dx{display:flex;align-items:center;gap:var(--s3);white-space:nowrap}
.rm-info{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.rm-n{color:var(--acciaio);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase}
.rm-p{color:var(--acciaio);font-size:12px;letter-spacing:.02em}
.rm-p b{font-family:'Fraunces';font-weight:400;font-size:24px;color:var(--bronzo-chiaro);letter-spacing:0;margin-right:2px}
@media(max-width:560px){.rm-n{font-size:10.5px;letter-spacing:.12em}.rm-p{font-size:11px}.rm-p b{font-size:20px}}
.rm-arr{color:var(--bronzo);font-family:'Fraunces';font-style:italic;font-size:20px;opacity:0;transform:translateX(-8px);transition:all .6s var(--e-out)}
.riga-marca:hover .rm-arr{opacity:1;transform:none}
@media(max-width:600px){.rm-badge{width:44px;height:44px;padding:9px}.rm-nome{font-size:clamp(20px,5.2vw,26px)}.rm-dx{gap:var(--s2)}}
@media(hover:none){.rm-arr{opacity:1;transform:none}.riga-marca:hover{padding-left:var(--s2)}}

.riservato{border:1px solid var(--hair-2);max-width:660px;margin-inline:auto;padding:clamp(40px,6vw,72px);text-align:center}
.riservato .rombo{margin-inline:auto;margin-bottom:var(--s3)}
.riservato h3{font-family:'Fraunces';font-size:32px;margin-bottom:var(--s2)}
.riservato h3 em{color:var(--bronzo)}
.riservato p{color:var(--acciaio);font-size:15px;line-height:1.85;max-width:46ch;margin-inline:auto;margin-bottom:var(--s4)}
.notascoring{margin-top:var(--s5);text-align:center;color:var(--acciaio-scuro);font-size:12.5px;line-height:2;max-width:60ch;margin-inline:auto}
.notascoring a{color:var(--bronzo);text-decoration:none}

.futuro{text-align:center;border-top:1px solid var(--hair)}
.futuro p{font-family:'Fraunces';font-style:italic;font-size:clamp(20px,3vw,30px);color:var(--acciaio)}
.accesso{background:var(--grafite);border-top:1px solid var(--hair);text-align:center}
.accesso p{color:var(--acciaio);margin-block:var(--s3) var(--s5);font-size:15px}

.btn{display:inline-block;border:1px solid var(--bronzo);color:var(--avorio);text-decoration:none;font-size:12px;
  letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;padding:19px 48px;position:relative;overflow:hidden;
  z-index:0;transition:color .6s var(--e-out)}
.btn::before{content:'';position:absolute;inset:0;background:var(--bronzo);z-index:-1;transform:translateY(101%);transition:transform .6s var(--e-out)}
.btn:hover{color:var(--inchiostro)}.btn:hover::before{transform:translateY(0)}

.piede{padding-block:var(--s6) var(--s5);text-align:center;border-top:1px solid var(--hair)}
.piede img{width:56px;margin-inline:auto;margin-bottom:var(--s3);opacity:.85}
.piede .wm{font-family:'Fraunces';font-size:15px;letter-spacing:.5em;text-indent:.5em;color:var(--acciaio);margin-bottom:var(--s3)}
.piede p{color:var(--acciaio-scuro);font-size:12.5px;line-height:2.1}
.piede a{text-decoration:none;transition:color .35s}.piede a:hover{color:var(--bronzo-chiaro)}

/* pagina veicolo */
.veicolo{position:fixed;inset:0;z-index:210;background:var(--inchiostro);overflow-y:auto;-webkit-overflow-scrolling:touch;
  opacity:0;visibility:hidden;transition:opacity .6s var(--e-io),visibility .6s}
.veicolo.aperto{opacity:1;visibility:visible}
.v-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;
  padding:var(--s3) clamp(20px,5vw,40px);padding-top:calc(var(--s3) + env(safe-area-inset-top));
  background:linear-gradient(var(--inchiostro) 68%,transparent)}
.v-back{background:none;border:none;min-height:44px;padding:8px 4px 8px 0;color:var(--acciaio);font-family:'Archivo';font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;display:flex;align-items:center;gap:10px;transition:color .4s}
.v-back:hover{color:var(--avorio)}
.v-back .a{color:var(--bronzo);transition:transform .5s var(--e-out)}
.v-back:hover .a{transform:translateX(-5px)}
.v-body{max-width:1080px;margin-inline:auto;padding:var(--s4) clamp(20px,5vw,40px) var(--s7);
  opacity:0;transform:translateY(26px);transition:opacity .8s var(--e-out) .1s,transform .8s var(--e-out) .1s}
.veicolo.aperto .v-body{opacity:1;transform:none}
.v-marca{display:inline-flex;align-items:center;justify-content:center;background:#F3F0E9;border-radius:14px;
  padding:18px 24px;margin-bottom:var(--s4);box-shadow:0 6px 30px rgba(0,0,0,.5)}
.v-marca img{height:40px;width:auto;object-fit:contain}
.v-seg{font-size:11px;letter-spacing:.34em;text-transform:uppercase;color:var(--bronzo);margin-bottom:var(--s2)}
.v-nome{font-family:'Fraunces';font-weight:300;font-size:clamp(42px,7vw,82px);line-height:1;margin-bottom:var(--s3)}
.v-vers{color:var(--acciaio);font-size:clamp(15px,2vw,19px);line-height:1.65;max-width:60ch;margin-bottom:var(--s5)}
.v-scena{aspect-ratio:16/9;background:
  radial-gradient(ellipse 90% 60% at 50% 130%,rgba(176,141,87,.20),transparent 60%),
  radial-gradient(ellipse 50% 80% at 85% 10%,rgba(120,140,170,.08),transparent 60%),
  linear-gradient(165deg,#1B1B20,var(--inchiostro) 70%);
  border:1px solid var(--hair);display:flex;align-items:flex-end;justify-content:space-between;
  padding:var(--s3) var(--s4);margin-bottom:var(--s5);position:relative;overflow:hidden}
.v-scena::before{content:'';position:absolute;left:0;right:0;bottom:32%;height:1px;
  background:linear-gradient(90deg,transparent,rgba(176,141,87,.3),transparent)}
.v-silhouette{position:absolute;left:50%;top:52%;transform:translate(-50%,-50%);width:64%;max-width:440px;
  color:var(--avorio);opacity:.42;filter:drop-shadow(0 8px 30px rgba(0,0,0,.5))}
.v-silhouette svg{width:100%;height:auto}
.v-scena .marcawm{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);
  height:44%;max-width:60%;object-fit:contain;opacity:.10;filter:grayscale(1) brightness(2)}
.v-scena .big{position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  font-family:'Fraunces';font-style:italic;font-size:clamp(60px,14vw,150px);color:rgba(243,240,233,.04);white-space:nowrap;pointer-events:none}
@media(max-width:640px){.v-scena .tag{display:none}}
.v-scena .tag{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--acciaio-scuro);position:relative}
.v-modo{display:inline-flex;gap:0;border:1px solid var(--hair-2);position:relative}
.v-modo button{background:none;border:none;color:var(--acciaio);font-family:'Archivo';font-size:10.5px;letter-spacing:.18em;
  text-transform:uppercase;padding:9px 16px;transition:color .4s;position:relative;z-index:1}
.v-modo button.on{color:var(--inchiostro)}
.v-modo .slider{position:absolute;top:0;bottom:0;left:0;width:50%;background:var(--bronzo);transition:transform .5s var(--e-out);z-index:0}
.v-griglia{display:grid;grid-template-columns:1.4fr 1fr;gap:var(--s6)}
@media(max-width:840px){.v-griglia{grid-template-columns:1fr;gap:var(--s5)}}
.v-blocco h4{font-family:'Archivo';font-weight:400;font-size:11px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--acciaio);margin-bottom:var(--s3);padding-bottom:var(--s2);border-bottom:1px solid var(--hair)}
.v-durata{display:flex;justify-content:space-between;align-items:baseline;padding:var(--s2) 0;border-bottom:1px solid var(--hair)}
.v-durata .d{color:var(--acciaio);font-size:14px}
.v-durata .p{font-family:'Fraunces';font-size:27px}
.v-durata .p span{font-family:'Archivo';font-size:12px;color:var(--acciaio);margin-left:4px}
.v-durata.best .p{color:var(--bronzo-chiaro)}
.v-durata.best .d::after{content:'· migliore';color:var(--bronzo);font-size:10px;letter-spacing:.1em;text-transform:uppercase;margin-left:8px}
.v-incluso{list-style:none}
.v-incluso li{padding:var(--s2) 0;border-bottom:1px solid var(--hair);color:var(--acciaio);font-size:14px;display:flex;align-items:center;gap:14px}
.v-incluso li::before{content:'';width:5px;height:5px;border:1px solid var(--bronzo);transform:rotate(45deg);flex:none}
.v-extra{margin-top:var(--s3);color:var(--bronzo-chiaro);font-size:13.5px;line-height:1.7}
.v-altri{margin-top:var(--s6)}
.v-altri h4{margin-bottom:var(--s3)}

.alt-card{background:var(--inchiostro);border:none;text-align:left;cursor:pointer;
  padding:var(--s3) var(--s3);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;
  transition:background .5s var(--e-out)}
.alt-card::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--bronzo);transition:width .5s var(--e-out)}
.alt-card:hover{background:var(--grafite)}
.alt-card:hover::after{width:100%}
.alt-img{display:block;aspect-ratio:16/10;margin:calc(var(--s3) * -1) calc(var(--s3) * -1) 2px;overflow:hidden;background:#0d0d0d}
.alt-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s var(--e-out)}
.alt-card:hover .alt-img img{transform:scale(1.04)}
.alt-top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.alt-mod{font-family:'Archivo';font-weight:500;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--avorio)}
.alt-fuel{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--bronzo);white-space:nowrap}
.alt-ver{color:var(--acciaio);font-size:12.5px;line-height:1.55;min-height:38px}
.alt-bot{display:flex;align-items:baseline;gap:8px;margin-top:auto}
.alt-da{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--acciaio-scuro)}
.alt-p{font-family:'Fraunces';font-size:26px;color:var(--avorio);line-height:1}
.alt-p span{font-family:'Archivo';font-size:11px;color:var(--acciaio);margin-left:3px}
.alt-arr{margin-left:auto;color:var(--bronzo);font-family:'Fraunces';font-size:18px;font-style:italic;
  opacity:0;transform:translateX(-6px);transition:all .5s var(--e-out)}
.alt-card:hover .alt-arr{opacity:1;transform:none}
.alt-more{margin-top:var(--s3);text-align:center;color:var(--acciaio-scuro);font-size:12px;
  letter-spacing:.1em}



/* ═══ PREMIUM MOTION LAYER ═══ */
.motivo,.alt-card{box-shadow:0 1px 0 rgba(255,255,255,.02) inset;
  transition:background .5s var(--e-out),transform .55s var(--e-out),box-shadow .55s var(--e-out)}
.motivo:hover,.alt-card:hover{box-shadow:0 24px 60px -24px rgba(0,0,0,.85),0 1px 0 rgba(255,255,255,.04) inset;
  transform:translateY(-4px)}
.lit{--mx:50%;--my:50%;position:relative}
.lit::before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;opacity:0;
  background:radial-gradient(340px circle at var(--mx) var(--my),rgba(205,168,117,.10),transparent 60%);
  transition:opacity .5s var(--e-out)}
.lit:hover::before{opacity:1}
.lit>*{position:relative;z-index:1}
.riga-marca::after{content:'';position:absolute;top:0;bottom:0;left:-40%;width:32%;pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(243,240,233,.045),transparent);
  transform:skewX(-18deg);transition:left .8s var(--e-out)}
.riga-marca:hover::after{left:130%}
.rm-badge img,.v-marca img{transition:transform .7s var(--e-out)}
.riga-marca:hover .rm-badge img{transform:scale(1.12)}
.btn,.req,.rich{will-change:transform;transition:transform .3s var(--e-out),color .6s var(--e-out),border-color .5s}
.btn{overflow:hidden}
.btn::after{content:'';position:absolute;top:0;bottom:0;left:-60%;width:40%;
  background:linear-gradient(100deg,transparent,rgba(243,240,233,.14),transparent);
  transform:skewX(-18deg);transition:left .7s var(--e-out)}
.btn:hover::after{left:140%}
.stat .cifra em{color:var(--bronzo)}
@keyframes skpulse{0%{background-position:-200% 0}100%{background-position:200% 0}}
.sk{border-bottom:1px solid var(--hair);padding:26px 8px;display:flex;align-items:center;gap:24px}
.sk i{display:block;border-radius:4px;background:linear-gradient(90deg,var(--grafite) 25%,#1C1C21 50%,var(--grafite) 75%);
  background-size:200% 100%;animation:skpulse 1.4s linear infinite}
.sk .c{width:52px;height:52px;border-radius:50%}
.sk .l{height:22px;flex:1;max-width:220px}
.sk .r{height:12px;width:120px;margin-left:auto}
/* scheda veicolo premium */
.v-scena{box-shadow:0 40px 90px -40px rgba(0,0,0,.85)}
.v-scena .marcawm,.v-silhouette{transition:transform 1.2s var(--e-out)}
.v-scena:hover .marcawm{transform:translate(-50%,-50%) scale(1.05)}
.v-scena:hover .v-silhouette{transform:translate(-50%,-50%) scale(1.03)}
.v-griglia{grid-template-columns:1.5fr 1fr;align-items:start}
@media(max-width:840px){.v-griglia{grid-template-columns:1fr;gap:var(--s5)}}
.v-book{position:sticky;top:96px;border:1px solid var(--hair-2);background:linear-gradient(170deg,var(--grafite),var(--inchiostro));
  padding:var(--s4);box-shadow:0 30px 80px -30px rgba(0,0,0,.8)}
.v-book .bk-da{font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--acciaio);margin-bottom:6px}
.v-book .bk-p{font-family:'Fraunces';font-weight:300;font-size:52px;line-height:1}
.v-book .bk-p span{font-family:'Archivo';font-size:14px;color:var(--acciaio);margin-left:6px}
.v-book .bk-p .cifra{font-family:'Fraunces';font-size:inherit;color:inherit;margin-left:0;transition:opacity .25s var(--e-out)}
.v-book .v-modo{margin:var(--s3) 0;width:100%;display:flex}
.v-book .v-modo button{flex:1;padding:11px 8px;min-height:44px}
.v-book .btn{width:100%;text-align:center;margin-top:var(--s2);display:block}
.v-book .bk-note{margin-top:var(--s3);color:var(--acciaio-scuro);font-size:11.5px;line-height:1.8;text-align:center}
@media(max-width:840px){.v-book{position:static}}
.acc{border-top:1px solid var(--hair);margin-top:var(--s4)}
.acc-item{border-bottom:1px solid var(--hair)}
.acc-head{width:100%;background:none;border:none;color:var(--avorio);display:flex;align-items:center;
  justify-content:space-between;padding:18px 2px;font-family:'Archivo';font-weight:400;font-size:12px;
  letter-spacing:.24em;text-transform:uppercase;cursor:pointer;transition:color .4s}
.acc-head:hover{color:var(--bronzo-chiaro)}
.acc-head .pm{font-family:'Fraunces';font-style:italic;font-size:20px;color:var(--bronzo);transition:transform .5s var(--e-out)}
.acc-item.open .acc-head .pm{transform:rotate(45deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height .6s var(--e-out)}
.acc-item.open .acc-body{max-height:520px}
.acc-body .inner{padding:4px 2px 22px}
.acc-body .v-incluso li:last-child{border-bottom:none}
.v-durata{position:relative;overflow:hidden}
.v-durata::after{content:'';position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--bronzo);
  transform:scaleX(0);transform-origin:left;transition:transform .9s var(--e-out)}
.v-durata.in::after{transform:scaleX(1)}
/* carosello correlati */
.alt-grid{display:flex;gap:28px;overflow-x:auto;padding:6px 4px 22px;background:none;border:none;
  scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.alt-grid::-webkit-scrollbar{display:none}
.alt-card{flex:0 0 min(300px,78vw);scroll-snap-align:start;border:1px solid var(--hair);
  background:linear-gradient(175deg,var(--grafite),var(--inchiostro));padding:var(--s4) var(--s3)}
.alt-ver{min-height:56px}
.alt-nav{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}
.alt-nav button{width:44px;height:44px;border-radius:50%;background:none;border:1px solid var(--hair-2);
  color:var(--avorio);font-family:'Fraunces';font-size:18px;cursor:pointer;transition:all .4s var(--e-out)}
.alt-nav button:hover{border-color:var(--bronzo);color:var(--bronzo-chiaro)}


/* ═══ FOTOGRAFIA ═══ */
.hero{isolation:isolate}
.hero-bg{position:absolute;inset:0;z-index:-2;overflow:hidden;background:var(--inchiostro)}
.hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 50%;opacity:0;filter:brightness(1.10) saturate(1.02);
  transition:opacity 1.6s var(--e-io);will-change:transform,opacity}
/* L'hero è alto 100dvh: più il viewport è stretto, più il cover restringe
   la finestra orizzontale. object-position sposta l'inquadratura sulla Ferrari. */
@media(max-width:940px) and (min-width:821px){.hero-bg img{object-position:47% 50%}}
/* da 820px in giù entra la fotografia verticale dedicata: inquadratura centrata
   sulla vettura, nessuna animazione, nessun cambio automatico. */
@media(max-width:720px){
  /* HERO MOBILE — la foto è 1,87:1 orizzontale in un box verticale: ogni pixel di
     altezza superflua restringe la finestra orizzontale. Quindi: la hero sta
     esattamente in 100dvh, niente Ken Burns (scalava a 1,118x togliendo un altro
     11% di larghezza) e inquadratura centrata sul muso della vettura. */
  .hero{min-height:100svh;min-height:100dvh;
    padding-top:calc(var(--s6) + env(safe-area-inset-top));
    padding-bottom:var(--s4);justify-content:center}
  .hero .sigillo{width:min(210px,44vw);margin-bottom:var(--s4)}
  .hero .hero-bg img.on{animation:none;transform:none}
}
/* schermi bassi (iPhone SE e simili): comprimo il ritmo verticale
   quanto basta a tenere entrambi i CTA sopra la piega */
@media(max-width:720px) and (max-height:700px){
  .hero{padding-top:calc(var(--s5) + env(safe-area-inset-top));padding-bottom:var(--s3)}
  .hero .sigillo{width:min(150px,34vw);margin-bottom:var(--s3)}
  .hero h1{font-size:clamp(38px,7.6vw,52px)}
  .hero .sub{margin-block:var(--s2) var(--s3);line-height:1.6}
}
.hero-bg img.on{opacity:1;animation:kenburns 9s var(--e-soft) forwards}
@keyframes kenburns{0%{transform:scale(1.06) translate(0,0)}100%{transform:scale(1.14) translate(-1.5%,-1%)}}
.hero-bg::after{content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 90% 70% at 50% 42%,rgba(10,10,11,.18),rgba(10,10,11,.70) 78%),
             linear-gradient(rgba(10,10,11,.10) 0%,rgba(10,10,11,.12) 34%,rgba(10,10,11,.84) 58%,rgba(10,10,11,.95) 86%)}
@media(max-width:820px){
  /* la verticale è una foto volutamente cupa (luminanza 0,138): la vettura è nera
     su fondo scuro. Solo su mobile alzo luminosità e contrasto per farla emergere,
     senza toccare il file. */
  .hero-bg img{object-position:50% 50%;filter:brightness(1.34) contrast(1.06) saturate(1.04)}
  .hero .hero-bg img.on{animation:none;transform:none}
  /* la verticale mostra tutta l'altezza: la vettura cade fra il 43% e il 65%
     dello schermo. Velatura dedicata, leggera lì e densa solo sotto il testo. */
  .hero-bg::after{background:
    radial-gradient(ellipse 120% 52% at 50% 26%,rgba(10,10,11,.30),rgba(10,10,11,.62) 82%),
    linear-gradient(rgba(10,10,11,.44) 0%,rgba(10,10,11,.24) 28%,rgba(10,10,11,.32) 46%,
      rgba(10,10,11,.42) 58%,rgba(10,10,11,.76) 69%,rgba(10,10,11,.90) 80%,rgba(10,10,11,.95) 92%)}
}

.v-scena .foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  animation:kenburns 14s var(--e-soft) infinite alternate;cursor:zoom-in}
.v-scena.has-foto .v-silhouette,.v-scena.has-foto .marcawm{display:none}
.v-scena.has-foto::before{display:none}
.v-scena.has-foto::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(rgba(10,10,11,0) 55%,rgba(10,10,11,.55))}
/* lightbox */
.lbx{position:fixed;inset:0;z-index:260;background:rgba(8,8,9,.96);backdrop-filter:blur(8px);
  display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;
  transition:opacity .5s var(--e-io),visibility .5s}
.lbx.on{opacity:1;visibility:visible}
.lbx img{max-width:92vw;max-height:82vh;object-fit:contain;box-shadow:0 40px 120px rgba(0,0,0,.8)}
.lbx .x{position:absolute;top:24px;right:24px;width:48px;height:48px;border-radius:50%;
  background:none;border:1px solid var(--hair-2);color:var(--avorio);font-family:'Fraunces';
  font-size:20px;cursor:pointer;transition:all .4s var(--e-out)}
.lbx .lbn{top:50%;transform:translateY(-50%);font-size:26px}
.lbx .lbn:hover{transform:translateY(-50%);border-color:var(--bronzo);color:var(--bronzo)}
.lbx .x:hover{border-color:var(--bronzo);color:var(--bronzo);transform:rotate(90deg)}
/* experience strip */
.exp{padding-block:var(--s6);border-top:1px solid var(--hair)}
.exp-testo{max-width:66ch;margin:var(--s4) auto 0;display:grid;gap:var(--s3);text-align:center}
.exp-testo p{color:var(--acciaio);font-size:15px;line-height:1.95;margin-inline:auto}
.exp-testo strong{color:var(--avorio);font-weight:400}
.exp-testo em{font-family:'Fraunces';font-style:italic;font-size:1.15em;color:var(--bronzo-chiaro)}
.exp-strip{display:flex;gap:20px;overflow-x:auto;padding:8px 4px 24px;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch}
.exp-strip::-webkit-scrollbar{display:none}
.exp-card{flex:0 0 min(260px,64vw);aspect-ratio:4/5;scroll-snap-align:start;position:relative;
  overflow:hidden;border:1px solid var(--hair)}
.exp-card img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e-out)}
.exp-card:hover img{transform:scale(1.07)}
.exp-card::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,0) 60%,rgba(10,10,11,.5))}


/* footer ridisegnato */
.piede-griglia{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s5);text-align:left;
  padding-bottom:var(--s5);border-bottom:1px solid var(--hair);margin-bottom:var(--s4)}
.p-col{display:flex;flex-direction:column;gap:14px}
.p-brand img{margin:0}
.p-brand .wm{text-align:left;text-indent:0;letter-spacing:.4em;margin:0}
.p-claim{font-family:'Fraunces';font-weight:300;font-size:19px;line-height:1.4;color:var(--acciaio)}
.p-col h5{font-family:'Archivo';font-weight:400;font-size:10.5px;letter-spacing:.3em;text-transform:uppercase;
  color:var(--acciaio-scuro);margin-bottom:4px}
.p-col a,.p-col span{color:var(--acciaio);font-size:13.5px;text-decoration:none;width:fit-content;
  position:relative;transition:color .35s}
.p-col a::after{content:'';position:absolute;left:0;bottom:-3px;height:1px;width:100%;background:var(--bronzo);
  transform:scaleX(0);transform-origin:left;transition:transform .45s var(--e-out)}
.p-col a:hover{color:var(--avorio)}
.p-col a:hover::after{transform:scaleX(1)}
.p-legal{text-align:center;color:var(--acciaio-scuro);font-size:11.5px;letter-spacing:.04em}
@media(max-width:720px){.piede-griglia{grid-template-columns:1fr;gap:var(--s4);text-align:left}}

.sez-cap.sx{text-align:left}
.sez-cap.sx .kick{justify-content:flex-start}
.sez-cap.sx .kick::after{display:none}
.sez-cap.sx .lede{margin-inline:0}
.v-dock{display:none}
@media(max-width:840px){
  .v-dock{position:fixed;left:0;right:0;bottom:0;z-index:6;display:flex;align-items:center;gap:14px;
    padding:12px 18px calc(12px + env(safe-area-inset-bottom));
    background:rgba(10,10,11,.86);backdrop-filter:blur(18px);border-top:1px solid var(--hair-2)}
  .v-dock .dk-p{font-family:'Fraunces';font-size:26px;line-height:1;white-space:nowrap}
  .v-dock .dk-p small{display:block;font-family:'Archivo';font-size:9px;letter-spacing:.26em;
    text-transform:uppercase;color:var(--acciaio);margin-bottom:3px}
  .v-dock .dk-p span{font-family:'Archivo';font-size:11px;color:var(--acciaio)}
  .v-dock .btn{flex:1;text-align:center;padding:15px 10px;margin:0}
  .v-body{padding-bottom:calc(var(--s7) + 84px)}
}
.hero-azioni{display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap;justify-content:center}
.hero-azioni .btn{padding:17px 40px}
@media(max-width:520px){.hero-azioni{flex-direction:column;gap:var(--s3)}}
@media(max-width:520px){}


/* ═══ CONFIGURATORE CANONE ═══ */
.cfg{margin-top:var(--s3);padding-top:var(--s3);border-top:1px solid var(--hair)}
.cfg-lab{display:flex;justify-content:space-between;align-items:baseline;gap:var(--s2);
  font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--acciaio);margin-bottom:12px}
.cfg-lab b{font-family:'Fraunces';font-weight:300;font-size:20px;letter-spacing:0;
  text-transform:none;color:var(--bronzo-chiaro)}
.cfg-blocco{margin-bottom:var(--s3)}
.cfg-durate{display:flex;flex-wrap:wrap;gap:6px}
.cfg-durate button{flex:1 1 90px;min-width:0;min-height:44px;padding:8px 10px;background:none;
  border:1px solid var(--hair);color:var(--acciaio);font-family:'Archivo';font-weight:400;font-size:11px;
  letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .45s var(--e-out)}
.cfg-durate button:hover{border-color:var(--hair-2);color:var(--avorio)}
.cfg-durate button.on{border-color:var(--bronzo);color:var(--avorio);background:rgba(176,141,87,.08)}
.cfg-durate button small{display:block;font-size:9.5px;letter-spacing:.06em;color:var(--acciaio-scuro);margin-top:3px}
.cfg-durate button.on small{color:var(--bronzo)}

.cfg-range{-webkit-appearance:none;appearance:none;width:100%;height:44px;background:none;cursor:pointer;display:block}
.cfg-range::-webkit-slider-runnable-track{height:2px;background:var(--hair-2)}
.cfg-range::-moz-range-track{height:2px;background:var(--hair-2)}
.cfg-range::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;margin-top:-7px;
  background:var(--bronzo);border:none;transform:rotate(45deg);transition:box-shadow .4s var(--e-out)}
.cfg-range::-moz-range-thumb{width:16px;height:16px;background:var(--bronzo);border:none;
  border-radius:0;transform:rotate(45deg)}
.cfg-range:hover::-webkit-slider-thumb,.cfg-range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 7px rgba(176,141,87,.16)}
.cfg-scala{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--acciaio-scuro);margin-top:2px}
.cfg-scala{align-items:center;min-height:44px}
.cfg-scala button{background:none;border:none;color:var(--acciaio-scuro);font-family:'Archivo';font-size:10px;
  letter-spacing:.14em;text-transform:uppercase;cursor:pointer;padding:14px 10px 14px 0;min-height:44px;transition:color .4s}
.cfg-scala button:hover{color:var(--bronzo-chiaro)}

.cfg-conto{border-top:1px solid var(--hair);padding-top:var(--s2);margin-top:var(--s1)}
.cfg-conto div{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;
  font-size:12.5px;color:var(--acciaio)}
.cfg-conto div b{font-family:'Fraunces';font-weight:300;font-size:19px;color:var(--avorio)}
.cfg-conto .giu{transition:opacity .4s var(--e-out)}
.cfg-conto .giu.zero{opacity:.35}
.cfg-conto .giu b{color:var(--bronzo-chiaro)}
.cfg-conto .tot{border-top:1px solid var(--hair);margin-top:6px;padding-top:14px}
.cfg-conto .tot span{color:var(--avorio);letter-spacing:.02em}
.cfg-conto .tot b{font-size:34px;color:var(--avorio)}

.cfg-iva{display:flex;width:100%;border:1px solid var(--hair);margin-top:var(--s2)}
.cfg-iva button{flex:1;min-height:44px;background:none;border:none;color:var(--acciaio);font-family:'Archivo';
  font-weight:400;font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;cursor:pointer;
  transition:all .45s var(--e-out)}
.cfg-iva button.on{background:rgba(176,141,87,.1);color:var(--avorio)}
.cfg-nota{margin-top:14px;color:var(--acciaio-scuro);font-size:11px;line-height:1.75}

/* badge anticipo sulle card */
.badge-a0{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--bronzo);border:1px solid rgba(176,141,87,.34);padding:4px 9px;margin-top:8px}
.badge-a0::before{content:'';width:4px;height:4px;border:1px solid var(--bronzo);transform:rotate(45deg)}

/* ═══ PRELOADER ═══ */
#pre{position:fixed;inset:0;z-index:900;background:var(--inchiostro);display:flex;
  align-items:center;justify-content:center;flex-direction:column;gap:26px;
  transition:opacity .55s var(--e-out),visibility .55s}
#pre.via{opacity:0;visibility:hidden;pointer-events:none}
#pre .p-logo{width:104px;height:104px;opacity:0;transform:scale(.94);
  animation:preIn .7s var(--e-out) .05s forwards}
#pre .p-riga{width:120px;height:1px;background:var(--hair-2);position:relative;overflow:hidden}
#pre .p-riga::after{content:'';position:absolute;inset:0;background:var(--bronzo);
  transform:translateX(-101%);animation:preBar 1s var(--e-out) .2s forwards}
@keyframes preIn{to{opacity:1;transform:none}}
@keyframes preBar{to{transform:none}}
@media(prefers-reduced-motion:reduce){#pre{display:none}}
/* ═══ DESCRIZIONE PREMIUM SCHEDA ═══ */
.v-lux{margin-bottom:var(--s5);padding-bottom:var(--s4);border-bottom:1px solid var(--hair)}
.lux-intro{font-family:'Fraunces',Georgia,serif;font-weight:300;font-style:italic;font-size:clamp(17px,2.3vw,23px);line-height:1.55;color:var(--avorio);max-width:56ch;margin-bottom:var(--s4)}
.lux-specs{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair)}
.lux-s{background:var(--inchiostro);padding:var(--s3);display:flex;flex-direction:column;gap:6px}
.ls-k{font-family:'Archivo';font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--acciaio)}
.ls-v{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(17px,2vw,21px);color:var(--bronzo-chiaro);line-height:1.1}
@media(max-width:640px){.lux-specs{grid-template-columns:1fr 1fr}}
/* ═══ DUE SEZIONI FOTOGRAFICHE, DUE SFONDI DISTINTI ═══
   Ciascuna foto è lo sfondo dell'intera sezione a cui appartiene,
   dal titolo fino all'ultimo blocco di contenuto.
   L'altezza minima è calcolata sul rapporto reale di ciascuna immagine
   per limitare il ritaglio e tenere il soggetto nella fascia libera. */

/* 1 — L'esperienza + tabella numeri · sfondo porsche-cavalli.jpg (1170×2048) */
.exp.confoto{min-height:max(calc(100vw * 1.2148), 1260px)}
.exp.confoto::after{background:linear-gradient(180deg,
  var(--inchiostro) 0%,rgba(10,10,11,.88) 9%,rgba(10,10,11,.82) 33%,
  rgba(10,10,11,.64) 45%,rgba(10,10,11,.44) 57%,rgba(10,10,11,.46) 78%,
  rgba(10,10,11,.74) 92%,var(--inchiostro) 100%)}
.exp-numeri{margin-top:var(--s6)}

/* 2 — Accesso privato + footer · sfondo accesso-porsche.jpg (1170×2271).
   background-size:100% auto invece di cover: le due Porsche e i due cavalli
   non vengono mai tagliati lateralmente, a nessuna larghezza. */
.finale{position:relative;overflow:hidden;background:var(--inchiostro);
  display:flex;flex-direction:column;justify-content:space-between;
  min-height:max(calc(100vw * 1.3890), 1850px)}
.finale.confoto::before{background-size:100% auto;background-repeat:no-repeat}
/* Velatura unica per tutta la scena: chiara sui soggetti, quel tanto che basta
   sotto il footer per la leggibilità, vignetta di chiusura solo nell'ultimo tratto. */
.finale.confoto::after{background:linear-gradient(180deg,
  var(--inchiostro) 0%,rgba(10,10,11,.74) 13%,rgba(10,10,11,.52) 25%,
  rgba(10,10,11,.30) 35%,rgba(10,10,11,.30) 62%,rgba(10,10,11,.40) 72%,
  rgba(10,10,11,.48) 84%,rgba(10,10,11,.70) 94%,var(--inchiostro) 100%)}
.finale>.sez,.finale>.piede{position:relative;z-index:1}
.finale .accesso{background:transparent;border-top:0}
/* nessuna linea di stacco: accesso privato e footer sono la stessa scena */
.finale .piede{border-top:0}
@media(max-width:720px){
  /* Su schermo stretto la sezione è molto più alta della foto: invece di
     ingrandirla (crop laterale del 64%) la si tiene a larghezza piena
     dal bordo superiore e la velatura la fonde nel fondo. */
  .exp.confoto::before{background-size:100% auto;background-repeat:no-repeat;
    background-position:center top}
  .exp.confoto::after{background:linear-gradient(180deg,
    var(--inchiostro) 0%,rgba(10,10,11,.78) 5%,rgba(10,10,11,.74) 14%,
    rgba(10,10,11,.58) 20%,rgba(10,10,11,.58) 29%,rgba(10,10,11,.80) 34%,
    var(--inchiostro) 41%,var(--inchiostro) 100%)}
  .finale{min-height:0;display:block}
  .finale.confoto::before{background-position:center top}
  .finale>.sez.accesso{min-height:calc(100vw * 1.9410);padding-block:var(--s6) var(--s4)}
  /* La foto a larghezza piena arriva al 39% della sezione: la velatura la
     dissolve prima del bordo, così non si vede dove finisce l'immagine. */
  .finale.confoto::after{background:linear-gradient(180deg,
    var(--inchiostro) 0%,rgba(10,10,11,.74) 6%,rgba(10,10,11,.50) 14%,
    rgba(10,10,11,.34) 20%,rgba(10,10,11,.34) 28%,rgba(10,10,11,.58) 34%,
    var(--inchiostro) 41%,var(--inchiostro) 100%)}
}
.rete-wrap{position:relative;overflow:hidden}
.rete-wrap>section{position:relative;z-index:1}
/* ═══ GALLERIA SCHEDA ═══ */
.v-gal .g-main{cursor:default;transition:opacity .35s var(--e-out)}
.v-gal .g-main.via{opacity:0}
.g-fr{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;
  display:flex;align-items:center;justify-content:center;background:rgba(10,10,11,.62);
  border:1px solid var(--hair-2);color:var(--avorio);font-size:24px;line-height:1;cursor:pointer;
  backdrop-filter:blur(6px);transition:background .4s var(--e-out),border-color .4s}
.g-fr:hover{background:rgba(176,141,87,.85);border-color:var(--bronzo);color:var(--inchiostro)}
.g-prev{left:14px}.g-next{right:14px}
.g-thumbs{position:absolute;left:0;right:0;bottom:12px;z-index:3;display:flex;gap:8px;justify-content:center;padding:0 14px}
.g-th{width:58px;height:40px;padding:0;border:1px solid var(--hair-2);background:none;cursor:pointer;
  overflow:hidden;opacity:.55;transition:opacity .35s var(--e-out),border-color .35s}
.g-th img{width:100%;height:100%;object-fit:cover;display:block}
.g-th.on{opacity:1;border-color:var(--bronzo)}
.g-th:hover{opacity:1}
@media(max-width:600px){.g-th{width:44px;height:32px}.g-fr{width:40px;height:40px}}
/* ═══ SCHEDA RS5 — SOLO MOBILE ═══ */
@media(max-width:640px){
  /* immagine: rapporto più alto e contain-friendly, la vettura resta intera */
  .v-gal{aspect-ratio:4/3}
  .v-gal .g-main{object-fit:cover;object-position:50% 46%}
  /* miniature più grandi e comode al tocco */
  .g-thumbs{bottom:10px;gap:6px;padding:0 10px}
  .g-th{width:52px;height:38px}
  .g-fr{width:44px;height:44px;font-size:22px}
  .g-prev{left:10px}.g-next{right:10px}
  /* descrizione e specifiche: respiro e leggibilità */
  .lux-intro{font-size:16px;line-height:1.5}
  .lux-specs{grid-template-columns:1fr 1fr}
  .lux-s{padding:14px 16px}
  .ls-v{font-size:18px}
}
@media(max-width:400px){
  .lux-specs{grid-template-columns:1fr 1fr}
  .g-th{width:46px;height:34px}
}
/* ═══ BANDE FOTOGRAFICHE ═══ */
.banda{position:relative;height:clamp(220px,34vw,420px);overflow:hidden}
.banda img{width:100%;height:100%;object-fit:cover;display:block}
.banda::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,var(--inchiostro),transparent 20%,transparent 80%,var(--inchiostro))}
.banda img{filter:brightness(1.06) saturate(.98)}
.banda .b-cap{position:absolute;inset:auto 0 clamp(20px,4vw,44px);text-align:center;z-index:2;
  font-size:11px;letter-spacing:.4em;text-indent:.4em;text-transform:uppercase;color:var(--avorio);opacity:.85}
/* banner Lotus */
/* ═══════════ FILTRO COMPATTO — "Filtra vetture" ═══════════
   Stato a riposo: due soli controlli. Il pannello esiste solo durante l'uso.
   Desktop: dropdown ancorato al controllo. Mobile: bottom sheet contenuto. */
.f-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  margin:var(--s3) 0 var(--s2);padding-bottom:14px;border-bottom:1px solid var(--hair)}
.f-anc{position:relative}
.f-trig{display:inline-flex;align-items:center;gap:9px;min-height:40px;padding:0 15px;
  border:1px solid var(--hair-2);background:transparent;color:var(--acciaio);cursor:pointer;
  font-family:inherit;font-size:11px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;
  transition:border-color .5s var(--e-soft),color .5s var(--e-soft)}
.f-trig:hover,.f-trig[aria-expanded="true"]{border-color:var(--bronzo);color:var(--avorio)}
.f-trig:focus-visible{outline:2px solid var(--bronzo);outline-offset:3px}
.ft-ico{display:inline-block;width:12px;height:9px;flex:none;
  border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative;opacity:.75}
.ft-ico::after{content:'';position:absolute;left:0;right:0;top:3px;border-top:1px solid currentColor}
.ft-chev{font-size:9px;opacity:.6;transition:transform .45s var(--e-soft)}
.f-trig[aria-expanded="true"] .ft-chev{transform:rotate(180deg)}
.ft-n{display:inline-grid;place-items:center;min-width:19px;height:19px;border-radius:50%;
  background:var(--bronzo);color:var(--inchiostro);font-size:9.5px;letter-spacing:0}
.ft-n[hidden]{display:none}
.f-esito{margin-right:6px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--acciaio-scuro);white-space:nowrap}
.f-esito b{color:var(--avorio);font-weight:400}

/* pannello — desktop: ancorato, compatto */
.f-pop{position:absolute;top:calc(100% + 9px);left:0;z-index:120;
  width:min(640px,86vw);max-width:calc(100vw - 48px);
  background:rgba(18,18,20,.97);backdrop-filter:blur(18px) saturate(1.2);
  border:1px solid var(--hair-2);box-shadow:0 24px 64px rgba(0,0,0,.5);
  opacity:0;visibility:hidden;transform:translateY(-6px);pointer-events:none;
  transition:opacity .34s var(--e-soft),transform .34s var(--e-soft),visibility .34s}
.f-pop.on{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
.f-pop-s{width:min(258px,80vw)}
.fp-scroll{max-height:min(56vh,430px);overflow-y:auto;padding:20px 20px 4px}
.fp-sez{margin-bottom:18px}
.fp-sez > .f-et{display:block;margin-bottom:10px}
.f-et{font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--acciaio-scuro)}
.f-gruppo{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.f-chip{border:1px solid var(--hair-2);background:transparent;color:var(--acciaio);cursor:pointer;
  font-family:inherit;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  min-height:34px;padding:0 12px;transition:all .4s var(--e-soft);white-space:nowrap}
.f-chip:hover{border-color:var(--bronzo);color:var(--avorio)}
.f-chip.on{border-color:var(--bronzo);color:var(--inchiostro);background:var(--bronzo)}
.f-chip:focus-visible{outline:2px solid var(--bronzo);outline-offset:2px}
.f-canone{display:flex;align-items:center;gap:9px}
.f-canone input{width:84px;min-height:36px;border:1px solid var(--hair-2);background:transparent;
  color:var(--avorio);font-family:inherit;font-size:12px;padding:0 10px;text-align:center}
.f-canone input:focus-visible{outline:2px solid var(--bronzo);outline-offset:2px}
.f-canone span{color:var(--acciaio-scuro);font-size:10.5px;letter-spacing:.1em}
.fp-piede{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:13px 20px;border-top:1px solid var(--hair)}
.f-azzera{border:0;background:transparent;color:var(--acciaio-scuro);cursor:pointer;font-family:inherit;
  font-size:10px;letter-spacing:.18em;text-transform:uppercase;min-height:40px;padding:0 2px;
  border-bottom:1px solid transparent;transition:color .4s var(--e-soft),border-color .4s var(--e-soft)}
.f-azzera:hover{color:var(--bronzo);border-bottom-color:var(--bronzo)}
.f-azzera:focus-visible{outline:2px solid var(--bronzo);outline-offset:3px}
.f-ok{min-height:42px;padding:0 22px;border:1px solid var(--bronzo);background:var(--bronzo);
  color:var(--inchiostro);cursor:pointer;font-family:inherit;font-size:10.5px;
  letter-spacing:.18em;text-transform:uppercase;transition:opacity .4s var(--e-soft)}
.f-ok:hover{opacity:.86}
.f-ok:focus-visible{outline:2px solid var(--avorio);outline-offset:3px}

/* ordinamento: lista discreta, non un select da gestionale */
.f-ord-l{padding:8px}
.f-ord-l button{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:0 12px;
  border:0;background:transparent;color:var(--acciaio);cursor:pointer;font-family:inherit;
  font-size:11px;letter-spacing:.11em;text-transform:uppercase;text-align:left;
  transition:color .35s var(--e-soft),background .35s var(--e-soft)}
.f-ord-l button:hover{color:var(--avorio);background:rgba(237,234,228,.04)}
.f-ord-l button[aria-checked="true"]{color:var(--avorio)}
.f-ord-l button::before{content:'';width:5px;height:5px;flex:none;transform:rotate(45deg);
  background:transparent;border:1px solid var(--hair-2);transition:all .35s var(--e-soft)}
.f-ord-l button[aria-checked="true"]::before{background:var(--bronzo);border-color:var(--bronzo)}
.f-ord-l button:focus-visible{outline:2px solid var(--bronzo);outline-offset:-2px}

/* stato zero risultati */
.f-vuoto{text-align:center;padding:var(--s6) var(--s3);border:1px solid var(--hair)}
.f-vuoto .fv-r{width:9px;height:9px;background:var(--bronzo);transform:rotate(45deg);margin:0 auto var(--s3)}
.f-vuoto h4{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(22px,3vw,30px);color:var(--avorio);margin-bottom:10px}
.f-vuoto p{color:var(--acciaio);font-size:13.5px;line-height:1.7;max-width:44ch;margin:0 auto var(--s3)}

/* velo: solo mobile */
.f-velo{position:fixed;inset:0;z-index:110;background:rgba(10,10,11,.6);
  opacity:0;visibility:hidden;transition:opacity .38s var(--e-soft),visibility .38s}

@media(max-width:860px){
  .f-bar{gap:9px}
  .f-trig{flex:1;justify-content:center;font-size:10.5px;letter-spacing:.16em;padding:0 13px}
  .f-esito{margin-right:0;width:100%;text-align:center;order:3;font-size:10px}
  .f-trig{min-height:44px}
  .f-velo.on{opacity:1;visibility:visible}
  /* bottom sheet contenuto: non prende tutto lo schermo se non serve */
  .f-pop,.f-pop-s{position:fixed;top:auto;left:0;right:0;bottom:0;width:auto;
    transform:translateY(100%);border:0;border-top:1px solid var(--hair-2);z-index:120;
    padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -18px 54px rgba(0,0,0,.55)}
  .f-pop.on{transform:translateY(0)}
  .fp-scroll{max-height:min(52dvh,400px);padding:18px 18px 4px}
  .f-pop-s .f-ord-l{padding:10px 8px calc(10px + env(safe-area-inset-bottom))}
  .f-chip{min-height:40px;font-size:11px}
  .fp-piede{padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
  .f-ok{flex:1;min-height:48px}
}

/* ═══════════ VETRINA OFFERTE — fila di card indipendenti ═══════════
   Nessun contenitore visivo: la finestra ritaglia soltanto, senza fondo né bordo.
   Fondo, bordo, raggio e ombra appartengono alla singola card. La card attiva è
   sempre al centro; le vicine entrano ed escono dai lati. Nastro, cloni, loop e
   swipe sono invariati: cambia solo la presentazione. */
.vetrina{margin-top:var(--s5);position:relative}
.vetrina-cap{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s3)}
.vetrina-cap .vc-t{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(24px,2.6vw,32px);
  letter-spacing:.01em;color:var(--avorio);line-height:1.1}
.vetrina-cap .vc-s{display:block;font-size:10px;letter-spacing:.34em;text-transform:uppercase;color:var(--bronzo);margin-bottom:10px}
.v-conta{display:flex;align-items:center;gap:12px;font-family:'Fraunces',Georgia,serif;font-weight:300;
  font-size:14px;letter-spacing:.06em;color:var(--acciaio-scuro);font-variant-numeric:tabular-nums;white-space:nowrap}
.v-conta b{font-weight:300;color:var(--avorio);font-size:17px}
.v-conta i{display:block;width:34px;height:1px;background:var(--hair-2)}

.vt-scena{position:relative;--cw:min(780px,64%);--cg:30px}
.v-pista{position:relative;overflow:hidden;overflow:clip;touch-action:pan-y;padding-block:22px 36px;
  -webkit-user-select:none;user-select:none;outline:none;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 9%,#000 91%,transparent 100%)}
.v-nastro{display:flex;gap:var(--cg);align-items:stretch;will-change:transform;
  transition:transform .64s cubic-bezier(.22,.61,.36,1)}
.v-nastro.fermo{transition:none}
.v-nastro.salto .vt-card,.v-nastro.salto .vt-card img,.v-nastro.salto .v-media{transition:none!important}

/* la card: identità propria */
.vt-card{position:relative;flex:0 0 auto;width:var(--cw);display:flex;flex-direction:column;
  background:linear-gradient(180deg,#151517 0%,#0e0e10 100%);
  border:1px solid rgba(237,234,228,.08);border-radius:3px;overflow:hidden;
  transform:scale(.93);opacity:.38;transform-origin:50% 50%;cursor:pointer;
  box-shadow:0 20px 50px -38px rgba(0,0,0,.9);
  transition:transform .64s cubic-bezier(.22,.61,.36,1),opacity .64s cubic-bezier(.22,.61,.36,1),
    box-shadow .64s cubic-bezier(.22,.61,.36,1),border-color .6s var(--e-soft)}
.vt-card.vt-attiva{transform:none;opacity:1;cursor:default;border-color:rgba(237,234,228,.13);
  box-shadow:0 46px 90px -46px rgba(0,0,0,.95),inset 0 1px 0 rgba(237,234,228,.05)}
.vt-card img{-webkit-user-drag:none}
@media(hover:hover){
  .vt-card:not(.vt-attiva).hov{opacity:.58}
  .vt-card.vt-attiva.hov{border-color:rgba(176,141,87,.36)}
  .vt-card.vt-attiva.hov .v-media img{transform:scale(1.035)}
}
.v-pista:focus-visible .vt-card.vt-attiva{outline:1px solid var(--bronzo);outline-offset:5px}
.vt-card:not(.vt-attiva) .v-cta{pointer-events:none}

/* copertina: la fotografia appartiene solo alla sua card */
.v-media{position:relative;flex:none;aspect-ratio:16/7.2;overflow:hidden;background:#0b0b0c}
.v-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 56%;
  transition:transform 1.6s var(--e-soft)}
.v-media::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(14,14,16,0) 56%,rgba(14,14,16,.78) 100%)}
/* copertina tipografica per le offerte senza fotografia: nessuna immagine segnaposto */
.v-media--testo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;
  background:radial-gradient(70% 85% at 50% 40%,rgba(176,141,87,.12),transparent 64%),linear-gradient(180deg,#141416,#0d0d0f)}
.v-media--testo::after{display:none}
.vm-r{width:8px;height:8px;border:1px solid var(--bronzo);transform:rotate(45deg)}
.vm-m{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(30px,3.6vw,46px);color:var(--avorio);letter-spacing:.02em;line-height:1}
.vm-s{font-family:'Fraunces',Georgia,serif;font-style:italic;font-weight:300;font-size:clamp(15px,1.5vw,19px);color:var(--bronzo-chiaro)}

/* contenuto */
.v-in{display:flex;flex-direction:column;flex:1;padding:26px 32px 24px}
.v-occh{font-size:10px;letter-spacing:.32em;text-transform:uppercase;color:var(--bronzo);margin-bottom:12px}
.v-tit{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(26px,2.5vw,34px);
  line-height:1.06;letter-spacing:.005em;color:var(--avorio);margin-bottom:12px}
.v-tit .v-sub{font-size:.64em;font-style:italic;color:var(--bronzo-chiaro);letter-spacing:.02em;display:block;margin-top:5px}
.v-spec{display:flex;flex-wrap:wrap;gap:6px 0;margin:0 0 14px;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--acciaio)}
.v-spec span{display:inline-flex;align-items:center}
.v-spec span+span::before{content:'';width:3px;height:3px;background:var(--bronzo);transform:rotate(45deg);margin:0 10px}
@media(max-width:720px){.v-spec{font-size:10px;margin-bottom:12px}}
.v-tit .v-sub{line-height:1.26}
.v-conf{display:grid;gap:3px;margin:0 0 12px;min-width:min(290px,100%)}
.v-conf > div{display:flex;justify-content:space-between;gap:22px;font-size:11.5px;color:var(--acciaio);
  padding:3px 0;border-bottom:1px solid rgba(237,234,228,.06)}
.v-conf > div b{font-weight:400;color:var(--avorio);font-variant-numeric:tabular-nums;white-space:nowrap}
.v-conf > div.mig,.v-conf > div.mig b{color:var(--bronzo-chiaro)}
@media(max-width:720px){.v-conf{min-width:0}.v-conf > div{font-size:11px}
  .v-pill .v-incl{flex-basis:100%}}
.v-lede{color:var(--acciaio);font-size:13px;line-height:1.7;max-width:76ch;margin-bottom:20px}
.v-piede{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-top:auto;
  padding-top:20px;border-top:1px solid rgba(237,234,228,.07)}
.v-canone{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}
.v-cifra{font-family:'Fraunces',Georgia,serif;font-weight:300;font-size:clamp(36px,3.4vw,46px);color:var(--avorio);line-height:1}
.v-um{font-size:12px;color:var(--acciaio);letter-spacing:.04em}
.v-pill{display:flex;flex-wrap:wrap;gap:6px 18px}
.v-pill > span{display:inline-flex;gap:7px;align-items:baseline;font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--acciaio-scuro)}
.v-pill b{color:var(--avorio);font-weight:400;letter-spacing:.06em}
.v-nota{color:var(--acciaio-scuro);font-size:10.5px;line-height:1.5;margin-top:14px;opacity:.75}
.v-cta{display:inline-flex;align-items:center;gap:12px;min-height:48px;padding:0 24px;flex:none;
  border:1px solid var(--bronzo);background:transparent;color:var(--avorio);cursor:pointer;
  font-family:inherit;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;white-space:nowrap;
  transition:background .5s var(--e-soft),color .5s var(--e-soft)}
.v-cta:hover{background:var(--bronzo);color:var(--inchiostro)}
.v-cta:focus-visible{outline:2px solid var(--bronzo);outline-offset:3px}
.v-cta .fr{transition:transform .5s var(--e-soft)}
.v-cta:hover .fr{transform:translateX(5px)}

/* frecce: discrete, appoggiate ai bordi della card attiva */
.v-freccia{position:absolute;top:50%;z-index:3;width:46px;height:46px;border-radius:50%;padding:0;
  border:1px solid rgba(237,234,228,.2);background:rgba(10,10,11,.62);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--avorio);
  display:grid;place-items:center;cursor:pointer;transform:translate(-50%,-50%);
  transition:border-color .45s var(--e-soft),background .45s var(--e-soft)}
.v-freccia[hidden]{display:none}
.v-freccia svg{width:18px;height:18px}
.v-freccia:hover{border-color:var(--bronzo);background:rgba(10,10,11,.85)}
.v-freccia:focus-visible{outline:2px solid var(--bronzo);outline-offset:3px}
#vPrev{left:calc(50% - var(--cw) / 2)}
#vNext{left:calc(50% + var(--cw) / 2)}

.v-punti{display:none;justify-content:center;gap:8px;margin-top:4px}
.v-punti i{width:18px;height:2px;background:var(--hair-2);transition:background .5s var(--e-soft),width .5s var(--e-soft)}
.v-punti i.on{background:var(--bronzo);width:30px}
.v-live{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

@media(max-width:1100px){.vt-scena{--cw:min(720px,70%);--cg:24px}}
@media(max-width:860px){
  .vt-scena{--cw:76%;--cg:18px}
  .v-pista{-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%);
                  mask-image:linear-gradient(90deg,transparent 0,#000 5%,#000 95%,transparent 100%)}
  .v-in{padding:22px 24px 22px}
  .v-freccia{width:42px;height:42px}
}
@media(max-width:720px){
  /* a filo schermo: le card laterali escono davvero dai bordi del telefono */
  .vt-scena{--cw:78%;--cg:12px;margin-inline:calc(-1 * clamp(20px,5vw,40px))}
  .v-pista{-webkit-mask-image:none;mask-image:none;padding-block:10px 22px}
  .v-freccia{display:none}
  .v-punti{display:flex}
  .vt-card{transform:scale(.96);opacity:.5}
  .vt-card.vt-attiva{transform:none;opacity:1}
  .v-media{aspect-ratio:16/10}
  .v-in{padding:18px 18px 20px}
  .v-lede{display:none}
  .v-tit{font-size:24px;margin-bottom:16px}
  .v-piede{flex-direction:column;align-items:stretch;gap:16px;padding-top:16px}
  .v-cifra{font-size:34px}
  .v-cta{width:100%;justify-content:center}
  .v-nota{margin-top:12px}
}
@media(prefers-reduced-motion:reduce){
  .v-nastro,.vt-card,.v-media img,.v-cta,.v-cta .fr,.v-freccia,.v-punti i{transition:none}
  .vt-card.vt-attiva.hov .v-media img{transform:none}
}
.lotusb{position:relative;overflow:hidden;border:1px solid var(--hair-2);margin-top:var(--s5)}
.lotusb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5}
.lotusb::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,11,.94) 0%,rgba(10,10,11,.78) 34%,rgba(10,10,11,.12) 62%,rgba(10,10,11,0) 78%);z-index:1}
.lotusb .rs5-foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:68% 55%;opacity:1}
.lotusb .l-in{position:relative;z-index:2;padding:clamp(28px,4.5vw,56px);max-width:560px}
.lotusb .rs5-lede{color:var(--acciaio);font-size:13.5px;line-height:1.6;max-width:46ch;margin-bottom:var(--s3)}
.rs5-canone{display:flex;align-items:baseline;gap:8px;margin-bottom:var(--s3)}
.rs5-canone .rc-cifra{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:clamp(32px,4vw,44px);line-height:1;color:var(--avorio)}
.rs5-canone .rc-um{font-family:'Archivo';font-size:13px;color:var(--acciaio);letter-spacing:.04em}
.rs5-pill{display:flex;gap:12px;margin-bottom:var(--s3);flex-wrap:wrap;align-items:baseline}
.rs5-pill .pill{display:inline-flex;align-items:baseline;gap:7px;padding:0;border:none;background:none}
.rs5-pill .pill:not(:last-child)::after{content:"";display:inline-block;width:1px;height:12px;background:var(--hair-2);margin-left:12px}
.rs5-pill .p-k{font-family:'Archivo';font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--acciaio)}
.rs5-pill .p-v{font-family:'Fraunces',Georgia,serif;font-weight:400;font-size:15px;color:var(--bronzo-chiaro);line-height:1}
.lotusb .rs5-nota{color:var(--acciaio-scuro);font-size:10.5px;letter-spacing:.02em;line-height:1.5;margin-bottom:var(--s3);opacity:.8}
.lotusb h3 .h-sub{font-size:.62em;letter-spacing:.02em;color:var(--bronzo-chiaro);font-style:italic;white-space:nowrap}
.lotusb p strong{color:var(--avorio);font-weight:400}
.btn-rs5{display:inline-flex;align-items:center;gap:12px;min-height:52px;padding:0 26px;
  background:var(--bronzo);color:var(--inchiostro);border:1px solid var(--bronzo);
  font-family:'Archivo';font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;
  cursor:pointer;position:relative;overflow:hidden;transition:background .45s var(--e-out),color .45s var(--e-out),transform .45s var(--e-out)}
.btn-rs5 .fr{font-size:16px;transition:transform .45s var(--e-out)}
.btn-rs5:hover{background:var(--bronzo-chiaro);transform:translateY(-1px)}
.btn-rs5:hover .fr{transform:translateX(5px)}
.btn-rs5:focus-visible{outline:2px solid var(--avorio);outline-offset:3px}
@media(max-width:700px){.lotusb .rs5-foto{object-position:75% 60%;opacity:.55}}
.lotusb h3{font-family:'Fraunces';font-weight:300;font-size:clamp(26px,3.4vw,40px);margin:var(--s2) 0}
.lotusb h3 em{font-style:italic;color:var(--bronzo-chiaro)}
.lotusb p{color:var(--acciaio);font-size:14.5px;line-height:1.85;margin-bottom:var(--s3)}
/* ═══ SFONDI FOTOGRAFICI ═══ */
.confoto{position:relative;overflow:hidden}
.confoto::before{content:'';position:absolute;inset:0;background-image:var(--foto);
  background-size:cover;background-position:var(--fpos,center);opacity:.8;
  filter:brightness(1.06) saturate(.98)}
.confoto::after{content:'';position:absolute;inset:0;
  background:linear-gradient(180deg,var(--inchiostro) 0%,rgba(10,10,11,.58) 42%,rgba(10,10,11,.58) 58%,var(--inchiostro) 100%)}
.confoto>*{position:relative;z-index:1}
@media(prefers-reduced-motion:no-preference){
  .confoto::before{transition:opacity 1.2s var(--e-out)}
}
/* faq */
.faq-acc .acc-head{font-family:'Fraunces';font-size:21px;letter-spacing:0;text-transform:none;padding:22px 2px}
.faq-acc .acc-body .inner{padding-bottom:26px;color:var(--acciaio);font-size:14.5px;line-height:1.9;max-width:70ch}
@media(max-width:840px){
  .hero-cta{padding:14px 4px 14px 0;min-height:44px}
  .menu-piede a{padding:10px 0;min-height:44px;display:inline-flex;align-items:center}
  .p-col a{padding:9px 0;min-height:44px;display:inline-flex;align-items:center}
  .logo-nav{padding:8px 4px 8px 0;min-height:44px}
  .acc-head{min-height:48px}
}
.skip{position:absolute;left:-9999px;top:0;z-index:500;background:var(--bronzo);color:var(--inchiostro);
  padding:14px 22px;font-family:'Archivo';font-size:13px;letter-spacing:.14em;text-transform:uppercase;text-decoration:none}
.skip:focus{left:var(--s3);top:var(--s3)}
@media(max-width:600px){#occhiello{letter-spacing:.2em;text-indent:.2em;font-size:10px;line-height:2}}
/* target size — WCAG 2.5.8, applicato a ogni viewport */
.menu-piede a,.p-col a{min-height:44px;display:inline-flex;align-items:center}
.logo-nav{min-height:44px}
.hero-cta{min-height:44px;display:inline-flex;align-items:center}
/* focus visibile coerente col brand (WCAG 2.2 AA) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:2px solid var(--bronzo-chiaro);outline-offset:3px;border-radius:2px}
.rv{opacity:0;transform:translateY(28px);transition:opacity 1s var(--e-out),transform 1s var(--e-out)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  .rv,.mask>span,.hero .sub,.hero-cta{opacity:1!important;transform:none!important}
  #cortina{display:none}.aura{display:none}body{cursor:auto}.cur{display:none}html{scroll-behavior:auto}
}

/* ═══════════ HERO MOBILE — Ferrari e cavallo (solo ≤820px) ═══════════
   Nessuna di queste regole raggiunge il desktop, che resta quello originale. */
@media (max-width:820px), (min-width:821px) and (max-aspect-ratio:1/1){
  #top.hero{--hh:max(54svh,76vw);justify-content:flex-start;
    padding-top:calc(var(--hh) - clamp(40px,8vw,72px));padding-bottom:var(--s5)}
  #top .hero-bg{bottom:auto;height:var(--hh)}
  #top .hero-bg img{object-position:50% 86%;filter:none;animation:none!important;transform:none!important}
  #top .hero-bg::after{background:linear-gradient(180deg,rgba(10,10,11,0) 64%,var(--inchiostro) 100%)}
  #top .sigillo{width:clamp(84px,24vw,128px);margin-bottom:var(--s3)}
  #top .scia{display:none}
}
@media (max-width:540px){
  #top.hero{--hh:max(50svh,76vw);padding-top:calc(var(--hh) - 58px)}
  #top .sigillo{width:clamp(76px,21vw,104px);margin-bottom:var(--s2)}
  #top .occhiello{margin-bottom:var(--s2)!important}
  #top h1{margin-bottom:var(--s2)}
  #top .sub{margin-block:0 var(--s3);line-height:1.6}
}
/* ═══════════ COLLEZIONE — fotografia di sfondo ═══════════
   Dietro titolo, contenuti, filtri ed elenco marchi. Due scatti dello stesso
   sistema visivo (nebbia, toni freddi) che si dissolvono l'uno nell'altro. */
#collezione>.wrap{position:relative}
.col-sfondo{position:absolute;left:0;right:0;top:0;height:0;overflow:hidden;pointer-events:none}
.col-sfondo img{position:absolute;left:0;width:100%;display:block;object-fit:cover}
.cs-a{top:0;height:60%;object-position:50% 40%;
  -webkit-mask-image:linear-gradient(180deg,#000 84%,transparent 100%);mask-image:linear-gradient(180deg,#000 84%,transparent 100%)}
.cs-b{top:52%;height:48%;object-position:50% 58%;filter:saturate(.42);
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%);mask-image:linear-gradient(180deg,transparent 0,#000 16%)}
.col-sfondo::after{content:'';position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(10,10,11,.5) 0%,rgba(10,10,11,.14) 30%,rgba(10,10,11,.14) 70%,rgba(10,10,11,.5) 100%),
  linear-gradient(180deg,var(--inchiostro) 0%,rgba(10,10,11,.5) 4%,rgba(10,10,11,.6) 30%,rgba(10,10,11,.64) 70%,rgba(10,10,11,.7) 94%,var(--inchiostro) 100%)}
#collezione .oltre{background:linear-gradient(168deg,rgba(18,18,20,.8),rgba(10,10,11,.72));
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
@media(max-width:720px){
  /* su telefono i nomi delle marche sono da 20px: il cielo chiaro della foto alpina
     va tenuto sotto controllo, altrimenti il contrasto scende sotto il leggibile */
  .cs-a{height:46%;object-position:50% 62%;filter:brightness(.62) contrast(1.04)}
  .cs-b{top:40%;height:60%;object-position:52% 60%;filter:saturate(.42) brightness(.82)}
  .col-sfondo::after{background:
    linear-gradient(90deg,rgba(10,10,11,.5) 0%,rgba(10,10,11,.26) 34%,rgba(10,10,11,.26) 66%,rgba(10,10,11,.5) 100%),
    linear-gradient(180deg,var(--inchiostro) 0%,rgba(10,10,11,.66) 4%,rgba(10,10,11,.7) 26%,rgba(10,10,11,.68) 70%,rgba(10,10,11,.72) 95%,var(--inchiostro) 100%)}
}

/* ═══ HERO DESKTOP — BMW M5 a tutto schermo; sigillo e testi con le misure originali ═══
   Solo sopra gli 820px in orizzontale. Mobile e tablet verticale restano su Ferrari e cavallo. */
@media (min-width:821px) and (min-aspect-ratio:1/1){
  #top .hero-bg img{filter:none;animation:none!important;transform:none!important}
  #brand.statement{border-top-color:transparent}
}

/* fari ai lati del logo: la foto è ingrandita (125vw) e ancorata al centro del sigillo,
   così i due fari gialli lo incorniciano; velo morbido dietro sigillo e testi */
@media (min-width:821px) and (min-aspect-ratio:1/1){
  #top .hero-bg img{inset:auto;width:125vw;height:auto;max-width:none;left:calc(50% - 74.4vw);top:calc(350px - 111.1vw)}
  #top .hero-bg::after{background:
    radial-gradient(circle 190px at 50% 350px,rgba(10,10,11,.6),rgba(10,10,11,0) 100%),
    radial-gradient(ellipse 36% 30% at 50% 72%,rgba(10,10,11,.55),rgba(10,10,11,0) 100%),
    linear-gradient(180deg,rgba(10,10,11,.4) 0%,rgba(10,10,11,0) 22%,rgba(10,10,11,.1) 56%,rgba(10,10,11,.6) 84%,var(--grafite) 100%)}
  #top .occhiello,#top h1,#top .sub{text-shadow:0 0 26px rgba(10,10,11,.8),0 1px 3px rgba(10,10,11,.6)}
}

/* finestre strette in orizzontale (861–1040px): il pannello filtri, anche da chiuso,
   sforava a destra della pagina; lo ancoro alla barra invece che al pulsante */
@media (min-width:861px) and (max-width:1040px){
  .f-bar{position:relative}
  .f-bar > .f-anc:first-of-type{position:static}
}
