body.strigoi {
  --nero-cripta: #000203;
  --cenere: #0D1114;
  --cenere-alta: #121619;
  --carne: #978E8C;
  --carne-ombra: #625552;
  --avorio: #ECE9E1;
  --avorio-fioco: #C9C4BA;
  --sangue: #620E1D;
  --sangue-vivo: #B1455A;
  --sangue-testo: #CC6076;
  --filo-sangue: #2A0509;
  --foschia: #343B44;
  --atmosfera: #343B44;
  background: var(--nero-cripta);
  color: var(--avorio);
}

.testata {
  position: relative;
  z-index: 3;
  padding: 16px var(--gronda);
  border-bottom: 1px solid var(--filo-sangue);
  background: var(--nero-cripta);
}
.testata .dentro { display: flex; align-items: center; gap: 14px; padding-inline: 0; flex-wrap: wrap; }
.testata .tasto--negozio { margin-left: auto; }
@media (max-width: 719px) {
  .testata a > span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .testata .tasto--negozio { min-height: 36px; padding: 7px 14px; font-size: 14px; }
}
.testata img { width: 42px; }
.testata a { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; color: var(--carne); font-size: 13px; letter-spacing: .12em; text-transform: uppercase; transition: color 200ms ease-out; }
.testata a:hover { color: var(--oro); }

.lume {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(130% 90% at 50% 26%, transparent 22%, rgba(0,0,0,.42) 62%, rgba(0,0,0,.88) 100%);
  animation: lume-trema 7.4s ease-in-out infinite;
}
@keyframes lume-trema {
  0%, 100% { opacity: .92; }
  31%      { opacity: .74; }
  44%      { opacity: .97; }
  67%      { opacity: .81; }
}

.battito {
  position: absolute;
  left: -14%;
  right: -14%;
  top: -18%;
  height: 96%;
  z-index: 0;
  pointer-events: none;
  background:
    radial-gradient(56% 50% at 50% 36%, rgba(52,59,68,.78), rgba(52,59,68,.30) 58%, transparent 76%),
    radial-gradient(26% 20% at 50% 78%, rgba(98,14,29,.40), transparent 72%);
  animation: battito-lento 5.4s ease-in-out infinite;
}
@keyframes battito-lento {
  0%, 100% { opacity: .46; transform: scale(1); }
  7%       { opacity: .88; transform: scale(1.035); }
  16%      { opacity: .58; transform: scale(1.008); }
  25%      { opacity: .76; transform: scale(1.022); }
  44%      { opacity: .46; transform: scale(1); }
}

.cola { position: absolute; left: 0; right: 0; top: 0; height: 180px; z-index: 1; pointer-events: none; overflow: hidden; }
.cola i {
  position: absolute;
  top: 0;
  left: var(--x);
  width: 1px;
  height: var(--h);
  opacity: .62;
  background: linear-gradient(180deg, rgba(98,14,29,.9) 0%, rgba(98,14,29,.45) 58%, rgba(98,14,29,0) 100%);
}
.cola i::after {
  content: "";
  position: absolute;
  left: -1px;
  bottom: -2px;
  width: 3px;
  height: 4px;
  border-radius: 50% 50% 54% 54% / 36% 36% 74% 74%;
  background: var(--sangue);
}
.cola i:nth-of-type(2n)::after { animation: goccia-scende 17s ease-in var(--d) infinite; }
@keyframes goccia-scende {
  0%, 82%  { transform: translateY(0) scaleY(1); opacity: .9; }
  92%      { transform: translateY(46px) scaleY(1.7); opacity: .55; }
  100%     { transform: translateY(96px) scaleY(2.2); opacity: 0; }
}

.apre {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding-block: 22px 48px;
}
.apre__griglia { position: relative; z-index: 2; display: grid; gap: 18px; align-items: center; }
@media (min-width: 900px) {
  .apre { padding-block: 64px 84px; }
  .apre__griglia { grid-template-columns: 340px minmax(0, 1fr); gap: 60px; }
}
@media (max-width: 899px) and (max-height: 700px) {
  .apre { padding-block: 10px 36px; }
  .apre .copertina { max-width: 132px; }
  .apre h1 { font-size: 30px; margin-bottom: 12px; }
  .apre__strillo { font-size: 16px; }
  .apre__dati { margin: 10px 0 14px; }
}
.apre h1 {
  font-size: clamp(38px, 8vw, 68px);
  line-height: 1.05;
  color: var(--avorio);
  margin-bottom: 18px;
  text-shadow:
    -1px -1px 0 var(--sangue), 1px -1px 0 var(--sangue),
    -1px  1px 0 var(--sangue), 1px  1px 0 var(--sangue),
    0 0 34px rgba(177, 69, 90, .34);
}
.apre__strillo { color: var(--carne); font-size: clamp(17px, 2.5vw, 20px); line-height: 1.55; }
.apre__dati {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  margin: 14px 0 18px;
  color: var(--carne);
  font-size: 15px;
}
.apre__dati b { color: var(--carne); font-weight: 500; }
.apre__dati .piede__punto { color: var(--sangue-vivo); }

.copertina { position: relative; display: block; }
.apre .copertina { max-width: 196px; margin-inline: auto; }
@media (min-width: 900px) { .apre .copertina { max-width: none; margin-inline: 0; } }
.copertina img {
  width: 100%;
  border: 1px solid var(--filo-sangue);
  animation: copertina-respira 6.2s ease-in-out infinite;
}
@keyframes copertina-respira {
  0%, 100% { box-shadow: 0 28px 66px rgba(0,0,0,.86), 0 0 44px rgba(98,14,29,.24); }
  48%      { box-shadow: 0 34px 82px rgba(0,0,0,.90), 0 0 84px rgba(177,69,90,.42); }
}
.strigoi .riflesso { transition: transform 420ms cubic-bezier(.2,.9,.3,1), box-shadow 420ms ease-out; }
@media (hover: hover) and (pointer: fine) {
  .strigoi .riflesso:hover {
    transform: translateY(-7px) rotate(-.5deg);
    box-shadow: 0 46px 96px rgba(0,0,0,.94), 0 0 74px rgba(177, 69, 90, .40);
  }
}

.insegna {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  border-block: 1px solid var(--filo-sangue);
  padding-block: clamp(44px, 7vw, 76px);
  background: linear-gradient(180deg, var(--nero-cripta), var(--cenere) 50%, var(--nero-cripta));
}
.insegna > .dentro { position: relative; z-index: 2; }
.insegna p {
  font-family: var(--display);
  font-size: clamp(24px, 4.4vw, 44px);
  line-height: 1.22;
  color: var(--avorio);
  text-shadow: 0 0 30px rgba(98,14,29,.6);
}
.insegna .cap { font-family: var(--testo); font-weight: 400; color: var(--sangue-vivo); }
.insegna cite { display: block; margin-top: 20px; font-style: normal; font-size: 14px; letter-spacing: .1em; text-transform: uppercase; color: var(--carne); }

.sezione { position: relative; overflow: hidden; isolation: isolate; border-top: 1px solid var(--filo-sangue); }
.sezione > .dentro { position: relative; z-index: 2; }
.sezione h2 {
  font-size: clamp(27px, 4.8vw, 40px);
  color: var(--avorio);
  margin-bottom: 16px;
}
.sezione h2 em { font-style: normal; color: var(--sangue-vivo); }
.occhiello { color: var(--carne); font-size: clamp(16px, 2vw, 18px); margin-bottom: 40px; }
.cta-riga { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; }
.cta-riga__nota { margin: 0; color: var(--carne); font-size: 15px; }

.sezione--cenere { background: linear-gradient(180deg, var(--nero-cripta), var(--cenere) 40%, var(--nero-cripta)); }

.racconto { display: grid; gap: 26px; }
@media (min-width: 900px) { .racconto { grid-template-columns: 1fr 1fr; gap: 28px 56px; } }
.racconto p { color: var(--carne); font-size: clamp(16px, 1.9vw, 18px); }
.racconto b { color: var(--avorio); font-weight: 500; }

.tempo { display: grid; }
.tempo__tappa {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 18px;
  padding: 20px 0;
  border-top: 1px solid var(--filo-sangue);
}
.tempo__tappa:last-child { border-bottom: 1px solid var(--filo-sangue); }
.tempo__anno {
  font-family: var(--display);
  font-size: 28px;
  line-height: 1;
  color: var(--sangue-vivo);
  padding-top: 4px;
  text-shadow: 0 0 22px rgba(177,69,90,.4);
}
.tempo__tappa--fuori .tempo__anno { color: var(--carne); text-shadow: none; }
.tempo__tappa p { color: var(--carne); font-size: 16px; }
.tempo__tappa b { color: var(--avorio); font-weight: 500; }
@media (min-width: 900px) {
  .tempo__tappa { grid-template-columns: 150px minmax(0, 1fr); gap: 40px; padding: 24px 0; }
  .tempo__anno { font-size: 40px; }
  .tempo__tappa p { font-size: 17px; }
}

.nature { display: grid; gap: 22px; }
@media (min-width: 780px) { .nature { grid-template-columns: 1fr 1fr; gap: 32px; } }
.nature__voce {
  position: relative;
  background: linear-gradient(180deg, var(--cenere-alta), var(--nero-cripta));
  border: 1px solid var(--filo-sangue);
  border-radius: 4px;
  padding: 30px 26px;
}
.nature__voce::before {
  content: "";
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: linear-gradient(180deg, var(--sangue-vivo), var(--sangue) 40%, transparent);
}
.nature__voce h3 {
  font-family: var(--testo);
  font-size: 22px;
  font-weight: 500;
  font-style: italic;
  color: var(--sangue-testo);
  margin-bottom: 4px;
}
.nature__voce span { display: block; color: var(--carne); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 16px; }
.nature__voce p { color: var(--carne); font-size: 16px; }

.stirpe { display: grid; gap: 26px; }
@media (min-width: 700px) { .stirpe { grid-template-columns: 1fr 1fr; gap: 28px 48px; } }
@media (min-width: 1040px) { .stirpe { grid-template-columns: 1fr 1fr 1fr; } }
.stirpe > div { border-top: 1px solid var(--filo-sangue); padding-top: 16px; }
.stirpe dt {
  font-family: var(--testo);
  font-size: 20px;
  font-style: italic;
  color: var(--sangue-testo);
  margin-bottom: 6px;
}
.stirpe dd { margin: 0 0 6px; color: var(--avorio); font-size: 16px; text-shadow: 0 1px 3px rgba(0,2,3,.9); }
.stirpe .dice { display: block; color: var(--avorio-fioco); font-size: 13px; letter-spacing: .05em; text-shadow: 0 1px 3px rgba(0,2,3,.9); }

.parti { display: grid; gap: 28px; }
@media (min-width: 820px) { .parti { grid-template-columns: 1fr 1fr; gap: 34px 56px; } }
@media (min-width: 1200px) { .parti { grid-template-columns: 1fr 1fr 1fr; } }
.parti__blocco h3 {
  font-family: var(--testo);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sangue-testo);
  margin-bottom: 10px;
}
.parti__blocco p { color: var(--avorio); font-size: 18px; margin-bottom: 8px; }
.parti__blocco span { color: var(--carne); font-size: 16px; }

.voce { position: relative; padding: 36px 0 36px 26px; border-left: 2px solid var(--sangue); }
.voce p { font-size: clamp(19px, 2.6vw, 24px); color: var(--avorio); line-height: 1.6; }
.voce cite { display: block; margin-top: 18px; font-style: normal; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; color: var(--carne); }

.caso { display: grid; }
.caso__riga { display: grid; grid-template-columns: 124px minmax(0, 1fr); gap: 16px; padding: 18px 0; }
.caso__riga + .caso__riga { border-top: 1px solid var(--filo-sangue); }
.caso__quando { color: var(--sangue-testo); font-size: 14px; letter-spacing: .06em; padding-top: 3px; }
.caso__riga p { color: var(--carne); font-size: 16px; }
@media (min-width: 760px) { .caso__riga { grid-template-columns: 200px minmax(0, 1fr); gap: 36px; } .caso__riga p { font-size: 17px; } }
.avvertenza {
  margin-top: 34px;
  padding: 16px 0 16px 20px;
  border-left: 2px solid var(--carne-ombra);
  color: var(--carne);
  font-size: 15px;
}

.metodo { display: grid; gap: 34px; }
@media (min-width: 900px) { .metodo { grid-template-columns: 280px minmax(0, 1fr); gap: 64px; } }
.conto { display: grid; gap: 20px; align-content: start; }
.conto div { border-top: 1px solid var(--filo-sangue); padding-top: 14px; }
.conto b {
  display: block;
  font-family: var(--display);
  font-size: 44px;
  line-height: 1;
  color: var(--sangue-vivo);
  font-weight: 500;
  text-shadow: 0 0 26px rgba(177,69,90,.34);
}
.conto span { color: var(--carne); font-size: 15px; }
.metodo p { color: var(--carne); font-size: 17px; }

.autrice { display: grid; gap: 30px; align-items: center; }
@media (min-width: 900px) { .autrice { grid-template-columns: minmax(0, 1fr) 286px; gap: 56px; } }
.autrice > div:first-child { display: grid; gap: 18px; align-content: center; }
.autrice p { color: var(--carne); font-size: 17px; }
.autrice b { color: var(--avorio); font-weight: 500; }
.autrice__detto {
  margin: 22px 0;
  padding-left: 22px;
  border-left: 2px solid var(--sangue);
  font-size: clamp(18px, 2.3vw, 21px);
  color: var(--avorio);
  line-height: 1.55;
}

.chiede { display: grid; gap: 34px; }
@media (min-width: 940px) { .chiede { grid-template-columns: 1fr 1fr; gap: 36px 60px; } }
.chiede h3 {
  font-family: var(--testo);
  font-size: 19px;
  font-weight: 600;
  color: var(--avorio);
  margin-bottom: 10px;
}
.chiede p { color: var(--carne); font-size: 16px; }

.scheda { display: grid; gap: 34px; }
@media (min-width: 900px) { .scheda { grid-template-columns: minmax(0, 1fr) 300px; gap: 60px; align-items: start; } }
.scheda dl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px 26px; margin: 0; font-size: 16px; }
.scheda dt { color: var(--carne); }
.scheda dd { margin: 0; color: var(--avorio); }
.scheda__compra { display: grid; gap: 22px; align-content: start; justify-items: start; }
.scheda__prezzo { font-family: var(--display); font-size: 46px; line-height: 1; color: var(--sangue-vivo); text-shadow: 0 0 28px rgba(177,69,90,.34); }
.scheda__nota { color: var(--carne); font-size: 14px; }

.strigoi .piede { border-top: 1px solid var(--filo-sangue); }
.strigoi .piede a { color: var(--carne); }
.strigoi .piede__punto { color: var(--sangue-vivo); }

.tasto--sangue {
  border-radius: 15px;
  color: #FFFFFF;
  background: linear-gradient(177deg, #7E1526 0%, var(--sangue) 52%, #4A0A15 100%);
  border: 1px solid #8E1524;
  font-family: 'Spectral ExtraBold', var(--testo);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: .03em;
  padding: 17px 38px;
  min-height: 60px;
  animation: alone-bordeaux 4.6s ease-in-out infinite;
  transition: color 260ms ease-out, background 320ms ease-out, border-color 260ms ease-out, transform 160ms cubic-bezier(.2,.8,.3,1);
}
.tasto--sangue::after { border-radius: 15px; }
@keyframes alone-bordeaux {
  0%        { box-shadow: 0 0 0 0 rgba(142, 21, 36, .42), 0 0 18px rgba(98,14,29,.34); }
  7%        { box-shadow: 0 0 0 8px rgba(142, 21, 36, 0),  0 0 34px rgba(142,21,36,.38); }
  14%       { box-shadow: 0 0 0 0 rgba(142, 21, 36, .30), 0 0 20px rgba(98,14,29,.30); }
  22%       { box-shadow: 0 0 0 10px rgba(142, 21, 36, 0), 0 0 38px rgba(142,21,36,.30); }
  40%, 100% { box-shadow: 0 0 0 0 rgba(142, 21, 36, 0),   0 0 16px rgba(98,14,29,.22); }
}

@media (hover: hover) and (pointer: fine) {
  .tasto--sangue:hover {
    color: var(--oro);
    background: linear-gradient(177deg, #14171A 0%, #08090A 54%, #000203 100%);
    border-color: var(--oro-cupo);
    transform: translateY(-2px);
    animation: alone-oro 1.5s ease-in-out infinite;
  }
  .tasto--sangue:active { transform: translateY(1px); }
}
@keyframes alone-oro {
  0%   { box-shadow: 0 0 0 0 rgba(var(--alone-rgb), .40), 0 0 22px rgba(var(--alone-rgb), .22); }
  40%  { box-shadow: 0 0 0 11px rgba(var(--alone-rgb), 0), 0 0 46px rgba(var(--alone-rgb), .34); }
  100% { box-shadow: 0 0 0 0 rgba(var(--alone-rgb), 0),   0 0 22px rgba(var(--alone-rgb), .20); }
}

html[data-js="si"] .entra--tasto {
  opacity: 0;
  transform: translateY(18px) scale(.94);
  transition: opacity 620ms cubic-bezier(0, 0, .2, 1), transform 620ms cubic-bezier(.2, 1.3, .4, 1);
}
html[data-js="si"] .entra--tasto[data-vista="si"] { opacity: 1; transform: none; }

.collana { background: linear-gradient(180deg, var(--nero-cripta), #0A0406 46%, var(--nero-cripta)); }
.collana__sigillo {
  width: 132px;
  filter: drop-shadow(0 0 22px rgba(98,14,29,.55));
  animation: sigillo-respira 6.8s ease-in-out infinite;
  transition: transform 640ms cubic-bezier(.2,.8,.3,1);
}
@media (min-width: 760px) { .collana__sigillo { width: 150px; } }
@keyframes sigillo-respira {
  0%, 100% { filter: drop-shadow(0 0 18px rgba(98,14,29,.45)); }
  50%      { filter: drop-shadow(0 0 34px rgba(177,69,90,.55)); }
}
@media (hover: hover) and (pointer: fine) {
  .collana__sigillo:hover { transform: rotate(6deg) scale(1.03); }
}
.collana__attacco {
  font-size: clamp(18px, 2.5vw, 22px);
  line-height: 1.55;
  color: var(--avorio);
  padding-left: 22px;
  border-left: 2px solid var(--sangue);
  margin-bottom: 30px;
}
.collana__corpo { display: grid; gap: 22px; }
@media (min-width: 900px) { .collana__corpo { grid-template-columns: 1fr 1fr; gap: 26px 52px; } }
.collana__corpo p { color: var(--carne); font-size: 17px; }
.collana__chiusa {
  margin-top: 28px;
  color: var(--sangue-testo);
  font-size: clamp(17px, 2.1vw, 19px);
  font-style: italic;
}
.collana__tasto {
  margin-top: 26px;
  border-radius: 15px;
  color: var(--avorio);
  background: transparent;
  border: 1px solid var(--sangue-vivo);
  font-family: 'Spectral ExtraBold', var(--testo);
  font-weight: 800;
  font-size: 16px;
  padding: 14px 30px;
  min-height: 54px;
  transition: color 240ms ease-out, background 280ms ease-out, border-color 240ms ease-out, transform 160ms cubic-bezier(.2,.8,.3,1);
}
@media (hover: hover) and (pointer: fine) {
  .collana__tasto:hover { color: #FFFFFF; background: var(--sangue-vivo); border-color: var(--sangue-vivo); transform: translateY(-2px); }
}

.autrice__sigillo { display: grid; place-items: center; }
.autrice .collana__sigillo { width: min(76vw, 300px); }
.collana h2 em { color: var(--sangue-testo); font-style: normal; }
.collana__riga { color: var(--carne); font-size: clamp(16px, 2vw, 18px); margin-bottom: 26px; }
.collana__riga b { color: var(--avorio); font-weight: 500; }
.collana__corpo--piena { grid-template-columns: 1fr !important; gap: 22px; }
.collana__attacco::first-letter {
  float: left;
  font-family: var(--display);
  font-size: 4.6em;
  line-height: .78;
  padding: 6px 14px 0 0;
  color: var(--sangue-vivo);
  text-shadow: 0 0 26px rgba(177,69,90,.45);
}

.mappa {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image: url("/assets/img/mappa-transilvania.webp");
  background-size: cover;
  background-position: 52% 42%;
  filter: grayscale(.24) sepia(.50) brightness(.80) contrast(1.10);
  opacity: .94;
  -webkit-mask-image: radial-gradient(circle at center, #000 0%, rgba(0,0,0,.55) 40%, transparent 72%);
  mask-image: radial-gradient(circle at center, #000 0%, rgba(0,0,0,.55) 40%, transparent 72%);
  -webkit-mask-size: 130% 190%;
  mask-size: 130% 190%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  animation: mappa-respira 44s ease-in-out infinite alternate;
}
@media (min-width: 900px) {
  .mappa { animation: candela-vaga 26s ease-in-out infinite alternate, mappa-respira 44s ease-in-out infinite alternate; }
}
@keyframes mappa-respira {
  from { transform: scale(1); }
  to   { transform: scale(1.08); }
}
@keyframes candela-vaga {
  from { -webkit-mask-position: 4% 44%; mask-position: 4% 44%; }
  to   { -webkit-mask-position: 96% 56%; mask-position: 96% 56%; }
}
.mappa__velo {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(64% 54% at 50% 50%, rgba(0,2,3,.60), rgba(0,2,3,.70) 62%, rgba(0,2,3,.92) 100%),
    linear-gradient(180deg, var(--nero-cripta), transparent 18%, transparent 82%, var(--nero-cripta));
}
.sezione--mappa .occhiello { color: var(--avorio-fioco); text-shadow: 0 1px 3px rgba(0,2,3,.9); }
.sezione--mappa .mappa__nota { color: var(--avorio-fioco); text-shadow: 0 1px 3px rgba(0,2,3,.9); }
.mappa__nota {
  margin-top: 30px;
  color: var(--carne);
  font-size: 13px;
  letter-spacing: .04em;
}

.gira { position: relative; perspective: 1500px; width: 100%; margin-bottom: 8px; }
.gira__dentro {
  position: relative;
  transform-style: preserve-3d;
  transition: transform 980ms cubic-bezier(.22, .78, .28, 1);
  aspect-ratio: 1052 / 1531;
}
.gira__faccia {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border: 1px solid var(--filo-sangue);
  box-shadow: 0 26px 62px rgba(0,0,0,.86), 0 0 44px rgba(98,14,29,.28);
}
.gira__faccia--retro { transform: rotateY(180deg); }
.gira__invito {
  position: absolute;
  left: 50%;
  bottom: -26px;
  transform: translateX(-50%);
  color: var(--carne);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: color 240ms ease-out, opacity 240ms ease-out;
}
.gira:focus-visible { outline: 2px solid var(--sangue-vivo); outline-offset: 6px; }

@media (hover: hover) and (pointer: fine) {
  .gira:hover .gira__dentro, .gira:focus-within .gira__dentro { transform: rotateY(180deg); }
  .gira:hover .gira__invito { color: var(--sangue-testo); }
}
@media (hover: none) {
  .gira__dentro { aspect-ratio: auto; transform: none !important; transform-style: flat; display: grid; gap: 14px; }
  .gira__faccia { position: static; inset: auto; height: auto; backface-visibility: visible; -webkit-backface-visibility: visible; }
  .gira__faccia--retro { transform: none; }
  .gira__invito { display: none; }
}

.autrice__sigillo.riflesso { border-radius: 50%; overflow: hidden; width: min(76vw, 300px); margin-inline: auto; }
.autrice__sigillo.riflesso::after { border-radius: 50%; }

.tempesta { isolation: isolate; }
.pioggia { position: absolute; inset: -10% -10% 0; z-index: 1; pointer-events: none; overflow: hidden; }
.pioggia i {
  position: absolute;
  inset: 0;
  background-repeat: repeat;
  will-change: transform;
}
.pioggia i:nth-child(1) {
  background-image: repeating-linear-gradient(101deg, rgba(198,214,230,0) 0 7px, rgba(198,214,230,.16) 7px 8px);
  background-size: 200px 260px;
  animation: pioggia-cade 0.9s linear infinite;
  opacity: .5;
}
.pioggia i:nth-child(2) {
  background-image: repeating-linear-gradient(97deg, rgba(198,214,230,0) 0 13px, rgba(198,214,230,.11) 13px 14px);
  background-size: 300px 420px;
  animation: pioggia-cade 1.6s linear infinite;
  opacity: .38;
}
.pioggia i:nth-child(3) {
  background-image: repeating-linear-gradient(104deg, rgba(198,214,230,0) 0 21px, rgba(226,236,246,.09) 21px 22px);
  background-size: 420px 620px;
  animation: pioggia-cade 2.4s linear infinite;
  opacity: .3;
}
@keyframes pioggia-cade {
  from { transform: translate3d(0, -34%, 0); }
  to   { transform: translate3d(-12%, 34%, 0); }
}

.lampo {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  opacity: 0;
  background:
    radial-gradient(64% 46% at 66% 0%, rgba(214, 230, 246, .82), rgba(150, 178, 205, .26) 46%, transparent 72%),
    linear-gradient(180deg, rgba(198, 216, 236, .3), transparent 58%);
  animation: lampo-scocca 11s steps(1, end) infinite;
}
@keyframes lampo-scocca {
  0%, 3.4%   { opacity: 0; }
  3.6%       { opacity: .78; }
  4.2%       { opacity: .12; }
  4.8%       { opacity: .66; }
  5.6%       { opacity: 0; }
  38%        { opacity: 0; }
  38.4%      { opacity: .64; }
  39.2%      { opacity: 0; }
  100%       { opacity: 0; }
}

.saetta {
  position: absolute;
  top: -4%;
  right: 2.5%;
  z-index: 2;
  width: clamp(70px, 9vw, 130px);
  height: 62%;
  opacity: 0;
  pointer-events: none;
  animation: saetta-scocca 11s steps(1, end) infinite;
}
.saetta path { fill: #E6F0FB; }
@keyframes saetta-scocca {
  0%, 3.4%  { opacity: 0; filter: none; }
  3.6%      { opacity: .95; filter: drop-shadow(0 0 26px rgba(198,224,250,.9)); }
  4.2%      { opacity: .1; }
  4.8%      { opacity: .8; filter: drop-shadow(0 0 34px rgba(198,224,250,.8)); }
  5.6%, 100% { opacity: 0; }
}

.tempesta .voce { position: relative; z-index: 3; }
.tempesta__tasto { position: relative; z-index: 3; margin-top: 34px; }

@media print {
  .grana, .nebbia, .pioggia, .lampo, .saetta, .lume, .battito, .cola, .mappa, .mappa__velo { display: none !important; }
  body.strigoi { background: #FFFFFF; color: #1A1A1A; }
  .strigoi h1, .strigoi h2, .strigoi h3, .scheda dd, .stirpe dd, .racconto b { color: #1A1A1A; }
  .strigoi h2 em, .stirpe dt, .tempo__anno, .caso__quando, .scheda__prezzo, .collana__chiusa { color: #7E1526; }
  .occhiello, .stirpe .dice, .scheda dt, .apre__dati, .tempo__tappa p, .chiede p, .racconto p, .collana__corpo p, .mappa__nota, .avvertenza { color: #333333; }
  .tasto, .salta, .gira__invito { display: none !important; }
  .sezione, .apre, .insegna { border-color: #CCCCCC; background: none !important; }
  .gira__faccia--retro { display: none; }
  .voce p, .insegna p { color: #1A1A1A; }
  a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 11px; color: #555555; }
}
