
@font-face {
  font-family: "UnifrakturMaguntia";
  src: url("../font/UnifrakturMaguntia.woff2") format("woff2");
  font-display: swap;
}
@font-face {
  font-family: "Geist Pixel Circle";
  src: url("../font/GeistPixel-Circle.woff2") format("woff2");
  font-display: swap;
}
#dp-benvenuto {
  --ev-black: #050505;
  --ev-panel: rgba(10, 10, 10, 0.76);
  --ev-panel-strong: rgba(7, 7, 7, 0.9);
  --ev-line: rgba(255, 255, 255, 0.44);
  --ev-line-soft: rgba(255, 255, 255, 0.34);
  --ev-text: #f5f2eb;
  --ev-muted: #c6c3bc;
  --ev-dim: #a8a49d;
  --ev-warm: #f5f2eb;
  --ev-focus: #ffffff;
  --ev-font-ui: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ev-font-pixel: "Geist Pixel Circle", "Inter", system-ui, sans-serif;
  --ev-inset: clamp(14px, 1.55vw, 28px);
  position: fixed;
  inset: 0;
  z-index: 2000;
  min-width: 320px;
  overflow: hidden;
  color: var(--ev-text);
  background: var(--ev-black);
  font-family: var(--ev-font-ui);
  text-rendering: optimizeLegibility;
  opacity: 1;
  transition: opacity 800ms ease-out;
}
#dp-benvenuto[hidden] { display: none; }
#dp-benvenuto.ev-esce { opacity: 0; pointer-events: none; }
#dp-benvenuto *,
#dp-benvenuto *::before,
#dp-benvenuto *::after { box-sizing: border-box; }
#dp-benvenuto button { font: inherit; color: inherit; }
#dp-benvenuto a:focus-visible,
#dp-benvenuto button:focus-visible {
  outline: 2px solid var(--ev-focus);
  outline-offset: 3px;
}
#dp-benvenuto .ev-page {
  position: relative;
  isolation: isolate;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
  background: var(--ev-black);
}
#dp-benvenuto .ev-media-stage,
#dp-benvenuto .ev-hero-video,
#dp-benvenuto .ev-media-grade,
#dp-benvenuto .ev-pixel-field,
#dp-benvenuto .ev-film-grain,
#dp-benvenuto .ev-edge-vignette {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
#dp-benvenuto .ev-media-stage {
  z-index: -1;
  overflow: hidden;
  background: linear-gradient(180deg, #6f7070 0%, #292929 34%, #070707 68%, #020202 100%);
}
#dp-benvenuto .ev-hero-video {
  object-fit: cover;
  object-position: 50% 50%;
  filter: grayscale(0.88) brightness(0.42) contrast(1.55) sepia(0.12) saturate(1.25);
  transform: scale(1.035);
}
#dp-benvenuto .ev-media-grade {
  background:
    linear-gradient(180deg, rgba(242, 238, 227, 0.36) 0%, rgba(183, 183, 180, 0.08) 27%, rgba(0, 0, 0, 0.24) 46%, rgba(0, 0, 0, 0.88) 100%),
    linear-gradient(90deg, rgba(0, 0, 0, 0.45) 0%, transparent 28%, transparent 68%, rgba(0, 0, 0, 0.33) 100%);
  mix-blend-mode: multiply;
}
#dp-benvenuto .ev-pixel-field {
  opacity: 0.48;
  background:
    repeating-linear-gradient(0deg, transparent 0 2px, rgba(255, 255, 255, 0.045) 2px 3px),
    repeating-linear-gradient(90deg, transparent 0 4px, rgba(0, 0, 0, 0.09) 4px 5px);
  mix-blend-mode: overlay;
}
#dp-benvenuto .ev-film-grain {
  opacity: 0.2;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  mix-blend-mode: soft-light;
}
#dp-benvenuto .ev-edge-vignette {
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.68) 0%, transparent 12%, transparent 69%, rgba(0, 0, 0, 0.88) 100%),
    radial-gradient(ellipse at center, transparent 45%, rgba(0, 0, 0, 0.48) 100%);
}
#dp-benvenuto .ev-centro {
  position: absolute; inset: 0; z-index: 10;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  padding: 0 var(--ev-inset); text-align: center;
}
#dp-benvenuto .ev-titolo {
  margin: 0; color: var(--ev-text);
  font-family: "UnifrakturMaguntia", "Old English Text MT", serif;
  font-size: clamp(72px, 10vw, 156px); font-weight: 400; line-height: 1;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.78), 0 1px 2px #000;
}
#dp-benvenuto .ev-rete { display: grid; justify-items: center; gap: 2px; margin: clamp(10px, 1.6vh, 18px) 0 0; text-shadow: 0 1px 8px #000; }
#dp-benvenuto .ev-rete-valore { color: var(--ev-text); font-family: var(--ev-font-pixel); font-size: clamp(22px, 2.2vw, 34px); font-weight: 500; letter-spacing: -0.04em; line-height: 1.1; }
#dp-benvenuto .ev-rete-etichetta { color: var(--ev-muted); font-size: 12px; }
#dp-benvenuto .ev-rete-nota { color: var(--ev-dim); font-size: 11px; }
#dp-benvenuto .ev-cta { margin-top: clamp(20px, 3.4vh, 36px); }
#dp-benvenuto .ev-entra {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  min-height: 46px;
  padding: 0 7px 0 22px;
  border: 1px solid var(--ev-line);
  border-radius: 999px;
  color: var(--ev-text);
  background: var(--ev-panel-strong);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 14px 46px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(14px);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: border-color 160ms ease-out, transform 160ms ease-out;
}
#dp-benvenuto .ev-entra:hover { border-color: #fff; transform: translateY(-1px); }
#dp-benvenuto .ev-entra:active { transform: translateY(0) scale(0.98); }
#dp-benvenuto .ev-entra-freccia {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  color: #0b0b0b;
  background: var(--ev-warm);
}
@keyframes ev-sale { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
#dp-benvenuto .ev-titolo { animation: ev-sale 900ms cubic-bezier(0.16, 1, 0.3, 1) 150ms both; }
#dp-benvenuto .ev-rete { animation: ev-sale 800ms cubic-bezier(0.16, 1, 0.3, 1) 450ms both; }
#dp-benvenuto .ev-cta { animation: ev-sale 800ms cubic-bezier(0.16, 1, 0.3, 1) 700ms both; }
@media (max-width: 700px) {
  #dp-benvenuto { --ev-inset: 14px; }
  #dp-benvenuto .ev-hero-video {
    object-position: 52% 50%;
    filter: grayscale(0.86) brightness(0.36) contrast(1.65) sepia(0.14) saturate(1.3);
  }
  #dp-benvenuto .ev-titolo { font-size: clamp(44px, 17vw, 110px); }
}
@media (prefers-reduced-motion: reduce) {
  #dp-benvenuto, #dp-benvenuto *, #dp-benvenuto *::before, #dp-benvenuto *::after {
    transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important;
  }
  #dp-benvenuto .ev-hero-video { display: none; }
}
