/* ───────── Token ─────────
   Blu: campionato dal logo storico. Display: Besley, un Clarendon come l'Egizio
   disegnato da Aldo Novarese alla Nebiolo di Torino (1955-58). Testo: Archivo. */
:root{
  --blu:#122f4d; --blu-hover:#1b4470; --blu-deep:#0b1f35; --blu-night:#06111e;
  --paper:#f4f1ea; --paper-2:#e9e5db; --white:#fff;
  --text:#f4f1ea; --text-dim:rgba(244,241,234,.74); --text-faint:rgba(244,241,234,.5);
  --line:rgba(244,241,234,.2); --line-ink:rgba(18,47,77,.18);
  --ink:#0d1b2a; --ink-dim:rgba(13,27,42,.7); --ink-faint:rgba(13,27,42,.5);
  --focus:#9cc2ff; --focus-ink:#122f4d;
  --font-display:"Besley",Georgia,"Times New Roman",serif;
  --font-sans:"Archivo",system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-inout:cubic-bezier(.65,0,.35,1);
  --dur-1:.2s; --dur-2:.5s;
  --margin:clamp(20px,4.6vw,76px); --gutter:clamp(16px,2vw,32px);
  --section:clamp(80px,10vw,160px);
  --header-h:92px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth; scroll-padding-top:var(--header-h)}
html.cfg-open{overflow:hidden}
body{margin:0; background:var(--blu-night); color:var(--text); font-family:var(--font-sans); font-size:17px; line-height:1.55; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility}
img,video{display:block; max-width:100%}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; background:none; border:0; padding:0; cursor:pointer}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0; list-style:none}
:focus-visible{outline:2px solid var(--focus); outline-offset:3px}
.on-paper :focus-visible,.cfg :focus-visible,.footer :focus-visible{outline-color:var(--focus-ink)}
.vh{position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap}
.skip{position:fixed; left:16px; top:-60px; z-index:100; background:var(--blu); color:var(--paper); padding:10px 16px; border-radius:2px; transition:top var(--dur-1)}
.skip:focus{top:16px}

/* ───────── Tipografia ───────── */
.label{font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase}
.display,.h2{font-family:var(--font-display); font-weight:500; letter-spacing:-.022em; text-wrap:balance}
.display{line-height:1.03}
.h2{font-size:clamp(2rem,4.4vw,4.4rem); line-height:1.06}
.lede{font-size:clamp(1.05rem,1.3vw,1.25rem); line-height:1.5; max-width:34em}
.num{font-family:var(--font-display); font-weight:500; letter-spacing:-.02em; font-variant-numeric:lining-nums}

/* ───────── Bottoni ───────── */
.btn{display:inline-flex; align-items:center; justify-content:center; gap:.6em; min-height:52px; padding:0 28px; border-radius:2px; border:1px solid transparent; font-size:13px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; white-space:nowrap; transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1)}
.btn--blu{background:var(--blu); color:var(--paper)}
.btn--blu:hover{background:var(--blu-hover)}
.btn--paper{background:var(--paper); color:var(--blu)}
.btn--paper:hover{background:var(--white)}
.btn--outline{border-color:rgba(244,241,234,.6); color:var(--text)}
.btn--outline:hover{background:var(--paper); color:var(--blu); border-color:var(--paper)}
.btn--line{border-color:var(--line-ink); color:var(--blu)}
.btn--line:hover{border-color:var(--blu)}
.btn--sm{min-height:44px; padding:0 20px; font-size:12px}
.link{display:inline-flex; align-items:center; gap:.5em; font-size:12.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:6px 0; border-bottom:1px solid currentColor}

/* ───────── Header ───────── */
.header{position:fixed; inset:0 0 auto 0; z-index:50; height:var(--header-h); display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 var(--margin); background:transparent; color:var(--text); border-bottom:1px solid transparent; transition:background var(--dur-2), border-color var(--dur-2)}
.header.is-solid{background:rgba(6,17,30,.94); border-bottom-color:var(--line)}
.nav{display:flex; gap:clamp(18px,2.6vw,40px)}
.nav a{font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; padding:8px 0; border-bottom:1px solid transparent; transition:border-color var(--dur-1)}
.nav a:hover{border-bottom-color:currentColor}
.brand{display:block}
.brand img{height:70px; width:70px}
.header__end{justify-self:end; display:flex; align-items:center; gap:20px}
.header__note{font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-dim)}

/* ───────── Hero ───────── */
.hero{position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; isolation:isolate}
.hero__media{position:absolute; inset:0; z-index:-2; background:var(--blu-night)}
.hero__media video{width:100%; height:100%; object-fit:cover}
.hero__archive{--as:1.13; --ax:0%; --ay:1%; position:absolute; inset:0; overflow:hidden; background:var(--blu-night); opacity:0; pointer-events:none; transition:opacity .22s linear}
.hero__media.is-archive .hero__archive{opacity:1}
.hero__archive iframe{position:absolute; left:50%; top:50%; border:0; transform:translate(calc(-50% + var(--ax, 0%)), calc(-50% + var(--ay, 0%))) scale(var(--as, 1.25))}
.hero__cap{font-size:11.5px; font-weight:500; letter-spacing:.1em; text-transform:uppercase}
.hero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, rgba(6,17,30,.95) 0%, rgba(6,17,30,.62) 30%, rgba(6,17,30,.08) 62%, rgba(6,17,30,0) 80%), linear-gradient(to bottom, rgba(6,17,30,.78) 0%, rgba(6,17,30,0) 26%), linear-gradient(90deg, rgba(6,17,30,.55) 0%, rgba(6,17,30,.18) 48%, rgba(6,17,30,0) 72%)}
.hero__content{padding:calc(var(--header-h) + 48px) var(--margin) clamp(48px,7vw,104px)}
.hero__kicker{margin-bottom:clamp(16px,2vw,26px)}
.hero h1{font-size:clamp(2.5rem,6.2vw,6.75rem); max-width:13em}
.hero__lede{margin-top:clamp(18px,2.2vw,30px); color:var(--text-dim)}
.hero__actions{display:flex; flex-wrap:wrap; gap:12px; margin-top:clamp(24px,2.8vw,38px)}
.hero__tools{position:absolute; right:var(--margin); bottom:clamp(48px,7vw,104px); display:flex; align-items:center; gap:14px; font-size:11.5px; letter-spacing:.08em; text-transform:uppercase; text-shadow:0 1px 12px rgba(0,0,0,.7)}
.icon-btn{width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:1px solid rgba(244,241,234,.5); background:rgba(6,17,30,.55); color:var(--text); transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1)}
.icon-btn:hover{background:var(--paper); color:var(--blu); border-color:var(--paper)}
.icon-btn svg{width:14px; height:14px; fill:currentColor}
.icon-btn .i-play{display:none}
.icon-btn[aria-pressed="true"] .i-play{display:block}
.icon-btn[aria-pressed="true"] .i-pause{display:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto} *,*::before,*::after{transition-duration:.01ms !important; animation-duration:.01ms !important}}

/* ───────── Sezioni ───────── */
.section{padding:var(--section) var(--margin)}
.section__head{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); column-gap:var(--gutter); row-gap:20px; align-items:end}
.section__head > .label{grid-column:1/-1}
.on-paper{background:var(--paper); color:var(--ink)}
.on-paper .label{color:var(--ink-faint)}
.on-paper .h2{color:var(--blu)}

/* Heritage */
.heritage{background:var(--blu)}
.heritage__grid{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--gutter)}
.heritage__side{grid-column:1/4; padding-top:.9em}
.heritage .label{color:var(--text-faint)}
.laurels{display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px 4px; margin-top:clamp(24px,2.6vw,40px); max-width:360px}
.laurels li{position:relative; aspect-ratio:1; display:grid; place-items:center}
.laurels svg{position:absolute; inset:0; width:100%; height:100%; fill:currentColor; color:var(--text); opacity:.9}
.laurels span{position:relative; font-size:clamp(10px,.82vw,13px); font-weight:600; letter-spacing:.01em; font-variant-numeric:tabular-nums; transform:translateY(-6%)}
.laurels__cap{margin-top:16px; font-size:.82rem; color:var(--text-faint)}
.heritage__body{grid-column:4/-1}
.heritage__statement{font-size:clamp(1.8rem,3.7vw,3.7rem); line-height:1.1; max-width:17em}
.heritage__text{margin-top:clamp(22px,2.6vw,38px); color:var(--text-dim)}
.roll{margin-top:clamp(36px,4.5vw,64px); border-top:1px solid var(--line); max-width:46em}
.roll > div{display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding:18px 0; border-bottom:1px solid var(--line)}
.roll dt{font-family:var(--font-display); font-size:clamp(1.2rem,1.6vw,1.5rem); font-weight:500; letter-spacing:-.012em}
.roll dd{color:var(--text-dim); text-align:right; font-variant-numeric:tabular-nums}
.roll--specs{margin-top:0}
.roll--specs dt{font-family:var(--font-sans); font-size:1rem; font-weight:400; letter-spacing:0; color:var(--text-dim)}
.roll--specs dd{color:var(--text); font-weight:500}

/* Modelli */
.models__title{grid-column:1/9}
.models__nav{grid-column:9/-1; justify-self:end; display:flex; gap:10px}
.round{width:52px; height:52px; border-radius:50%; border:1px solid var(--line-ink); color:var(--blu); display:grid; place-items:center; transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1), opacity var(--dur-1)}
.round:hover:not(:disabled){background:var(--blu); color:var(--paper); border-color:var(--blu)}
.round:disabled{opacity:.3; cursor:default}
.round svg{width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.6}
.rail{display:flex; gap:var(--gutter); margin:clamp(32px,4.5vw,64px) calc(var(--margin) * -1) 0; padding:4px var(--margin) 12px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--margin); scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.card{flex:0 0 clamp(280px,31vw,460px); scroll-snap-align:start; display:flex; flex-direction:column; background:var(--white); border-radius:2px; overflow:hidden}
.card__media{aspect-ratio:4/3; background:linear-gradient(180deg,#f8f6f1 0%,#e9e5db 100%); overflow:hidden; display:grid; place-items:center}
.card__media img{width:100%; height:100%; object-fit:contain; transition:transform var(--dur-2) var(--ease-out)}
.card:hover .card__media img{transform:scale(1.05)}
.card__body{padding:22px 24px 24px; display:flex; flex-direction:column; gap:6px; flex:1}
.card__name{font-family:var(--font-display); font-size:clamp(1.4rem,1.9vw,1.85rem); font-weight:500; letter-spacing:-.018em; line-height:1.1; color:var(--blu)}
.card__price{color:var(--ink-dim); font-variant-numeric:tabular-nums}
.card__foot{margin-top:auto; padding-top:20px; display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--blu)}
.note{margin-top:22px; font-size:.82rem; color:var(--ink-faint)}

/* Corse */
.corse{background:var(--blu-deep); padding-top:0}
.corse__banner{margin:0 calc(var(--margin) * -1) calc(var(--section) * .8); height:max(240px, 34.375vw); overflow:hidden; background:var(--blu-night)}
.corse__banner img{width:100%; height:100%; object-fit:cover}
.corse__grid{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--gutter)}
.corse__intro{grid-column:1/6; align-self:start}
@media (min-height:820px) and (min-width:1001px){.corse__intro{position:sticky; top:calc(var(--header-h) + 32px)}}
.corse__intro .label{color:var(--text-faint); margin-bottom:22px}
.corse__intro .lede{margin-top:26px; color:var(--text-dim)}
.corse__intro .btn{margin-top:34px}
.rounds{grid-column:7/-1; border-top:1px solid var(--line)}
.round-row{padding:26px 0 28px; border-bottom:1px solid var(--line)}
.round-row__date{color:var(--text-faint)}
.round-row__name{margin-top:8px; font-family:var(--font-display); font-size:clamp(1.45rem,2.3vw,2.2rem); font-weight:500; letter-spacing:-.018em; line-height:1.1}
.round-row__res{margin-top:10px; color:var(--text-dim); max-width:30em}
.round-row__tag{display:inline-block; margin-left:12px; vertical-align:middle; font-family:var(--font-sans); font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:4px 8px 3px; border-radius:2px; background:var(--paper); color:var(--blu); transform:translateY(-.3em)}
.rounds .note{color:var(--text-faint)}
.corse__media{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--gutter); margin-top:clamp(52px,6.5vw,104px)}
.corse__media figure{aspect-ratio:790/460; overflow:hidden; background:var(--blu-night); border-radius:2px}
.corse__media img{width:100%; height:100%; object-fit:cover}

/* Gamma HF */
.hf{position:relative; isolation:isolate; overflow:hidden; background:var(--blu-night)}
.hf__media{position:relative; z-index:-1; width:100%; aspect-ratio:1920/1020; max-height:92svh; background:var(--blu-night)}
.hf__media img{width:100%; height:100%; object-fit:cover; object-position:50% 72%}
.hf__media::after{content:""; position:absolute; inset:0; background:linear-gradient(to top, var(--blu-night) 0%, rgba(6,17,30,.5) 20%, rgba(6,17,30,0) 44%)}
.hf__content{position:relative; margin-top:clamp(-130px,-8vw,-40px); padding:0 var(--margin) clamp(48px,6vw,88px)}
.hf__content > .label{margin-bottom:18px; color:var(--text-dim)}
.hf__content .h2{font-size:clamp(2.4rem,5.6vw,5.8rem)}
.hf__grid{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:clamp(32px,4vw,56px) var(--gutter); align-items:end; margin-top:clamp(20px,2.4vw,34px)}
.hf__text{grid-column:1/7}
.hf__text .lede{color:var(--text-dim)}
.hf__text .btn{margin-top:clamp(24px,2.6vw,36px)}
.hf__grid .roll{grid-column:8/-1}

/* Footer */
.footer{padding:clamp(48px,6vw,80px) var(--margin) 40px; background:var(--paper); color:var(--ink)}
.footer__top{display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:24px}
.footer__top img{height:72px; width:72px}
.footer__nav{display:flex; flex-wrap:wrap; gap:10px 32px}
.footer__nav a{font-size:12.5px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--blu); border-bottom:1px solid transparent; transition:border-color var(--dur-1)}
.footer__nav a:hover{border-bottom-color:currentColor}
.disclaimer{margin-top:36px; padding-top:26px; border-top:1px solid var(--line-ink); color:var(--ink-dim); font-size:.82rem; max-width:74em}
.disclaimer strong{color:var(--ink); font-weight:600}
.disclaimer a{text-decoration:underline; text-underline-offset:3px}

/* ───────── Configuratore ───────── */
.cfg{position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; padding:0; border:0; background:var(--paper); color:var(--ink); grid-template-rows:auto minmax(0,1fr) auto; overflow:hidden}
.cfg[open]{display:grid}
.cfg::backdrop{background:var(--blu-night)}
.cfg__bar{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; height:68px; padding:0 clamp(16px,2.4vw,32px); background:var(--paper); border-bottom:1px solid var(--line-ink)}
.cfg__bar img{height:46px; width:46px}
.cfg__title{text-align:center; font-family:var(--font-display); font-size:1.15rem; font-weight:500; letter-spacing:-.01em; color:var(--blu); line-height:1.2}
.cfg__title span{display:block; font-family:var(--font-sans); color:var(--ink-faint); font-size:11px}
.cfg__close{justify-self:end; display:inline-flex; align-items:center; gap:10px; font-size:12.5px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; color:var(--blu); padding:10px 0}
.cfg__close svg{width:16px; height:16px; stroke:currentColor; stroke-width:1.6; fill:none}
.cfg__body{display:grid; grid-template-columns:minmax(0,1fr) clamp(360px,31vw,470px); min-height:0}

/* Scena: l'immagine ufficiale è 16:9 e si vede intera, centrata. */
.cfg__stage{position:relative; background:var(--blu-night); overflow:hidden; min-height:0}
.cfg__backdrop{position:absolute; inset:-48px; background:var(--bg, none) center/cover no-repeat; filter:blur(38px) brightness(.5) saturate(1.1)}
.cfg__stage img{position:absolute; inset:0; width:100%; height:100%; object-fit:contain; object-position:center; transition:opacity var(--dur-2)}
.cfg__stage.is-loading img{opacity:.5}
.cfg__stage::before{content:""; position:absolute; left:0; top:0; height:2px; width:100%; background:var(--paper); transform:scaleX(0); transform-origin:left; z-index:3; opacity:0}
.cfg__stage.is-loading::before{opacity:1; animation:load 1.4s var(--ease-inout) infinite}
@keyframes load{0%{transform:scaleX(0)} 60%{transform:scaleX(.8)} 100%{transform:scaleX(1); opacity:0}}
.cfg__error{position:absolute; inset:auto 0 50% 0; text-align:center; color:var(--text-dim); display:none; padding:0 24px}
.cfg__stage.is-error .cfg__error{display:block}
.cfg__ctrl{position:absolute; left:20px; right:20px; bottom:20px; display:flex; align-items:center; justify-content:space-between; gap:12px; z-index:2; color:var(--text)}
.seg{display:inline-flex; padding:4px; border-radius:999px; background:rgba(6,17,30,.7); border:1px solid rgba(244,241,234,.3)}
.seg button{min-height:36px; padding:0 18px; border-radius:999px; font-size:11.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase; color:var(--text-dim); transition:background var(--dur-1), color var(--dur-1)}
.seg button[aria-pressed="true"]{background:var(--paper); color:var(--blu)}
.angles{display:flex; align-items:center; gap:10px}
.angles output{font-size:12px; letter-spacing:.08em; font-variant-numeric:tabular-nums; min-width:5ch; text-align:center; text-shadow:0 1px 8px rgba(0,0,0,.6)}
.angles .icon-btn svg{fill:none; stroke:currentColor; stroke-width:1.6; width:15px; height:15px}

.cfg__panel{overflow-y:auto; overscroll-behavior:contain; padding:clamp(22px,2.4vw,34px) clamp(18px,2.2vw,32px) 40px; scrollbar-width:thin}
.cfg__intro{padding-bottom:24px; border-bottom:1px solid var(--line-ink)}
.cfg__intro h2{font-family:var(--font-display); font-size:clamp(1.6rem,2.2vw,2.1rem); font-weight:500; letter-spacing:-.02em; line-height:1.1; color:var(--blu)}
.cfg__intro p{margin-top:10px; color:var(--ink-dim); font-size:.93rem}
.step{border:0; margin:0; padding:0 0 28px; min-width:0; border-bottom:1px solid var(--line-ink)}
.step > legend{padding:28px 0 8px; width:100%; font-family:var(--font-display); font-size:1.3rem; font-weight:500; letter-spacing:-.012em; color:var(--blu)}
.step__current{display:flex; justify-content:space-between; gap:16px; color:var(--ink-dim); font-size:.93rem; min-height:1.5em}
.step__current b{font-weight:600; color:var(--ink); font-variant-numeric:tabular-nums; white-space:nowrap}
.group{margin-top:20px}
.group__head{display:flex; justify-content:space-between; gap:12px; color:var(--ink-faint); margin-bottom:12px}
.group__head span:last-child{white-space:nowrap}
.swatches{display:flex; flex-wrap:wrap; gap:12px}
.sw-opt{position:relative; cursor:pointer}
.sw-opt input{position:absolute; opacity:0; inset:0; margin:0; cursor:pointer}
.sw{display:block; width:44px; height:44px; border-radius:50%; background:var(--c); box-shadow:inset 0 0 0 1px rgba(13,27,42,.2)}
.sw[data-roof="nero"]{background:linear-gradient(180deg,#0b0b0c 0 36%,var(--c) 36%)}
.sw[data-roof="vetro"]{background:linear-gradient(180deg,#9fc0d1 0,#31434d 36%,var(--c) 36%)}
.sw-opt::after{content:""; position:absolute; inset:-5px; border-radius:50%; border:1.5px solid transparent; transition:border-color var(--dur-1); pointer-events:none}
.sw-opt:hover::after{border-color:var(--line-ink)}
.sw-opt:has(input:checked)::after{border-color:var(--blu)}
.sw-opt:has(input:focus-visible)::after{border-color:var(--blu); border-width:2.5px}
.opts{display:grid; gap:10px; margin-top:14px}
.opt{position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:4px 16px; padding:16px 18px; background:rgba(255,255,255,.55); border:1px solid var(--line-ink); border-radius:2px; cursor:pointer; transition:border-color var(--dur-1), background var(--dur-1)}
.opt:hover{border-color:rgba(18,47,77,.5)}
.opt input{position:absolute; opacity:0; inset:0; margin:0; cursor:pointer}
.opt:has(input:checked){border-color:var(--blu); background:var(--white); box-shadow:inset 0 0 0 1px var(--blu)}
.opt:has(input:focus-visible){outline:2px solid var(--focus-ink); outline-offset:2px}
.opt__mark{width:20px; height:20px; border-radius:50%; border:1.5px solid rgba(18,47,77,.45); display:grid; place-items:center; transition:background var(--dur-1), border-color var(--dur-1)}
.opt--check .opt__mark{border-radius:2px}
.opt__mark::after{content:""; width:8px; height:8px; border-radius:50%; background:var(--paper); opacity:0}
.opt--check .opt__mark::after{width:10px; height:5px; border-radius:0; background:none; border-left:2px solid var(--paper); border-bottom:2px solid var(--paper); transform:rotate(-45deg) translate(1px,-1px)}
.opt:has(input:checked) .opt__mark{background:var(--blu); border-color:var(--blu)}
.opt:has(input:checked) .opt__mark::after{opacity:1}
.opt__big{font-family:var(--font-display); font-size:1.6rem; font-weight:500; letter-spacing:-.02em; line-height:1; min-width:2.4ch; color:var(--blu)}
.opt__name{font-weight:500; line-height:1.3}
.opt__price{font-variant-numeric:tabular-nums; white-space:nowrap; color:var(--ink-dim); font-size:.93rem}
.opt__desc{grid-column:2/-1; color:var(--ink-dim); font-size:.86rem; line-height:1.45}
.chip-int{width:26px; height:26px; border-radius:50%; background:var(--c); box-shadow:inset 0 0 0 1px rgba(13,27,42,.2)}
.summary{padding-top:28px}
.summary h3{font-family:var(--font-display); font-size:1.3rem; font-weight:500; letter-spacing:-.012em; color:var(--blu); margin-bottom:12px}
.summary li{display:flex; justify-content:space-between; gap:16px; padding:11px 0; border-bottom:1px solid var(--line-ink); font-size:.93rem}
.summary li span:first-child{color:var(--ink-dim)}
.summary li span:first-child b{display:block; color:var(--ink); font-weight:500}
.summary li span:last-child{font-variant-numeric:tabular-nums; white-space:nowrap}
.summary__total{display:flex; justify-content:space-between; align-items:baseline; padding:18px 0 0; font-weight:500}
.summary__total b{font-size:1.6rem; color:var(--blu)}
.summary__actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:22px}
.legal{margin-top:22px; color:var(--ink-faint); font-size:.78rem; line-height:1.5}
.cfg__foot{display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px clamp(16px,2.4vw,32px); background:var(--white); border-top:1px solid var(--line-ink)}
.cfg__price span{display:block; color:var(--ink-faint)}
.cfg__price b{font-size:clamp(1.4rem,2vw,1.85rem); color:var(--blu); line-height:1.15}

/* ───────── Responsive ───────── */
@media (max-width:1000px){
  .heritage__side{grid-column:1/-1; padding-top:0}
  .laurels{max-width:420px}
  .heritage__body{margin-top:8px}
  .heritage__body{grid-column:1/-1}
  .models__title{grid-column:1/-1}
  .models__nav{display:none}
  .corse__intro{grid-column:1/-1}
  .rounds{grid-column:1/-1; margin-top:32px}
  .hf__text{grid-column:1/-1}
  .hf__grid .roll{grid-column:1/-1}
  .header__note{display:none}
}
@media (max-width:900px){
  .cfg__body{grid-template-columns:1fr; grid-template-rows:auto auto; overflow-y:auto; align-content:start}
  .cfg__stage{position:sticky; top:0; z-index:4; aspect-ratio:16/9}
  .cfg__backdrop{display:none}
  .cfg__panel{overflow:visible}
  .cfg__ctrl{left:10px; right:10px; bottom:10px}
  .seg button{min-height:32px; padding:0 13px}
  .angles .icon-btn{width:36px; height:36px}
}
@media (max-width:760px){
  :root{--header-h:68px}
  body{font-size:16px}
  .header{grid-template-columns:auto 1fr}
  .nav{display:none}
  .brand img{height:48px; width:48px}
  .btn{max-width:100%; white-space:normal; text-align:center; padding-block:10px}
  .hero__actions .btn{flex:1 1 100%}
  .hero__tools{bottom:auto; top:calc(var(--header-h) + 8px)}
  .hero__cap{display:none}
  .roll > div{gap:16px}
  .card{flex-basis:82vw}
  .corse__media{grid-template-columns:1fr}
  .hf__text .btn{width:100%}
  .hf__media{aspect-ratio:4/3}
  .hf__media img{object-position:38% 72%}
  .cfg__bar{grid-template-columns:auto 1fr auto; gap:14px; height:60px}
  .cfg__bar img{height:40px; width:40px}
  .cfg__title{text-align:left}
  .cfg__close span{display:none}
}

/* ═════════════════ Sito completo: header, menù a panino, pagine ═════════════════ */

/* ── Header ── */
.header{grid-template-columns:1fr auto 1fr}
.menu-btn{justify-self:start; display:inline-flex; align-items:center; gap:14px; min-height:44px; padding:0 4px 0 0; font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase}
.burger{position:relative; width:22px; height:14px}
.burger::before,.burger::after,.burger span{content:""; position:absolute; left:0; right:0; height:1.5px; background:currentColor; transition:transform var(--dur-1)}
.burger::before{top:0} .burger span{top:6px} .burger::after{bottom:0}
.menu-btn:hover .burger::before{transform:translateX(3px)} .menu-btn:hover .burger::after{transform:translateX(-3px)}
html.menu-open, html.menu-open body{overflow:hidden}

/* ── Menù ── */
.menu{position:fixed; inset:0; z-index:90}
.menu[hidden]{display:none}
.menu__scrim{position:absolute; inset:0; background:rgba(6,17,30,.6); opacity:0; transition:opacity .45s var(--ease-out)}
.menu.is-open .menu__scrim{opacity:1}
.menu__panel{position:absolute; inset:0 auto 0 0; display:flex; max-width:100vw; background:var(--paper); color:var(--ink); transform:translateX(-102%); transition:transform .45s var(--ease-out); box-shadow:0 0 60px rgba(6,17,30,.25)}
.menu.is-open .menu__panel{transform:none}
.menu__l1{width:360px; flex:none; display:flex; flex-direction:column; padding:22px 28px 28px; overflow-y:auto; border-right:1px solid var(--line-ink)}
.menu__top{display:flex; justify-content:space-between; align-items:center; margin-bottom:28px}
.menu__top img{width:52px; height:52px}
.menu__close{display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--blu)}
.menu__close svg{width:16px; height:16px; stroke:currentColor; stroke-width:1.6; fill:none}
.menu__list li + li{margin-top:2px}
.menu__item{display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; padding:13px 14px; border-radius:2px; font-family:var(--font-display); font-size:1.45rem; font-weight:500; letter-spacing:-.012em; color:var(--blu); text-align:left; transition:background var(--dur-1)}
.menu__item:hover{background:var(--paper-2)}
.menu__item[aria-expanded="true"]{background:var(--blu); color:var(--paper)}
.menu__item svg{width:14px; height:14px; flex:none; fill:none; stroke:currentColor; stroke-width:1.8}
.menu__foot{margin-top:auto; padding-top:28px; display:grid; gap:10px; font-size:.93rem}
.menu__foot a{color:var(--blu); text-decoration:underline; text-underline-offset:3px}
.menu__foot p{color:var(--ink-faint); font-size:.82rem}
.menu__l2{width:min(920px, calc(100vw - 360px - 64px)); overflow-y:auto; overscroll-behavior:contain; padding:34px 40px 48px}
.menu:not(.is-deep) .menu__l2{display:none}
.menu__back{display:none}
.mgroup__head{display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px 24px; margin-bottom:26px}
.mgroup__head h2{font-family:var(--font-display); font-size:2.2rem; font-weight:500; letter-spacing:-.02em; color:var(--blu)}
.mgroup__cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:32px}
.mgroup__cols h3{font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); padding-bottom:10px; border-bottom:1px solid var(--line-ink); margin-bottom:6px}
.mgroup__cols a{display:block; padding:9px 0; font-size:1.02rem; color:var(--ink); transition:color var(--dur-1)}
.mgroup__cols a:hover{color:var(--blu); text-decoration:underline; text-underline-offset:4px}
.ext{font-size:.8em; color:var(--ink-faint); margin-left:.3em}

/* filtri */
.chips{display:flex; flex-wrap:wrap; gap:8px}
.chip{min-height:38px; padding:0 16px; border-radius:999px; border:1px solid var(--line-ink); font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--blu); transition:background var(--dur-1), color var(--dur-1), border-color var(--dur-1)}
.chip:hover{border-color:var(--blu)}
.chip[aria-pressed="true"]{background:var(--blu); border-color:var(--blu); color:var(--paper)}

/* schede modello nel menù */
.mnav__family + .mnav__family{margin-top:30px}
.mnav__family h3{font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:12px}
.mnav__grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:12px}
.mcard{display:flex; flex-direction:column; background:var(--white); border:1px solid transparent; border-radius:2px; overflow:hidden; transition:border-color var(--dur-1)}
.mcard:hover{border-color:var(--blu)}
.mcard__img{aspect-ratio:16/10; background:linear-gradient(180deg,#fbfaf7,#ece8df); display:grid; place-items:center; overflow:hidden}
.mcard__img img{width:100%; height:100%; object-fit:contain; transition:transform var(--dur-2) var(--ease-out)}
.mcard:hover .mcard__img img{transform:scale(1.05)}
.mcard__body{display:block; padding:12px 14px 14px}
.mcard__img,.mcard__name,.mcard__meta{display:block}
.mcard__name{font-family:var(--font-display); font-size:1.15rem; font-weight:500; color:var(--blu); line-height:1.2}
.mcard__meta{margin-top:4px; font-size:.82rem; color:var(--ink-dim)}
.mnav__actions{display:flex; flex-wrap:wrap; gap:10px; margin-top:30px; padding-top:24px; border-top:1px solid var(--line-ink)}

@media (max-width:999px){
  .menu__panel{width:100vw}
  .menu__l1{width:100%; border-right:0; padding:16px 20px 24px}
  .menu__l2{position:absolute; inset:0; width:auto; padding:16px 20px 40px; background:var(--paper); transform:translateX(100%); transition:transform .4s var(--ease-out)}
  .menu:not(.is-deep) .menu__l2{display:block; visibility:hidden}
  .menu.is-deep .menu__l2{transform:none; visibility:visible}
  .menu__back{display:inline-flex; align-items:center; gap:10px; min-height:44px; margin-bottom:12px; font-size:13px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--blu)}
  .menu__back svg{width:14px; height:14px; fill:none; stroke:currentColor; stroke-width:1.8}
  .mgroup__head h2{font-size:1.8rem}
  .mnav__grid{grid-template-columns:1fr 1fr}
  .mcard__body{padding:10px 12px 12px}
  .mcard__name{font-size:1rem}
}

/* ── Hero pagine interne ── */
.phero{position:relative; min-height:100svh; display:flex; flex-direction:column; justify-content:flex-end; overflow:hidden; isolation:isolate; background:var(--blu-night)}
.phero--short{min-height:100svh}
.phero__media{position:absolute; inset:0; z-index:-2}
.phero__media img,.phero__media video{width:100%; height:100%; object-fit:cover}
.phero::after{content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(to top, rgba(6,17,30,.92) 0%, rgba(6,17,30,.45) 34%, rgba(6,17,30,0) 62%), linear-gradient(to bottom, rgba(6,17,30,.7) 0%, rgba(6,17,30,0) 24%)}
.phero__content{padding:calc(var(--header-h) + 40px) var(--margin) clamp(36px,5vw,72px)}
.phero__content .label{color:var(--text-dim); margin-bottom:16px}
.phero h1{font-size:clamp(2.6rem,6.4vw,6.6rem); line-height:1.02}
.phero__lede{margin-top:clamp(16px,2vw,26px); color:var(--text-dim)}
.phero__row{display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:24px var(--gutter); margin-top:clamp(22px,2.6vw,36px)}
.phero__price{font-size:1.05rem; color:var(--text-dim)}
.phero__price b{display:block; font-family:var(--font-display); font-size:clamp(1.6rem,2.4vw,2.2rem); font-weight:500; color:var(--text); letter-spacing:-.015em}
.phero__actions{display:flex; flex-wrap:wrap; gap:12px}
.crumbs{display:flex; flex-wrap:wrap; gap:8px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-faint); margin-bottom:18px}
.crumbs a:hover{color:var(--text)}

/* ── Dati tecnici a righe ── */
.facts{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--gutter)}
.facts > .label{grid-column:1/4; padding-top:.9em}
.facts__body{grid-column:4/-1}
.facts__list{display:grid; grid-template-columns:1fr 1fr; column-gap:clamp(24px,4vw,64px); border-top:1px solid var(--line-ink)}
.facts__list > div{display:flex; justify-content:space-between; align-items:baseline; gap:20px; padding:16px 0; border-bottom:1px solid var(--line-ink)}
.facts__list dt{color:var(--ink-dim)}
.facts__list dd{font-weight:500; text-align:right; color:var(--ink)}
.facts__note{margin-top:18px; font-size:.82rem; color:var(--ink-faint)}
.notice{margin-top:22px; padding:16px 18px; border-left:3px solid var(--blu); background:var(--white); color:var(--ink)}

/* ── Blocchi immagine + testo ── */
.feature{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--gutter); align-items:center}
.feature + .feature{margin-top:clamp(56px,7vw,112px)}
.feature__img{grid-column:1/8; aspect-ratio:16/10; overflow:hidden; background:var(--paper-2); border-radius:2px}
.feature__img img{width:100%; height:100%; object-fit:cover}
.feature__img--contain img{object-fit:contain}
.feature__text{grid-column:9/-1}
.feature:nth-child(even) .feature__img{grid-column:6/-1; grid-row:1}
.feature:nth-child(even) .feature__text{grid-column:1/5; grid-row:1}
.feature__text h3{font-family:var(--font-display); font-size:clamp(1.6rem,2.4vw,2.4rem); font-weight:500; letter-spacing:-.018em; line-height:1.1; color:var(--blu)}
.feature__text p{margin-top:16px; color:var(--ink-dim); max-width:32em}
.dark .feature__text h3{color:var(--text)} .dark .feature__text p{color:var(--text-dim)} .dark .feature__img{background:var(--blu-deep)}
.dark{background:var(--blu-deep); color:var(--text)}
.dark .label{color:var(--text-faint)}

/* ── Versioni ── */
.versions{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:var(--gutter); margin-top:clamp(28px,3.4vw,48px)}
.version{background:var(--white); border-radius:2px; overflow:hidden}
.version__img{aspect-ratio:16/10; background:linear-gradient(180deg,#fbfaf7,#ece8df)}
.version__img img{width:100%; height:100%; object-fit:contain}
.version__body{padding:18px 20px 22px}
.version__body h3{font-family:var(--font-display); font-size:1.35rem; font-weight:500; color:var(--blu)}
.version__body p{margin-top:6px; color:var(--ink-dim); font-size:.95rem}

/* ── Dimensioni ── */
.dims__img{margin-top:clamp(28px,3.4vw,48px); background:var(--white); border-radius:2px; padding:clamp(12px,2vw,28px)}
.dims__img img{width:100%; height:auto}

/* ── Banda finale ── */
.cta{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:24px; padding:clamp(48px,6vw,88px) var(--margin); background:var(--blu); color:var(--text)}
.cta h2{font-family:var(--font-display); font-size:clamp(1.8rem,3.2vw,3rem); font-weight:500; letter-spacing:-.02em; line-height:1.1; max-width:18em}
.cta__actions{display:flex; flex-wrap:wrap; gap:12px}

/* ── Gamma modelli ── */
.range__bar{display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-top:clamp(24px,3vw,40px)}
.range__family{margin-top:clamp(40px,5vw,72px)}
.range__family > h2{font-family:var(--font-display); font-size:clamp(1.8rem,3vw,2.8rem); font-weight:500; letter-spacing:-.02em; color:var(--blu); margin-bottom:20px}
.range__grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:var(--gutter)}
.range__grid .card{flex:none}

/* ── Offerte e contatti ── */
.offers{display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:var(--gutter)}
.offer{display:flex; flex-direction:column; background:var(--white); border-radius:2px; overflow:hidden}
.offer__img{aspect-ratio:16/10; background:linear-gradient(180deg,#fbfaf7,#ece8df)}
.offer__img img{width:100%; height:100%; object-fit:contain}
.offer__body{display:flex; flex-direction:column; gap:8px; padding:20px 22px 24px; flex:1}
.offer__body h3{font-family:var(--font-display); font-size:1.4rem; font-weight:500; color:var(--blu)}
.offer__price{font-weight:600; color:var(--ink)}
.offer__terms{font-size:.84rem; color:var(--ink-dim); line-height:1.5}
.offer__body .link{margin-top:auto; align-self:flex-start; color:var(--blu)}
.legal-note{margin-top:28px; font-size:.82rem; color:var(--ink-faint); max-width:70em}
.cards{display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:var(--gutter)}
.ccard{display:flex; flex-direction:column; gap:8px; padding:24px; background:var(--white); border:1px solid transparent; border-radius:2px; transition:border-color var(--dur-1)}
.ccard:hover{border-color:var(--blu)}
.ccard h3{font-family:var(--font-display); font-size:1.35rem; font-weight:500; color:var(--blu)}
.ccard p{color:var(--ink-dim); font-size:.95rem}
.linkrow{display:flex; flex-wrap:wrap; gap:12px 28px; margin-top:clamp(36px,4vw,56px); padding-top:24px; border-top:1px solid var(--line-ink)}
.linkrow a{color:var(--blu)}
.dark .linkrow{border-top-color:var(--line)} .dark .linkrow a{color:var(--text)}

/* ── Footer esteso ── */
.footer__cols{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:32px; margin-top:40px; padding-top:32px; border-top:1px solid var(--line-ink)}
.footer__cols h3{font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint); margin-bottom:12px}
.footer__cols a{display:block; padding:5px 0; color:var(--blu); font-size:.95rem}
.footer__cols a:hover{text-decoration:underline; text-underline-offset:3px}

@media (max-width:1000px){
  .facts > .label,.facts__body{grid-column:1/-1}
  .feature__img,.feature__text,.feature:nth-child(even) .feature__img,.feature:nth-child(even) .feature__text{grid-column:1/-1; grid-row:auto}
  .feature__text{margin-top:4px}
}
@media (max-width:760px){
  .header{grid-template-columns:1fr auto 1fr}
  .menu-btn span:last-child{display:none}
  .header__end .btn{padding:0 14px}
  .facts__list{grid-template-columns:1fr}
  .phero h1{font-size:clamp(2.3rem,11vw,3.4rem)}
  .phero__actions .btn,.cta__actions .btn{flex:1 1 100%}
  .phero__actions,.cta__actions{width:100%}
  .mnav__grid{grid-template-columns:1fr 1fr}
}

/* ── La tua Lancia nella storia ── */
.storia__form{display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px; margin-top:clamp(24px,3vw,40px)}
.storia__field{display:flex; flex-direction:column; gap:8px}
.storia__field label{font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-dim)}
.storia__field input{width:10ch; min-height:56px; padding:0 16px; border:1px solid var(--line-ink); border-radius:2px; background:var(--white); color:var(--blu); font-family:var(--font-display); font-size:1.8rem; font-variant-numeric:lining-nums}
.storia__field input:focus-visible{outline:2px solid var(--focus-ink); outline-offset:2px}
.storia__field input[aria-invalid="true"]{border-color:#b3261e}
.storia__err{flex-basis:100%; min-height:1.4em; font-size:.9rem; color:#b3261e}
.storia__try{display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:4px; font-size:.9rem; color:var(--ink-dim)}
.storia__out{display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:var(--gutter); margin-top:clamp(36px,4.5vw,64px); scroll-margin-top:calc(var(--header-h) + 24px)}
.storia__img{grid-column:1/7; margin:0}
.storia__img img{width:100%; aspect-ratio:3/2; object-fit:cover; border-radius:2px; background:var(--paper-2)}
.storia__img figcaption{margin-top:8px; font-size:.82rem; color:var(--ink-faint)}
.storia__body{grid-column:8/-1}
.storia__title{margin-top:8px; font-family:var(--font-display); font-size:clamp(2rem,3.4vw,3.2rem); font-weight:500; letter-spacing:-.02em; color:var(--blu); line-height:1.05}
.storia__lead{margin-top:16px; font-size:clamp(1.05rem,1.3vw,1.25rem); line-height:1.5}
.storia__sub{margin-top:28px; font-size:12px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-faint)}
.storia__list,.storia__near{margin-top:10px; border-top:1px solid var(--line-ink)}
.storia__list li,.storia__near li{display:grid; grid-template-columns:4.2ch 1fr; gap:14px; padding:11px 0; border-bottom:1px solid var(--line-ink); font-size:.95rem; color:var(--ink-dim)}
.storia__near{margin-top:20px}
.storia__y{font-weight:600; color:var(--blu); font-variant-numeric:tabular-nums}
.storia__actions{margin-top:24px}
.storia--teaser .storia__form{margin-top:24px}

/* ── Rally Sanremo: prova speciale a scorrimento ── */
.ps{position:relative; background:var(--blu-night); color:var(--text)}
.ps__stage{position:sticky; top:0; height:100svh; overflow:hidden}
.ps__shot{position:absolute; inset:0; opacity:0; transition:opacity .9s var(--ease-out)}
.ps__shot.is-on{opacity:1}
.ps__shot img{width:100%; height:100%; object-fit:cover}
.ps__stage::after{content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(6,17,30,.88) 0%, rgba(6,17,30,.55) 42%, rgba(6,17,30,.1) 75%), linear-gradient(to top, rgba(6,17,30,.7), rgba(6,17,30,0) 30%)}
.ps__map{position:absolute; right:var(--margin); top:calc(var(--header-h) + 24px); bottom:40px; width:120px; z-index:2; display:flex; flex-direction:column; align-items:center; gap:14px}
.ps__map svg{flex:1 1 0; min-height:0; width:100%; overflow:visible}
.ps__road-bg{fill:none; stroke:rgba(244,241,234,.18); stroke-width:6; stroke-linecap:round; stroke-linejoin:round}
.ps__road{fill:none; stroke:var(--paper); stroke-width:3; stroke-linecap:round; stroke-linejoin:round}
.ps__dot{fill:var(--blu-night); stroke:rgba(244,241,234,.5); stroke-width:2; transition:fill var(--dur-2), stroke var(--dur-2)}
.ps__dot.is-done{fill:var(--paper); stroke:var(--paper)}
.ps__year{font-family:var(--font-display); font-size:1.6rem; font-weight:500; letter-spacing:-.01em}
.ps__map .label{color:var(--text-faint)}
.ps__chapters{position:relative; z-index:2; margin-top:-100svh; padding:0 var(--margin)}
.ps__chapter{min-height:100svh; display:flex; flex-direction:column; justify-content:center; max-width:34rem; padding:calc(var(--header-h) + 24px) 0 48px; opacity:.35; transition:opacity .6s var(--ease-out)}
.ps__chapter.is-on{opacity:1}
.ps__chapter .label{color:var(--text-dim)}
.ps__chapter h2{margin-top:12px; font-family:var(--font-display); font-size:clamp(2rem,3.6vw,3.4rem); font-weight:500; letter-spacing:-.02em; line-height:1.06}
.ps__chapter p{margin-top:16px; color:var(--text-dim); font-size:clamp(1rem,1.2vw,1.15rem); line-height:1.6}
.ps__chapter blockquote{margin:20px 0 0; padding-left:18px; border-left:2px solid var(--paper); color:var(--text); font-size:1.05rem; line-height:1.5}
.ps__chapter blockquote footer{margin-top:8px; font-size:.85rem; color:var(--text-faint)}
.ps__car{margin-top:16px; font-size:.9rem; color:var(--text-faint)}
.ps__src{display:inline-block; margin-top:14px; font-size:.82rem; color:var(--text-faint); text-decoration:underline; text-underline-offset:3px}
@media (prefers-reduced-motion:reduce){.ps__chapter{opacity:1}}
@media (max-width:760px){
  .storia__img,.storia__body{grid-column:1/-1}
  .ps__map{right:12px; width:64px; top:calc(var(--header-h) + 12px); bottom:16px}
  .ps__map .label{display:none}
  .ps__year{font-size:1rem}
  .ps__chapter{max-width:calc(100% - 72px); justify-content:flex-end; padding-bottom:64px; opacity:.12}
  .ps__chapter.is-on{opacity:1}
  .ps__stage::after{background:linear-gradient(to top, rgba(6,17,30,.94) 0%, rgba(6,17,30,.72) 40%, rgba(6,17,30,.12) 72%, rgba(6,17,30,0) 100%), linear-gradient(to bottom, rgba(6,17,30,.55) 0%, rgba(6,17,30,0) 14%)}
}

/* Configuratore: logo verso la home */
.cfg__home{display:inline-block; justify-self:start; line-height:0; border-radius:50%; transition:opacity var(--dur-1) var(--ease-out)}
.cfg__home:hover{opacity:.8}
.cfg__home:focus-visible{outline:2px solid var(--blu); outline-offset:4px}

/* Home: il riquadro della storia e i modelli più vicini */
.storia--teaser{padding-bottom:clamp(32px,4vw,56px)}
.storia--teaser + .section{padding-top:clamp(32px,4vw,56px)}

/* Lancia in Formula 1 */
.f1-chrono{padding-top:var(--section)}
.f1__src{color:var(--text-faint); font-size:.82em; white-space:nowrap; text-decoration:underline; text-underline-offset:3px}
.f1__src:hover{color:var(--text)}
.f1-credits{padding-top:0}
.f1-credits ul{margin-top:16px; display:grid; gap:6px; color:var(--ink-dim); font-size:.86rem}
.f1-credits p{margin-top:16px; color:var(--ink-dim); font-size:.86rem; max-width:60em}
.f1-credits a{text-decoration:underline; text-underline-offset:3px}
.f1-teaser .feature__text .h2{margin-top:14px}
.f1-teaser .feature__text .btn{margin-top:28px}
.phero--top{justify-content:flex-start}
.phero--top .phero__media img{object-position:50% 100%}
.phero--top::after{background:linear-gradient(to bottom, rgba(6,17,30,.88) 0%, rgba(6,17,30,.55) 38%, rgba(6,17,30,0) 62%)}
.phero--top .phero__content{max-width:62rem; padding-top:calc(var(--header-h) + clamp(40px,8vh,96px))}
.f1-chrono .corse__intro{position:sticky; top:calc(var(--header-h) + 32px)}
@media (max-width:900px){.f1-chrono .corse__intro{position:static}}

/* Telefono: parole lunghe, aree da toccare e testo minimo */
body{overflow-wrap:break-word}
.note a,.legal-note a,.disclaimer a{overflow-wrap:anywhere}
@media (max-width:700px){
  .menu-btn{min-width:44px}
  .footer__nav{gap:4px 20px}
  .footer__nav a{display:inline-flex; align-items:center; min-height:44px}
  .crumbs a{display:inline-flex; align-items:center; min-height:32px}
  .laurels span{font-size:11.5px}
  .round-row__tag{font-size:11px}
}
@media (max-width:700px){
  .ps__shot img[src*="stratos"]{object-position:76% 60%}
  .ps__shot img[src*="rally-037"]{object-position:56% 50%}
  .ps__shot img[src*="delta-s4"]{object-position:40% 50%}
  .ps__shot img[src*="delta-integrale-folla"]{object-position:62% 50%}
  .ps__shot img[src*="delta-integrale.jpg"]{object-position:42% 50%}
}
