/* ==========================================================================
   DESIGN SYSTEM · variabili (guida: docs/DESIGN-SYSTEM.md)
   Ogni valore ricorrente del sito sta qui. Per cambiare un colore, un angolo o una
   spaziatura si cambia la variabile, non le regole sotto. Nuovi componenti: solo variabili.
   ========================================================================== */
:root{
  /* Colori · brand */
  --accent:#E8743B;        /* arancio: dettagli, numeri, segnali (non i pulsanti) */
  --accent-2:#EF8653;
  --btn:#1F6BFF;           /* blu dei pulsanti */
  --btn-2:#3D82FF;         /* hover dei pulsanti */
  /* Colori · neutri */
  --ink:#0F0F0E;           /* testo e fondi scuri */
  --bg:#F9F9F5;            /* fondo chiaro della pagina */
  --white:#fff;
  --black:#000;
  --muted:#6D6D6E;         /* testo secondario su chiaro */
  --cream:#F1E4C6;
  --title:#f3ead6;         /* titoli giganti sopra le foto */
  --surface:#1b1b19;       /* riempimento scuro dietro le immagini */
  --placeholder:#e7e7e1;   /* riempimento chiaro dietro le immagini */
  --grey:#5b5b5b;          /* scritta gigante del footer */
  /* Colori · midnight blue (solo sfumature) */
  --night:#0E1A3A;
  --night-2:#16234D;
  --night-3:#0b1229;
  /* Colori · stati e segnali */
  --ok:#1e7a46;            /* messaggio inviato */
  --err:#b3261e;           /* errore */
  --rec:#ff4b2b;           /* pallino REC */
  --led:#ff5a36;           /* led della TV */
  --osd:#86ff95;           /* scritte "televideo" della TV */
  --osd-ink:#05110a;
  /* Colori · dispositivi (TV, telecomando, vista camera del drone) */
  --dev-950:#0c0c0d; --dev-900:#1c1c1e; --dev-800:#2a2a2d; --dev-700:#3a3a3d; --dev-500:#58585d; --dev-400:#6d6d72; --dev-300:#a1a1a8; --dev-100:#e6e6ea;
  /* Canali RGB per le trasparenze: rgb(var(--rgb-white) / .5) */
  --rgb-white:255 255 255; --rgb-ink:15 15 14; --rgb-black:0 0 0;
  --rgb-night:14 26 58; --rgb-night-2:22 35 77; --rgb-deep:10 15 32;
  --rgb-accent:232 116 59; --rgb-btn:31 107 255; --rgb-osd:134 255 149; --rgb-osd-bg:4 12 7;
  --line:rgb(var(--rgb-ink) / .12);      /* filetti su chiaro */
  --line-d:rgb(var(--rgb-white) / .16);  /* filetti su scuro */

  /* Tipografia · famiglie */
  --font-body:Manrope,system-ui,sans-serif;
  --font-disp:'Funnel Display',Manrope,system-ui,sans-serif;  /* titoli */
  --font-osd:VT323,monospace;                                 /* schermi: TV, drone, CTA */
  /* Tipografia · pesi */
  --fw-regular:400; --fw-medium:500; --fw-semibold:600; --fw-bold:700; --fw-black:800;
  /* Tipografia · dimensioni fisse */
  --fs-2xs:11px; --fs-xs:12px; --fs-s:13px; --fs-sm:14px; --fs-m:15px; --fs-base:16px; --fs-l:18px; --fs-xl:20px;
  /* Tipografia · dimensioni fluide (da telefono a desktop) */
  --fs-copy:clamp(16px,1.25vw,19px);     /* testo sopra le foto (hero, card) */
  --fs-lead:clamp(17px,1.4vw,21px);      /* paragrafo introduttivo (.lead) */
  --fs-big:clamp(22px,2.2vw,32px);       /* frase grande (p.big) */
  --fs-h4:clamp(18px,1.6vw,24px);        /* domande FAQ */
  --fs-h3:clamp(22px,2vw,30px);          /* titoli di card */
  --fs-h3-l:clamp(26px,2.6vw,40px);      /* titoli di blocco */
  --fs-h2-s:clamp(28px,3.2vw,52px);      /* titoli di riga e pannello */
  --fs-h2:clamp(34px,4.6vw,68px);        /* titoli di sezione (.h2) */
  --fs-h1:clamp(52px,8.6vw,156px);       /* titolo delle pagine interne */
  --fs-h1-long:clamp(40px,5.6vw,96px);   /* titolo lungo (oltre 18 caratteri) */
  --fs-display:clamp(44px,7.4vw,136px);  /* titolo della CTA finale */
  --fs-number:clamp(56px,6.4vw,110px);   /* numeri grandi (13+, 01 02 03) */
  --fs-list:clamp(40px,5.4vw,92px);      /* lista dei lavori in home */
  --fs-price:clamp(46px,4.4vw,72px);     /* prezzi */
  /* Tipografia · interlinea e spaziatura tra le lettere */
  --lh-display:.82; --lh-tight:.9; --lh-none:1; --lh-title:1.05; --lh-snug:1.3; --lh-text:1.5; --lh-body:1.6;
  --ls-display:-.05em; --ls-tighter:-.045em; --ls-tight:-.04em; --ls-title:-.035em; --ls-snug:-.03em; --ls-soft:-.02em; --ls-hair:-.01em;
  --ls-label:.02em; --ls-caps:.04em; --ls-caps-l:.06em; --ls-wide:.12em; --ls-spaced:.3em;

  /* Spaziature · scala a passi di 4px (con mezzi passi) */
  --sp-0_5:2px; --sp-1:4px; --sp-1_5:6px; --sp-2:8px; --sp-2_5:10px; --sp-3:12px; --sp-3_5:14px; --sp-4:16px; --sp-4_5:18px;
  --sp-5:20px; --sp-5_5:22px; --sp-6:24px; --sp-6_5:26px; --sp-7:28px; --sp-7_5:30px; --sp-8:32px; --sp-9:36px; --sp-10:40px; --sp-12:48px; --sp-16:64px;
  /* Spaziature · layout (fluide) */
  --g:clamp(16px,2.6vw,26px);               /* margine laterale (gutter) */
  --wrap:calc(1300px + 2*var(--g));        /* larghezza massima del contenuto */
  --frame:10px;                             /* cornice attorno a banner, griglie e pannelli */
  --space-section:clamp(72px,10vw,140px);   /* sopra e sotto le sezioni (.pad) */
  --space-block:clamp(40px,5vw,64px);       /* sotto i titoli di sezione */
  --space-cols:clamp(32px,6vw,100px);       /* tra due colonne */
  --space-cols-s:clamp(32px,5vw,80px);
  --space-cols-xs:clamp(24px,4vw,64px);

  /* Angoli */
  --r-xs:clamp(2px,.3vw,4px); --r-s:10px; --r-m:14px; --r-l:clamp(14px,1.6vw,22px); --r-pill:999px; --r-round:50%;
  /* Ombre */
  --sh-btn:0 12px 30px -12px rgb(var(--rgb-btn) / .7);
  --sh-card:0 40px 70px -45px rgb(var(--rgb-black) / .9);
  /* Sfocature (effetto vetro) */
  --blur-xs:6px; --blur-s:8px; --blur-m:12px; --blur-l:14px;
  /* Movimento */
  --ease-out:cubic-bezier(.2,.8,.2,1);    /* entrate, allargamenti */
  --ease-soft:cubic-bezier(.2,.7,.2,1);   /* zoom delle immagini */
  --ease-snap:cubic-bezier(.7,0,.2,1);    /* testo dei pulsanti */
  --dur-fast:.25s; --dur:.45s; --dur-slow:.9s;
  /* Livelli (z-index globali; quelli 0–7 dentro i componenti restano locali) */
  --z-bg:-2; --z-under:-1; --z-menu:45; --z-header:50;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:var(--fw-regular) var(--fs-base)/var(--lh-body) var(--font-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-family:var(--font-disp);font-weight:var(--fw-semibold);text-transform:uppercase;letter-spacing:var(--ls-title);line-height:var(--lh-none)} /* titoli in Funnel Display, il resto in Manrope */
p{margin:0 0 1em}
:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--g)}
.dark{background:var(--ink);color:var(--white)}
.night{background:linear-gradient(180deg,var(--ink),var(--night) 72%,var(--night-3))} /* sfumatura midnight blue */
.pad{padding:var(--space-section) 0}
.center{text-align:center}
.eyebrow{position:relative;display:inline-block;font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;letter-spacing:var(--ls-label);padding:3px 9px;margin-bottom:var(--sp-4_5)}
.eyebrow::before,.eyebrow::after{content:"";position:absolute;width:6px;height:6px;border:1.5px solid currentColor}
.eyebrow::before{left:0;top:0;border-right:0;border-bottom:0}
.eyebrow::after{right:0;bottom:0;border-left:0;border-top:0}
.h2{font-size:var(--fs-h2)}
.lead{font-size:var(--fs-lead);line-height:var(--lh-text);color:var(--muted)}
.dark .lead{color:rgb(var(--rgb-white) / .68)}
.frame{position:relative}
.frame::before,.frame::after{content:"";position:absolute;width:30px;height:30px;border:1.5px solid var(--white);pointer-events:none;z-index:3}
.frame::before{left:-15px;top:-15px;border-right:0;border-bottom:0}
.frame::after{right:-15px;bottom:-15px;border-left:0;border-top:0}
.frame.ink::before,.frame.ink::after{border-color:var(--ink)}
/* pulsanti: pillola arancio bruciato, testo che scorre e freccia che ruota all'hover */
.btn{display:inline-flex;align-items:center;gap:var(--sp-2_5);padding:15px var(--sp-6_5);border:0;border-radius:var(--r-pill);background:var(--btn);color:var(--white);font:var(--fw-bold) var(--fs-s)/var(--lh-none) var(--font-body);letter-spacing:var(--ls-caps);text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:background .3s,color .3s,box-shadow .3s}
.btn:hover{background:var(--btn-2);box-shadow:var(--sh-btn)}
.btn .t{position:relative;display:inline-block;overflow:hidden;line-height:var(--lh-snug)}
.btn .t span,.btn .t::after{display:inline-block;transition:transform var(--dur) var(--ease-snap)}
.btn .t::after{content:attr(data-t);position:absolute;left:0;top:100%}
.btn:hover .t span,.btn:hover .t::after{transform:translateY(-100%)}
.btn.ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgb(var(--rgb-ink) / .28)}
.btn.ghost:hover{background:var(--ink);color:var(--white);box-shadow:none}
.dark .btn.ghost{color:var(--white);box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / .3)}
.dark .btn.ghost:hover{background:var(--white);color:var(--ink)}
.btns{display:flex;flex-wrap:wrap;gap:var(--sp-3)}

/* header: logo | voci in linea | Contattami. Sotto 900px: bottone Menu + overlay */
.hdr{position:fixed;inset:0 0 auto;z-index:var(--z-header);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--sp-4);padding:var(--sp-5) var(--g);transition:background .35s,padding .35s}
.hdr.solid{background:rgb(var(--rgb-ink) / .85);backdrop-filter:blur(var(--blur-m));-webkit-backdrop-filter:blur(var(--blur-m));padding-block:var(--sp-3)}
.logo{justify-self:start;display:flex;align-items:center;gap:var(--sp-3);font-size:var(--fs-s);font-weight:var(--fw-bold);letter-spacing:var(--ls-wide);text-transform:uppercase;color:var(--white)}
.logo img{height:30px;width:auto;filter:brightness(0) invert(1)}
.hdr>.btn{justify-self:end}
.nav{display:flex;gap:var(--sp-0_5)}
.nav a{position:relative;padding:9px var(--sp-3);font:var(--fw-semibold) var(--fs-s)/var(--lh-none) var(--font-body);letter-spacing:var(--ls-label);text-transform:uppercase;white-space:nowrap;color:rgb(var(--rgb-white) / .72);transition:color var(--dur-fast)}
.nav a::before,.nav a::after{content:"";position:absolute;width:6px;height:6px;border:1.5px solid currentColor;opacity:0;transition:opacity var(--dur-fast),transform var(--dur-fast)}
.nav a::before{left:0;top:0;border-right:0;border-bottom:0;transform:translate(3px,3px)}
.nav a::after{right:0;bottom:0;border-left:0;border-top:0;transform:translate(-3px,-3px)}
.nav a:hover,.nav a[aria-current]{color:var(--white)}
.nav a:hover::before,.nav a:hover::after,.nav a[aria-current]::before,.nav a[aria-current]::after{opacity:1;transform:none}
.menu-btn{all:unset;box-sizing:border-box;display:none;align-items:center;gap:var(--sp-3_5);padding:11px var(--sp-4_5);border:1px solid rgb(var(--rgb-white) / .3);border-radius:var(--r-pill);background:rgb(var(--rgb-ink) / .3);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--white);font-weight:var(--fw-semibold);cursor:pointer;-webkit-tap-highlight-color:transparent}
.menu-btn:focus-visible{outline:2px solid var(--cream)}
.burger{width:28px;height:12px;background:linear-gradient(currentColor,currentColor) right top/100% 1.5px no-repeat,linear-gradient(currentColor,currentColor) right center/62% 1.5px no-repeat,linear-gradient(currentColor,currentColor) right bottom/100% 1.5px no-repeat;transition:background-size .3s}
.menu-btn[aria-expanded=true] .burger{background-size:100% 1.5px,0 1.5px,100% 1.5px}
.mnav{position:fixed;inset:0;z-index:var(--z-menu);display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-8);padding:108px var(--g) max(28px,env(safe-area-inset-bottom));overflow:auto;background:rgb(var(--rgb-ink) / .97);color:var(--white);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s}
.mnav.open{opacity:1;visibility:visible}
.mnav nav a{display:flex;align-items:baseline;gap:var(--sp-3_5);padding:var(--sp-3_5) 0;border-top:1px solid var(--line-d);font:var(--fw-semibold) clamp(28px,8.5vw,46px)/var(--lh-none) var(--font-disp);letter-spacing:var(--ls-title);text-transform:uppercase;opacity:0;transform:translateY(14px);transition:opacity var(--dur),transform var(--dur),color var(--dur-fast)}
.mnav.open nav a{opacity:1;transform:none}
.mnav nav a[aria-current]{color:var(--cream)}
.mnav-foot{display:grid;gap:var(--sp-2_5);font-weight:var(--fw-semibold)}
.mnav-foot .btn{justify-self:start;margin-bottom:var(--sp-2)}
/* social squares */
.soc{display:flex;gap:var(--sp-2)}
.soc a{width:30px;height:30px;display:grid;place-items:center;background:rgb(var(--rgb-white) / .1);transition:background var(--dur-fast)}
.soc a:hover{background:rgb(var(--rgb-white) / .25)}
.soc svg{width:15px;height:15px;fill:currentColor}

/* hero: slideshow a tutto schermo; nome al centro dietro Alessandro, testo e pulsante centrati in basso; il drone segue il mouse */
.mq{display:flex;width:max-content;animation:mq 70s linear infinite}
@keyframes mq{to{transform:translateX(-50%)}}
.hx{--slide-dur:6s;position:relative;isolation:isolate;min-height:max(100svh,640px);overflow:hidden;background:var(--ink);cursor:crosshair}
.hx a,.hx button{cursor:pointer}
.hx-slides img{position:absolute;inset:0;z-index:var(--z-bg);width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s ease}
.hx-slides img.on{opacity:1;animation:kb calc(var(--slide-dur) + 1.2s) linear both}
@keyframes kb{from{transform:scale(1.1)}to{transform:scale(1)}}
.hx::before{content:"";position:absolute;inset:0;z-index:var(--z-under);background:linear-gradient(180deg,rgb(var(--rgb-ink) / .6),rgb(var(--rgb-ink) / .15) 22%,transparent 40%,rgb(var(--rgb-night) / .5) 64%,rgb(var(--rgb-deep) / .94) 90%)}
.hx-name{position:absolute;z-index:0;left:0;right:0;top:clamp(100px,16vh,160px);margin:0;text-align:center;font-size:12vw;font-weight:var(--fw-bold);line-height:var(--lh-display);letter-spacing:var(--ls-tighter);white-space:nowrap;color:var(--title)}
.hx-name>span{display:inline-block;overflow:hidden;padding:0 .02em .06em;vertical-align:top}
.hx-name b{display:inline-block;font-weight:inherit}
.hx-me{position:absolute;z-index:1;left:50%;bottom:0;height:min(84svh,960px);width:auto;max-width:none;transform:translateX(-50%);filter:drop-shadow(0 30px 40px rgb(var(--rgb-black) / .55));pointer-events:none}
.hx-copy{position:absolute;z-index:2;left:50%;bottom:clamp(34px,7vh,70px);width:min(500px,calc(100% - 2 * var(--g)));transform:translateX(-50%);text-align:center}
.hx-copy::before{content:"";position:absolute;inset:-50px -90px -30px;z-index:var(--z-under);background:radial-gradient(closest-side,rgb(var(--rgb-deep) / .75),transparent);pointer-events:none} /* alone scuro: il testo resta leggibile sopra la foto e sopra Alessandro */
.hx-copy p{margin:0 0 var(--sp-5);font-size:var(--fs-copy);line-height:var(--lh-text);color:var(--white);text-wrap:balance}
/* comandi dello slideshow in basso a destra, suggerimento del drone in basso a sinistra */
.hx-ctrl{position:absolute;z-index:3;right:var(--g);bottom:clamp(22px,4vh,40px);display:flex;align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-5) var(--sp-2) var(--sp-2);border-radius:var(--r-pill);background:rgb(var(--rgb-ink) / .55);backdrop-filter:blur(var(--blur-l));-webkit-backdrop-filter:blur(var(--blur-l));box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / .1)}
.hx-pp{all:unset;box-sizing:border-box;flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:var(--r-round);background:var(--btn);color:var(--white);transition:background var(--dur-fast)}
.hx-pp:hover{background:var(--btn-2)}
.hx-pp:focus-visible{outline:2px solid var(--white);outline-offset:3px}
.hx-pp svg{width:15px;height:15px}
.hx-bars{flex:none;display:flex;gap:var(--sp-1_5)}
.hx-bars button{all:unset;box-sizing:border-box;position:relative;width:26px;height:20px}
.hx-bars button::before,.hx-bars button::after{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:2px}
.hx-bars button::before{background:rgb(var(--rgb-white) / .25)}
.hx-bars button::after{background:var(--white);transform:scaleX(0);transform-origin:left}
.hx-bars button.done::after{transform:none}
.hx-bars button.on::after{animation:fill var(--slide-dur) linear forwards}
.hx-bars button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@keyframes fill{to{transform:none}}
.hx.paused .hx-bars .on::after,.hx.paused .hx-slides img.on{animation-play-state:paused}
.hx-cap{display:grid;gap:3px;min-width:0;max-width:200px;color:var(--white)}
.hx-cap small{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps-l);text-transform:uppercase;color:rgb(var(--rgb-white) / .55)}
.hx-cap span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);font-weight:var(--fw-bold)}
.hx-cap:hover span{color:var(--accent)}
.hx-hint{position:absolute;z-index:3;left:var(--g);bottom:clamp(30px,5vh,50px);display:flex;align-items:center;gap:var(--sp-2_5);margin:0;max-width:260px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);line-height:1.4;color:rgb(var(--rgb-white) / .7)}
.hx-hint img{width:34px;flex:none}
@media (hover:none){.hx-hint{display:none}}
/* il drone: segue il puntatore con inerzia, si inclina, sotto ha la vista camera che ingrandisce la foto */
.hx-drone{position:absolute;z-index:4;left:0;top:0;width:clamp(86px,8.4vw,130px);pointer-events:none;will-change:transform}
.hx-drone>img{width:100%;filter:drop-shadow(0 16px 14px rgb(var(--rgb-black) / .5));animation:bob 2.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(-6px)}}
.hx-cam{position:absolute;left:50%;top:calc(100% + 10px);width:clamp(130px,12vw,180px);aspect-ratio:16/10;transform:translateX(-50%);overflow:hidden;border-radius:var(--r-s);background:var(--dev-950) no-repeat;box-shadow:0 0 0 1.5px rgb(var(--rgb-white) / .85),0 18px 30px -12px rgb(var(--rgb-black) / .75)}
.hx-cam::before{content:"";position:absolute;left:50%;top:50%;width:18px;height:18px;transform:translate(-50%,-50%);background:linear-gradient(var(--white),var(--white)) center/1.5px 100% no-repeat,linear-gradient(var(--white),var(--white)) center/100% 1.5px no-repeat;opacity:.85}
.hx-cam span{position:absolute;left:8px;top:6px;display:flex;align-items:center;gap:var(--sp-1);font:var(--fs-sm)/var(--lh-none) var(--font-osd);letter-spacing:var(--ls-caps-l);color:var(--white);text-shadow:0 0 4px var(--black)}
.hx-cam i{width:7px;height:7px;border-radius:var(--r-round);background:var(--rec);animation:blink 1.2s steps(2) infinite}
.hx-cam.shot::after{content:"";position:absolute;inset:0;background:var(--white);animation:shot .5s ease-out forwards}
.hx-flash{position:absolute;inset:0;z-index:5;background:var(--white);opacity:0;pointer-events:none}
.hx-flash.on{animation:shot var(--dur) ease-out}
@keyframes shot{from{opacity:.85}to{opacity:0}}
@media (prefers-reduced-motion:no-preference){
  .hx-name b{animation:hxUp 1.1s var(--ease-out) both}
  .hx-name>span+span b{animation-delay:.12s}
  .hx-me{animation:hxMe 1.3s var(--ease-out) var(--dur-fast) both}
  .hx-copy,.hx-ctrl,.hx-hint,.hx-drone{animation:hxFade var(--dur-slow) ease .8s both}
}
@media (prefers-reduced-motion:reduce){.hx-slides img.on,.hx-drone>img{animation:none}}
@keyframes hxUp{from{transform:translateY(105%)}}
@keyframes hxMe{from{opacity:0;transform:translate(-50%,60px)}}
@keyframes hxFade{from{opacity:0}}

/* about */
.about{display:grid;grid-template-columns:1.15fr 1fr .8fr;gap:var(--space-cols-s);align-items:end}
.about .lead{color:var(--ink)}
.about-img{aspect-ratio:3/4}
.about-img img{width:100%;height:100%;object-fit:cover}
/* numeri: 13+, EASA, FPV */
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:0 clamp(24px,4vw,60px);margin-top:clamp(56px,7vw,100px);border-top:1px solid var(--line)}
.nums>div{padding-top:var(--sp-6_5)}
.nums b{display:block;font:var(--fw-bold) var(--fs-number)/var(--lh-tight) var(--font-disp);letter-spacing:var(--ls-display)}
.nums strong{display:block;margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-s);font-weight:var(--fw-bold);text-transform:uppercase}
.nums p{margin:0;max-width:34ch;color:var(--muted);font-size:var(--fs-m)}

.sec-head{margin-bottom:var(--space-block)}

/* lavori principali (stile Montage): sezione ferma, lo scroll fa scorrere i titoli; quello nel mirino è nitido e cambia lo sfondo */
.mx{position:relative;height:calc(100svh + (var(--n) - 1) * 60svh);--row:clamp(86px,14vh,128px)}
.mx-in{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate}
.mx-bg img{position:absolute;inset:0;z-index:var(--z-bg);width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity 1s ease,transform 6s ease}
.mx-bg img.on{opacity:1;transform:scale(1)}
.mx-in::before{content:"";position:absolute;inset:0;z-index:var(--z-under);background:radial-gradient(ellipse at center,rgb(var(--rgb-ink) / .3),rgb(var(--rgb-night) / .78)),linear-gradient(180deg,rgb(var(--rgb-ink) / .6),transparent 25%,transparent 75%,rgb(var(--rgb-deep) / .75))}
.mx-list{position:absolute;left:0;right:0;top:50%;margin:0;padding:0;list-style:none;will-change:transform}
.mx-list li{display:flex;justify-content:center;align-items:center;height:var(--row);padding:0 var(--g);filter:blur(calc(var(--d,0) * 5px));opacity:calc(1 - var(--d,0) * .3);transform:scale(calc(1 - min(var(--d,0),1) * .32))}
.mx-list a{display:flex;flex-direction:column;align-items:center;gap:var(--sp-2_5);max-width:100%;text-align:center}
.mx-list b{font:var(--fw-bold) var(--fs-list)/.95 var(--font-disp);letter-spacing:var(--ls-tighter);text-transform:uppercase;white-space:nowrap;color:var(--title)}
.mx-list li:not(.on) b::before{content:"– "}
.mx-list li:not(.on) b::after{content:" –"}
.mx-list small{flex:none;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:rgb(var(--rgb-white) / .75);opacity:0;transition:opacity .4s}
.mx-list li.on small{opacity:1}
.mx-list li.on a:hover b{color:var(--accent)}
/* mirino al centro: quattro angoli */
.mx-frame{--c:rgb(var(--rgb-white) / .9);--k:16px;position:absolute;left:50%;top:50%;width:min(860px,calc(100% - 2 * var(--g)));height:calc(var(--row) + 10px);transform:translate(-50%,-50%);pointer-events:none;background:linear-gradient(var(--c),var(--c)) 0 0/var(--k) 1.5px,linear-gradient(var(--c),var(--c)) 0 0/1.5px var(--k),linear-gradient(var(--c),var(--c)) 100% 0/var(--k) 1.5px,linear-gradient(var(--c),var(--c)) 100% 0/1.5px var(--k),linear-gradient(var(--c),var(--c)) 0 100%/var(--k) 1.5px,linear-gradient(var(--c),var(--c)) 0 100%/1.5px var(--k),linear-gradient(var(--c),var(--c)) 100% 100%/var(--k) 1.5px,linear-gradient(var(--c),var(--c)) 100% 100%/1.5px var(--k);background-repeat:no-repeat}
.mx-side{position:absolute;top:50%;display:flex;align-items:center;gap:var(--sp-5);transform:translateY(-50%);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:rgb(var(--rgb-white) / .75)}
.mx-side::after{content:"";width:clamp(40px,8vw,140px);height:1px;background:rgb(var(--rgb-white) / .55)}
.mx-side.r{right:var(--g);flex-direction:row-reverse;font-variant-numeric:tabular-nums}
.mx-hint{position:absolute;left:50%;bottom:clamp(24px,5vh,48px);transform:translateX(-50%);font-size:var(--fs-xs);font-weight:var(--fw-semibold);text-transform:uppercase;color:rgb(var(--rgb-white) / .5)}

/* pagina Lavori: griglia a 2 colonne a tutta larghezza, foto grandi con titolo e testo in basso a sinistra */
.lg{display:grid;grid-template-columns:1fr 1fr;gap:var(--frame);padding:0 var(--frame)}
.lt{position:relative;display:block;aspect-ratio:1;overflow:hidden;border-radius:var(--r-l);background:var(--surface);color:var(--white)}
.lt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease-soft)}
.lt::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgb(var(--rgb-ink) / .75))}
.lt>div{position:absolute;left:clamp(20px,2.2vw,32px);right:clamp(20px,2.2vw,32px);bottom:clamp(24px,3vw,44px);z-index:1}
.lt small{display:block;margin-bottom:var(--sp-2_5);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;color:rgb(var(--rgb-white) / .7)}
.lt h2{margin-bottom:var(--sp-3_5);font-size:var(--fs-h3-l);transition:color .3s}
.lt p{max-width:62ch;margin:0;font-size:var(--fs-copy);line-height:var(--lh-text);color:rgb(var(--rgb-white) / .85);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lt:hover img{transform:scale(1.04)}
.lt:hover h2{color:var(--accent)}
.lv-more{display:flex;justify-content:center;padding:var(--space-block) 0 var(--space-section)}

/* pagina Servizi: pannelli che si allargano (desktop) e biglietti dei pacchetti */
.grid-head{display:flex;justify-content:space-between;align-items:end;gap:var(--sp-6);flex-wrap:wrap}
.sv{display:flex;gap:var(--sp-2_5);height:min(76svh,720px);padding:0 var(--frame)}
.sv a{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:var(--r-l);background:var(--surface);color:var(--white);transition:flex-grow .7s var(--ease-out)}
.sv a.on{flex-grow:4.2}
.sv img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.7);transition:filter .6s}
.sv a.on img{filter:none}
.sv a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgb(var(--rgb-night) / .35),transparent 35%,transparent 45%,rgb(var(--rgb-deep) / .92))}
.sv-n{position:absolute;z-index:1;left:22px;top:22px;font:var(--fw-bold) var(--fs-s)/var(--lh-none) var(--font-disp);letter-spacing:var(--ls-caps);color:var(--accent)}
.sv-v{position:absolute;z-index:1;left:20px;bottom:24px;writing-mode:vertical-rl;transform:rotate(180deg);font:var(--fw-bold) clamp(20px,1.7vw,28px)/var(--lh-none) var(--font-disp);letter-spacing:var(--ls-soft);text-transform:uppercase;white-space:nowrap;transition:opacity .3s}
.sv a.on .sv-v{opacity:0}
.sv-b{position:absolute;z-index:1;left:clamp(22px,2.4vw,36px);right:clamp(22px,2.4vw,36px);bottom:clamp(24px,3vw,40px);max-width:54ch;opacity:0;transform:translateY(16px);transition:opacity .3s,transform .4s}
.sv a.on .sv-b{opacity:1;transform:none;transition:opacity .5s var(--dur-fast),transform .6s var(--dur-fast)}
.sv-b h3{margin:0 0 var(--sp-3_5);font-size:var(--fs-h2-s)}
.sv-b p{margin:0 0 var(--sp-4);color:rgb(var(--rgb-white) / .82)}
.sv-tags{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin-bottom:var(--sp-5_5)}
.sv-tags span{padding:5px 11px;border-radius:var(--r-pill);background:rgb(var(--rgb-white) / .12);backdrop-filter:blur(var(--blur-xs));-webkit-backdrop-filter:blur(var(--blur-xs));font-size:var(--fs-xs);font-weight:var(--fw-semibold)}
.tk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-4)}
.tk{display:flex;flex-direction:column;overflow:hidden;border-radius:var(--r-l);background:var(--white);color:var(--ink);box-shadow:var(--sh-card);transition:transform .5s var(--ease-out)}
.tk:hover{transform:translateY(-6px)}
.tk-img{position:relative;aspect-ratio:16/10;overflow:hidden}
.tk-img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease-soft)}
.tk:hover .tk-img img{transform:scale(1.05)}
.tk-price{position:absolute;left:16px;bottom:16px;display:flex;align-items:baseline;gap:var(--sp-1_5);padding:9px 15px;border-radius:var(--r-pill);background:var(--ink);color:var(--white);font:var(--fw-bold) 22px/var(--lh-none) var(--font-disp);letter-spacing:var(--ls-snug)}
.tk-price small{font:var(--fw-semibold) var(--fs-2xs)/var(--lh-none) var(--font-body);letter-spacing:var(--ls-caps);text-transform:uppercase;color:rgb(var(--rgb-white) / .6)}
.tk-b{flex:1;display:flex;flex-direction:column;gap:var(--sp-3);padding:var(--sp-6) var(--sp-6) var(--sp-6_5);border-top:2px dashed rgb(var(--rgb-ink) / .14)} /* bordo tratteggiato: il "biglietto" */
.tk-b small{font-size:var(--fs-2xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps-l);text-transform:uppercase;color:var(--muted)}
.tk-b h3{font-size:var(--fs-h3)}
.tk-b p{margin:0;font-size:var(--fs-m);color:var(--muted)}
.tk-b ul{display:grid;gap:var(--sp-2);margin:var(--sp-1) 0 var(--sp-2_5);padding:0;list-style:none;font-size:var(--fs-sm);line-height:var(--lh-text)}
.tk-b li{display:grid;grid-template-columns:14px 1fr;gap:var(--sp-2_5)}
.tk-b li::before{content:"";width:7px;height:7px;margin-top:var(--sp-1_5);background:var(--accent)}
.tk-b .btn{margin-top:auto;align-self:flex-start}

/* services list */
.svc{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(32px,8vw,140px);align-items:start}
.svc-item{display:block;padding:var(--sp-5_5) 0;border-top:1px solid var(--line);color:rgb(var(--rgb-ink) / .55);transition:color .3s}
.svc-item:last-child{border-bottom:1px solid var(--line)}
.svc-item h3{font-size:var(--fs-h3);display:flex;justify-content:space-between;gap:var(--sp-4)}
.svc-item h3::after{content:"→";font-weight:var(--fw-regular);opacity:0;transform:translateX(-8px);transition:.3s}
.svc-item p{max-height:0;overflow:hidden;margin:0;font-size:var(--fs-m);color:var(--muted);max-width:52ch;transition:max-height var(--dur),margin var(--dur)}
.svc-item .tags{display:flex;gap:var(--sp-4_5);flex-wrap:wrap;font-size:var(--fs-s);font-weight:var(--fw-semibold);max-height:0;overflow:hidden;transition:max-height var(--dur)}
.svc-item.on{color:var(--ink)}
.svc-item.on h3::after{opacity:1;transform:none}
.svc-item.on p{max-height:140px;margin:var(--sp-2_5) 0 var(--sp-3)}
.svc-item.on .tags{max-height:40px}
.svc-img{position:sticky;top:100px;aspect-ratio:4/5;overflow:hidden;width:min(100%,400px);justify-self:end}
.svc-img img{width:100%;height:100%;object-fit:cover;transition:opacity .35s}

/* perché scegliermi: 4 punti chiave */
.keys{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--sp-1)}
.key{padding:clamp(24px,2.6vw,36px);background:rgb(var(--rgb-white) / .05);transition:background .3s}
.key:hover{background:rgb(var(--rgb-accent) / .14)}
.key small{font-size:var(--fs-xs);font-weight:var(--fw-bold);color:var(--accent)}
.key h3{margin:clamp(40px,5vw,72px) 0 var(--sp-3);font-size:var(--fs-h3)}
.key p{margin:0;font-size:var(--fs-m);color:rgb(var(--rgb-white) / .65)}
.promise{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-cols);align-items:center;margin-top:clamp(64px,8vw,120px)}
.promise .frame{aspect-ratio:3/2}
.promise img{width:100%;height:100%;object-fit:cover}

/* prezzi */
.prices{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--sp-1)}
.price{display:flex;flex-direction:column;padding:clamp(26px,2.6vw,40px);background:var(--white);border:1px solid var(--line)}
.price h3{font-size:var(--fs-h3)}
.price>small{font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;color:var(--muted)}
.price>p{margin:var(--sp-2_5) 0 var(--sp-6_5);font-size:var(--fs-m);color:var(--muted)}
.price .amt{display:flex;align-items:baseline;flex-wrap:wrap;gap:var(--sp-1) var(--sp-2);margin:var(--sp-1) 0 var(--sp-6);font:var(--fw-bold) var(--fs-price)/var(--lh-none) var(--font-disp);letter-spacing:var(--ls-display)}
.price .amt span{font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:0;color:var(--muted)}
.price ul{display:grid;gap:var(--sp-2_5);list-style:none;margin:0 0 var(--sp-8);padding:var(--sp-5) 0 0;border-top:1px solid var(--line);font-size:var(--fs-sm);line-height:var(--lh-text)}
.price li{display:grid;grid-template-columns:14px 1fr;gap:var(--sp-2_5)}
.price li::before{content:"";width:7px;height:7px;margin-top:var(--sp-1_5);background:var(--accent)}
.price-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--sp-3) var(--sp-4_5);margin-top:auto}
.price-cta>a:not(.btn){font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;border-bottom:1px solid currentColor}
.price.hot{background:var(--ink);color:var(--white);border-color:var(--ink)}
.price.hot>p,.price.hot>small,.price.hot .amt span{color:rgb(var(--rgb-white) / .6)}
.price.hot ul{border-color:var(--line-d)}
.price-note{max-width:70ch;margin:var(--sp-8) auto 0;text-align:center;font-size:var(--fs-sm);color:var(--muted)}

/* include / non include */
.inc{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-cols-s)}
.inc ul{list-style:none;margin:0;padding:0}
.inc li{position:relative;padding:var(--sp-3_5) 0 var(--sp-3_5) var(--sp-7_5);border-top:1px solid var(--line)}
.inc li:last-child{border-bottom:1px solid var(--line)}
.inc li::before{content:"+";position:absolute;left:4px;top:13px;font-weight:var(--fw-bold);color:var(--accent)}
.inc .no li::before{content:"−";color:var(--muted)}
.inc .no li{color:var(--muted)}
.pstrip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-5);margin-top:var(--space-block);padding:clamp(24px,3vw,36px);background:var(--ink);color:var(--white)}
.pstrip small{display:block;font-size:var(--fs-2xs);font-weight:var(--fw-bold);text-transform:uppercase;color:rgb(var(--rgb-white) / .55)}
.pstrip b{font:var(--fw-bold) var(--fs-price)/var(--lh-none) var(--font-disp);letter-spacing:var(--ls-display)}
.pstrip b span{margin-left:var(--sp-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:0;color:rgb(var(--rgb-white) / .6)}

/* faq: details nativi */
.faqs{display:grid;grid-template-columns:.8fr 1.4fr;gap:clamp(32px,7vw,120px);align-items:start}
.faqs>div:first-child{position:sticky;top:110px}
.faq{border-top:1px solid var(--line)}
.faq:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:baseline;gap:var(--sp-4);padding:var(--sp-5_5) 0;list-style:none;cursor:pointer;font:var(--fw-semibold) var(--fs-h4)/1.15 var(--font-disp);letter-spacing:var(--ls-snug);text-transform:uppercase}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";flex:none;font-weight:var(--fw-regular);color:var(--accent);transition:transform .3s}
.faq[open] summary::after{transform:rotate(45deg)}
.faq p{max-width:62ch;margin:-6px 0 var(--sp-6);color:var(--muted)}

/* CTA finale "pronti al decollo": la vista OSD di un drone FPV. L'orizzonte segue il mouse, l'altitudine sale scorrendo */
@property --mx{syntax:'<number>';inherits:true;initial-value:0}
.fly{--my:0;--p:0;position:relative;isolation:isolate;overflow:hidden;display:grid;place-items:center;min-height:min(100svh,940px);padding:clamp(120px,14vw,180px) 0;text-align:center}
.fly-bg{position:absolute;inset:-8%;z-index:var(--z-bg);background:center/cover;transform:translate(calc(var(--mx) * -26px),calc(var(--my) * -18px)) scale(calc(1.32 - var(--p) * .32)) rotate(calc(var(--mx) * -2deg));transition:transform .6s var(--ease-soft)}
.fly::before{content:"";position:absolute;inset:0;z-index:var(--z-under);background:radial-gradient(ellipse at center,rgb(var(--rgb-night) / .45),rgb(var(--rgb-deep) / .86) 78%),linear-gradient(180deg,transparent 70%,var(--night))}
.fly-hud{position:absolute;inset:clamp(84px,9vw,104px) var(--g) clamp(22px,3vw,34px);pointer-events:none;font:clamp(16px,1.4vw,21px)/var(--lh-none) var(--font-osd);letter-spacing:var(--ls-caps-l);text-transform:uppercase;color:var(--white);text-shadow:0 0 6px rgb(var(--rgb-black) / .7)}
.fly-hud>div{position:absolute;display:flex;gap:1.4em;white-space:nowrap}
.fly-tl{top:0;left:0}.fly-tr{top:0;right:0}.fly-bl{bottom:0;left:0}.fly-br{bottom:0;right:0}
.fly-name{bottom:0;left:50%;transform:translateX(-50%);opacity:.7}
.fly-rec::before{content:"";display:inline-block;width:.55em;height:.55em;margin-right:.4em;border-radius:var(--r-round);background:var(--rec);vertical-align:.05em;animation:blink 1.2s steps(2) infinite}
.fly-hz{position:absolute;left:50%;top:50%;width:min(94%,1240px);height:2px;transform:translate(-50%,calc(-50% + var(--my) * 26px)) rotate(calc(var(--mx) * -9deg));transition:transform .6s var(--ease-soft)}
.fly-hz::before,.fly-hz::after{content:"";position:absolute;top:0;width:12%;height:2px;background:rgb(var(--rgb-white) / .9);box-shadow:0 0 6px rgb(var(--rgb-black) / .6)}
.fly-hz::before{left:0}.fly-hz::after{right:0}
.fly-c{position:relative}
.fly-h{margin:var(--sp-1_5) 0 var(--sp-5_5);font-size:var(--fs-display);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tighter)}
.fly-h em{font-style:normal;color:var(--accent)}
.fly .lead{max-width:46ch;margin:0 auto var(--sp-8)}
.fly .btns{justify-content:center}
@media (hover:none) and (prefers-reduced-motion:no-preference){.fly{animation:sway 7s ease-in-out infinite alternate}}
@keyframes sway{from{--mx:-.45}to{--mx:.45}}
@media (prefers-reduced-motion:reduce){.fly-bg,.fly-hz{transition:none}}

/* footer */
.ftr{padding-top:clamp(56px,6vw,90px);overflow:hidden;background:linear-gradient(180deg,var(--night),var(--ink) 45%)}
.ftr-top{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--sp-10);padding:0 var(--g)}
.ftr small{display:block;font-size:var(--fs-xs);color:rgb(var(--rgb-white) / .55);margin-bottom:var(--sp-3_5)}
.ftr-links{display:flex;flex-wrap:wrap;gap:var(--sp-3) var(--sp-6);font-weight:var(--fw-semibold);margin-bottom:var(--sp-10);max-width:380px}
.ftr-links.sub{display:grid;gap:var(--sp-2_5)}
.ftr-links.sub a{font-weight:var(--fw-medium);color:rgb(var(--rgb-white) / .8)}
.ftr-links a:hover,.ftr a.u:hover{text-decoration:underline;text-underline-offset:4px}
.ftr address{font-style:normal;font-size:var(--fs-sm);line-height:var(--lh-body);margin-bottom:var(--sp-4_5)}
.ftr .big{display:block;font-size:var(--fs-xl);font-weight:var(--fw-semibold);margin-bottom:var(--sp-2_5)}
.copy{text-align:center;font-size:var(--fs-xs);color:rgb(var(--rgb-white) / .5);margin:clamp(40px,5vw,70px) 0 var(--sp-1_5)}
.giant{font:var(--fw-bold) 10.4vw/var(--lh-display) var(--font-disp);letter-spacing:var(--ls-tight);text-transform:uppercase;text-align:center;white-space:nowrap;color:var(--grey);margin-bottom:-.06em;user-select:none}

/* ATF pagine interne: il fotogramma in un riquadro con angoli arrotondati e mirino, titolo serif grande in basso */
.pb{padding:var(--frame)}
.pb-in{position:relative;isolation:isolate;min-height:min(86svh,880px);display:flex;flex-direction:column;justify-content:space-between;gap:var(--sp-10);padding:clamp(104px,13vh,130px) clamp(24px,3.6vw,60px) clamp(32px,4.4vw,60px);border-radius:var(--r-l);overflow:hidden}
.pb-in>img{position:absolute;inset:0;z-index:var(--z-bg);width:100%;height:100%;object-fit:cover}
.pb-in::before{content:"";position:absolute;inset:0;z-index:var(--z-under);background:linear-gradient(180deg,rgb(var(--rgb-ink) / .72),rgb(var(--rgb-ink) / .08) 32%,rgb(var(--rgb-night) / .18) 50%,rgb(var(--rgb-deep) / .92))}
.pb-in::after{--c:rgb(var(--rgb-white) / .75);--k:22px;content:"";position:absolute;inset:clamp(84px,10vh,96px) clamp(12px,1.4vw,20px) clamp(12px,1.4vw,20px);pointer-events:none;background:linear-gradient(var(--c),var(--c)) 0 0/var(--k) 1.5px,linear-gradient(var(--c),var(--c)) 0 0/1.5px var(--k),linear-gradient(var(--c),var(--c)) 100% 0/var(--k) 1.5px,linear-gradient(var(--c),var(--c)) 100% 0/1.5px var(--k),linear-gradient(var(--c),var(--c)) 0 100%/var(--k) 1.5px,linear-gradient(var(--c),var(--c)) 0 100%/1.5px var(--k),linear-gradient(var(--c),var(--c)) 100% 100%/var(--k) 1.5px,linear-gradient(var(--c),var(--c)) 100% 100%/1.5px var(--k);background-repeat:no-repeat}
.pb-top{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-4)}
.pb-crumbs{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:rgb(var(--rgb-white) / .7)}
.pb-crumbs a:hover{color:var(--white)}
.pb-top .eyebrow{flex:none;margin:0}
.pb-bot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,38ch);gap:var(--space-cols-xs);align-items:end}
.pb h1{font-size:var(--fs-h1);font-weight:var(--fw-bold);line-height:var(--lh-tight);letter-spacing:var(--ls-tighter);overflow-wrap:break-word;text-wrap:balance}
.pb h1.long{font-size:var(--fs-h1-long)}
.pb .lead{margin:0 0 var(--sp-1);color:rgb(var(--rgb-white) / .85)}
.pb .btn{margin-top:var(--sp-5_5)}
@media (prefers-reduced-motion:no-preference){.pb-in>img{animation:pbIn 1.8s var(--ease-soft) both}.pb h1,.pb-bot>div{animation:hxFade 1s ease .2s both}}
@keyframes pbIn{from{transform:scale(1.1)}}

/* pagina dettaglio (lavoro / servizio) */
.meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:0;margin:0 0 clamp(40px,5vw,70px);border-top:1px solid var(--line)}
.meta div{padding:var(--sp-4_5) var(--sp-4_5) var(--sp-4_5) 0;border-bottom:1px solid var(--line)}
.meta dt{font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;color:var(--muted)}
.meta dd{margin:var(--sp-1) 0 0;font-size:var(--fs-l);font-weight:var(--fw-semibold)}
.intro{display:grid;grid-template-columns:1fr 1.3fr;gap:var(--space-cols);margin-bottom:clamp(48px,6vw,90px)}
.intro .lead{color:var(--ink)}
.intro h2{font-size:var(--fs-h3-l);max-width:16ch}
.vids{display:grid;gap:clamp(24px,3vw,40px)}
.vids.two{grid-template-columns:repeat(2,1fr)}
/* lista Servizi (stile Rushes): testo a sinistra, immagine larga a destra */
.wl{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.65fr);gap:clamp(24px,5vw,90px);align-items:center;padding:clamp(28px,3.5vw,56px) 0;border-top:1px solid var(--line-d)}
.wl-list .wl:last-child{border-bottom:1px solid var(--line-d)}
.wl-tag{display:flex;gap:var(--sp-3);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;color:rgb(var(--rgb-white) / .5)}
.wl-tag b{color:rgb(var(--rgb-white) / .3)}
.wl h3{font-size:var(--fs-h2-s);line-height:var(--lh-title);margin:var(--sp-3_5) 0 var(--sp-4_5);max-width:14ch;transition:color .3s}
.wl p{margin:0;max-width:40ch;color:rgb(var(--rgb-white) / .6);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.wl-more{display:inline-flex;align-items:center;gap:var(--sp-3);margin-top:var(--sp-6);font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;color:rgb(var(--rgb-white) / .7);transition:color .3s}
.wl:hover h3{color:var(--accent)}
.wl:hover .wl-more{color:var(--white)}
.wl-img{aspect-ratio:2/1;overflow:hidden;background:var(--surface)}
.wl-img img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-soft)}
.wl:hover .wl-img img{transform:scale(1.04)}
/* pagina dettaglio (struttura Rushes): ATF, nastro crediti, meta, testo, video, prossimo, contatti */
.ticker{overflow:hidden;padding:var(--sp-4_5) 0;background:var(--ink);color:var(--white);border-top:1px solid var(--line-d)}
.ticker .mq{animation-duration:45s}
.ticker span{display:inline-flex;align-items:baseline;gap:var(--sp-2_5);white-space:nowrap;font-size:var(--fs-sm);font-weight:var(--fw-semibold);text-transform:uppercase}
.ticker small{font-size:var(--fs-2xs);font-weight:var(--fw-bold);color:rgb(var(--rgb-white) / .45)}
.ticker i{margin:0 var(--sp-7);font-style:normal;color:var(--accent)}
p.big{font-size:var(--fs-big);line-height:var(--lh-snug);font-weight:var(--fw-medium);letter-spacing:var(--ls-hair);margin-bottom:.8em}
.dot{display:inline-block;width:7px;height:7px;margin-right:var(--sp-2);border-radius:var(--r-round);background:var(--accent);vertical-align:1px;animation:blink 1.6s ease-in-out infinite}
.pcontact{max-width:640px}
.pcontact .soc{justify-content:center;margin:var(--sp-5_5) 0 var(--sp-10)}
.pcontact .soc a{background:var(--ink);color:var(--white)}
/* galleria e embed 3D (lavori senza video) */
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(12px,2vw,24px)}
.gal figure{margin:0;aspect-ratio:16/9;overflow:hidden;background:var(--placeholder)}
.gal figure:first-child{grid-column:1/-1}
.gal img{width:100%;height:100%;object-fit:cover}

/* video facade */
.vid{position:relative;display:block;width:100%;aspect-ratio:16/9;background:var(--black) center/cover;border:0;padding:0;cursor:pointer;overflow:hidden;color:var(--white)}
.vid iframe,.vid video{position:absolute;inset:0;width:100%;height:100%;border:0;object-fit:cover}
.vid .play{position:absolute;left:50%;top:50%;width:84px;height:84px;transform:translate(-50%,-50%);border:1px dashed rgb(var(--rgb-white) / .75);background:rgb(var(--rgb-ink) / .45);backdrop-filter:blur(var(--blur-xs));-webkit-backdrop-filter:blur(var(--blur-xs));transition:transform .3s,background .3s}
.vid .play::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-35%,-50%);border-style:solid;border-width:10px 0 10px 16px;border-color:transparent transparent transparent var(--white)}
.vid:hover .play{transform:translate(-50%,-50%) scale(1.08);background:rgb(var(--rgb-ink) / .7)}
.vcap{display:flex;justify-content:space-between;gap:var(--sp-4);font-size:var(--fs-s);font-weight:var(--fw-semibold);text-transform:uppercase;margin-top:var(--sp-3);color:var(--muted)}

/* storia: foto ferma a sinistra che cambia col blocco in lettura, testo a destra (su telefono foto dentro ogni blocco) */
.story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-cols);align-items:start}
.story-media{position:sticky;top:clamp(90px,12vh,120px);aspect-ratio:4/5;max-height:76svh;width:100%;border-radius:var(--r-l);overflow:hidden;background:var(--surface)}
.story-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .8s ease,transform 1.6s var(--ease-soft)}
.story-media img.on{opacity:1;transform:none}
.story-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgb(var(--rgb-deep) / .6))}
.story-count{position:absolute;z-index:1;left:18px;bottom:16px;font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps-l);color:var(--white);font-variant-numeric:tabular-nums}
.story-step{padding:clamp(40px,9vh,110px) 0;border-top:1px solid var(--line);opacity:.3;transition:opacity .5s}
.story-step:first-child{padding-top:0;border-top:0}
.story-step.on{opacity:1}
.story-step .n{display:block;font:var(--fw-bold) var(--fs-number)/var(--lh-tight) var(--font-disp);letter-spacing:var(--ls-display);color:var(--accent)}
.story-step h3{margin:var(--sp-4_5) 0 var(--sp-3);font-size:var(--fs-h3-l)}
.story-step .date{display:inline-block;margin-top:var(--sp-4);padding:5px var(--sp-3);border-radius:var(--r-pill);background:rgb(var(--rgb-night) / .08);font-size:var(--fs-xs);font-weight:var(--fw-bold);letter-spacing:var(--ls-caps);text-transform:uppercase;color:var(--night)}
.story-step p{color:var(--muted)}
.story-step figure{display:none}
.blocks{margin-bottom:clamp(48px,6vw,90px)}

/* contatti */
.contact{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px)}
.info{list-style:none;padding:0;margin:var(--sp-8) 0}
.info li{padding:var(--sp-4) 0;border-top:1px solid var(--line)}
.info li:last-child{border-bottom:1px solid var(--line)}
.info small{display:block;font-size:var(--fs-xs);font-weight:var(--fw-bold);text-transform:uppercase;color:var(--muted)}
.info a,.info span{font-size:clamp(18px,1.6vw,22px);font-weight:var(--fw-semibold)}
.info a:hover{text-decoration:underline;text-underline-offset:4px}
.contact .soc a,.faqs .soc a{background:var(--ink);color:var(--white)}
.form{display:grid;gap:var(--sp-4_5);align-content:start}
.form label{display:grid;gap:var(--sp-2);font-size:var(--fs-s);font-weight:var(--fw-bold);text-transform:uppercase}
.form input,.form textarea{font:var(--fw-medium) var(--fs-base)/var(--lh-text) var(--font-body);padding:var(--sp-3_5) var(--sp-4);border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:0;resize:vertical}
.form input:focus,.form textarea:focus{outline:none;border-color:var(--ink)}
.form .btn{justify-self:start}
.form .btn[disabled]{opacity:.6;pointer-events:none}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden} /* campo trappola per i bot */
.form-msg{min-height:1.5em;margin:0;font-size:var(--fs-m);font-weight:var(--fw-semibold)}
.form-msg.ok{color:var(--ok)}
.form-msg.err{color:var(--err)}
.form-msg a{text-decoration:underline}

/* TV "Mettiti comodo": smart TV moderna (cornice sottile, piedistallo, luce ambiente); la guida e l'OSD restano in stile televideo */
.tv-sec{overflow:hidden;background:radial-gradient(ellipse 75% 60% at 50% 62%,rgb(var(--rgb-night-2) / .95),var(--ink) 72%)}
.tv-stage{position:relative;display:flex;align-items:flex-end;justify-content:center;gap:clamp(28px,4.5vw,72px);padding:0 var(--g);outline:none}
.tv-stage::after{content:"";position:absolute;left:var(--g);right:var(--g);bottom:0;height:1px;background:linear-gradient(90deg,transparent,rgb(var(--rgb-white) / .2),transparent)}
.tv{position:relative;z-index:1;flex:0 1 920px;min-width:0}
.ambi{position:absolute;inset:-6% -5% 10%;z-index:var(--z-under);background:center/cover;filter:blur(80px) saturate(1.8);opacity:0;transition:opacity 1.2s;pointer-events:none}
.tv-stage[data-state=on] .ambi{opacity:.55}
.tv-body{position:relative;padding:clamp(4px,.6vw,8px) clamp(4px,.6vw,8px) 0;border-radius:clamp(6px,.9vw,12px);background:linear-gradient(180deg,var(--dev-800),var(--dev-950));box-shadow:0 0 0 1px var(--dev-800),inset 0 1px 0 rgb(var(--rgb-white) / .14),0 60px 90px -40px rgb(var(--rgb-black) / .95)}
.screen{position:relative;aspect-ratio:16/9;border-radius:var(--r-xs);overflow:hidden;background:radial-gradient(ellipse at 30% 20%,var(--dev-900),var(--dev-950) 70%);isolation:isolate}
.chin{position:relative;display:grid;place-items:center;height:clamp(14px,1.8vw,24px);font:var(--fw-bold) clamp(6px,.55vw,8px)/var(--lh-none) var(--font-body);letter-spacing:var(--ls-spaced);text-transform:uppercase;color:var(--dev-500)}
.tv-led{position:absolute;right:clamp(10px,1.4vw,18px);top:50%;width:4px;height:4px;margin-top:-2px;border-radius:var(--r-round);background:var(--led);box-shadow:0 0 6px var(--led);transition:background .4s,box-shadow .4s}
.tv-stage[data-state=on] .tv-led{background:rgb(var(--rgb-white) / .55);box-shadow:none}
.tv-stand{position:relative;height:clamp(34px,4.6vw,60px)}
.tv-stand::before{content:"";position:absolute;left:50%;top:0;width:clamp(36px,6%,60px);height:calc(100% - 7px);transform:translateX(-50%);background:linear-gradient(90deg,var(--dev-900),var(--dev-500) 50%,var(--dev-900))}
.tv-stand::after{content:"";position:absolute;left:50%;bottom:0;width:32%;height:7px;transform:translateX(-50%);border-radius:4px 4px 2px 2px;background:linear-gradient(180deg,var(--dev-500),var(--dev-900));box-shadow:0 16px 26px -8px rgb(var(--rgb-black) / .85)}
.scr-img,.scr-player{position:absolute;inset:0;width:100%;height:100%}
.scr-img{z-index:0;background:center/cover;opacity:0;transform:scale(1);transition:opacity .4s,filter var(--dur),transform var(--dur)}
.tv-stage[data-state=on] .scr-img{opacity:1}
.zap .scr-img{filter:blur(18px) brightness(.35);transform:scale(1.06);transition:none} /* cambio canale: sfocatura digitale, non più la neve */
.scr-player{z-index:1}
.scr-player iframe,.scr-player video{width:100%;height:100%;border:0;display:block;object-fit:cover}
.osd{position:absolute;z-index:3;font-family:var(--font-osd);color:var(--osd);text-shadow:0 0 6px rgb(var(--rgb-osd) / .7);letter-spacing:var(--ls-caps);pointer-events:none;opacity:0;transition:opacity var(--dur-fast)}
.osd.show{opacity:1}
.osd-ch{top:6%;right:5%;font-size:clamp(22px,3.6vw,50px);line-height:var(--lh-none)}
.osd-low{left:5%;bottom:8%;max-width:62%;font-size:clamp(14px,1.9vw,26px);line-height:var(--lh-title);background:rgb(var(--rgb-black) / .55);padding:.35em .6em;text-transform:uppercase}
.osd-low small{display:block;font-size:.72em;opacity:.8;margin-top:.15em}
.osd-vol{left:50%;bottom:9%;transform:translateX(-50%);font-size:clamp(16px,2vw,28px);white-space:nowrap;background:rgb(var(--rgb-black) / .55);padding:.2em .6em}
.osd-vol i{display:inline-block;width:.42em;height:.8em;margin-left:.16em;background:currentColor;opacity:.22;vertical-align:-.05em}
.osd-vol i.on{opacity:1}
.osd-pp{top:6%;left:5%;font-size:clamp(18px,2.6vw,36px);line-height:var(--lh-none)}
.guide{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;padding:4% 5%;background:rgb(var(--rgb-osd-bg) / .9);opacity:0;visibility:hidden;transition:opacity var(--dur-fast),visibility var(--dur-fast)}
.guide.show{opacity:1;visibility:visible}
.guide .osd{position:static;opacity:1;margin:0 0 2%;font-size:clamp(18px,2.4vw,32px)}
.guide ol{position:relative;flex:1;overflow:auto;list-style:none;margin:0;padding:0;scrollbar-width:thin;scrollbar-color:var(--osd) transparent}
.guide button{all:unset;box-sizing:border-box;display:grid;grid-template-columns:2.4em minmax(0,1fr) auto;gap:1em;align-items:baseline;width:100%;padding:.3em .5em;font:clamp(14px,1.7vw,22px)/1.15 var(--font-osd);color:var(--osd);text-transform:uppercase;cursor:pointer}
.guide button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.guide button small{font-size:.8em;opacity:.65}
.guide button.sel,.guide button:hover,.guide button:focus-visible{background:var(--osd);color:var(--osd-ink)}
.glass{position:absolute;inset:0;z-index:5;pointer-events:none;background:linear-gradient(115deg,rgb(var(--rgb-white) / .09),rgb(var(--rgb-white) / .02) 26%,transparent 38%)}
.playing .glass{opacity:.3}
.scr-off{all:unset;position:absolute;inset:0;z-index:6;display:grid;place-items:center;cursor:pointer}
.scr-off span{display:inline-flex;align-items:center;gap:var(--sp-2_5);padding:11px var(--sp-5);border:1px solid rgb(var(--rgb-white) / .16);border-radius:var(--r-pill);background:rgb(var(--rgb-white) / .06);backdrop-filter:blur(var(--blur-s));-webkit-backdrop-filter:blur(var(--blur-s));font:var(--fw-bold) var(--fs-xs) var(--font-body);letter-spacing:var(--ls-wide);text-transform:uppercase;color:rgb(var(--rgb-white) / .7);transition:background .3s,color .3s,border-color .3s}
.scr-off svg{width:16px;height:16px}
.scr-off:hover span,.scr-off:focus-visible span{color:var(--ink);background:var(--accent);border-color:var(--accent)}
.tv-stage[data-state=on] .scr-off{display:none}
@keyframes blink{50%{opacity:.45}}
/* accensione: schermo nero con il logo che sfuma, come una smart TV */
.flash{position:absolute;inset:0;z-index:7;background:var(--black);pointer-events:none;opacity:0}
.flash::after{content:"";position:absolute;left:50%;top:50%;width:12%;aspect-ratio:600/363;transform:translate(-50%,-50%);background:url(/assets/logo.png) center/contain no-repeat;filter:invert(1)}
.boot .flash{animation:boot 1s ease-out}
.halt .flash{animation:halt .4s ease-in}
.halt .flash::after{display:none}
@keyframes boot{0%,55%{opacity:1}100%{opacity:0}}
@keyframes halt{0%{opacity:0}60%{opacity:1}100%{opacity:0}}
/* telecomando moderno: power, cerchio direzionale (CH/VOL) con OK al centro, guida, muto, play */
.remote{position:relative;z-index:1;flex:none;display:grid;justify-items:center;gap:var(--sp-4_5);width:116px;margin-bottom:var(--sp-2_5);padding:var(--sp-5) 15px var(--sp-6);border-radius:58px;background:linear-gradient(160deg,var(--dev-700),var(--dev-900) 55%);box-shadow:0 40px 50px -20px rgb(var(--rgb-black) / .9),inset 0 1px 0 rgb(var(--rgb-white) / .2),inset 0 0 0 1px rgb(var(--rgb-white) / .05);transform:rotate(-6deg);transition:transform .5s;user-select:none;-webkit-user-select:none}
.remote:hover,.remote:focus-within{transform:rotate(-2deg) translateY(-6px)}
.r-top{display:flex;justify-content:space-between;align-items:center;width:100%;padding:0 var(--sp-1)}
.r-ir{width:6px;height:6px;border-radius:var(--r-round);background:var(--dev-950);box-shadow:inset 0 0 2px var(--black);transition:background .1s,box-shadow .1s}
.tx .r-ir{background:var(--rec);box-shadow:0 0 10px var(--rec)}
.rb,.scr-off,.guide button{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.rb{all:unset;box-sizing:border-box;display:grid;place-items:center;width:36px;height:36px;border-radius:var(--r-round);background:var(--dev-800);box-shadow:inset 0 1px 0 rgb(var(--rgb-white) / .09),0 1px 2px rgb(var(--rgb-black) / .6);color:var(--dev-100);font:var(--fw-bold) 9px/var(--lh-none) var(--font-body);letter-spacing:var(--ls-caps-l);text-transform:uppercase;cursor:pointer;transition:transform .08s,background .2s,color .2s}
.rb:hover{background:var(--dev-700)}
.rb:active{transform:scale(.94)}
.rb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.rb.pw{width:28px;height:28px;background:var(--accent);color:var(--ink)}
.rb svg{width:15px;height:15px}
.dpad{position:relative;width:86px;height:86px;border-radius:var(--r-round);background:var(--dev-800);box-shadow:inset 0 1px 0 rgb(var(--rgb-white) / .09),0 2px 4px rgb(var(--rgb-black) / .6)}
.dpad .rb{position:absolute;width:28px;height:28px;background:none;box-shadow:none;color:var(--dev-300)}
.dpad .rb:hover{color:var(--white);background:none}
.dpad .rb svg{width:12px;height:12px}
.dpad [data-k=up]{top:2px;left:29px}
.dpad [data-k=down]{bottom:2px;left:29px}
.dpad [data-k="vol-"]{left:2px;top:29px}
.dpad [data-k="vol+"]{right:2px;top:29px}
.dpad .ok{left:23px;top:23px;width:40px;height:40px;background:var(--dev-900);box-shadow:inset 0 0 0 1px rgb(var(--rgb-white) / .08);color:var(--dev-100)}
.dpad .ok:hover{background:var(--dev-950)}
.r-row{display:grid;grid-template-columns:repeat(2,36px);gap:var(--sp-3) var(--sp-3_5)}
.r-row .wide{grid-column:1/-1;width:100%;border-radius:18px}
.r-brand{font:var(--fw-black) 9px var(--font-body);letter-spacing:var(--ls-spaced);color:var(--dev-400)}

/* reveal */
@media (prefers-reduced-motion:no-preference){
  .js .rv{opacity:0;transform:translateY(28px);transition:opacity var(--dur-slow) ease,transform var(--dur-slow) ease}
  .js .rv.in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){.mq{animation:none}html{scroll-behavior:auto}}

/* responsive */
@media (max-width:1000px){
  .about{grid-template-columns:1fr 1fr;align-items:start}.about>:first-child{grid-column:1/-1}
  .remote{scale:.82;transform-origin:50% 100%}
  .prices{grid-template-columns:repeat(2,1fr)}
  .tk-grid{grid-template-columns:1fr 1fr}
  .sv{flex-direction:column;height:auto;gap:var(--sp-3)}
  .sv a{flex:none;min-height:min(70svh,520px)}
  .sv img{filter:brightness(.75)}
  .sv-v{display:none}
  .sv-b{opacity:1;transform:none}
  .keys{grid-template-columns:repeat(2,1fr)}
  .mx-side::after{display:none}
  .ftr-top{grid-template-columns:1fr 1fr}
  .faqs{grid-template-columns:1fr}.faqs>div:first-child{position:static}
}
@media (max-width:900px){
  .hdr{grid-template-columns:1fr auto auto}
  .nav{display:none}
  .menu-btn{display:flex}
}
@media (max-width:720px){
  .hdr{grid-template-columns:1fr auto;padding-block:var(--sp-3_5)}
  .hdr>.btn{display:none}
  .logo img{height:26px}
  .menu-btn{padding:var(--sp-2_5) var(--sp-4)}
  .svc-item h3::after{opacity:1;transform:none}
  .fly-bl span+span,.fly-br span+span{display:none}
  .fly-hz::before,.fly-hz::after{width:7%}
  .about,.svc,.contact,.intro,.promise,.inc,.story{grid-template-columns:1fr}
  .story-media{display:none}
  .story-step{opacity:1;padding:var(--sp-9) 0}
  .story-step figure{display:block;margin:0 0 var(--sp-5_5);aspect-ratio:3/2;border-radius:var(--r-m);overflow:hidden}
  .story-step figure img{width:100%;height:100%;object-fit:cover}
  .about-img{max-width:420px}
  .nums{grid-template-columns:1fr;gap:0}.nums>div{padding:var(--sp-5_5) 0;border-bottom:1px solid var(--line)}
  .prices,.keys,.tk-grid{grid-template-columns:1fr}
  .key h3{margin-top:var(--sp-7)}
  .remote{scale:none}
  .svc-img{display:none}
  .svc-item p{max-height:none;margin:var(--sp-2) 0 0}.svc-item .tags{display:none}.svc-item{color:var(--ink)}
  .vids.two,.gal{grid-template-columns:1fr}
  .ftr-top{grid-template-columns:1fr}
  .wl{grid-template-columns:1fr;gap:var(--sp-4_5)}
  .wl-img{order:-1}
  .wl h3{font-size:26px;margin:var(--sp-2_5) 0 var(--sp-3)}
  .wl-more{margin-top:var(--sp-4)}
  .mx{--row:clamp(96px,15vh,130px)}
  .lg{grid-template-columns:1fr}
  .pb{padding:var(--sp-1_5)}
  .pb-in{min-height:76svh;padding-top:96px}
  .pb-top .eyebrow{display:none}
  .pb-bot{grid-template-columns:1fr}
  .pb h1,.pb h1.long{font-size:min(11vw,52px)}
  .pb-in::after{inset:74px 10px 10px}
  .mx-list b{font-size:min(9vw,40px);white-space:normal;text-wrap:balance}
  .mx-side{top:auto;bottom:24px;transform:none}
  .mx-hint{display:none}
  .tv-stage{flex-direction:column;align-items:center;gap:var(--sp-7_5)}
  .tv{flex:none;width:100%}
  .remote,.remote:hover,.remote:focus-within{transform:none}
  .remote{width:auto;grid-template-columns:auto auto auto;align-items:center;gap:var(--sp-5);padding:var(--sp-3_5) var(--sp-5);border-radius:32px}
  .r-top{flex-direction:column;gap:var(--sp-3);width:auto;padding:0}
  .r-brand{display:none}
  .rb{width:40px;height:40px}
  .rb.pw{width:34px;height:34px}
  .r-row{grid-template-columns:repeat(2,40px);gap:var(--sp-2_5)}
  .osd-low{max-width:90%}
  .guide button{grid-template-columns:2.4em minmax(0,1fr)}
  .guide button small{display:none}
}
/* hero su tablet e telefono: nome su due righe, comandi al centro sotto il pulsante */
@media (max-width:1180px){.hx-hint,.hx-cap{display:none}}
@media (orientation:portrait) and (max-width:1100px),(max-width:720px) and (min-height:501px){
  .hx{min-height:max(100svh,600px)}
  .hx-name{top:clamp(110px,17svh,170px);font-size:20vw;line-height:.84;white-space:normal}
  .hx-name>span{display:block;padding:0 0 .05em}
  .hx-me{height:min(70svh,900px)} /* la testa copre la seconda riga del nome */
  .hx-copy{bottom:88px}
  .hx-copy p{font-size:var(--fs-m);margin-bottom:var(--sp-4)}
  .hx-ctrl{right:auto;left:50%;bottom:20px;transform:translateX(-50%);gap:var(--sp-3);padding:var(--sp-1_5) var(--sp-4) var(--sp-1_5) var(--sp-1_5)}
  .hx-pp{width:34px;height:34px}
  .hx-bars button{width:18px}
  .hx-drone{width:72px}
  .hx-cam{width:112px}
}
/* telefono in orizzontale: Alessandro alto quanto l'hero e spostato a destra, lontano dal nome */
@media (orientation:landscape) and (max-height:500px){
  .hx-me{height:calc(100% - 20px)}
  .hx-name{top:70px;font-size:9vw}
  .hx-copy{bottom:20px}
  .hx-ctrl{display:none}
  .mnav{padding-top:84px}
  .mnav nav a{padding:var(--sp-2_5) 0;font-size:28px}
}
