@font-face{font-family:"Fraunces";font-style:normal;font-weight:300 600;font-display:swap;src:url("../fonts/fraunces.woff2") format("woff2")}
@font-face{font-family:"Fraunces";font-style:italic;font-weight:300 500;font-display:swap;src:url("../fonts/fraunces-corsivo.woff2") format("woff2")}
@font-face{font-family:"Jost";font-style:normal;font-weight:400 600;font-display:swap;src:url("../fonts/jost.woff2") format("woff2")}
/* Regole del brand: "Il Sogno — Regole del brand" (concept «Luce di sera»). Token copiati da tokens.json. */
:root{
  --notte:#2B1D2A; --velluto:#4A2F45; --perla:#F7F4F5; --inchiostro:#241A24; --malva:#6E6170;
  --rosa-sogno:#C95F70; --rosa-profondo:#A4485A; --rosa-cipria:#E7A6B1; --glicine:#C4B2D9;
  --testo-sera:#F4ECE8; --testo-secondario-sera:#C9B6BE; --linea:#E0D6DE; --linea-sera:#5C4157;
  --display:"Fraunces",Georgia,serif;
  --sans:"Jost","Avenir Next","Century Gothic",system-ui,sans-serif;
  --raggio-foto:4px; --raggio-scheda:8px; --raggio-pillola:999px; --linea-sottile:1.5px;
  --barra:76px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--perla);color:var(--inchiostro);font-family:var(--sans);font-size:1.125rem;line-height:1.6;letter-spacing:.01em;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--rosa-profondo)}
:focus-visible{outline:3px solid var(--rosa-profondo);outline-offset:3px;border-radius:4px}
.sera :focus-visible,.testata-pagina :focus-visible,.apertura :focus-visible,.spa :focus-visible,.voucher :focus-visible,.contatto :focus-visible,footer :focus-visible{outline-color:var(--rosa-cipria)}
.salta{position:absolute;left:-999px;top:0;background:var(--notte);color:#fff;padding:.6rem 1rem;z-index:100}
.salta:focus{left:1rem;top:1rem}
.bozza{background:#FFF1C9;color:#4A3800;font-size:.875rem;padding:.55rem 1.25rem;text-align:center}
.segnaposto{background:#FFF1C9;color:#5A4300;padding:0 .3rem;border-radius:3px}

/* Apertura: tema Sera con luce della spa */
.apertura{position:relative;color:var(--testo-sera);overflow:hidden;background:var(--notte);min-height:min(100svh,920px);display:flex;flex-direction:column}
.apertura .sfondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 36%;z-index:0}
/* Velo Notte: scuro dove c'è il logo, più leggero sul mare, di nuovo scuro sotto i pulsanti */
.apertura::before{content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse 62% 58% at 50% 60%,rgba(43,29,42,.80) 0%,rgba(43,29,42,.62) 55%,rgba(43,29,42,.18) 100%),
             linear-gradient(180deg,rgba(43,29,42,.55) 0%,rgba(43,29,42,0) 22%,rgba(43,29,42,0) 58%,rgba(43,29,42,.93) 100%)}
.lingue{display:flex;gap:.3rem}
.lingue button{font:inherit;font-size:.85rem;background:transparent;color:var(--perla);border:1px solid rgba(247,244,245,.45);border-radius:var(--raggio-pillola);padding:.3rem .75rem;cursor:pointer;min-width:44px;min-height:36px}
.lingue button[aria-pressed="true"]{background:var(--perla);color:var(--notte)}
.apertura-testo{position:relative;z-index:2;max-width:760px;margin:auto auto 0;padding:.5rem 1.25rem 4.5rem;text-align:center;display:flex;flex-direction:column;align-items:center}
.apertura h1{margin:0}
.apertura h1 img{width:min(62vw,300px);height:auto}
.apertura .intro{font-family:var(--display);font-weight:300;font-size:clamp(1.5rem,3.6vw,2.4rem);line-height:1.25;max-width:24ch;margin:1.75rem 0 2rem;color:var(--perla)}
.azioni{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;justify-content:center}
.nota{font-size:.875rem;margin:1rem 0 0;max-width:44ch;color:#E9DDE4}

/* Pulsanti WhatsApp: Giorno = Rosa profondo, Sera = Rosa cipria */
.wa{display:inline-flex;align-items:center;gap:.6rem;background:var(--rosa-profondo);color:#fff;text-decoration:none;font-weight:500;letter-spacing:.02em;font-size:1rem;padding:0 1.4rem;border-radius:var(--raggio-pillola);min-height:48px;line-height:1.2}
.wa:hover{background:#8E3A4C}
.wa svg{width:20px;height:20px;flex:none}
.chiaro{background:var(--rosa-cipria);color:var(--notte)}
.chiaro:hover{background:#F0BCC5;color:var(--notte)}
.link{font-weight:600;color:var(--perla);text-decoration:underline;text-decoration-color:var(--rosa-sogno);text-underline-offset:5px;padding:.85rem .25rem}

/* Sezioni */
.blocco{max-width:1200px;margin:0 auto;padding:4rem 1.25rem}
@media (min-width:880px){.blocco{padding:6rem 3rem}}
.stretto{padding-top:0!important}
h2{font-family:var(--display);font-weight:400;font-size:clamp(2rem,5vw,3rem);line-height:1.12;margin:0 0 1.25rem}
h3{font-family:var(--display);font-weight:400;font-size:1.35rem;margin:0 0 .35rem}
.testo{max-width:64ch}
.testo p{margin:0 0 1rem}
.firma{display:flex;align-items:center;justify-content:center;gap:12px;padding:0 1.25rem}
.firma::before,.firma::after{content:"";height:var(--linea-sottile);width:min(30vw,140px);background:var(--rosa-sogno)}
.firma span{width:8px;height:8px;border-radius:50%;border:var(--linea-sottile) solid var(--rosa-sogno)}

.numeri{display:grid;grid-template-columns:repeat(2,1fr);margin:2.25rem 0 0;border-top:1px solid var(--linea)}
.numeri div{padding:1.1rem 1rem 1.1rem 0;border-bottom:1px solid var(--linea)}
.numeri dt{font-size:.9rem;color:var(--malva)}
.numeri dd{margin:0;font-family:var(--display);font-weight:300;font-size:1.6rem;line-height:1.25}
@media (min-width:880px){.numeri{grid-template-columns:repeat(4,1fr)}}

/* Sezione spa: tema Sera */
.spa{background:var(--notte);color:var(--testo-sera);position:relative;overflow:hidden}
.spa::before{content:"";position:absolute;width:900px;height:900px;right:-320px;top:-300px;border-radius:50%;
  background:radial-gradient(circle,rgba(196,178,217,.40) 0%,rgba(196,178,217,.12) 40%,rgba(43,29,42,0) 70%)}
.spa .blocco{position:relative;display:grid;gap:3rem}
.spa h2{color:var(--perla)}
.spa .testo{color:var(--testo-secondario-sera)}
.elenco-scuro{list-style:none;padding:0;margin:1.5rem 0 2rem;border-top:1px solid var(--linea-sera)}
.elenco-scuro li{padding:1rem 0;border-bottom:1px solid var(--linea-sera);font-family:var(--display);font-weight:300;font-size:1.4rem;color:var(--perla)}
.spa .ph{aspect-ratio:4/5;border-radius:220px 220px var(--raggio-foto) var(--raggio-foto);outline:var(--linea-sottile) solid var(--rosa-sogno);outline-offset:10px;margin:10px}
@media (min-width:880px){.spa .blocco{grid-template-columns:1.1fr .9fr;align-items:center}}

/* Segnaposto foto */
.ph{position:relative;overflow:hidden;background:linear-gradient(165deg,#FFFFFF 0%,#E9E1E6 100%)}
.ph.notte{background:radial-gradient(circle at 35% 35%,#9C6FD0 0%,#5A3878 45%,#2E1D3A 100%)}
.ph.caldo{background:linear-gradient(170deg,#F3DCCB 0%,#DDAE98 55%,#AE7C72 100%)}
.ph.verde{background:linear-gradient(190deg,#D3DCC6 0%,#93A882 60%,#5E7454 100%)}
.ph.golfo{background:linear-gradient(180deg,#8FA6C8 0%,#C9B3C4 55%,#E8BFA2 100%)}
.ph span{position:absolute;left:.75rem;bottom:.75rem;right:.75rem;width:fit-content;font-size:.8rem;line-height:1.3;color:var(--inchiostro);background:rgba(247,244,245,.92);padding:.35rem .55rem;border-radius:4px}

/* Spazi */
.spazi{display:grid;grid-template-columns:1fr;gap:2.25rem;margin-top:2rem}
.spazio .ph{aspect-ratio:4/3;border-radius:var(--raggio-foto);margin-bottom:1rem}
.spazio p{margin:0;color:var(--malva)}
@media (min-width:640px){.spazi{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.spazi{grid-template-columns:repeat(3,1fr)}}

/* Magic Garden */
.giardino{display:grid;gap:2.5rem}
.giardino .ph{aspect-ratio:16/11;border-radius:var(--raggio-foto)}
.elenco{list-style:none;padding:0;margin:1.25rem 0 0;border-top:1px solid var(--linea)}
.elenco li{padding:.9rem 0;border-bottom:1px solid var(--linea);display:flex;gap:.75rem;align-items:baseline}
.elenco li::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;border:var(--linea-sottile) solid var(--rosa-sogno);position:relative;top:-2px}
@media (min-width:880px){.giardino{grid-template-columns:.9fr 1.1fr;align-items:center}}

/* Servizi */
.gruppi{display:grid;gap:2rem}
.gruppi h3{margin-bottom:.25rem}
@media (min-width:880px){.gruppi{grid-template-columns:repeat(3,1fr);column-gap:2.5rem}}

/* Gift voucher: tema Sera, superficie Velluto */
.voucher{background:var(--velluto);color:var(--testo-sera)}
.voucher .blocco{display:grid;gap:1.5rem}
.voucher h2{color:var(--perla)}
.voucher p{color:var(--testo-secondario-sera)}
.voucher ul{margin:0 0 1.75rem;padding-left:1.2rem}
.voucher li{margin-bottom:.35rem}
.voucher li::marker{color:var(--rosa-cipria)}
@media (min-width:880px){.voucher .blocco{grid-template-columns:1fr 1fr;align-items:center}}

/* Dove siamo */
.dove{display:grid;gap:2.5rem}
.indirizzo{font-family:var(--display);font-weight:300;font-size:1.35rem;margin:0 0 1.5rem}
.distanze{list-style:none;padding:0;margin:0 0 1.75rem;border-top:1px solid var(--linea)}
.distanze li{padding:.85rem 0;border-bottom:1px solid var(--linea);display:flex;justify-content:space-between;gap:1rem}
.distanze b{font-weight:600;white-space:nowrap}
.mappa{border-radius:var(--raggio-foto);overflow:hidden;aspect-ratio:4/3;min-height:280px;background:var(--notte);position:relative}
.mappa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mappa-sotto{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:1.25rem;color:var(--rosa-cipria)}
.mappa-link{margin:.75rem 0 0;font-size:.95rem}
@media (min-width:880px){.dove{grid-template-columns:1.1fr .9fr;align-items:start}}

/* Domande frequenti */
.faq{max-width:64ch;border-top:1px solid var(--linea)}
.faq details{border-bottom:1px solid var(--linea)}
.faq summary{cursor:pointer;padding:1.1rem 2rem 1.1rem 0;font-weight:600;list-style:none;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:.25rem;top:.85rem;font-size:1.5rem;color:var(--rosa-profondo);font-weight:400}
.faq details[open] summary::after{content:"−"}
.faq details p{margin:0 0 1.2rem}

/* Contatto: tema Sera */
.contatto{background:var(--notte);color:var(--testo-sera);position:relative;overflow:hidden}
.contatto h2{color:var(--perla)}
.contatto ol{padding-left:1.25rem;margin:0 0 1.75rem;max-width:56ch;color:var(--testo-secondario-sera)}
.contatto li{margin-bottom:.45rem}
.altri{margin:1.25rem 0 0;font-size:.95rem;color:var(--testo-secondario-sera)}
.altri a{color:var(--rosa-cipria)}

footer{background:var(--notte);color:var(--testo-secondario-sera);font-size:.9rem;border-top:1px solid var(--linea-sera)}
footer .blocco{padding:2.5rem 1.25rem;display:grid;gap:1.5rem}
footer p{margin:.35rem 0}
footer a{color:var(--rosa-cipria)}
footer img{width:110px;height:auto}
.codice{display:inline-block;background:var(--perla);color:var(--inchiostro);padding:.2rem .55rem;border-radius:4px;font-weight:600;letter-spacing:.02em}
@media (min-width:880px){footer .blocco{grid-template-columns:auto 1fr;align-items:center;column-gap:2.5rem}}

/* Barra WhatsApp fissa su smartphone */
.barra{position:fixed;left:0;right:0;bottom:0;z-index:50;padding:.6rem 1rem calc(.6rem + env(safe-area-inset-bottom));background:rgba(247,244,245,.97);border-top:1px solid var(--linea);display:flex;align-items:center;gap:.75rem;transform:translateY(110%);transition:transform .25s ease}
.barra.visibile{transform:none}
.barra .wa{flex:1;justify-content:center}
.barra small{font-size:.8rem;color:var(--malva);max-width:12ch;line-height:1.25}
@media (max-width:879px){body{padding-bottom:var(--barra)}}
@media (min-width:880px){.barra{display:none}}
.ph img{width:100%;height:100%;object-fit:cover;display:block}
.suite-foto{position:relative;display:grid;gap:1.25rem;padding-top:0!important;align-items:end}
.suite-foto figure{margin:0}
.suite-foto img{width:100%;height:auto;border-radius:var(--raggio-foto)}
.suite-foto figcaption{margin-top:.5rem;font-family:var(--display);font-style:italic;font-weight:300;font-size:1.05rem;color:var(--rosa-cipria)}
@media (min-width:880px){.suite-foto{grid-template-columns:1.65fr 1fr;align-items:start}.suite-foto img{height:440px;object-fit:cover}}

/* Caroselli di foto */
.carosello{position:relative}
.carosello .comandi[hidden]{display:none!important}
.carosello.verticale .slide,.carosello.verticale .comandi{aspect-ratio:1/1}
.slide video{width:100%;height:100%;object-fit:contain;display:block;background:var(--notte)}
.carosello.verticale .contatore{bottom:auto;top:.6rem}
.binario{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;border-radius:var(--raggio-foto)}
.binario::-webkit-scrollbar{display:none}
.binario:focus-visible{outline:3px solid var(--rosa-cipria);outline-offset:3px}
.slide{flex:0 0 100%;margin:0;scroll-snap-align:center;display:flex;flex-direction:column}
.scheda .slide{aspect-ratio:4/3}
.scheda .slide img{width:100%;height:100%;object-fit:cover}
.intero .slide{align-items:center}
.intero .slide img{width:100%;height:min(70vh,560px);object-fit:contain;background:rgba(74,47,69,.55);border-radius:var(--raggio-foto)}
.intero figcaption{align-self:flex-start;margin-top:.6rem;font-family:var(--display);font-style:italic;font-weight:300;font-size:1.05rem;color:var(--rosa-cipria)}
.comandi{display:flex;align-items:center;gap:.75rem;margin-top:.75rem}
.comandi button{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;cursor:pointer;border:1.5px solid currentColor;background:transparent;color:inherit}
.comandi button:disabled{opacity:.35;cursor:default}
.comandi svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.contatore{font-size:.9rem;min-width:3.5em;text-align:center}
.intero .comandi{color:var(--perla);justify-content:flex-end}
.scheda .comandi{position:absolute;left:0;right:0;top:0;margin:0;padding:.6rem;justify-content:space-between;pointer-events:none;aspect-ratio:4/3;align-items:center}
.scheda .comandi button{pointer-events:auto;width:44px;height:44px;background:rgba(247,244,245,.92);color:var(--inchiostro);border-color:transparent}
.scheda .contatore{position:absolute;right:.6rem;bottom:.6rem;background:rgba(36,26,36,.72);color:#fff;border-radius:999px;padding:.15rem .6rem;font-size:.8rem;min-width:0}
.spazio .carosello{margin-bottom:1rem}
.suite-foto{display:block!important}
@media (prefers-reduced-motion:reduce){.binario{scroll-behavior:auto}}

/* ===== Struttura su più pagine: testata, menu, schede, pagine interne ===== */
.sito{position:relative;z-index:20;display:flex;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:.9rem 1.25rem;color:var(--perla)}
.sito .marchio{margin-right:auto;display:block;border-radius:4px}
.sito .marchio img{height:52px;width:auto}
.sito-home .navigazione{margin-right:auto}
.menu-bottone{display:inline-flex;align-items:center;gap:.55rem;font:inherit;font-size:.95rem;font-weight:600;color:var(--perla);background:transparent;border:1px solid rgba(247,244,245,.45);border-radius:var(--raggio-pillola);padding:0 1rem;min-height:44px;cursor:pointer}
.menu-icona{display:inline-flex;flex-direction:column;gap:4px;width:18px}
.menu-icona i{display:block;height:1.5px;background:currentColor;border-radius:2px}
.voci{list-style:none;margin:0;padding:0}
.voci a{color:var(--perla);text-decoration:none}
.voci a[aria-current="page"]{color:var(--rosa-cipria)}
@media (max-width:1079px){
  .voci{display:none;position:absolute;left:0;right:0;top:100%;background:var(--notte);padding:.5rem 1.25rem 1.5rem;border-top:1px solid var(--linea-sera);box-shadow:0 18px 30px rgba(20,12,20,.35)}
  .navigazione.aperta .voci{display:block}
  .voci a{display:block;font-family:var(--display);font-weight:300;font-size:1.45rem;padding:.75rem 0;border-bottom:1px solid var(--linea-sera)}
}
@media (min-width:1080px){
  .menu-bottone{display:none}
  .voci{display:flex;gap:1.6rem}
  .voci a{font-size:.95rem;padding:.4rem 0;border-bottom:1.5px solid transparent}
  .voci a:hover{border-bottom-color:rgba(231,166,177,.6)}
  .voci a[aria-current="page"]{border-bottom-color:var(--rosa-cipria)}
  .sito-home .navigazione{margin:0 auto}
}
.testata-pagina{background:var(--notte);color:var(--testo-sera);position:relative;overflow:hidden}
.testata-pagina::before{content:"";position:absolute;width:760px;height:760px;right:-300px;top:-320px;border-radius:50%;background:radial-gradient(circle,rgba(196,178,217,.22) 0%,rgba(43,29,42,0) 70%);pointer-events:none}
.testata-testo{position:relative;max-width:1200px;margin:0 auto;padding:2.25rem 1.25rem 3.5rem}
@media (min-width:880px){.testata-testo{padding:3.5rem 3rem 5rem}}
.occhiello{font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:var(--rosa-cipria);margin:0}
.testata-pagina h1{font-family:var(--display);font-weight:300;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.05;color:var(--perla);margin:.4rem 0 1rem;max-width:18ch}
.testata-pagina .intro{font-size:1.15rem;color:var(--testo-secondario-sera);max-width:52ch;margin:0 0 1.75rem}
.testata-pagina .azioni{justify-content:flex-start}
.testata-pagina .intro.frase{font-family:var(--display);font-style:italic;font-weight:300;font-size:1.35rem;color:var(--perla)}
.testata-pagina .intro + .intro{margin-top:-.75rem}
.testata-pagina :focus-visible{outline-color:var(--rosa-cipria)}
/* Home: schede delle pagine */
.schede{display:grid;gap:1.75rem;margin-top:2rem}
@media (min-width:640px){.schede{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.schede{grid-template-columns:repeat(3,1fr)}}
.scheda-pagina{display:flex;flex-direction:column;text-decoration:none;color:var(--inchiostro);background:#fff;border:1px solid var(--linea);border-radius:var(--raggio-scheda);overflow:hidden}
.scheda-pagina img{width:100%;aspect-ratio:4/3;object-fit:cover}
.sp-testo{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem 1.3rem;flex:1}
.sp-titolo{font-family:var(--display);font-size:1.4rem;line-height:1.2}
.sp-desc{color:var(--malva);font-size:.98rem}
.sp-vai{margin-top:auto;padding-top:.6rem;font-weight:600;color:var(--rosa-profondo)}
.sp-vai::after{content:" →"}
.scheda-pagina:hover .sp-titolo{color:var(--rosa-profondo)}
/* Regala */
.regala{display:grid;gap:2.5rem}
.regala-foto img{border-radius:220px 220px var(--raggio-foto) var(--raggio-foto);aspect-ratio:4/5;object-fit:cover;width:100%;max-width:440px}
.sotto{margin-top:2rem}
.passi{padding-left:1.25rem;margin:.5rem 0 1.75rem;max-width:56ch}
.passi li{margin-bottom:.5rem}
.passi li::marker{color:var(--rosa-sogno);font-family:var(--display)}
@media (min-width:880px){.regala{grid-template-columns:.8fr 1.2fr;align-items:center}}
/* Cosa vedere */
.luoghi{display:grid;gap:0;border-top:1px solid var(--linea)}
.luogo{display:grid;grid-template-columns:3.2rem 1fr;gap:1rem;padding:1.5rem 0;border-bottom:1px solid var(--linea)}
.luogo-n{font-family:var(--display);font-weight:300;font-size:1.6rem;color:var(--rosa-sogno);line-height:1.2}
.luogo p{margin:.2rem 0 0;color:var(--malva);max-width:60ch}
.luogo-dist{font-size:.95rem}
.luogo-dist b{color:var(--inchiostro);font-weight:600}
.consigli{margin-top:3rem;padding:2rem 1.5rem;background:#fff;border:1px solid var(--linea);border-radius:var(--raggio-scheda)}
.consigli h2{font-size:clamp(1.6rem,4vw,2.2rem)}
@media (min-width:880px){.vedere{display:grid;grid-template-columns:1.3fr .9fr;gap:3rem;align-items:start}.consigli{margin-top:0;position:sticky;top:1.5rem}}
/* Dove siamo */
.dove>*{min-width:0}
.mappa{aspect-ratio:auto;height:300px;min-height:0}
@media (min-width:880px){.mappa{aspect-ratio:4/3;height:auto}}
.arrivo .gruppi p{margin:.25rem 0 0;color:var(--malva)}
.arrivo-nota{margin-top:2rem;max-width:60ch}
/* Menu nel piè di pagina */
.menu-piede{list-style:none;padding:0;margin:.75rem 0 1rem;display:flex;flex-wrap:wrap;gap:.35rem 1.25rem}
.menu-piede a{color:var(--perla);text-decoration:none}
.menu-piede a:hover{text-decoration:underline}


/* Onda: passaggio tra chiaro e scuro (su modello vicolo72.it, 3 novembre). Due curve sovrapposte:
   una velatura Perla trasparente e il Perla pieno, che si appoggiano sul bordo della sezione scura. */
.crepuscolo{position:relative;z-index:3;height:56px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 100' preserveAspectRatio='none'%3E%3Cpath d='M0 0Q500 80 1000 0V100H0Z' fill='%23F7F4F5' fill-opacity='.4'/%3E%3Cpath d='M0 92Q500 0 1000 92V100H0Z' fill='%23F7F4F5'/%3E%3C/svg%3E") center/100% 100% no-repeat;pointer-events:none}
@media (min-width:880px){.crepuscolo{height:90px}}
.verso-giorno{margin-top:-56px}
.verso-sera{margin-bottom:-56px;transform:scaleY(-1)}
@media (min-width:880px){.verso-giorno{margin-top:-90px}.verso-sera{margin-bottom:-90px}}
.apertura .apertura-testo{padding-bottom:6.5rem!important}
.testata-testo{padding-bottom:5.5rem}
@media (min-width:880px){.testata-testo{padding-bottom:8rem}}
footer .piede{padding-top:5rem!important}
@media (min-width:880px){footer .piede{padding-top:7.5rem!important}}

/* Testata centrata (pagina Suite, su modello vicolo72.it) */
.testata-centrata{background:linear-gradient(90deg,#2B1D2A 0%,#36243A 50%,#4A2F45 100%)}
.testata-centrata .testata-testo{text-align:center;max-width:900px;padding-top:3.5rem}
@media (min-width:880px){.testata-centrata .testata-testo{padding-top:5rem}}
.testata-centrata h1{font-size:clamp(3.2rem,11vw,6.5rem);font-weight:300;color:var(--rosa-cipria);margin:.5rem auto 1.25rem;max-width:none;line-height:1}
.testata-centrata .h1-sotto{display:block;font-size:.34em;letter-spacing:.22em;text-transform:uppercase;font-weight:400;margin-top:.6em;color:var(--perla)}
.testata-centrata .intro{margin-left:auto;margin-right:auto;max-width:46ch}
.quadro-suite{padding-bottom:3rem!important}
.centrato-t{text-align:center}
.centrato-p{text-align:center}
.quadro-suite .testo-largo p{margin:0 0 1rem}


/* Riquadro servizi + video (pagina La struttura, su modello vicolo72.it; rivisto da Grim il 3 novembre) */
.spa .blocco .servizi-video{grid-column:1/-1}
.servizi-video{display:grid;align-items:center;gap:2rem;background:var(--perla);color:var(--inchiostro);border-radius:var(--raggio-foto);outline:var(--linea-sottile) solid var(--rosa-sogno);outline-offset:10px;margin:10px;padding:2.25rem 1.25rem}
.sv-testo{text-align:left}
.sv-occhiello{margin:0 0 .35rem;font-family:var(--display);font-style:italic;font-weight:300;font-size:1.05rem;color:var(--rosa-profondo)}
.sv-testo h2{color:var(--inchiostro);font-size:clamp(1.5rem,3vw,2rem);margin:0 0 1.5rem;padding-bottom:1rem;border-bottom:var(--linea-sottile) solid var(--rosa-sogno);display:inline-block}
.sv-gruppi{display:grid;gap:1.6rem 2.25rem}
@media (min-width:560px){.sv-gruppi{grid-template-columns:1fr 1fr}}
.sv-gruppo h3{font-family:var(--display);font-style:italic;font-weight:400;font-size:1.05rem;color:var(--rosa-profondo);margin:0 0 .5rem;display:flex;align-items:center;gap:.6rem}
.sv-gruppo h3::after{content:"";flex:1;height:1px;background:var(--linea)}
.sv-gruppo ul{list-style:none;padding:0;margin:0}
.sv-gruppo li{font-size:.92rem;line-height:1.45;padding:.2rem 0 .2rem 1rem;position:relative;color:var(--inchiostro)}
.sv-gruppo li::before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;border:1px solid var(--rosa-sogno)}
.sv-video{justify-self:center;width:min(78vw,300px);aspect-ratio:9/16;border-radius:200px 200px var(--raggio-foto) var(--raggio-foto);overflow:hidden;background:var(--notte);outline:var(--linea-sottile) solid var(--rosa-sogno);outline-offset:8px;position:relative}
.sv-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.servizi-video :focus-visible{outline-color:var(--rosa-profondo)}
@media (min-width:880px){.servizi-video{grid-template-columns:1fr auto;gap:3rem;padding:3rem 3.5rem}.sv-video{width:auto;height:min(68vh,540px)}}

/* Informazioni aggiuntive (Grim, 3 novembre): tre numeri grandi, poi schede ordinate */
.io-griglia{display:grid;gap:1.25rem;margin-top:1.5rem}
@media (min-width:880px){.io-griglia{grid-template-columns:repeat(3,1fr)}}
.io-card{background:#fff;border:1px solid var(--linea);border-radius:var(--raggio-scheda);padding:1.5rem 1.4rem 1.25rem;border-top:3px solid var(--rosa-sogno)}
.io-etichetta{margin:0;font-family:var(--display);font-style:italic;color:var(--rosa-profondo);font-size:1.05rem}
.io-grande{margin:.15rem 0 .9rem;font-family:var(--display);font-weight:300;font-size:clamp(2rem,4.5vw,2.6rem);line-height:1.1;color:var(--inchiostro)}
.io-card ul,.info-scheda ul{list-style:none;padding:0;margin:0}
.io-card li,.info-scheda li{font-size:.95rem;line-height:1.45;padding:.25rem 0 .25rem 1rem;position:relative}
.io-card li::before,.info-scheda li::before{content:"";position:absolute;left:0;top:.8em;width:5px;height:5px;border-radius:50%;border:1px solid var(--rosa-sogno)}
.io-documenti{margin:1.5rem 0 0;max-width:75ch;font-size:.92rem;color:var(--malva);padding-left:1rem;border-left:var(--linea-sottile) solid var(--rosa-sogno)}
.info-dotazioni{padding-top:0!important}
.info-griglia{display:grid;gap:2rem 2.5rem;margin-top:1.5rem}
@media (min-width:640px){.info-griglia{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){.info-griglia{grid-template-columns:repeat(3,1fr)}}
.info-scheda h3{font-size:1.25rem;margin:0 0 .6rem;padding-bottom:.5rem;border-bottom:1px solid var(--linea);position:relative}
.info-scheda h3::after{content:"";position:absolute;left:0;bottom:-1px;width:40px;height:var(--linea-sottile);background:var(--rosa-sogno)}

/* Regala un soggiorno (Grim, 3 novembre): voucher come cartoline appoggiate sul tavolo */
.regala-intro{display:grid;gap:2.5rem;align-items:center}
@media (min-width:880px){.regala-intro{grid-template-columns:1fr 1.05fr}}
.ri-passi{counter-reset:p;list-style:none;padding:0;margin:1rem 0 1.75rem}
.ri-passi li{counter-increment:p;display:flex;gap:1rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--linea)}
.ri-passi li::before{content:counter(p,upper-roman);font-family:var(--display);font-style:italic;color:var(--rosa-profondo);min-width:1.6rem}
.ri-contatti{background:#fff;border:1px solid var(--linea);border-top:3px solid var(--rosa-sogno);border-radius:var(--raggio-scheda);padding:1.25rem 1.4rem}
.ri-contatti h3{font-size:1.15rem;margin:0 0 .5rem}
.ri-contatti p{margin:.2rem 0;font-size:.98rem}
.ri-contatti .wa{margin-top:1rem}
.ri-voucher,.rc-retro,.occ-card{margin:0}
.ri-voucher img,.occ-card img,.rc-retro img{width:100%;height:auto;border-radius:6px;box-shadow:0 18px 40px rgba(43,29,42,.18),0 2px 6px rgba(43,29,42,.12)}
.ri-voucher img{transform:rotate(-2deg)}
.occasioni{background:var(--notte);color:var(--testo-sera);position:relative;overflow:hidden}
.occasioni::before{content:"";position:absolute;width:820px;height:820px;left:-300px;top:-200px;border-radius:50%;background:radial-gradient(circle,rgba(196,178,217,.18) 0%,rgba(43,29,42,0) 70%);pointer-events:none}
.occasioni .blocco{position:relative}
.occasioni h2{color:var(--perla)}
.occasioni .testo{color:var(--testo-secondario-sera)}
.occ-griglia{display:grid;gap:2.25rem;margin-top:2rem}
@media (min-width:880px){.occ-griglia{grid-template-columns:repeat(3,1fr);gap:2.5rem}}
.occ-card:nth-child(odd) img{transform:rotate(-1.5deg)}
.occ-card:nth-child(even) img{transform:rotate(1.5deg)}
.occ-card figcaption{margin-top:1rem;text-align:center;font-family:var(--display);font-style:italic;font-size:1.2rem;color:var(--rosa-cipria)}
.occasioni :focus-visible{outline-color:var(--rosa-cipria)}
.regala-condizioni{display:grid;gap:2.5rem;align-items:center}
@media (min-width:880px){.regala-condizioni{grid-template-columns:1.05fr 1fr}}
.rc-retro img{transform:rotate(1.5deg)}
.rc-retro figcaption{margin-top:.9rem;font-size:.88rem;color:var(--malva);text-align:center}
.rc-lista{list-style:none;padding:0;margin:.5rem 0 0}
.rc-lista li{padding:.3rem 0 .3rem 1.1rem;position:relative}
.rc-lista li::before{content:"";position:absolute;left:0;top:.85em;width:6px;height:6px;border-radius:50%;border:1.2px solid var(--rosa-sogno)}
@media (prefers-reduced-motion:reduce){.ri-voucher img,.occ-card img,.rc-retro img{transform:none}}
/* ===== Home emozionale ===== */
.apertura .apertura-testo{margin:auto;padding-bottom:3rem}
.apertura .intro.lunga{font-size:clamp(1.2rem,2.6vw,1.65rem);line-height:1.4;max-width:34ch}
.centrato{text-align:center;max-width:46ch;margin:0 auto 2.5rem}
.centrato p{margin:0;color:var(--malva);font-size:1.1rem}
.quadro{position:relative;margin:0;border-radius:var(--raggio-foto);outline:var(--linea-sottile) solid var(--rosa-sogno);outline-offset:10px}
.quadro img{width:100%;height:auto;aspect-ratio:auto;border-radius:var(--raggio-foto)}
.quadro::after{content:"";position:absolute;inset:0;border-radius:var(--raggio-foto);background:linear-gradient(180deg,rgba(43,29,42,.15) 0%,rgba(43,29,42,.68) 100%)}
.quadro figcaption{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:1.25rem 1.25rem 1.5rem;text-align:center;font-family:var(--display);font-weight:400;color:var(--perla);font-size:clamp(.95rem,1.9vw,1.4rem);line-height:1.3}
.testo-largo{max-width:68ch;margin:3rem auto 0;font-size:1.12rem}
.anteprima .blocco{align-items:center}
.arco{justify-self:center;width:min(100%,420px)}
.arco img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:220px 220px var(--raggio-foto) var(--raggio-foto);outline:var(--linea-sottile) solid var(--rosa-sogno);outline-offset:10px}
.pulsante-sera,.pulsante{display:inline-flex;align-items:center;min-height:48px;padding:0 1.5rem;border-radius:var(--raggio-pillola);font-weight:600;text-decoration:none;margin-top:.5rem}
.pulsante-sera{border:1.5px solid var(--rosa-cipria);color:var(--perla)}
.pulsante-sera:hover{background:var(--rosa-cipria);color:var(--notte)}
.pulsante{border:1.5px solid var(--rosa-profondo);color:var(--rosa-profondo)}
.pulsante:hover{background:var(--rosa-profondo);color:#fff}
.pulsante-sera::after,.pulsante::after{content:"→";margin-left:.6rem}
.anteprima-giardino{display:grid;gap:2.5rem;align-items:center}
.ag-foto img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:var(--raggio-foto)}
@media (min-width:880px){.anteprima-giardino{grid-template-columns:1.1fr .9fr}}
.cin{text-align:center;padding-top:0!important}
.cin .riga{width:min(60%,520px);height:var(--linea-sottile);background:var(--rosa-sogno);margin:0 auto 3rem}
.cin h2{font-size:1.4rem;margin-bottom:.5rem}
.cin p{margin:.2rem 0}
.cin .codice{font-size:1.1rem;letter-spacing:.04em;background:transparent;padding:0}
.arco img,.ag-foto img,.quadro img,.regala-foto img,.scheda-pagina img{height:auto}
.cin .cir{color:var(--malva);font-size:.95rem}
.mappa-home{position:relative;background:var(--notte)}
.mh-mappa{position:relative;height:340px}
@media (min-width:880px){.mh-mappa{height:460px}}
.mh-mappa iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.mh-scheda{position:relative;background:#fff;padding:1.1rem 1.25rem;border-bottom:1px solid var(--linea)}
.mh-scheda p{margin:.15rem 0;color:var(--malva);font-size:.95rem}
.mh-scheda .mh-nome{font-family:var(--display);font-size:1.3rem;color:var(--inchiostro)}
.mh-azioni{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;align-items:center;margin-top:.6rem!important}
.mh-maps{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border-radius:var(--raggio-pillola);background:var(--rosa-profondo);color:#fff;text-decoration:none;font-weight:600}
@media (min-width:880px){.mh-scheda{position:absolute;top:1.25rem;left:1.25rem;max-width:340px;border-radius:var(--raggio-scheda);box-shadow:0 8px 24px rgba(20,12,20,.18);border:0}}
/* Piè di pagina a 4 colonne */
footer .piede{display:grid;gap:2rem;align-items:start;padding-top:3.5rem!important;padding-bottom:2rem!important}
@media (min-width:640px){footer .piede{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1000px){footer .piede{grid-template-columns:repeat(4,1fr);column-gap:2.5rem}}
.piede-t{font-family:var(--display);font-weight:400;font-size:1.3rem;color:var(--perla);margin:0 0 .6rem}
footer .piede img{width:84px;margin-bottom:.75rem}
.piede-cin{color:var(--perla);letter-spacing:.03em}
footer .piede-fondo{text-align:center;padding-top:0!important;padding-bottom:2.5rem!important;display:block!important}
.riga-piede{height:1px;background:var(--linea-sera);margin:0 0 2.5rem}
.logo-piede{display:inline-block;border-radius:4px}
footer .logo-piede img{width:150px;margin:0 auto}
.social{list-style:none;display:flex;justify-content:center;gap:1rem;padding:0;margin:1.5rem 0 1.75rem}
.social a{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid var(--linea-sera);color:var(--rosa-cipria)}
.social a:hover{background:var(--velluto)}
.social svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.social li:first-child svg{fill:currentColor;stroke:none}
.legali{margin:.4rem 0}
.copy{margin:.6rem 0 0;font-size:.85rem}

/* ===== Cosa vedere (Grim, 4 novembre): una guida stampata, senza foto prese dal web ===== */
.guida-indice{padding-top:2.5rem!important;padding-bottom:0!important}
.gi-titolo{margin:0 0 .75rem;font-family:var(--display);font-style:italic;color:var(--rosa-profondo)}
.guida-indice ul{list-style:none;padding:0;margin:0;display:flex;gap:.6rem;overflow-x:auto;scrollbar-width:none;padding-bottom:.25rem}
.guida-indice ul::-webkit-scrollbar{display:none}
@media (min-width:880px){.guida-indice ul{flex-wrap:wrap;overflow:visible}}
.guida-indice a{display:inline-flex;align-items:center;min-height:44px;padding:0 1.1rem;border:1px solid var(--linea);border-radius:var(--raggio-pillola);background:#fff;color:var(--inchiostro);text-decoration:none;white-space:nowrap;font-size:.95rem}
.guida-indice a:hover{border-color:var(--rosa-sogno);color:var(--rosa-profondo)}
.guida-sez,.guida-eventi{scroll-margin-top:1rem}
.gemme{scroll-margin-top:1rem}
.gs-testa{max-width:60ch;margin-bottom:2rem}
.gs-testa h2{margin-bottom:.6rem}
.gs-testa .testo{margin:0}
.gs-griglia{display:grid;gap:1.25rem}
@media (min-width:700px){.gs-griglia{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.gs-griglia{grid-template-columns:repeat(3,1fr)}.gs-pari{grid-template-columns:repeat(2,1fr);max-width:900px}}
.meta{display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-top:3px solid var(--rosa-sogno);border-radius:var(--raggio-scheda);padding:1.35rem 1.35rem 1.15rem;scroll-margin-top:1rem}
.meta-luogo{display:flex;align-items:baseline;gap:.7rem;margin:0 0 .35rem;font-size:.85rem;letter-spacing:.04em;color:var(--malva)}
.meta-n{font-family:var(--display);font-weight:300;font-size:1.35rem;color:var(--rosa-sogno);line-height:1}
.meta h3{font-size:1.35rem;line-height:1.2;margin:0 0 .5rem}
.meta-testo{margin:0 0 .9rem;font-size:1rem;line-height:1.55}
.meta-sapere,.meta-consiglio{margin:0 0 .9rem;font-size:.92rem;line-height:1.5;padding-left:.85rem;border-left:var(--linea-sottile) solid var(--rosa-sogno);color:var(--malva)}
.meta-sapere b,.meta-consiglio b{display:block;font-family:var(--display);font-style:italic;font-weight:400;color:var(--rosa-profondo)}
.meta-consiglio{background:var(--perla);padding:.6rem .85rem;border-radius:0 6px 6px 0;color:var(--inchiostro)}
.meta-vai{margin-top:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;color:var(--rosa-profondo);font-weight:500;text-decoration:none}
.meta-vai svg{width:18px;height:18px;fill:currentColor}
.meta-vai:hover span{text-decoration:underline}
.meta-vai::after{content:"↗";font-size:.9em}
/* sezione scura: le gemme nascoste */
.gemme{background:var(--notte);color:var(--testo-sera);position:relative;overflow:hidden}
.gemme::before{content:"";position:absolute;width:820px;height:820px;right:-320px;top:-260px;border-radius:50%;background:radial-gradient(circle,rgba(196,178,217,.18) 0%,rgba(43,29,42,0) 70%);pointer-events:none}
.gemme .blocco{position:relative}
.gemme h2{color:var(--perla)}
.gemme .gs-testa .testo{color:var(--testo-secondario-sera)}
.gemme .meta{background:var(--velluto);border-color:var(--linea-sera);border-top-color:var(--rosa-cipria);color:var(--testo-sera)}
.gemme .meta h3{color:var(--perla)}
.gemme .meta-luogo,.gemme .meta-sapere{color:var(--testo-secondario-sera)}
.gemme .meta-n{color:var(--rosa-cipria)}
.gemme .meta-sapere{border-left-color:var(--rosa-cipria)}
.gemme .meta-sapere b,.gemme .meta-vai{color:var(--rosa-cipria)}
.gemme :focus-visible{outline-color:var(--rosa-cipria)}
/* calendario */
.ev-lista{list-style:none;padding:0;margin:0;border-top:1px solid var(--linea)}
.ev{display:grid;gap:.25rem 2rem;padding:1.4rem 0;border-bottom:1px solid var(--linea)}
@media (min-width:700px){.ev{grid-template-columns:13rem 1fr}}
.ev-mese{margin:0;font-family:var(--display);font-weight:300;font-size:1.5rem;line-height:1.2;color:var(--rosa-profondo)}
.ev h3{font-size:1.3rem;margin:0}
.ev-luogo{margin:.1rem 0 .4rem;font-size:.85rem;letter-spacing:.04em;color:var(--malva)}
.ev-testo{margin:0;max-width:65ch}
/* chiusura */
.guida-chiusura{display:grid;gap:1.5rem}
@media (min-width:880px){.guida-chiusura{grid-template-columns:1fr 1fr;align-items:stretch}}
.gc-nota,.gc-cta{border-radius:var(--raggio-scheda);padding:1.6rem 1.5rem}
.gc-nota{border:1px solid var(--linea)}
.gc-nota h2,.gc-cta h2{font-size:1.4rem;margin:0 0 .6rem}
.gc-nota p{margin:0;color:var(--malva);font-size:.98rem}
.gc-cta{background:#fff;border:1px solid var(--linea);border-top:3px solid var(--rosa-sogno)}
.gc-cta p{margin:0 0 1.1rem}

/* Pagine legali */
.legale{padding-top:2.5rem!important}
.legale h2{font-size:1.45rem;margin:2.25rem 0 .6rem}
.legale p,.legale li{max-width:70ch}
.legale-agg{color:var(--malva);font-size:.95rem}
.legale-lingua{font-size:.9rem;color:var(--malva);border-left:var(--linea-sottile) solid var(--rosa-sogno);padding-left:.85rem}
html[lang="it"] .legale-lingua{display:none}
.tabella-scorre{overflow-x:auto;margin:1rem 0}
.tabella-legale{border-collapse:collapse;width:100%;min-width:560px;font-size:.92rem;background:#fff}
.tabella-legale th,.tabella-legale td{text-align:left;vertical-align:top;padding:.65rem .75rem;border:1px solid var(--linea)}
.tabella-legale th{font-family:var(--display);font-weight:400;background:var(--perla)}
.legale code{font-size:.88em;background:var(--perla);padding:.1em .35em;border-radius:4px}

/* Consenso mappa e banner (Sabato e Grim, 4 novembre) */
.mappa-consenso{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;text-align:center;background:linear-gradient(180deg,#2B1D2A,#4A2F45);color:var(--testo-sera)}
.mh-scheda{z-index:2}
@media (min-width:880px){.mh-scheda{top:6.5rem!important}}
.mappa-consenso[hidden]{display:none}
.mappa-consenso p{margin:0;max-width:38ch;font-size:.95rem}
.mappa-consenso a{color:var(--rosa-cipria);font-size:.9rem;display:inline-block;padding:.4rem .5rem}
.mc-si{font:inherit;font-weight:500;min-height:48px;padding:0 1.4rem;border-radius:var(--raggio-pillola);border:0;background:var(--rosa-cipria);color:var(--notte);cursor:pointer}
.mc-si:hover{background:#fff}
.banner-cookie{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:0 .75rem calc(.75rem + env(safe-area-inset-bottom))}
.banner-cookie[hidden]{display:none}
.bc-interno{position:relative;max-width:960px;margin:0 auto;background:var(--notte);color:var(--testo-sera);border:1px solid var(--linea-sera);border-top:3px solid var(--rosa-cipria);border-radius:var(--raggio-scheda);padding:1.1rem 3rem 1.1rem 1.25rem;box-shadow:0 -8px 30px rgba(20,12,20,.35)}
.bc-titolo{margin:0 0 .35rem;font-family:var(--display);font-size:1.2rem;color:var(--perla)}
.bc-testo{margin:0 0 .9rem;font-size:.92rem;line-height:1.5;color:var(--testo-secondario-sera)}
.bc-testo a{color:var(--rosa-cipria)}
.bc-azioni{display:flex;gap:.75rem;flex-wrap:wrap}
.bc-azioni button{flex:1 1 9rem;font:inherit;font-weight:500;min-height:48px;border-radius:var(--raggio-pillola);cursor:pointer;border:1.5px solid var(--rosa-cipria);background:transparent;color:var(--perla)}
/* Accetta e Rifiuta con lo stesso peso visivo (Linee guida Garante 2021) */
.bc-chiudi{position:absolute;top:.35rem;right:.35rem;width:44px;height:44px;border:0;background:transparent;color:var(--perla);font-size:1.6rem;line-height:1;cursor:pointer}
.banner-cookie :focus-visible{outline:2px solid var(--rosa-cipria);outline-offset:3px}
/* Banner e riquadro mappa: i pulsanti restano sempre dentro il riquadro */
.bc-interno{box-sizing:border-box;width:100%}
.bc-azioni,.bc-testo{min-width:0}
.bc-azioni button{min-width:0;max-width:100%;padding:.45rem 1rem;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
.mappa-consenso{overflow:auto}
.mc-si{max-width:100%;padding:.5rem 1.4rem;line-height:1.2;white-space:normal;overflow-wrap:anywhere}
@media (min-width:880px){.bc-interno{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 2rem;align-items:center}.bc-titolo{grid-column:1}.bc-testo{grid-column:1;margin:0}.bc-azioni{grid-column:2;grid-row:1/3;flex-wrap:nowrap}.bc-azioni button{flex:0 0 9rem}}
body.con-banner .barra{display:none}
.apri-preferenze{font:inherit;font-size:inherit;color:inherit;background:none;border:0;padding:0;text-decoration:underline;cursor:pointer}

/* Come arrivare (Grim, 4 novembre): quattro schede, il dato principale in grande */
.arrivo-intro{max-width:60ch;margin:0 0 2rem}
.arrivo-griglia{display:grid;gap:1.25rem}
@media (min-width:700px){.arrivo-griglia{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.arrivo-griglia{grid-template-columns:repeat(4,1fr)}}
.arrivo-card{background:#fff;border:1px solid var(--linea);border-top:3px solid var(--rosa-sogno);border-radius:var(--raggio-scheda);padding:1.4rem 1.35rem}
.arrivo-card h3{margin:0;font-family:var(--display);font-style:italic;font-weight:400;font-size:1.05rem;color:var(--rosa-profondo)}
.arrivo-grande{margin:.15rem 0 .7rem;font-family:var(--display);font-weight:300;font-size:clamp(1.7rem,3.5vw,2.1rem);line-height:1.15;color:var(--inchiostro)}
.arrivo-card p{margin:0;font-size:.95rem;line-height:1.5}
.arrivo-card .arrivo-grande{font-size:clamp(1.7rem,3.5vw,2.1rem)}
.arrivo-lista{list-style:none;padding:0;margin:.6rem 0 0}
.arrivo-lista li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--linea);font-size:.95rem}
.arrivo-lista li:last-child{border-bottom:0}
.arrivo-lista b{font-weight:600;white-space:nowrap}

.lingue button{min-height:44px}
/* Revisione Grim 4 novembre: dopo l'onda «verso sera» lo stesso respiro che dopo l'onda «verso giorno» */
.verso-sera + section:not(.spa):not(.mappa-home){padding-top:56px}
.verso-sera + section.spa{padding-top:40px}
main:has(> .verso-sera:last-child) + footer .piede{padding-top:calc(3.5rem + 56px)!important}
@media (min-width:880px){.verso-sera + section:not(.spa):not(.mappa-home){padding-top:90px}.verso-sera + section.spa{padding-top:0}
  main:has(> .verso-sera:last-child) + footer .piede{padding-top:calc(3.5rem + 90px)!important}}

/* Revisione 4 novembre (procedi): banner compatto su smartphone, carosello meno alto, velo solo in basso */
.bc-breve{display:none}
@media (max-width:879px){
  .bc-breve{display:inline}.bc-lungo{display:none}
  .bc-interno{padding:.9rem 2.75rem .9rem 1rem}
  .bc-titolo{font-size:1.05rem;margin-bottom:.2rem}
  .bc-testo{margin-bottom:.7rem}
  .bc-azioni button{flex:1 1 0;min-height:44px}
  .intero .slide img{height:min(70vh,82vw)}
}
.quadro::after{background:linear-gradient(180deg,rgba(43,29,42,0) 50%,rgba(43,29,42,.72) 100%)}

/* Planimetria (Grim, 4 novembre) */
.planimetria{display:grid;gap:2rem;align-items:center}
@media (min-width:880px){.planimetria{grid-template-columns:1fr 1.05fr;gap:3.5rem}}
.planimetria + .blocco{padding-top:0!important}
.pl-lista{counter-reset:p;list-style:none;padding:0;margin:1.25rem 0 0}
.pl-lista li{counter-increment:p;display:flex;gap:.9rem;align-items:baseline;padding:.55rem 0;border-bottom:1px solid var(--linea)}
.pl-lista li::before{content:counter(p,decimal-leading-zero);font-family:var(--display);font-weight:300;color:var(--rosa-sogno);min-width:1.6rem}
.pl-figura{margin:0;justify-self:center;width:min(100%,520px)}
.pl-figura img{width:100%;height:auto;border-radius:var(--raggio-foto);outline:var(--linea-sottile) solid var(--rosa-sogno);outline-offset:10px;background:#F3E7DC}
.pl-figura figcaption{margin-top:1.25rem;font-size:.88rem;color:var(--malva);text-align:center}

/* ===== Casa interattiva (Progetto 3D animato, 8 novembre) ===== */
.esplora3d .pl-figura.casa3d{width:min(100%,620px);position:relative}
.casa3d .c3-intro{text-align:center;margin:0 0 1.25rem}
.casa3d .c3-titolo{font-family:var(--display);font-weight:300;font-size:clamp(1.9rem,4.5vw,2.6rem);line-height:1.1;margin:0;color:var(--inchiostro)}
.casa3d .c3-sotto{margin:.4rem 0 0;color:var(--malva);font-size:1rem}
.c3-scena{position:relative;perspective:1600px;border-radius:var(--raggio-scheda);overflow:hidden;background:#F3E7DC;
  outline:var(--linea-sottile) solid var(--glicine);outline-offset:10px}
.c3-tilt{transform:translate(var(--tx,0),var(--ty,0)) rotateX(var(--rx,0)) rotateY(var(--ry,0));
  transition:transform .6s cubic-bezier(.2,.7,.2,1);will-change:transform}
.c3-piano{position:relative;transform-origin:0 0}
.c3-piano img{display:block;width:100%;height:auto;border-radius:0;outline:none!important;background:none}
.c3-piano svg{position:absolute;inset:0;width:100%;height:100%}
.c3-luci{pointer-events:none;mix-blend-mode:screen}
.c3-l{opacity:0;transition:opacity 1.6s ease}
.visibile .c3-l{opacity:1}
.visibile .c3-l-viola{animation:c3respiro 7s ease-in-out 2.4s infinite alternate}
@keyframes c3respiro{from{opacity:.65}to{opacity:1}}
.c3-buio{pointer-events:none;opacity:0;transition:opacity .45s ease}
.c3-buio path{fill:rgba(28,16,28,.62)}
.c3-scelta .c3-buio{opacity:1}
/* zone cliccabili: invisibili finché non si passa sopra */
.c3-zona{cursor:pointer;outline:none}
.c3-zona polygon{fill:rgba(196,178,217,0);stroke:rgba(196,178,217,0);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round;
  transition:fill .35s ease,stroke .35s ease,filter .35s ease}
.c3-zona.on polygon,.c3-zona:focus-visible polygon{fill:rgba(185,140,240,.16);stroke:#C4B2D9;filter:drop-shadow(0 0 10px rgba(185,140,240,.8))}
.c3-zona:focus-visible polygon{stroke:#fff;stroke-width:3.5}
.c3-scelta .c3-zona.on polygon{fill:rgba(185,140,240,.08)}
/* indicatori sulle stanze */
.c3-pins{position:absolute;inset:0;pointer-events:none}
.c3-pin{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:.35rem;opacity:0}
.c3-pin i{width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 0 4px rgba(185,140,240,.45),0 2px 10px rgba(43,29,42,.35);position:relative}
.c3-pin i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid rgba(255,255,255,.9);opacity:0}
.visibile .c3-pin{animation:c3pin .6s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(1.7s + var(--i) * .09s)}
.visibile .c3-pin i::after{animation:c3onda 2.6s ease-out calc(2.6s + var(--i) * .2s) 3}
@keyframes c3pin{from{opacity:0;transform:translate(-50%,-30%)}to{opacity:1;transform:translate(-50%,-50%)}}
@keyframes c3onda{0%{transform:scale(1);opacity:.9}100%{transform:scale(2.6);opacity:0}}
.c3-pin b{font-family:var(--sans);font-weight:500;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;
  background:rgba(43,29,42,.88);color:#F4ECE8;padding:.3rem .65rem;border-radius:var(--raggio-pillola);opacity:0;transform:translateY(4px);transition:opacity .25s,transform .25s}
.c3-pin.on b{opacity:1;transform:none}
.c3-pin.on i{background:#C4B2D9}
.c3-scelta .c3-pin:not(.on){opacity:0!important;transition:opacity .3s}
/* comparsa iniziale: dissolvenza e lento avvicinamento */
.casa3d.js3d .c3-intro,.casa3d.js3d .c3-hint{opacity:0;transform:translateY(10px)}
.casa3d.js3d .c3-scena{opacity:0;transform:scale(.94)}
.casa3d:not(.js3d) .c3-pin{opacity:1}
.casa3d:not(.js3d) .c3-hint{display:none}
.casa3d.visibile .c3-scena{animation:c3entra 2s cubic-bezier(.2,.7,.2,1) forwards}
.casa3d.visibile .c3-piano img{animation:c3zoom 3.2s cubic-bezier(.2,.7,.2,1) forwards}
.casa3d.visibile .c3-intro{animation:c3su .9s ease-out 1.2s forwards}
.casa3d.visibile .c3-hint{animation:c3su .9s ease-out 2.3s forwards}
@keyframes c3entra{to{opacity:1;transform:none}}
@keyframes c3zoom{from{transform:scale(1.07)}to{transform:none}}
@keyframes c3su{to{opacity:1;transform:none}}
.c3-hint{display:flex;align-items:center;justify-content:center;gap:.6rem;margin:1.5rem 0 0;font-size:.95rem;color:var(--inchiostro)}
.c3-dito{width:10px;height:10px;border-radius:50%;background:var(--rosa-sogno);box-shadow:0 0 0 0 rgba(201,95,112,.5)}
.visibile .c3-dito{animation:c3polso 2s ease-out 2.6s 4}
@keyframes c3polso{0%{box-shadow:0 0 0 0 rgba(201,95,112,.5)}100%{box-shadow:0 0 0 12px rgba(201,95,112,0)}}
.c3-hint-clic{display:none}
@media (hover:hover) and (pointer:fine){.c3-hint-clic{display:inline}.c3-hint-tocca{display:none}}
.casa3d figcaption{margin-top:1rem!important}
.c3-lista-intro{margin:1.5rem 0 0;font-size:.95rem;color:var(--malva)}
.c3-voce{display:block;flex:1;color:inherit;text-decoration:none;padding:.15rem 0;min-height:32px}
.c3-voce::after{content:" →";color:var(--rosa-sogno);opacity:0;transition:opacity .2s}
.c3-voce:hover::after,.c3-voce:focus-visible::after{opacity:1}
.c3-voce:hover{color:var(--rosa-profondo)}
.esplora3d .pl-lista{margin-top:.5rem}

/* ===== Scheda della stanza ===== */
html.c3-aperta{overflow:hidden}
html.c3-aperta .barra{display:none}
.c3-stanza{position:fixed;inset:0;z-index:200;background:var(--notte);color:var(--testo-sera);display:grid;
  grid-template-rows:minmax(0,54svh) minmax(0,1fr) auto;grid-template-areas:"palco" "pannello" "nav"}
.c3-stanza[hidden]{display:none}
.c3-palco{grid-area:palco;position:relative;overflow:hidden;touch-action:pan-y;background:#1d131c}
.c3-foto{position:absolute;inset:0;transform-origin:50% 50%}
.c3-foto.kb{animation:c3kb 14s ease-out forwards}
@keyframes c3kb{from{transform:scale(1.06)}to{transform:scale(1)}}
.c3-foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .65s ease}
.c3-foto img.on{opacity:1}
.c3-punti-foto{position:absolute;inset:0;pointer-events:none}
.c3-tinta{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .8s ease,background .8s ease;mix-blend-mode:soft-light;
  background:radial-gradient(ellipse 60% 45% at 45% 10%,var(--c3c) 0%,transparent 70%),linear-gradient(var(--c3c),var(--c3c))}
.c3-tinta.vis{opacity:.75}
.c3-hs{position:absolute;pointer-events:auto;width:44px;height:44px;margin:-22px 0 0 -22px;border:0;padding:0;background:none;cursor:pointer;border-radius:50%}
.c3-hs i{position:absolute;inset:13px;border-radius:50%;background:rgba(255,255,255,.95);box-shadow:0 0 0 5px rgba(196,178,217,.45),0 2px 12px rgba(0,0,0,.4);transition:transform .25s}
.c3-hs i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:1.5px solid #fff;animation:c3onda 2.4s ease-out infinite}
.c3-hs:hover i,.c3-hs.sel i{transform:scale(1.25);background:#C4B2D9}
.c3-hs:focus-visible{outline:2px solid #fff;outline-offset:2px}
.c3-freccia{position:absolute;top:50%;width:44px;height:44px;margin-top:-22px;border-radius:50%;border:1px solid rgba(255,255,255,.4);
  background:rgba(43,29,42,.55);color:#fff;cursor:pointer;display:grid;place-items:center;backdrop-filter:blur(6px)}
.c3-freccia svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8}
.c3-fprec{left:12px}.c3-fsucc{right:12px}
.c3-freccia:hover{background:rgba(43,29,42,.8)}
.c3-puntini{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:6px}
.c3-puntini i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.45);transition:width .3s,background .3s}
.c3-puntini i.on{width:18px;border-radius:3px;background:#fff}
.c3-pannello{grid-area:pannello;overflow:auto;padding:1.25rem 1.25rem 1.5rem;overscroll-behavior:contain}
.c3-occhiello{margin:0;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--glicine)}
#c3Titolo{font-family:var(--display);font-weight:300;font-size:clamp(1.8rem,5vw,2.5rem);line-height:1.1;margin:.3rem 0 .6rem;color:#fff;outline:none}
.c3-descr{margin:0 0 1.1rem;color:var(--testo-secondario-sera)}
.c3-sottot{margin:1rem 0 .55rem;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--testo-secondario-sera)}
.c3-elenco{display:flex;flex-wrap:wrap;gap:.5rem}
.c3-voce-punto,.c3-chips button,.c3-vai{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.45rem .9rem;border-radius:var(--raggio-pillola);
  border:1px solid var(--linea-sera);background:rgba(255,255,255,.04);color:var(--testo-sera);font:inherit;font-size:.95rem;cursor:pointer;transition:background .2s,border-color .2s}
.c3-voce-punto i{width:8px;height:8px;border-radius:50%;background:var(--glicine)}
.c3-voce-punto:hover,.c3-voce-punto[aria-pressed="true"],.c3-chips button[aria-pressed="true"]{border-color:var(--glicine);background:rgba(196,178,217,.14)}
.c3-scheda{position:relative}
.c3-scheda.on{margin-top:1rem;padding:1rem 2.75rem 1rem 1.1rem;border-left:2px solid var(--glicine);background:rgba(255,255,255,.05);border-radius:0 var(--raggio-scheda) var(--raggio-scheda) 0;
  animation:c3scheda .5s cubic-bezier(.2,.7,.2,1)}
@keyframes c3scheda{from{opacity:0;transform:translateX(-10px)}to{opacity:1;transform:none}}
.c3-scheda h3{font-family:var(--display);font-weight:400;font-size:1.3rem;margin:0 0 .35rem;color:#fff}
.c3-scheda p{margin:0;color:var(--testo-sera)}
.c3-scheda .c3-vai{margin-top:.8rem}
.c3-chiudi-scheda{position:absolute;top:.4rem;right:.4rem;width:40px;height:40px;border:0;background:none;color:var(--testo-secondario-sera);font-size:1.5rem;cursor:pointer;border-radius:50%}
.c3-chiudi-scheda:hover{color:#fff}
.c3-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.c3-chips i{width:14px;height:14px;border-radius:50%;border:1px solid rgba(255,255,255,.5)}
.c3-nota{margin:.6rem 0 0;font-size:.85rem;color:var(--testo-secondario-sera)}
.c3-wa{margin-top:1.4rem}
.c3-stanza :focus-visible{outline:2px solid #fff;outline-offset:3px}
.c3-nav{grid-area:nav;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.6rem .75rem calc(.6rem + env(safe-area-inset-bottom));
  border-top:1px solid var(--linea-sera);background:rgba(36,26,36,.98)}
.c3-nav button{min-height:44px;padding:.4rem .8rem;border:0;background:none;color:var(--testo-sera);font:inherit;font-size:.95rem;cursor:pointer;border-radius:var(--raggio-pillola)}
.c3-nav button:hover{background:rgba(255,255,255,.07)}
.c3-menu{position:relative}
.c3-menu-btn{border:1px solid var(--linea-sera)!important}
.c3-menu ul{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translateX(-50%);list-style:none;margin:0;padding:.4rem;min-width:240px;
  background:var(--velluto);border:1px solid var(--linea-sera);border-radius:var(--raggio-scheda);box-shadow:0 18px 40px rgba(0,0,0,.4)}
.c3-menu ul[hidden]{display:none}
.c3-menu li button{width:100%;text-align:left;border-radius:6px}
.c3-menu li button[aria-current="true"]{color:var(--glicine)}
.c3-breve{display:none}
.c3-nav button{white-space:nowrap}
@media (max-width:560px){.c3-lungo{display:none}.c3-breve{display:inline}}
.c3-torna,.c3-succ{min-width:44px}
@media (min-width:880px){
  .c3-stanza{grid-template-columns:minmax(0,1fr) 420px;grid-template-rows:minmax(0,1fr) auto;grid-template-areas:"palco pannello" "nav nav"}
  .c3-pannello{padding:2.5rem 2rem;display:flex;flex-direction:column;border-left:1px solid var(--linea-sera)}
  .c3-wa{align-self:flex-start}
  .c3-nav{padding:.75rem 1.5rem}
  .c3-fprec{left:20px}.c3-fsucc{right:20px}
}
/* movimento ridotto: tutto resta usabile, senza animazioni */
@media (prefers-reduced-motion:reduce){
  .casa3d .c3-intro,.casa3d .c3-hint,.casa3d .c3-scena,.c3-pin{opacity:1!important;transform:none!important;animation:none!important}
  .c3-pin{transform:translate(-50%,-50%)!important}
  .c3-piano img,.c3-foto.kb,.c3-hs i::after,.c3-pin i::after,.c3-l,.c3-dito{animation:none!important}
  .c3-l{opacity:1}
  .c3-tilt{transition:none;transform:none!important}
  .c3-scheda.on{animation:none}
}

/* Menu su smartphone (Grim, 6 novembre): barra in basso con Menu a sinistra + pannello dal basso */
.barra-menu{display:inline-flex;align-items:center;gap:.5rem;flex:0 0 auto;font:inherit;font-size:.95rem;font-weight:500;color:var(--inchiostro);background:#fff;border:1px solid var(--linea);border-radius:var(--raggio-pillola);min-height:48px;padding:0 1rem;cursor:pointer}
.barra-menu:focus-visible{outline:3px solid var(--rosa-sogno);outline-offset:2px}
.barra .wa{min-width:0;padding:0 1rem;font-size:.95rem;white-space:nowrap}
.barra.senza-wa .wa{display:none}
.barra small{display:none}
.menu-bottone{display:inline-flex}
@media (min-width:880px){.sito .menu-bottone{display:none}}
.fm-fondo{position:fixed;inset:0;z-index:70;background:rgba(36,26,36,.55);opacity:0;transition:opacity .25s ease}
.fm-fondo.aperto{opacity:1}
.foglio-menu{position:fixed;left:0;right:0;bottom:0;z-index:71;max-height:88vh;overflow-y:auto;overscroll-behavior:contain;background:var(--notte);color:var(--testo-sera);border-top:3px solid var(--rosa-cipria);border-radius:20px 20px 0 0;padding:.5rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom));transform:translateY(105%);transition:transform .26s cubic-bezier(.2,.8,.2,1);box-shadow:0 -12px 40px rgba(20,12,20,.4)}
.foglio-menu.aperto{transform:none}
.foglio-menu[hidden],.fm-fondo[hidden]{display:none}
html.foglio-aperto,html.foglio-aperto body{overflow:hidden}
.fm-maniglia{width:44px;height:4px;border-radius:2px;background:var(--linea-sera);margin:.35rem auto .6rem}
.fm-testa{display:flex;align-items:center;justify-content:space-between}
.fm-titolo{margin:0;font-family:var(--display);font-style:italic;font-size:1.05rem;color:var(--rosa-cipria)}
.fm-chiudi{width:44px;height:44px;border:0;background:transparent;color:var(--perla);font-size:1.7rem;line-height:1;cursor:pointer;margin-right:-.6rem}
.fm-voci{list-style:none;padding:0;margin:.25rem 0 1rem}
.fm-voci li+li{border-top:1px solid var(--linea-sera)}
.fm-voci a{display:flex;align-items:center;gap:.9rem;min-height:60px;padding:.55rem .25rem;color:var(--perla);text-decoration:none}
.fm-n{font-family:var(--display);font-weight:300;font-size:1.05rem;color:var(--rosa-cipria);min-width:1.6rem}
.fm-testi{display:flex;flex-direction:column;flex:1;min-width:0}
.fm-nome{font-family:var(--display);font-size:1.3rem;line-height:1.2}
.fm-desc{font-size:.85rem;color:var(--testo-secondario-sera);margin-top:.1rem}
.fm-freccia{width:20px;height:20px;color:var(--testo-secondario-sera);flex:0 0 auto}
.fm-voci a[aria-current] .fm-nome{color:var(--rosa-cipria)}
.fm-voci a[aria-current] .fm-freccia{opacity:0}
.fm-voci a[aria-current]{position:relative}
.fm-voci a[aria-current]::before{content:"";position:absolute;left:-1.25rem;top:22%;bottom:22%;width:3px;border-radius:0 3px 3px 0;background:var(--rosa-cipria)}
.fm-voci a:focus-visible,.fm-chiudi:focus-visible{outline:2px solid var(--rosa-cipria);outline-offset:2px}
.fm-lingue{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid var(--linea-sera)}
.fm-lingua-t{font-size:.85rem;color:var(--testo-secondario-sera)}
/* Elenco degli ambienti: una riga per voce anche sui telefoni più stretti (9/11) */
@media (max-width:359px){.pl-lista li{font-size:.92em}}
/* Menu in basso a sinistra anche su computer (richiesta di Mario, 9/11): solo il pulsante Menu, il pannello si apre sopra */
@media (min-width:880px){
.barra{display:flex;left:1.25rem;right:auto;bottom:1.25rem;padding:0;background:none;border:0;transform:translateY(calc(100% + 2rem))}
.barra.visibile{transform:none}
.barra .wa{display:none}
.barra-menu{box-shadow:0 6px 20px rgba(36,26,36,.18)}
.barra-menu:hover{border-color:var(--rosa-sogno)}
.fm-fondo{background:rgba(36,26,36,.35)}
.foglio-menu{left:1.25rem;right:auto;bottom:1.25rem;width:min(420px,calc(100vw - 2.5rem));max-height:calc(100vh - 2.5rem);border:1px solid var(--linea-sera);border-top:3px solid var(--rosa-cipria);border-radius:20px;padding-bottom:1.25rem;transform:translateY(calc(100% + 2rem))}
.foglio-menu.aperto{transform:none}
.fm-maniglia{display:none}
.fm-voci a:hover .fm-nome{color:var(--rosa-cipria)}
}
@media (prefers-reduced-motion:reduce){.foglio-menu,.fm-fondo{transition:none}}
/* dal 9/11 il pannello del Menu si usa anche su computer */

/* ===== Dicono di noi (Grim, 12/11, seconda versione) ===== */
.vh{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* Valutazioni: due fasce una sotto l'altra, con un quadrante a tacche */
.pg-pila{display:grid;gap:1.5rem;max-width:1000px}
.pg-banda{display:grid;gap:1.5rem 2.5rem;align-items:center;background:#fff;border:1px solid var(--linea);border-radius:var(--raggio-scheda);padding:1.75rem 1.35rem}
@media (min-width:760px){.pg-banda{grid-template-columns:230px 1fr;padding:2rem 2.25rem}}
.pg-quadrante{position:relative;width:min(230px,70vw);aspect-ratio:1;justify-self:center}
.pg-tacche{width:100%;height:100%;display:block}
.pg-tacche line{stroke-width:2;stroke-linecap:round}
.pg-tacche line.lunga{stroke-width:2.6}
.pg-tacche .on{stroke:var(--rosa-sogno)}
.pg-tacche .off{stroke:var(--linea)}
.pg-anello{fill:var(--perla);stroke:var(--linea);stroke-width:1}
.pg-centro{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.pg-voto{font-family:var(--display);font-weight:300;font-size:clamp(2.6rem,9vw,3.4rem);line-height:1;color:var(--rosa-sogno);font-variant-numeric:lining-nums}
.pg-su{margin-top:.35rem;font-size:.9rem;letter-spacing:.02em;color:var(--malva)}
.pg-nome{margin:0;font-family:var(--display);font-weight:400;font-size:1.7rem;color:var(--inchiostro)}
.pg-n{margin:.15rem 0 .9rem;font-weight:500;color:var(--rosa-profondo)}
.pg-nota{margin:0 0 1rem;font-size:.95rem;line-height:1.5;padding-left:.85rem;border-left:var(--linea-sottile) solid var(--rosa-sogno);color:var(--malva);max-width:60ch}
.pg-cat{list-style:none;padding:0;margin:0 0 1.25rem;display:grid;gap:0 2rem}
@media (min-width:560px){.pg-cat{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.pg-cat{grid-template-columns:repeat(3,1fr)}}
.pg-cat li{display:flex;align-items:baseline;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--linea);font-size:.95rem}
.pg-cat li::after{content:"";order:1;flex:1;border-bottom:1px dotted var(--linea);transform:translateY(-.3em)}
.pg-cat b{order:2;font-weight:500;font-variant-numeric:tabular-nums}
.pg-link::after{content:"↗";margin-left:.45rem;font-size:.9em}
.pg-link{white-space:nowrap}
@media (max-width:420px){.pg-link{font-size:.95rem;padding:0 1.1rem}}
.pg-data{margin:1.5rem 0 0;max-width:62ch;font-size:.92rem;color:var(--malva)}
/* Il globo delle parole */
.parole{background:var(--notte);color:var(--testo-sera);position:relative;overflow:hidden}
.parole .blocco{position:relative}
.parole h2{color:var(--perla)}
.parole .gs-testa .testo{color:var(--testo-secondario-sera)}
.globo{position:relative;width:min(100%,640px);aspect-ratio:1;margin:0 auto}
.globo::before{content:"";position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle at 50% 45%,rgba(196,178,217,.16),rgba(43,29,42,0) 68%);pointer-events:none}
.globo canvas{position:absolute;inset:0;width:100%;height:100%}
.pr-cielo{list-style:none;padding:0;margin:0;position:absolute;inset:0}
.pr-cielo li{position:absolute;left:50%;top:50%;display:inline-flex;align-items:flex-start;gap:.3rem;white-space:nowrap;font-family:var(--display);font-weight:300;line-height:1.1;font-size:calc(1.05rem + var(--peso) * 1.5rem);color:var(--rosa-cipria);text-shadow:0 0 18px rgba(43,29,42,.9);will-change:transform,opacity}
.pr-cielo li:nth-child(even){color:var(--glicine)}
.pr-n{font-family:var(--sans);font-size:.75rem;font-weight:500;color:var(--perla);margin-top:.1em;padding:.05rem .4rem;border:1px solid var(--linea-sera);border-radius:var(--raggio-pillola);background:rgba(43,29,42,.6)}
@media (min-width:760px){.pr-cielo li{font-size:calc(1.35rem + var(--peso) * 2.2rem)}}
/* senza JavaScript: parole sparse ma ferme */
.globo:not(.vivo) li:nth-child(1){transform:translate(-60%,-170%)} .globo:not(.vivo) li:nth-child(2){transform:translate(-110%,-20%)}
.globo:not(.vivo) li:nth-child(3){transform:translate(10%,60%)} .globo:not(.vivo) li:nth-child(4){transform:translate(-95%,190%)}
.globo:not(.vivo) li:nth-child(5){transform:translate(40%,-120%)} .globo:not(.vivo) li:nth-child(6){transform:translate(-30%,300%)}
/* Il libro degli ospiti */
.libro .gs-testa{margin-bottom:1.5rem}
.lb-pagine{list-style:none;margin:0 -1.25rem;padding:.5rem 1.25rem 1rem;display:grid;grid-auto-flow:column;grid-auto-columns:88%;gap:1rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 1.25rem;scrollbar-width:none;position:relative}
.lb-pagine::-webkit-scrollbar{display:none}
@media (min-width:760px){.lb-pagine{grid-auto-columns:calc(50% - .75rem);gap:1.5rem;margin:0;padding:.5rem 0 1rem;scroll-padding:0}}
.lb-pagina{scroll-snap-align:start;display:flex;flex-direction:column;background:#fff;border:1px solid var(--linea);border-radius:var(--raggio-scheda);padding:1.4rem 1.35rem 1.25rem;position:relative}
.lb-testa{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}
.lb-tema{font-size:.82rem;font-weight:500;letter-spacing:.02em;color:var(--rosa-profondo);border:1px solid var(--rosa-cipria);border-radius:var(--raggio-pillola);padding:.2rem .7rem}
.lb-num{font-family:var(--display);font-weight:300;font-size:1.3rem;color:var(--rosa-sogno)}
.lb-titolo{position:relative;margin:0 0 .5rem;font-family:var(--display);font-style:italic;font-size:1.25rem;line-height:1.3;color:var(--inchiostro)}
.lb-testo{position:relative;margin:0 0 1.25rem;font-size:1rem;line-height:1.6;color:var(--inchiostro)}
.lb-testo p{margin:0}
.lb-firma{margin-top:auto;display:grid;grid-template-columns:1fr auto;align-items:end;gap:.1rem 1rem;padding-top:.9rem;border-top:1px solid var(--linea)}
.lb-nome{font-family:var(--display);font-style:italic;font-size:1.2rem;color:var(--rosa-profondo)}
.lb-meta{grid-column:1;font-size:.85rem;color:var(--malva)}
.lb-fonte{grid-column:2;grid-row:1 / span 2;display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;font-size:.82rem;color:var(--malva)}
.lb-stelle{display:inline-flex;gap:2px}
.lb-stelle svg{width:14px;height:14px;fill:var(--rosa-sogno)}
.lb-dieci{font-family:var(--display);font-size:1rem;color:#fff;background:var(--rosa-profondo);border-radius:6px;padding:.05rem .45rem}
.lb-comandi{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1rem}
.lb-comandi>button{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--rosa-profondo);background:#fff;color:var(--rosa-profondo);cursor:pointer}
.lb-comandi>button svg{width:22px;height:22px}
.lb-succ svg{transform:scaleX(-1)}
.lb-comandi>button:disabled{opacity:.35;cursor:default}
.lb-punti{display:flex;gap:.15rem}
.lb-punti button{width:24px;height:44px;padding:0;border:0;background:none;cursor:pointer;position:relative}
.lb-punti button::before{content:"";position:absolute;left:50%;top:50%;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:var(--linea);transition:transform .2s,background .2s}
.lb-punti button[aria-current="true"]::before{background:var(--rosa-sogno);transform:scale(1.35)}
@media (max-width:420px){.lb-punti button{width:18px}}

/* Globo interattivo e filtro del libro (12/11) */
@media (min-width:960px){.parole .blocco{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:center;gap:2rem 3rem}.parole .gs-testa{margin:0}}
.pr-aiuto{margin:1rem 0 0;padding-left:.85rem;border-left:var(--linea-sottile) solid var(--rosa-cipria);font-size:.95rem;color:var(--testo-secondario-sera)}
.globo{touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.globo.trascina{cursor:grabbing}
.pr-btn{display:inline-flex;align-items:flex-start;gap:.3rem;font:inherit;color:inherit;background:none;border:0;padding:.25rem .4rem;border-radius:10px;cursor:pointer;line-height:inherit}
.pr-btn:hover .pr-parola,.pr-btn[aria-pressed="true"] .pr-parola{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.18em}
.pr-btn[aria-pressed="true"]{background:rgba(231,166,177,.14);box-shadow:0 0 0 1px var(--rosa-cipria)}
.pr-btn:focus-visible{outline:2px solid var(--rosa-cipria);outline-offset:2px}
.lb-filtro{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin:0 0 1rem;font-size:.95rem;color:var(--malva)}
.lb-filtro b{font-weight:500;color:var(--rosa-profondo);border:1px solid var(--rosa-cipria);border-radius:var(--raggio-pillola);padding:.15rem .7rem}
.lb-tutte{font:inherit;font-weight:500;color:var(--rosa-profondo);background:none;border:0;padding:.5rem .25rem;text-decoration:underline;cursor:pointer;min-height:44px}
.lb-pagina[hidden]{display:none}
.lb-filtro[hidden]{display:none}
.gi-nota{margin:1rem 0 0;max-width:74ch;font-size:.92rem;color:var(--malva);padding-left:.85rem;border-left:var(--linea-sottile) solid var(--rosa-sogno)}

/* Righe più larghe su computer (Grim, 12/11): niente a capo inutili quando lo spazio c'è */
@media (min-width:1000px){
  .testata-testo .intro{max-width:76ch}
  .testata-centrata .intro{max-width:62ch}
  .gs-testa{max-width:74ch}
  .testo{max-width:74ch}
  .ev-testo{max-width:78ch}
}
main p,main li,.testata-testo p{text-wrap:pretty}
main h1,main h2,main h3{text-wrap:balance}

/* Pagina 404 */
.pagina-404{text-align:center}
.elenco-404{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1.25rem}
.elenco-404 a{display:inline-block;padding:.4rem .25rem}
