/* Il fondo scuro va dichiarato qui, nella testa del documento, e sull'elemento <html>
   non solo sul <body>: il foglio di stile principale viene caricato dopo, e finché non
   arriva — o nei momenti in cui il body non copre tutta la finestra, come all'apertura
   di una sottopagina su Safari — a dipingere lo sfondo resta <html>, che di suo è bianco.
   Era quello il lampo bianco all'apertura di Nozze. */
html,body{background:#080808;max-width:100%}
/* "overscroll-behavior:none" sulla radice va evitato: su WebKit — il motore di Safari —
   blocca del tutto lo scorrimento da rotellina e da dito. Verificato sui tre motori:
   togliendolo, Safari torna a scorrere. Il rimbalzo elastico resta disattivato dove
   serve davvero, cioè dentro le sottopagine, che sono contenitori separati. */
/* Niente overflow sull'elemento radice, né "hidden" né "clip".
   Provato sui tre motori: con "clip" su <html> WebKit — cioè Safari — accetta lo
   scorrimento da JavaScript ma rifiuta quello della rotellina e del dito, quindi la
   pagina risulta bloccata; con "hidden" era Chrome a perdere la rotellina.
   Lo scorrimento laterale è già impedito alla radice del problema: le righe che non
   andavano a capo ora vanno a capo, e le sottopagine hanno il loro taglio, essendo
   contenitori di scorrimento separati dove la regola non fa danni. */
body{overflow-x:visible;overflow-y:visible}
@supports not (overflow: clip){
  /* browser vecchi: si torna al metodo precedente, solo sul body */
  html{overflow-x:visible}
  body{overflow-x:hidden}
}
/* Solo il minimo per disegnare la schermata di caricamento: sta in testa perché deve
   comparire prima che scendano il megabyte di font e il foglio di stile principale. */
    /* ══ SCHERMATA DI CARICAMENTO ══
       Il file è grande e le fotografie arrivano dalla rete: invece di lasciar comporre la
       pagina a pezzi, il marchio tiene la scena finché non è pronta, poi dissolve.
       Nessuna barra di avanzamento: l'attesa dev'essere ferma, non ansiosa. */
    #boot{position:fixed;inset:0;z-index:99999;background:#040404;display:flex;flex-direction:column;
      align-items:center;justify-content:center;gap:2.1rem;
      transition:opacity 1s ease,visibility 0s linear 1s}
    #boot.done{opacity:0;visibility:hidden;pointer-events:none}
    /* In dissolvenza il marchio se ne va prima del fondo nero: altrimenti si sovrappone
       al logo del sito che sta comparendo sotto e sembra sdoppiato. */
    .boot-mark,.boot-word{transition:opacity .4s ease,transform .9s ease}
    #boot.done .boot-mark,#boot.done .boot-word{opacity:0;transform:scale(1.05)}
    .boot-mark{position:relative;width:clamp(112px,15vw,168px);aspect-ratio:1}
    .boot-mark svg{position:absolute;inset:0;width:100%;height:100%}
    .boot-rose{transform-origin:60px 60px;animation:bootSpin 5.5s cubic-bezier(.45,0,.55,1) infinite}
    .boot-ring{transform-origin:60px 60px;animation:bootRing 11s linear infinite}
    @keyframes bootSpin{to{transform:rotate(360deg)}}
    @keyframes bootRing{to{transform:rotate(-360deg)}}
    .boot-word{display:flex;flex-direction:column;align-items:center;gap:.55rem;
      opacity:0;animation:bootIn 1.1s .35s ease forwards}
    .boot-name{font-family:'EB Garamond',Georgia,serif;font-size:clamp(1.9rem,4vw,2.7rem);
      color:#fff;letter-spacing:.02em;line-height:1}
    .boot-sub{font-size:.58rem;letter-spacing:.42em;text-transform:uppercase;color:rgba(201,164,103,.78)}
    @keyframes bootIn{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}
    body.booting{overflow:hidden}
    @media(prefers-reduced-motion:reduce){
      .boot-rose,.boot-ring{animation:none}
      .boot-word{animation:none;opacity:1}
    }

/* Titolo di pagina riservato a Google e ai lettori di schermo: esiste nel
   documento ma non occupa spazio e non si vede. Serve dove la sezione non ha
   un titolo scritto (la mappa delle destinazioni, il pianificatore). */
.rv-titolo-seo{position:absolute!important;width:1px;height:1px;margin:-1px;
  padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
