/* ============================================================
   TF Studio — stylesheet unico (nuova identità)
   Bordeaux #591628 (con parsimonia) · Crema #F7F1E6 (sfondo)
   Inchiostro #1C1A17 (testo) · Grigio #8A847C (secondario)
   Font Inter · look editoriale, molto spazio bianco · mobile-first
   Animazioni d'ingresso disattivabili: vedi sezione ANIMAZIONI.
   ============================================================ */

/* Inter, servito dal sito (assets/font): nessuna richiesta a Google, quindi
   niente dati del visitatore a terzi e niente banner cookie. È un font
   variabile: un file solo copre tutti i pesi. Licenza SIL Open Font License. */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('assets/font/inter-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;
  src:url('assets/font/inter-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --bordeaux:#591628;
  --bordeaux-dark:#43101e;
  --cream:#F7F1E6;
  --cream-2:#efe7d9;   /* sfondo alternato, leggermente più caldo */
  --ink:#1C1A17;
  --grey:#6B655D;   /* era #8A847C: troppo chiaro sul crema (3,3:1), ora 5,1:1 */
  --grey-soft:#b6b0a6;
  --line:#e2d9c9;
  --white:#fff;
  --wa:#25d366;
  --wa-dark:#1da851;
  --radius:14px;
  --radius-lg:22px;
  --maxw:1140px;
  --nav-h:66px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-weight:400;color:var(--ink);background:var(--cream);
  line-height:1.6;-webkit-font-smoothing:antialiased;
}
img,svg,iframe{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-weight:800;line-height:1.1;letter-spacing:-.025em;color:var(--ink)}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}

/* ---------- LOGO MONOGRAMMA ---------- */
.logo-mark svg{height:1em;width:auto;fill:var(--bordeaux)}
.logo-mark.on-dark svg{fill:var(--cream)}

/* ---------- BOTTONI ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;border-radius:999px;font-weight:700;font-size:15px;
  cursor:pointer;border:1.5px solid transparent;
  transition:transform .15s ease,background .2s ease,color .2s ease,border-color .2s ease;
  line-height:1;text-align:center;
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--bordeaux);color:var(--cream)}
.btn-primary:hover{background:var(--bordeaux-dark)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.btn.full{width:100%}

/* ---------- NAVBAR ---------- */
.nav{
  position:sticky;top:0;z-index:100;
  background:rgba(247,241,230,.86);backdrop-filter:saturate(150%) blur(10px);
  border-bottom:1px solid var(--line);
}
.nav-inner{max-width:var(--maxw);margin:0 auto;padding:0 22px;height:var(--nav-h);
  display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:11px;min-height:44px}
.logo .logo-mark{font-size:26px;display:flex}
.logo-word{font-weight:800;font-size:20px;letter-spacing:-.02em;color:var(--ink)}
.nav-links{display:none;align-items:center;gap:30px}
.nav-links a{font-weight:500;font-size:15px;color:var(--ink);transition:color .2s}
.nav-links a:hover{color:var(--bordeaux)}
.nav-links .nav-cta{background:var(--bordeaux);color:var(--cream);padding:10px 20px;border-radius:999px;font-weight:700}
.nav-links .nav-cta:hover{background:var(--bordeaux-dark);color:var(--cream)}
.nav-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;background:none;border:none;cursor:pointer;padding:9px}
.nav-burger span{height:2.5px;background:var(--bordeaux);border-radius:2px;transition:transform .25s,opacity .2s}
.nav-burger.open span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.nav-burger.open span:nth-child(2){opacity:0}
.nav-burger.open span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.nav.menu-open .nav-links{
  display:flex;flex-direction:column;align-items:stretch;gap:0;
  position:absolute;top:var(--nav-h);left:0;right:0;background:var(--cream);
  border-bottom:1px solid var(--line);padding:8px 22px 16px;box-shadow:0 14px 30px rgba(89,22,40,.08);
}
.nav.menu-open .nav-links a{padding:14px 4px;border-bottom:1px solid var(--line)}
.nav.menu-open .nav-links .nav-cta{margin-top:10px;border-bottom:none;text-align:center}

/* ---------- HERO ---------- */
.hero{padding:64px 0 56px;text-align:center}
.hero-inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;align-items:center}
.hero-mark{display:block;margin-bottom:22px}
.hero-mark svg{height:52px;width:auto;fill:var(--bordeaux)}
.hero-etichetta{font-size:13px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--bordeaux);margin-bottom:16px}
.hero h1{font-size:clamp(38px,8.4vw,72px);letter-spacing:-.035em;max-width:14ch}
.positioning{margin-top:22px;font-size:clamp(17px,2.6vw,21px);color:var(--ink);max-width:44ch;line-height:1.5}
.hero-btns{margin-top:34px;display:flex;flex-direction:column;gap:12px;width:100%;max-width:340px}
.hero-note{margin-top:22px;font-size:15px;color:var(--grey)}

/* showreel (quando attivato) */
.showreel{margin:48px auto 0;max-width:920px;aspect-ratio:16/9;border-radius:var(--radius-lg);overflow:hidden;background:var(--ink);box-shadow:0 30px 70px rgba(89,22,40,.16)}
.showreel iframe,.showreel video{width:100%;height:100%;border:0;object-fit:cover}

/* ---------- SEZIONI ---------- */
.section{padding:70px 0}
.section-alt{background:var(--cream-2)}
.sec-head{max-width:46ch;margin:0 auto 44px;text-align:center}
.eyebrow{font-weight:700;font-size:12.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--bordeaux);margin-bottom:14px}
.eyebrow.on-dark{color:#e7b9c5}
.sec-head h2{font-size:clamp(28px,5.4vw,42px)}
.sec-sub{margin-top:14px;font-size:17px;color:var(--grey);line-height:1.6}
.sec-sub.on-dark{color:#e7ddd0}

/* ---------- SERVIZI ---------- */
.serv-grid{display:grid;grid-template-columns:1fr;gap:20px;max-width:920px;margin:0 auto}
/* una scheda sola: centrata, non stirata su due colonne */
.serv-grid.serv-grid-uno{grid-template-columns:1fr !important;max-width:560px}
.serv-card{
  background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:32px 28px;box-shadow:0 10px 34px rgba(89,22,40,.05);
  transition:transform .2s ease,box-shadow .2s ease;
}
.serv-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(89,22,40,.1)}
.serv-card.featured{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--cream)}
.serv-card.featured h3{color:var(--cream)}
.serv-tag{font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--bordeaux);margin-bottom:12px}
.serv-card.featured .serv-tag{color:#e7b9c5}
.serv-card h3{font-size:25px;margin-bottom:10px}
.serv-lead{font-size:15.5px;color:var(--grey);margin-bottom:20px}
.serv-card.featured .serv-lead{color:#e7ddd0}
.serv-list{list-style:none;display:flex;flex-direction:column;gap:12px}
.serv-list li{position:relative;padding-left:28px;font-size:16px;line-height:1.4;
  display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.serv-prezzo{flex-shrink:0;font-size:14px;font-weight:700;white-space:nowrap;opacity:.85}
.serv-list li::before{
  content:"";position:absolute;left:0;top:.3em;width:16px;height:16px;border-radius:50%;background:var(--bordeaux);
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
          mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='white' d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.serv-card.featured .serv-list li::before{background:var(--cream)}
.serv-price{margin-top:22px;padding-top:18px;border-top:1px solid var(--line);font-weight:700;font-size:15px;color:var(--bordeaux)}
.serv-card.featured .serv-price{border-top-color:rgba(255,255,255,.2);color:var(--cream)}

/* ---------- COME FUNZIONA ----------
   Tre passi numerati: la numerazione qui è vera, è l'ordine in cui succedono. */
.section-compatta{padding:60px 0}
.section-compatta .sec-head{margin-bottom:32px}
.passi{list-style:none;display:grid;grid-template-columns:1fr;gap:16px;max-width:1040px;margin:0 auto}
.passo{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);padding:24px 24px 26px}
.passo-num{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;
  background:var(--bordeaux);color:var(--cream);font-weight:800;font-size:16px;margin-bottom:14px}
.passo h3{font-size:19px;letter-spacing:-.01em;margin-bottom:8px}
.passo p{font-size:15.5px;color:var(--grey);line-height:1.55}

/* ---------- LAVORI (home) ----------
   Un progetto solo, centrato e largo quanto basta: niente colonne vuote
   accanto. Le foto vere stanno in portfolio.html, qui c'è l'anteprima. */
.work{border-radius:var(--radius-lg);overflow:hidden;background:var(--white);border:1px solid var(--line);
  display:flex;flex-direction:column}
.work-singolo{max-width:900px;margin:0 auto}
.work-link{transition:transform .2s ease,box-shadow .2s ease}
.work-link:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(89,22,40,.12)}
.work-link:hover img{filter:brightness(1.05)}
.work-link:focus-visible{border-radius:var(--radius-lg)}
.work-didascalia{padding:18px 22px 20px;font-size:15px;color:var(--grey);display:flex;flex-direction:column;gap:3px}
.work-didascalia strong{font-size:21px;font-weight:800;color:var(--ink);letter-spacing:-.01em}
.work-tag{align-self:flex-start;font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--bordeaux);margin-bottom:4px}
.work-meta{font-size:15px}
.work-apri{margin-top:8px;font-weight:700;font-size:15px;color:var(--bordeaux)}

/* griglia di foto: la prima grande, le altre sotto (vale in home e nel portfolio) */
.galleria{display:grid;grid-template-columns:repeat(2,1fr);gap:3px;background:var(--line)}
.galleria > :first-child{grid-column:1/-1}
.galleria img{width:100%;height:100%;aspect-ratio:3/2;object-fit:cover;transition:transform .5s ease,filter .3s ease}
.galleria > img:first-child,.galleria > :first-child img{aspect-ratio:16/10}
.g-foto{display:block;overflow:hidden;position:relative;background:var(--cream-2)}
.g-foto:hover img{transform:scale(1.03);filter:brightness(1.05)}
.g-foto:focus-visible{outline:3px solid var(--bordeaux);outline-offset:3px}

/* Segnaposto finché le foto non si possono pubblicare. Deve dare nell'occhio:
   è un promemoria per te, non un elemento del design. */
.foto-mancante{aspect-ratio:16/10;display:flex;align-items:center;justify-content:center;text-align:center;
  padding:24px;font-weight:700;font-size:15px;color:var(--bordeaux);
  background:repeating-linear-gradient(45deg,var(--cream),var(--cream) 14px,var(--cream-2) 14px,var(--cream-2) 28px);
  border:2px dashed var(--bordeaux)}
.galleria-pagina .foto-mancante{border-radius:var(--radius)}

/* ---------- PAGINA PORTFOLIO ---------- */
.nav-links a[aria-current="page"]{color:var(--bordeaux);font-weight:700}
.port-testa{padding:40px 0 8px;text-align:center}
.port-testa .container{max-width:760px;display:flex;flex-direction:column;align-items:center}
.port-testa h1{font-size:clamp(36px,8vw,64px);letter-spacing:-.035em}
.port-indietro{align-self:flex-start;display:inline-flex;align-items:center;min-height:44px;font-size:15px;font-weight:600;color:var(--grey);margin-bottom:28px;transition:color .2s}
.port-indietro:hover{color:var(--bordeaux)}
.port-sezione{padding-top:44px;scroll-margin-top:var(--nav-h)}
.progetto{max-width:1096px;margin:0 auto}
.progetto-testa{display:flex;flex-direction:column;gap:2px;margin-bottom:20px}
.progetto-testa h2{font-size:clamp(26px,4.6vw,36px)}
.progetto-meta{font-size:15px;color:var(--grey)}
/* nella pagina le foto respirano: spazi veri e angoli arrotondati */
.galleria-pagina{gap:10px;background:none}
.galleria-pagina .g-foto{border-radius:var(--radius)}
.progetto-attesa{max-width:620px;margin:0 auto}
.port-cta{max-width:580px;margin:0 auto}

/* ---------- PAGINA PRIVACY ---------- */
.testo-legale{padding:40px 0 80px}
.testo-legale .container{max-width:720px}
.testo-legale h1{font-size:clamp(32px,6vw,46px);letter-spacing:-.03em}
.testo-legale-data{font-size:15px;color:var(--grey);margin:10px 0 34px}
.testo-legale h2{font-size:21px;margin:34px 0 10px;letter-spacing:-.01em}
.testo-legale p{font-size:16.5px;margin-bottom:14px;max-width:62ch}
.testo-legale p a{color:var(--bordeaux);font-weight:600;border-bottom:1px solid currentColor}

/* ---------- GALLERIA A TUTTO SCHERMO ---------- */
.lightbox{
  width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;
  background:#151311;color:var(--cream);
  display:none;place-items:center;overscroll-behavior:contain;
}
.lightbox[open]{display:grid}
.lightbox::backdrop{background:rgba(28,26,23,.6)}
.lb-foto{max-width:min(94vw,1600px);max-height:82dvh;width:auto;height:auto;object-fit:contain;
  border-radius:6px;box-shadow:0 30px 80px rgba(0,0,0,.45);user-select:none;-webkit-user-drag:none}
.lb-didascalia{position:absolute;left:0;right:0;bottom:clamp(14px,3vh,28px);text-align:center;
  font-size:15px;color:rgba(247,241,230,.78);padding:0 70px}
.lb-btn{position:absolute;display:flex;align-items:center;justify-content:center;
  width:48px;height:48px;border-radius:50%;border:1px solid rgba(247,241,230,.25);
  background:rgba(28,26,23,.55);color:var(--cream);font:inherit;font-size:30px;line-height:1;cursor:pointer;
  transition:background .2s,border-color .2s}
.lb-btn:hover,.lb-btn:focus-visible{background:var(--bordeaux);border-color:var(--bordeaux)}
.lb-chiudi{top:clamp(12px,3vh,24px);right:clamp(12px,3vw,24px);font-size:28px}
.lb-prec{left:clamp(8px,2vw,24px);top:50%;transform:translateY(-50%)}
.lb-succ{right:clamp(8px,2vw,24px);top:50%;transform:translateY(-50%)}
html.lb-aperta{overflow:hidden}

/* ---------- STUDIO ---------- */
.studio-grid{display:grid;grid-template-columns:1fr;gap:36px;align-items:center;max-width:960px}
.studio-text h2{margin-bottom:18px}
.studio-text p{font-size:16.5px;color:var(--ink);margin-bottom:16px;max-width:52ch}
.studio-text .btn{margin-top:8px}
.studio-media{display:flex;align-items:center;justify-content:center;
  background:var(--cream-2);border:1px solid var(--line);border-radius:var(--radius-lg);
  aspect-ratio:4/5;max-width:360px;margin:0 auto;width:100%}
.studio-mark svg{height:120px;width:auto;fill:var(--bordeaux);opacity:.9}
.studio-media img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg)}

/* ---------- CONTATTI ---------- */
.section-contatti{background:var(--bordeaux);color:var(--cream)}
.section-contatti h2{color:var(--cream)}
.contatti-wrap{display:grid;grid-template-columns:1fr;gap:22px;max-width:580px;margin:0 auto}
.btn-wa-giant{display:flex;align-items:center;gap:16px;background:var(--wa);color:#06351a;
  padding:20px 22px;border-radius:var(--radius);box-shadow:0 16px 40px rgba(0,0,0,.28);
  transition:transform .15s ease,background .2s ease}
.btn-wa-giant:hover{background:var(--wa-dark);color:#fff;transform:translateY(-3px)}
.btn-wa-giant svg{width:42px;height:42px;fill:currentColor;flex-shrink:0}
.btn-wa-giant strong{display:block;font-size:20px;font-weight:800}
.btn-wa-giant small{font-size:15px;opacity:.85}
.mail-riga{text-align:center;font-size:16px;color:#e7ddd0;margin-top:-4px}
.mail-riga a{color:var(--cream);font-weight:700;border-bottom:1.5px solid rgba(247,241,230,.5);
  user-select:text;display:inline-block;padding:12px 2px 8px}
.mail-riga a:hover{border-bottom-color:var(--cream)}
.contact-form{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:22px}
.form-or{font-size:15px;color:#e7ddd0;margin-bottom:16px}
.f-row{display:grid;grid-template-columns:1fr;gap:0}
.f-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.f-field span{font-size:15px;font-weight:600;color:#e7ddd0}
.f-field input,.f-field textarea{width:100%;padding:12px 14px;border-radius:10px;border:1.5px solid rgba(255,255,255,.2);
  background:var(--cream);color:var(--ink);font-family:inherit;font-size:15px}
.f-field input:focus,.f-field textarea:focus{outline:3px solid #e7b9c5;outline-offset:1px;border-color:#fff}
.f-field textarea{resize:vertical}
.zona{margin-top:32px;text-align:center;font-size:15px}

/* ---------- FOOTER ---------- */
.footer{background:var(--ink);color:rgba(247,241,230,.72)}
.footer-inner{display:grid;grid-template-columns:1fr;gap:22px;padding-top:44px;padding-bottom:28px}
.footer-brand{display:flex;align-items:center;gap:13px}
.footer-brand .logo-mark{font-size:30px;display:flex}
.footer-brand strong{color:var(--cream);font-size:18px;display:block}
.footer-brand p{font-size:15px;margin-top:3px;letter-spacing:.02em}
.footer-links p{font-size:15px;margin-bottom:8px}
.footer-nav{display:flex;flex-wrap:wrap;gap:4px 22px}
.footer-nav a{display:inline-flex;align-items:center;min-height:44px;color:var(--cream);
  border-bottom:1px solid transparent;transition:border-color .2s}
.footer-nav a:hover{border-bottom-color:currentColor}
.footer-bottom{border-top:1px solid rgba(247,241,230,.12);padding:16px 0;text-align:center;font-size:15px;color:rgba(247,241,230,.5)}

/* ---------- WHATSAPP FLOTTANTE ---------- */
.wa-float{position:fixed;right:18px;bottom:18px;z-index:200;width:58px;height:58px;border-radius:50%;
  background:var(--wa);display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,.3);transition:transform .2s ease,background .2s ease}
.wa-float:hover{transform:scale(1.07);background:var(--wa-dark)}
/* si toglie dove c'è già un bottone WhatsApp grande (hero, contatti): vedi script.js */
.wa-float.nascosto{visibility:hidden;opacity:0}
.wa-float svg{width:32px;height:32px;fill:#fff}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;
  box-shadow:0 0 0 0 rgba(37,211,102,.5);animation:wa-pulse 2.4s infinite}
@keyframes wa-pulse{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}

/* ---------- ACCESSIBILITÀ ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--bordeaux);outline-offset:2px;border-radius:6px}
.section-contatti a:focus-visible,.section-contatti button:focus-visible,.section-contatti input:focus-visible,.section-contatti textarea:focus-visible{outline-color:#fff}

/* ============================================================
   ANIMAZIONI d'ingresso (IntersectionObserver -> .in)
   Per DISATTIVARLE: aggiungi  .reveal{opacity:1;transform:none}
   Rispettano prefers-reduced-motion.
   ============================================================ */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.reveal.in{opacity:1;transform:none}
@media(max-width:619px){
  .eyebrow,.serv-tag,.work-tag,.hero-etichetta{font-size:15px;letter-spacing:.12em}
  .serv-prezzo{font-size:15px}
  .serv-list li{flex-wrap:wrap;gap:2px 14px}
  .footer-bottom{padding-bottom:96px}
  .intro-salta,.intro-audio{min-height:44px;font-size:15px}
  .lb-prec,.lb-succ{top:auto;bottom:clamp(14px,3vh,28px);transform:none}
  .lb-didascalia{bottom:calc(clamp(14px,3vh,28px) + 60px);padding:0 20px}
}
@media(prefers-reduced-motion:reduce){
  .g-foto img{transition:none}
  .reveal{opacity:1;transform:none;transition:none}
  .wa-float::after{animation:none}
  html{scroll-behavior:auto}
}

/* ============================================================
   BREAKPOINT
   ============================================================ */
@media(min-width:620px){
  .hero-btns{flex-direction:row;max-width:none;justify-content:center}
  .hero-btns .btn{min-width:200px}
  .serv-grid{grid-template-columns:1fr 1fr}
  .galleria-anteprima{grid-template-columns:repeat(4,1fr)}
  .port-testa{padding-top:56px}
  .f-row{grid-template-columns:1fr 1fr;gap:14px}
  .footer-inner{grid-template-columns:1.4fr 1fr;align-items:center}
}
@media(min-width:920px){
  .nav-links{display:flex}
  .nav-burger{display:none}
  .hero{padding:96px 0 80px}
  .section{padding:104px 0}
  .studio-grid{grid-template-columns:1.15fr .85fr;gap:56px}
  .passi{grid-template-columns:repeat(3,1fr);gap:20px}
  .section-compatta{padding:80px 0}
  .studio-text h2,.studio-text{text-align:left}
}

/* =========================================================
   INTRO — il video che apre il sito
   =========================================================
   Copre tutto al primo caricamento, poi si dissolve.
   Lo sfondo è crema come il sito: le bande sopra e sotto
   sul telefono così non sembrano un errore. */

.intro{
  position:fixed;
  inset:0;
  z-index:9999;
  background:var(--cream);
  display:grid;
  place-items:center;
  opacity:1;
  transition:opacity .55s ease;
}
/* la classe la mette il JavaScript quando è ora di entrare nel sito */
.intro.esce{ opacity:0; pointer-events:none; }

.intro-video{
  width:100%;
  height:100%;
  /* su schermi larghi riempie senza tagliare niente di importante */
  object-fit:cover;
  display:block;
}
/* In verticale "cover" taglierebbe via le scritte laterali del video:
   meglio vederlo intero con due bande crema. */
@media (max-aspect-ratio: 1/1){
  .intro-video{ object-fit:contain; }
}

/* i due comandi stanno insieme in basso a destra */
.intro-comandi{
  position:absolute;
  right:clamp(14px, 4vw, 34px);
  bottom:clamp(14px, 4vw, 34px);
  display:flex;
  gap:8px;
  align-items:center;
}

.intro-salta,
.intro-audio{
  border:1px solid var(--line);
  background:rgba(247,241,230,.86);
  color:var(--ink);
  font:inherit;
  font-size:.88rem;
  font-weight:600;
  letter-spacing:.02em;
  padding:.62em 1.25em;
  border-radius:999px;
  cursor:pointer;
  -webkit-backdrop-filter:blur(6px);
  backdrop-filter:blur(6px);
  transition:background .2s ease, color .2s ease, border-color .2s ease;
}
.intro-salta:hover,
.intro-salta:focus-visible,
.intro-audio:hover,
.intro-audio:focus-visible{
  background:var(--bordeaux);
  border-color:var(--bordeaux);
  color:var(--cream);
}
/* quando l'audio e' acceso il pulsante resta marcato, così si vede lo stato */
.intro-audio.acceso{
  background:var(--bordeaux);
  border-color:var(--bordeaux);
  color:var(--cream);
}
.intro-audio[hidden]{ display:none; }

/* mentre l'intro è a schermo il sito sotto non deve scorrere */
html.intro-attiva, html.intro-attiva body{ overflow:hidden; }
