/* Da Angelo site polish (loads LAST)
   Warm charcoal base, cream type, tricolore chrome only */

:root {
  /* Core surfaces */
  --bg: #0a0a0a !important;
  --bg2: #12110f !important;
  --surface: #161412 !important;
  --card: #181614 !important;
  --card-solid: #181614 !important;
  /* Type */
  --cream: #f7f5f1 !important;
  --white: #f7f5f1 !important;
  --text: #f7f5f1 !important;
  --muted: #c8bdb0 !important;
  --line: rgba(247, 245, 241, 0.12) !important;
  --line-bright: rgba(247, 245, 241, 0.28) !important;
  /* Brand accents */
  --accent: #ce2b37 !important;
  --accent2: #f7f5f1 !important;
  --glow: transparent !important;
  --italy-green: #009246 !important;
  --italy-cream: #f7f5f1 !important;
  --italy-red: #ce2b37 !important;
  --italy-white: #f7f5f1 !important;
  --da-green: #009246 !important;
  --da-cream: #f7f5f1 !important;
  --da-red: #ce2b37 !important;
  --da-espresso: #0a0a0a !important;
  --da-ink-veil: transparent;
  --da-scroll: 0;
  --da-panel: rgba(16, 14, 12, 0.72);
  --da-warm-surface: #161412 !important;
  --radius-lux: 4px !important;
  --font-display: "Fraunces", Georgia, serif !important;
  --font-serif: "Cormorant Garamond", Georgia, serif !important;
  --font-body: "Figtree", system-ui, sans-serif !important;
  /* Shared tricolore hairline */
  --da-tricolore: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  );
}

html {
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  min-height: 100%;
}

html, body {
  color: var(--cream) !important;
  font-family: var(--font-body) !important;
}

/* Kill old photo / live-bg shells ? page field is matte black */
.da-live-bg,
.da-live-bg__slides,
.da-live-bg__slide,
.da-live-bg__mesh,
.da-live-bg__orbs,
.da-live-bg__orb,
.da-live-bg__leak,
.da-live-bg__vignette,
.da-live-bg__floats,
.da-live-bg__spark,
.da-live-bg__scroll-veil,
.da-live-bg__tricolore,
.hero-backdrop,
.hero-backdrop__photo,
.hero-backdrop__shade {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: none !important;
  background-image: none !important;
  background-color: transparent !important;
  animation: none !important;
}

/* Full-page Italian flag wall REMOVED ? keep markup inert if reintroduced */
.da-italia-wall,
.da-italia-wall__flag,
.da-italia-wall__ink,
.da-italia-wall__vignette,
.da-italia-wall__paper,
.da-italia-wall__glow,
.da-italia-wall__shimmer,
.da-italia-wall__panel {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: none !important;
  background-image: none !important;
  animation: none !important;
}

body {
  position: relative !important;
  isolation: isolate;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* Kill flat body::after field ? scroll stage owns the atmosphere */
body::after {
  content: none !important;
  display: none !important;
}

/* SCROLL STAGE KILLED ? matte black only */
.da-scroll-stage,
.da-scroll-stage__canvas,
.da-scroll-stage__depth,
.da-scroll-stage__oven,
.da-scroll-stage__bloom,
.da-scroll-stage__bloom--verde,
.da-scroll-stage__bloom--rosso,
.da-scroll-stage__bloom--crema,
.da-scroll-stage__bloom--amber,
.da-scroll-stage__sheen,
.da-scroll-stage__texture,
.da-scroll-stage__veil,
.da-scroll-stage__iris,
.da-scroll-stage__peel,
.da-scroll-stage__peel--top,
.da-scroll-stage__peel--bot,
.da-scroll-stage__shade {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

/* ???????????????????????????????????????????????????????????
   SCROLL UNMASK STAGE ? fixed cinematic BG that peels open
   Soft Italian light washes (NOT hard flag thirds)
   Driven by --da-scroll (0 ? 1) from main.js
   Top = veiled. Mid = clearly opening. Bottom = mostly revealed.
   ??????????????????????????????????????????????????????????? */
.da-scroll-stage {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
  isolation: isolate;
}

.da-scroll-stage__canvas {
  position: absolute;
  inset: -18%;
  will-change: transform;
  transform: translate3d(0, 0, 0) scale(1.08);
  transform-origin: 50% 42%;
}

/* Deep warm ink base with oven cavity */
.da-scroll-stage__depth {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 110% 80% at 50% -8%, rgba(120, 72, 38, 0.48), transparent 58%),
    radial-gradient(ellipse 70% 55% at 50% 48%, rgba(255, 140, 60, 0.08), transparent 62%),
    radial-gradient(ellipse 90% 55% at 50% 115%, rgba(3, 2, 2, 0.98), transparent 50%),
    linear-gradient(168deg, #1a1410 0%, #0e0c0a 42%, #070605 100%);
}

/* Glowing stone-oven heart ? intensifies as veil opens */
.da-scroll-stage__oven {
  position: absolute;
  left: 50%;
  top: 44%;
  width: min(72vw, 640px);
  height: min(52vw, 460px);
  transform: translate(-50%, -50%) scale(calc(0.72 + var(--da-scroll, 0) * 0.55));
  border-radius: 50%;
  background:
    radial-gradient(ellipse 55% 48% at 50% 55%, rgba(255, 196, 110, 0.55), transparent 58%),
    radial-gradient(ellipse 80% 70% at 50% 60%, rgba(206, 70, 28, 0.42), transparent 72%),
    radial-gradient(ellipse 100% 90% at 50% 50%, rgba(120, 40, 12, 0.28), transparent 78%);
  filter: blur(28px);
  opacity: calc(0.22 + var(--da-scroll, 0) * 0.78);
  mix-blend-mode: screen;
  will-change: opacity, transform;
}

/* Soft tricolore blooms ? diffused light, never columns */
.da-scroll-stage__bloom {
  position: absolute;
  border-radius: 50%;
  filter: blur(64px);
  opacity: calc(0.35 + var(--da-scroll, 0) * 0.65);
  will-change: opacity, transform;
}
.da-scroll-stage__bloom--verde {
  width: min(78vw, 720px);
  height: min(78vw, 720px);
  left: -18%;
  bottom: -4%;
  background: rgba(0, 146, 70, 0.55);
  transform: translate3d(
    calc(var(--da-scroll, 0) * 10vw),
    calc(var(--da-scroll, 0) * -8vh),
    0
  );
  opacity: calc(0.28 + var(--da-scroll, 0) * 0.72);
}
.da-scroll-stage__bloom--rosso {
  width: min(70vw, 640px);
  height: min(70vw, 640px);
  right: -16%;
  top: 4%;
  background: rgba(206, 43, 55, 0.5);
  transform: translate3d(
    calc(var(--da-scroll, 0) * -12vw),
    calc(var(--da-scroll, 0) * 6vh),
    0
  );
  opacity: calc(0.26 + var(--da-scroll, 0) * 0.7);
}
.da-scroll-stage__bloom--crema {
  width: min(60vw, 520px);
  height: min(48vw, 420px);
  left: 26%;
  top: 22%;
  background: rgba(247, 245, 241, 0.22);
  filter: blur(80px);
  opacity: calc(0.12 + var(--da-scroll, 0) * 0.55);
  transform: translate3d(
    calc(var(--da-scroll, 0) * -3vw),
    calc(var(--da-scroll, 0) * 4vh),
    0
  );
}
.da-scroll-stage__bloom--amber {
  width: min(48vw, 420px);
  height: min(40vw, 360px);
  left: 38%;
  top: 52%;
  background: rgba(255, 150, 55, 0.4);
  filter: blur(70px);
  opacity: calc(0.08 + var(--da-scroll, 0) * 0.62);
  mix-blend-mode: screen;
  transform: translate3d(
    calc(var(--da-scroll, 0) * 2vw),
    calc(var(--da-scroll, 0) * -5vh),
    0
  );
}

/* Diagonal sheen that drifts as you scroll */
.da-scroll-stage__sheen {
  position: absolute;
  inset: -25%;
  background: linear-gradient(
    118deg,
    transparent 28%,
    rgba(247, 245, 241, 0.07) 48%,
    transparent 64%
  );
  transform: translate3d(
    calc(var(--da-scroll, 0) * -14%),
    calc(var(--da-scroll, 0) * 10%),
    0
  );
  opacity: calc(0.25 + var(--da-scroll, 0) * 0.65);
}

/* Fine stone / paper grain */
.da-scroll-stage__texture {
  position: absolute;
  inset: 0;
  opacity: calc(0.18 + var(--da-scroll, 0) * 0.2);
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
  background-size: 180px 180px;
}

/*
  Iris veil ? dark ink with a hole that grows on scroll.
  mask transparent = art shows through; black = veil stays.
  At 0: tiny peephole. At 1: nearly gone.
*/
.da-scroll-stage__veil {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 70% 55% at 50% 40%, rgba(22, 16, 12, 0.2), transparent 68%),
    #060504;
  -webkit-mask-image: radial-gradient(
    ellipse 95% 88% at 50% 42%,
    transparent 0%,
    transparent calc(2% + var(--da-scroll, 0) * 78%),
    #000 calc(14% + var(--da-scroll, 0) * 78%),
    #000 100%
  );
  mask-image: radial-gradient(
    ellipse 95% 88% at 50% 42%,
    transparent 0%,
    transparent calc(2% + var(--da-scroll, 0) * 78%),
    #000 calc(14% + var(--da-scroll, 0) * 78%),
    #000 100%
  );
  opacity: calc(1 - var(--da-scroll, 0) * 0.88);
  will-change: mask-image, -webkit-mask-image, opacity;
}

/* Soft luminous iris rim ? tracks the opening */
.da-scroll-stage__iris {
  position: absolute;
  inset: 0;
  background: radial-gradient(
    ellipse calc(18% + var(--da-scroll, 0) * 72%) calc(16% + var(--da-scroll, 0) * 68%) at 50% 42%,
    transparent 52%,
    rgba(255, 180, 90, calc(0.08 + var(--da-scroll, 0) * 0.18)) 62%,
    rgba(0, 146, 70, calc(0.04 + var(--da-scroll, 0) * 0.1)) 72%,
    transparent 82%
  );
  opacity: calc(0.35 + var(--da-scroll, 0) * 0.65);
  mix-blend-mode: screen;
  pointer-events: none;
}

/* Horizontal peel panels ? clearly lift away from center */
.da-scroll-stage__peel {
  position: absolute;
  left: 0;
  right: 0;
  will-change: transform, opacity;
  opacity: calc(1 - var(--da-scroll, 0) * 0.92);
}
.da-scroll-stage__peel--top {
  top: 0;
  height: 48%;
  background: linear-gradient(
    180deg,
    #050403 0%,
    rgba(8, 7, 6, 0.98) 42%,
    rgba(8, 7, 6, 0.55) 78%,
    transparent 100%
  );
  transform: translate3d(0, calc(var(--da-scroll, 0) * -102%), 0);
  box-shadow: 0 18px 40px rgba(0, 0, 0, calc(0.55 - var(--da-scroll, 0) * 0.45));
}
.da-scroll-stage__peel--bot {
  bottom: 0;
  height: 52%;
  background: linear-gradient(
    0deg,
    #040302 0%,
    rgba(6, 5, 4, 0.98) 40%,
    rgba(6, 5, 4, 0.55) 78%,
    transparent 100%
  );
  transform: translate3d(0, calc(var(--da-scroll, 0) * 108%), 0);
  box-shadow: 0 -18px 40px rgba(0, 0, 0, calc(0.55 - var(--da-scroll, 0) * 0.45));
}

/* Readability shade ? fades hard so art can breathe at high scroll */
.da-scroll-stage__shade {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      ellipse 88% 68% at 50% 42%,
      transparent calc(18% + var(--da-scroll, 0) * 40%),
      rgba(6, 5, 4, calc(0.42 - var(--da-scroll, 0) * 0.32)) 100%
    ),
    linear-gradient(
      180deg,
      rgba(6, 5, 4, calc(0.55 - var(--da-scroll, 0) * 0.45)) 0%,
      rgba(6, 5, 4, calc(0.22 - var(--da-scroll, 0) * 0.16)) 42%,
      rgba(6, 5, 4, calc(0.58 - var(--da-scroll, 0) * 0.4)) 100%
    );
  box-shadow: inset 0 0 calc(80px + var(--da-scroll, 0) * 40px) rgba(0, 0, 0, calc(0.55 - var(--da-scroll, 0) * 0.42));
  opacity: calc(1 - var(--da-scroll, 0) * 0.35);
}

@media (prefers-reduced-motion: reduce) {
  .da-scroll-stage__canvas {
    transform: none !important;
  }
  .da-scroll-stage__bloom,
  .da-scroll-stage__sheen,
  .da-scroll-stage__peel,
  .da-scroll-stage__oven,
  .da-scroll-stage__iris {
    transition: none !important;
    transform: none !important;
  }
  .da-scroll-stage__oven {
    opacity: 0.7 !important;
    transform: translate(-50%, -50%) scale(1) !important;
  }
  .da-scroll-stage__bloom {
    opacity: 0.72 !important;
  }
  .da-scroll-stage__bloom--verde,
  .da-scroll-stage__bloom--rosso,
  .da-scroll-stage__bloom--crema,
  .da-scroll-stage__bloom--amber {
    transform: none !important;
  }
  .da-scroll-stage__veil {
    -webkit-mask-image: radial-gradient(
      ellipse 95% 88% at 50% 42%,
      transparent 0%,
      transparent 42%,
      #000 72%,
      #000 100%
    );
    mask-image: radial-gradient(
      ellipse 95% 88% at 50% 42%,
      transparent 0%,
      transparent 42%,
      #000 72%,
      #000 100%
    );
    opacity: 0.45 !important;
  }
  .da-scroll-stage__iris {
    opacity: 0.7 !important;
  }
  .da-scroll-stage__peel {
    opacity: 0.35 !important;
  }
  .da-scroll-stage__peel--top {
    transform: translate3d(0, -48%, 0) !important;
  }
  .da-scroll-stage__peel--bot {
    transform: translate3d(0, 52%, 0) !important;
  }
  .da-scroll-stage__shade {
    opacity: 0.7 !important;
  }
}

main,
.header,
.footer {
  position: relative;
  z-index: 1;
}

.noise {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2 !important;
  opacity: 0.05 !important;
  mix-blend-mode: soft-light !important;
  pointer-events: none !important;
}

main {
  background: transparent !important;
}

/* Professional LED strip breathe ? lines only (opacity + tight glow) */
@keyframes daTopLed {
  0%, 100% {
    opacity: 0.78;
    filter: brightness(0.96);
    box-shadow:
      0 0 4px rgba(0, 146, 70, 0.45),
      0 0 10px rgba(0, 146, 70, 0.22),
      0 0 3px rgba(247, 245, 241, 0.28),
      0 0 10px rgba(206, 43, 55, 0.28),
      0 0 16px rgba(206, 43, 55, 0.14);
  }
  50% {
    opacity: 1;
    filter: brightness(1.08);
    box-shadow:
      0 0 6px rgba(0, 146, 70, 0.7),
      0 0 14px rgba(0, 146, 70, 0.38),
      0 0 5px rgba(247, 245, 241, 0.42),
      0 0 14px rgba(206, 43, 55, 0.48),
      0 0 22px rgba(206, 43, 55, 0.22);
  }
}

/* Top site LED ? true Italian strip */
body::before {
  height: 3px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow:
    0 0 5px rgba(0, 146, 70, 0.55),
    0 0 12px rgba(0, 146, 70, 0.28),
    0 0 4px rgba(247, 245, 241, 0.32),
    0 0 12px rgba(206, 43, 55, 0.38),
    0 0 18px rgba(206, 43, 55, 0.18) !important;
  animation: daTopLed 3.2s ease-in-out infinite !important;
}

/* Header ? ink glass over atmosphere; thin tricolore LED under bar only */
.header {
  background: rgba(12, 11, 9, 0.82) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line) !important;
  box-shadow: none !important;
  animation: none !important;
  filter: none !important;
}
.header.solid {
  background: rgba(12, 11, 9, 0.92) !important;
  animation: none !important;
  filter: none !important;
}
.header::after,
.header.solid::after {
  display: block !important;
  height: 2px !important;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  box-shadow:
    0 0 5px rgba(0, 146, 70, 0.55),
    0 0 12px rgba(0, 146, 70, 0.28),
    0 0 4px rgba(247, 245, 241, 0.32),
    0 0 12px rgba(206, 43, 55, 0.38),
    0 0 18px rgba(206, 43, 55, 0.18) !important;
  animation: daTopLed 3.4s ease-in-out infinite !important;
  opacity: 1 !important;
}

/* Header logo: HTML wordmark plate ? pulse lives on tricolore frame bars only */
.logo-led--header,
.logo-led--header .logo-led__aura,
.logo-led--header .logo-led__strip,
.logo-led--header .logo-led__shine,
.logo-led--header .logo-led__shine::after {
  display: none !important;
  animation: none !important;
  opacity: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Master brand door-sign plate ? charcoal box + soft LED on flag lines */
.logo-mark--header {
  position: relative !important;
  isolation: isolate !important;
  background: #0a0a0a !important;
  max-width: min(236px, 58vw) !important;
  padding: 0.58rem 0.88rem 0.52rem !important;
  border-radius: 2px !important;
  box-shadow:
    0 0 0 1px rgba(247, 245, 241, 0.1),
    0 6px 18px rgba(0, 0, 0, 0.35) !important;
  filter: none !important;
}

.logo-mark--header::before,
.logo-mark--header::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  box-shadow:
    0 0 4px rgba(0, 146, 70, 0.42),
    0 0 3px rgba(247, 245, 241, 0.28),
    0 0 5px rgba(206, 43, 55, 0.36) !important;
  animation: logoMarkLedPulse 2.8s ease-in-out infinite !important;
  animation-delay: 0s !important;
}

.logo-mark--header::before { top: 0 !important; bottom: auto !important; }
.logo-mark--header::after {
  bottom: 0 !important;
  top: auto !important;
  animation-delay: 0.45s !important;
}

.logo-mark--header .logo-mark__flag {
  animation: logoMarkLedPulse 2.8s ease-in-out infinite !important;
  animation-delay: 0.22s !important;
}

body.is-loaded .logo-mark--header {
  animation:
    logoMarkHeaderBoot 1.1s cubic-bezier(0.22, 1, 0.36, 1) both,
    logoMarkPlateGlow 4.2s ease-in-out 1.1s infinite !important;
}

body.is-loaded .logo-mark--header::before,
body.is-loaded .logo-mark--header::after {
  animation:
    logoMarkBarIgnite 0.7s ease both,
    logoMarkLedPulse 2.8s ease-in-out 0.75s infinite !important;
}

body.is-loaded .logo-mark--header::after {
  animation-delay: 0.18s, 1.05s !important;
}

body.is-loaded .logo-mark--header .logo-mark__flag {
  animation:
    logoMarkFlagIgnite 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.28s both,
    logoMarkLedPulse 2.8s ease-in-out 1s infinite !important;
}

body.is-loaded .logo-mark--header .logo-mark__name {
  animation: logoMarkNameBoot 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both !important;
}

body.is-loaded .logo-mark--header .logo-mark__caption {
  animation: logoMarkCaptionBoot 0.7s ease 0.42s both !important;
  font-weight: 600 !important;
  font-size: 0.55rem !important;
  letter-spacing: 0.07em !important;
  color: rgba(247, 245, 241, 0.92) !important;
}

.nav a, .nav-link-btn {
  color: rgba(247, 245, 241, 0.78) !important;
  letter-spacing: 0.1em;
  font-size: 0.72rem;
  font-weight: 600;
}
.nav a:hover, .nav-link-btn:hover { color: #fff !important; }

/* Hero ? open over atmospheric field (no flag wall, no flat black slab) */
.hero {
  background: transparent !important;
  min-height: 100vh !important;
}
.hero-copy h1 {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-weight: 650 !important;
  color: #faf8f4 !important;
  text-shadow: 0 2px 28px rgba(0, 0, 0, 0.55) !important;
}
.hero-copy h1 .accent {
  color: var(--cream) !important;
  background: none !important;
  -webkit-text-fill-color: var(--cream) !important;
  animation: none !important;
  filter: none !important;
  text-shadow: none !important;
}
.hero-sub {
  color: rgba(247, 245, 241, 0.78) !important;
  opacity: 1 !important;
  font-weight: 450 !important;
}
.hero-welcome,
.hero-welcome em {
  color: #f7f5f1 !important;
  font-family: var(--font-serif) !important;
  opacity: 1 !important;
  font-weight: 560 !important;
}
.hero-welcome {
  position: relative !important;
  display: inline-block !important;
  font-size: clamp(1.35rem, 2.8vw, 1.75rem) !important;
  margin: 1rem 0 1.4rem !important;
  line-height: 1.35 !important;
  letter-spacing: 0.01em !important;
  text-shadow: 0 0 28px rgba(247, 245, 241, 0.25) !important;
  animation: daWelcomeIn 1.1s ease-out both !important;
}
.hero-welcome::after {
  content: '' !important;
  display: block !important;
  width: min(100%, 16rem) !important;
  height: 3px !important;
  margin-top: 0.55rem !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow:
    0 0 8px rgba(0, 146, 70, 0.45),
    0 0 8px rgba(206, 43, 55, 0.35) !important;
  animation: daTopLed 2.8s ease-in-out infinite !important;
}
.hero-welcome__it {
  color: #f7f5f1 !important;
  font-style: italic !important;
  font-weight: 650 !important;
  font-size: 1.08em !important;
}
.hero-welcome em {
  color: #f7f5f1 !important;
  font-style: italic !important;
}
.hero-welcome strong {
  color: #f7f5f1 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}
@keyframes daWelcomeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
.hero-loc {
  color: #c8bdb0 !important;
  letter-spacing: 0.14em;
  font-weight: 600 !important;
  font-size: 0.78rem !important;
  opacity: 1 !important;
}

.pill--hero, .pill--glow, .eyebrow, .eyebrow--led {
  background: #0a0a0a !important;
  border: 1px solid rgba(247, 245, 241, 0.28) !important;
  color: #f7f5f1 !important;
  box-shadow: none !important;
  font-weight: 600 !important;
}

.glass-card,
.glass-frame,
.community-card,
.da-claim,
.trust-bar__inner,
.reserve-box,
.notify-box {
  background: rgba(18, 16, 14, 0.9) !important;
  border: 1px solid rgba(247, 245, 241, 0.12) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35) !important;
  backdrop-filter: none !important;
}

.hero-badge {
  background: rgba(20, 18, 16, 0.92) !important;
  border: 1px solid rgba(247, 245, 241, 0.22) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4) !important;
  backdrop-filter: none !important;
  padding: 0.85rem 0.9rem !important;
}

.hero-shot {
  animation: none !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45) !important;
  border-radius: 18px !important;
  overflow: hidden;
}
.hero-shot-glow { display: none !important; }

.hero-shot__main {
  filter: none !important;
  object-fit: cover;
}

/* Buttons ? ink + cream type + tricolore top stripe (no gold) */
.btn-shine,
.btn.btn-shine,
a.btn-shine,
.nav-cta,
.hero-cta .btn-shine,
.forno-block__cta .btn-shine {
  position: relative !important;
  overflow: hidden !important;
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
  background-size: 100% 100% !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.14) !important;
  border-radius: 3px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 8px 22px rgba(0, 0, 0, 0.35) !important;
  animation: none !important;
  text-shadow: none !important;
  filter: none !important;
}
.btn-shine::before,
.btn.btn-shine::before,
a.btn-shine::before,
.nav-cta::before,
.hero-cta .btn-shine::before,
.forno-block__cta .btn-shine::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(
    90deg,
    #009246 0%,
    #009246 33.33%,
    #f7f5f1 33.33%,
    #f7f5f1 66.66%,
    #ce2b37 66.66%,
    #ce2b37 100%
  ) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
.btn-shine::after,
.btn.btn-shine::after,
a.btn-shine::after {
  display: none !important;
  animation: none !important;
}
.btn-shine:hover,
.nav-cta:hover {
  filter: none !important;
  transform: translateY(-2px);
  background: #111111 !important;
  background-color: #111111 !important;
  background-image: none !important;
  border-color: rgba(247, 245, 241, 0.22) !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 12px 28px rgba(0, 0, 0, 0.42) !important;
}

.btn-outline {
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  color: #f7f5f1 !important;
  background: transparent !important;
}
.btn-outline:hover {
  background: rgba(255, 255, 255, 0.06) !important;
  box-shadow: none !important;
}

/* Hero marquee ? solid dark rail, cream hairlines, seamless infinite loop */
@keyframes daMarquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

.marquee,
.hero .marquee {
  position: relative !important;
  overflow: hidden !important;
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  margin-top: clamp(1.5rem, 4vw, 2.75rem) !important;
  padding: 0 !important;
  background: rgba(14, 12, 11, 0.55) !important;
  border: none !important;
  border-top: 1px solid rgba(247, 245, 241, 0.16) !important;
  border-bottom: 1px solid rgba(247, 245, 241, 0.1) !important;
  border-image: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  opacity: 1 !important;
  isolation: isolate;
}

/* Soft edge fades only ? never tricolore flag bands */
.marquee::before,
.hero .marquee::before,
.marquee::after,
.hero .marquee::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  width: clamp(2.5rem, 8vw, 5.5rem) !important;
  height: auto !important;
  z-index: 3 !important;
  pointer-events: none !important;
  animation: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  background-image: none !important;
}
.marquee::before,
.hero .marquee::before {
  left: 0 !important;
  right: auto !important;
  background: linear-gradient(90deg, #0c0c0c 0%, rgba(12, 12, 12, 0) 100%) !important;
}
.marquee::after,
.hero .marquee::after {
  right: 0 !important;
  left: auto !important;
  bottom: 0 !important;
  background: linear-gradient(270deg, #0c0c0c 0%, rgba(12, 12, 12, 0) 100%) !important;
}

.marquee-track {
  display: flex !important;
  width: max-content !important;
  align-items: center !important;
  will-change: transform;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  animation: daMarquee 42s linear infinite !important;
}

.marquee-group {
  display: flex !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 0.95rem 0 !important;
  white-space: nowrap !important;
}

.marquee-item,
.marquee-word {
  display: inline-block !important;
  font-family: var(--font-body) !important;
  font-weight: 600 !important;
  font-size: clamp(0.68rem, 1.05vw, 0.78rem) !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.72) !important;
  padding: 0 0.15rem !important;
}

/* Mini Italian tricolore ? CSS only, no unicode (avoids encoding ?) */
.marquee-flag {
  display: inline-block !important;
  flex-shrink: 0 !important;
  width: 14px !important;
  height: 9px !important;
  margin: 0 clamp(0.85rem, 1.8vw, 1.35rem) !important;
  padding: 0 !important;
  border-radius: 1.5px !important;
  vertical-align: middle !important;
  background: linear-gradient(
    90deg,
    #009246 0%,
    #009246 33.33%,
    #f7f5f1 33.33%,
    #f7f5f1 66.66%,
    #ce2b37 66.66%,
    #ce2b37 100%
  ) !important;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.45),
    0 1px 2px rgba(0, 0, 0, 0.35) !important;
}

.marquee-sep {
  display: none !important;
}

/* Legacy .marquee-inner ? keep if referenced elsewhere, no jump */
.marquee-inner {
  display: none !important;
  animation: none !important;
}

@media (min-width: 1645px) {
  .marquee-track {
    animation-duration: 48s !important;
  }
  .marquee-item,
  .marquee-word {
    font-size: 0.8rem !important;
    letter-spacing: 0.24em !important;
  }
}

@media (max-width: 640px) {
  .marquee,
  .hero .marquee {
    margin-top: 1.25rem !important;
  }
  .marquee-group {
    padding: 0.82rem 0 !important;
  }
  .marquee-track {
    animation-duration: 36s !important;
  }
  .marquee-item,
  .marquee-word {
    font-size: 0.64rem !important;
    letter-spacing: 0.16em !important;
  }
  .marquee-flag {
    width: 12px !important;
    height: 8px !important;
    margin: 0 0.7rem !important;
  }
  .marquee::before,
  .hero .marquee::before,
  .marquee::after,
  .hero .marquee::after {
    width: 1.75rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .marquee-track {
    animation: none !important;
    transform: none !important;
  }
  .marquee,
  .hero .marquee {
    overflow-x: auto !important;
  }
}

/* Sections ? translucent so scroll stage shows through */
.da-band,
.da-band--alt,
.menu-sec {
  background: rgba(16, 14, 12, calc(0.36 - var(--da-scroll, 0) * 0.16)) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
}
.da-band::before,
.da-band--alt::before {
  height: 4px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow:
    0 0 10px rgba(0, 146, 70, 0.95),
    0 0 22px rgba(0, 146, 70, 0.7),
    0 0 10px rgba(255, 255, 255, 0.5),
    0 0 22px rgba(206, 43, 55, 0.75),
    0 0 36px rgba(206, 43, 55, 0.4) !important;
  animation: daTopLed 2.4s ease-in-out infinite !important;
  opacity: 1 !important;
}

.section-title {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-weight: 600 !important;
  color: #f7f5f1 !important;
  text-shadow: 0 1px 18px rgba(0, 0, 0, 0.45);
}
.section-title .accent {
  color: #ce2b37 !important;
  -webkit-text-fill-color: #ce2b37 !important;
  text-shadow: 0 0 18px rgba(206, 43, 55, 0.45);
}
#daStories .section-title .accent {
  color: #ce2b37 !important;
  -webkit-text-fill-color: #ce2b37 !important;
  text-shadow: none !important;
}
#daStories .section-title::after {
  width: 56px !important;
  height: 2px !important;
  background: linear-gradient(90deg, #ce2b37, #f7f5f1) !important;
  box-shadow: none !important;
  animation: none !important;
  opacity: 0.9 !important;
}
.section-title::after {
  width: 72px !important;
  height: 4px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow:
    0 0 12px rgba(0, 146, 70, 0.85),
    0 0 12px rgba(255, 255, 255, 0.4),
    0 0 16px rgba(206, 43, 55, 0.7) !important;
  animation: daTopLed 2s ease-in-out infinite !important;
  opacity: 1 !important;
}
.section-sub { color: var(--muted) !important; }

/* Guest experience ? clean pillars (final rules at end of file) */
#guestExperience.da-guest-xp {
  position: relative !important;
  overflow: hidden;
  background: rgba(12, 10, 9, calc(0.28 - var(--da-scroll, 0) * 0.14)) !important;
}
#guestExperience.da-guest-xp::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 0; right: 0; bottom: 0;
  height: 2px !important;
  z-index: 2;
  pointer-events: none;
  background: var(--da-tricolore) !important;
  box-shadow:
    0 0 4px rgba(0, 146, 70, 0.28),
    0 0 4px rgba(206, 43, 55, 0.22) !important;
  animation: none !important;
}
/* Stories ? thick pulsing LED */
.story-panel__tricolore,
.story-panel__rule {
  height: 2px !important;
  opacity: 0.9 !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow: none !important;
  animation: none !important;
}
.story-panel__media {
  background: rgba(28, 20, 18, 0.92) !important;
  border: 1px solid rgba(247, 245, 241, 0.1) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.32) !important;
  border-radius: 4px !important;
}
.story-panel__italian { color: rgba(247, 245, 241, 0.9) !important; }
.story-panel__label { color: #f7f5f1 !important; }

.led-line--tricolore {
  height: 3px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow:
    0 0 12px rgba(0, 146, 70, 0.85),
    0 0 12px rgba(255, 255, 255, 0.4),
    0 0 16px rgba(206, 43, 55, 0.7) !important;
  animation: daTopLed 2.2s ease-in-out infinite !important;
  opacity: 1 !important;
}

.da-manifesto {
  background: transparent !important;
}
.da-manifesto__quote { color: #fff !important; font-family: var(--font-display) !important; }
.da-manifesto__sign { color: #f7f5f1 !important; }

.footer {
  background: transparent !important;
  border-top: 1px solid rgba(255, 255, 255, 0.06) !important;
}

.fade {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.32s ease, transform 0.32s ease;
}
.fade.show { opacity: 1; transform: none; }

/* ?? Text-only hero (no photos) ?? */
.hero--text {
  min-height: auto !important;
  padding: clamp(6.5rem, 12vw, 8.5rem) 0 0 !important;
}
.hero-grid--solo {
  display: block !important;
  max-width: 820px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
.hero-grid--solo .hero-copy {
  max-width: 720px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.hero-grid--solo .hero-cta {
  justify-content: center;
}
.hero-grid--solo .hero-badges {
  justify-content: center;
}
#heroVisual,
.hero-shot,
.hero-shot__main {
  display: none !important;
}

.pill--hero {
  position: relative;
  padding: 0.55rem 1.15rem !important;
  letter-spacing: 0.16em !important;
  font-size: 0.72rem !important;
  text-transform: uppercase;
  border: 1px solid transparent !important;
  color: #f7f5f1 !important;
  background:
    linear-gradient(#141210, #141210) padding-box,
    linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) border-box !important;
  box-shadow:
    0 0 18px rgba(0, 146, 70, 0.35),
    0 0 18px rgba(206, 43, 55, 0.28) !important;
  animation: daTopLed 2.6s ease-in-out infinite !important;
}
#heroHeadline {
  font-size: clamp(2.6rem, 7vw, 4.4rem) !important;
  line-height: 1.08 !important;
  margin: 1rem 0 1.1rem !important;
  max-width: 16ch;
  color: #faf8f4 !important;
  font-weight: 650 !important;
}
#heroHeadline .accent {
  display: inline-block;
  margin-top: 0.15em;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  background: none !important;
  text-shadow: 0 0 44px rgba(247, 245, 241, 0.4);
}
.hero-sub {
  max-width: 42rem;
  font-size: clamp(1.05rem, 2.4vw, 1.2rem) !important;
  line-height: 1.7 !important;
  color: #d4cbc0 !important;
  opacity: 1 !important;
}

/* Stories ? text cards, no photos */
.story-panel--text {
  width: clamp(230px, 27vw, 300px) !important;
}
.story-panel__media--text {
  aspect-ratio: auto !important;
  min-height: 268px;
  padding: 1.45rem 1.3rem 1.25rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.7rem !important;
  background:
    linear-gradient(180deg, rgba(62, 34, 26, 0.35), rgba(22, 14, 12, 0.55)),
    rgba(28, 20, 18, 0.94) !important;
}
.story-panel__img,
.story-panel__shade,
.story-panel__hover,
.story-panel__foot { display: none !important; }
.story-panel__kicker {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  z-index: 1 !important;
  font-size: 0.62rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.95) !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  backdrop-filter: none !important;
}
.story-panel__title {
  font-family: var(--font-display) !important;
  font-style: italic;
  font-size: clamp(1.45rem, 2.4vw, 1.75rem);
  font-weight: 600;
  color: #faf8f4;
  line-height: 1.15;
  text-align: left;
  text-shadow: none;
}
.story-panel__media--text .story-panel__excerpt {
  display: block !important;
  font-size: 0.86rem;
  line-height: 1.62;
  color: rgba(232, 228, 220, 0.72);
  text-align: left;
  flex: 1 1 auto;
}
.story-panel__media--text .story-panel__italian {
  font-size: 0.78rem !important;
  font-style: italic !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: rgba(247, 245, 241, 0.88) !important;
}
.story-panel__media--text .story-panel__open {
  margin-top: auto;
  font-size: 0.68rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #f7f5f1;
  font-weight: 600;
}
.story-viewer__media { display: none !important; }
.story-viewer__layout--text {
  grid-template-columns: 1fr !important;
}

/* Manifesto — matte panel + restrained quote motion */
.da-manifesto {
  padding: clamp(2rem, 5vw, 3rem) 0 !important;
  background: transparent !important;
}
.da-manifesto__inner {
  position: relative;
  text-align: center;
  padding: clamp(1.75rem, 4vw, 2.5rem) 1.5rem !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  background: #111111 !important;
  border-radius: 18px;
  overflow: hidden;
}
.da-manifesto__flag {
  display: block;
  position: relative;
  height: 3px;
  width: min(280px, 70%);
  margin: 0 auto 1.25rem;
  border-radius: 999px;
  overflow: hidden;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%);
  box-shadow:
    0 0 8px rgba(0, 146, 70, 0.4),
    0 0 6px rgba(247, 245, 241, 0.22),
    0 0 10px rgba(206, 43, 55, 0.35);
  animation: daManifestoLedPulse 2.8s ease-in-out infinite;
}
.da-manifesto__flag::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 0%,
    transparent 38%,
    rgba(247, 245, 241, 0.55) 50%,
    transparent 62%,
    transparent 100%
  );
  transform: translateX(-120%);
  animation: daManifestoLedSheen 4.2s ease-in-out infinite;
  pointer-events: none;
}
.da-manifesto__flag--bottom {
  margin: 1.25rem auto 0;
  animation-direction: reverse;
}
.da-manifesto__quote {
  position: relative;
  font-size: clamp(1.45rem, 3.5vw, 2.1rem) !important;
  font-style: italic;
  line-height: 1.35;
  max-width: 22ch;
  margin: 0 auto 0.85rem;
  min-height: 3.2em;
  opacity: 0;
  transform: translateY(0.55em);
  transition:
    opacity 0.52s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.52s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.52s ease;
  filter: blur(1.5px);
}
.da-manifesto__quote::before,
.da-manifesto__quote::after {
  font-style: normal;
  font-weight: 400;
  opacity: 0.38;
  color: #f7f5f1;
}
.da-manifesto__quote::before {
  content: "\201E";
  margin-right: 0.12em;
}
.da-manifesto__quote::after {
  content: "\201C";
  margin-left: 0.12em;
}
.da-manifesto__quote.is-active {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}
.da-manifesto__quote.is-leaving {
  opacity: 0;
  transform: translateY(-0.45em);
  filter: blur(1px);
  transition-duration: 0.42s;
}
.da-manifesto__sign {
  letter-spacing: 0.22em;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  opacity: 0.82;
  transition: opacity 0.45s ease;
}
.da-manifesto__quote.is-leaving ~ .da-manifesto__sign {
  opacity: 0.45;
}

@keyframes daManifestoLedPulse {
  0%, 100% {
    opacity: 0.82;
    filter: brightness(0.96);
    box-shadow:
      0 0 6px rgba(0, 146, 70, 0.35),
      0 0 4px rgba(247, 245, 241, 0.18),
      0 0 8px rgba(206, 43, 55, 0.28);
  }
  50% {
    opacity: 1;
    filter: brightness(1.08);
    box-shadow:
      0 0 10px rgba(0, 146, 70, 0.55),
      0 0 6px rgba(247, 245, 241, 0.32),
      0 0 12px rgba(206, 43, 55, 0.42);
  }
}
@keyframes daManifestoLedSheen {
  0%, 18% { transform: translateX(-120%); opacity: 0; }
  35% { opacity: 0.9; }
  55% { transform: translateX(120%); opacity: 0; }
  100% { transform: translateX(120%); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  body::before, body::after, .header::after, .header.solid::after,
  .logo-led--header .logo-led__strip,
  .logo-led--header .logo-led__aura,
  .logo-led--header .logo-led__shine::after,
  .logo-mark--header,
  .logo-mark--header::before,
  .logo-mark--header::after,
  .logo-mark--header .logo-mark__name,
  .logo-mark--header .logo-mark__flag,
  .logo-mark--header .logo-mark__caption,
  body.is-loaded .logo-mark--header,
  body.is-loaded .logo-mark--header::before,
  body.is-loaded .logo-mark--header::after,
  body.is-loaded .logo-mark--header .logo-mark__flag,
  .story-panel__tricolore, .story-panel__rule, .led-line--tricolore, .section-title::after,
  .da-band::before, .pill--hero, .da-manifesto__flag,
  .da-manifesto__flag::after,
  #guestExperience.da-guest-xp::after, .trust-bar__inner::before,
  #guestXpLabel.eyebrow--led::after,
  #guestExperience .da-guest-xp__head .eyebrow--led::after,
  .hero-welcome,
  .hero-welcome::after {
    animation: none !important;
    filter: none !important;
    opacity: 0.88 !important;
    transform: none !important;
  }
  .da-manifesto__quote,
  .da-manifesto__quote.is-active,
  .da-manifesto__quote.is-leaving {
    transition: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }
  .da-manifesto__flag::after {
    content: none !important;
    display: none !important;
  }
  .marquee-track {
    animation: none !important;
    transform: none !important;
  }
}

/* Trust bar ? solid matte */
.trust-bar {
  padding: 1.5rem 0 !important;
  background: transparent !important;
}
.trust-bar__inner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
  background: #141210 !important;
  border: 1px solid rgba(255, 255, 255, 0.08) !important;
  border-radius: 16px !important;
  overflow: hidden;
  position: relative;
}
.trust-bar__inner::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  z-index: 1;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%);
  box-shadow: 0 0 14px rgba(0, 146, 70, 0.45), 0 0 14px rgba(206, 43, 55, 0.35);
  animation: daTopLed 2.4s ease-in-out infinite;
}
.trust-stat {
  border: none !important;
  border-right: 1px solid rgba(255, 255, 255, 0.06) !important;
  padding: 1.5rem 1rem 1.35rem !important;
  text-align: center !important;
  background: transparent !important;
}
.trust-stat:last-child { border-right: none !important; }
.trust-stat--live { background: rgba(0, 146, 70, 0.06) !important; }
.trust-stat__num {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem) !important;
  font-weight: 600 !important;
  color: #f7f5f1 !important;
  line-height: 1.2 !important;
  margin-bottom: 0.4rem !important;
}
.trust-stat__label {
  font-size: 0.65rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #c8bdb0 !important;
  font-weight: 600 !important;
}
@media (max-width: 720px) {
  .trust-bar__inner { grid-template-columns: 1fr 1fr !important; }
  .trust-stat:nth-child(2) { border-right: none !important; }
  .trust-stat:nth-child(1),
  .trust-stat:nth-child(2) { border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important; }
}

/* Hero badges ? numbered, high-contrast, no emoji */
.hero-badges {
  gap: 0.75rem !important;
}
.hero-badge .icon {
  font-family: var(--font-display) !important;
  font-style: italic;
  font-size: 1.05rem !important;
  color: #f7f5f1 !important;
  font-weight: 650;
  opacity: 1 !important;
}
.hero-badge strong {
  color: #faf8f4 !important;
  font-weight: 700 !important;
  font-size: 0.82rem !important;
  opacity: 1 !important;
}
.hero-badge span {
  color: #c8bdb0 !important;
  font-size: 0.62rem !important;
  opacity: 1 !important;
  letter-spacing: 0.06em;
}

/* Force-kill leftover hero media */
#heroVisual,
.hero-shot,
.hero-shot__main,
.hero-shot-glow,
.shot-tag,
.hero-backdrop,
.hero-backdrop__photo,
.hero-backdrop__shade {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* Host strip ? solid matte (overrides card chrome) */
.ai-concierge__inner {
  background: #12100e !important;
  border: 1px solid rgba(247, 245, 241, 0.24) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}
.ai-concierge__inner::before {
  height: 2px !important;
  box-shadow: none !important;
  animation: none !important;
  background: linear-gradient(90deg, #009246 0 32%, #f7f5f1 32% 68%, #ce2b37 68% 100%) !important;
}
.ai-concierge__orb { display: none !important; }
.ai-concierge__mark {
  background:
    linear-gradient(165deg, rgba(245, 237, 224, 0.07) 0%, transparent 45%),
    #16110e !important;
  border: 1px solid rgba(247, 245, 241, 0.45) !important;
  border-radius: 3px !important;
  box-shadow:
    0 0 0 1px rgba(247, 245, 241, 0.14),
    0 6px 18px rgba(0, 0, 0, 0.3) !important;
}
.ai-concierge__mark::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  pointer-events: none !important;
}
.ai-concierge__mark span {
  color: #f7f5f1 !important;
  letter-spacing: 0.14em !important;
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35) !important;
}
.ai-concierge__btn {
  background: #f7f5f1 !important;
  color: #14100c !important;
  border: 1px solid #f7f5f1 !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  animation: none !important;
}
.ai-concierge__btn:hover {
  background: #fff !important;
  filter: none !important;
}
.ai-chip {
  border-radius: 2px !important;
  background: transparent !important;
}

/* Il Forno ? translucent over stage */
#forno.forno-sec {
  position: relative !important;
  overflow: hidden;
  background: rgba(14, 12, 11, calc(0.34 - var(--da-scroll, 0) * 0.16)) !important;
}
#forno.forno-sec::after {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 0;
  right: 0;
  bottom: 0;
  height: 4px !important;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow:
    0 0 10px rgba(0, 146, 70, 0.75),
    0 0 10px rgba(255, 255, 255, 0.4),
    0 0 14px rgba(206, 43, 55, 0.7) !important;
}
#forno .forno-block__italian {
  position: relative !important;
  display: inline-block !important;
  margin: 0.75rem 0 1.05rem !important;
  padding-bottom: 0.5rem !important;
  color: #f7f5f1 !important;
  font-family: var(--font-serif) !important;
  font-style: italic !important;
  font-size: clamp(1.28rem, 2.9vw, 1.7rem) !important;
  font-weight: 620 !important;
  letter-spacing: 0.035em !important;
  line-height: 1.3 !important;
  text-shadow:
    0 0 18px rgba(255, 216, 106, 0.35),
    0 0 36px rgba(247, 245, 241, 0.2),
    0 1px 2px rgba(0, 0, 0, 0.45) !important;
}
#forno .forno-block__italian::after {
  content: '' !important;
  display: block !important;
  width: min(100%, 14rem) !important;
  height: 2px !important;
  margin: 0.5rem auto 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow:
    0 0 8px rgba(0, 146, 70, 0.5),
    0 0 8px rgba(206, 43, 55, 0.4) !important;
  animation: daTopLed 2.8s ease-in-out infinite !important;
}
#forno .forno-block__head .section-title {
  font-size: clamp(1.72rem, 3.7vw, 2.45rem) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
}
#forno .forno-block__head .section-title .accent,
#forno #barTitleAccent {
  color: #ce2b37 !important;
  -webkit-text-fill-color: #ce2b37 !important;
  text-shadow:
    0 0 14px rgba(206, 43, 55, 0.55),
    0 1px 2px rgba(0, 0, 0, 0.5);
}
#forno .forno-block__head .section-sub,
#forno #barSub {
  color: #c8bdb0 !important;
  font-size: clamp(0.95rem, 2vw, 1.05rem) !important;
  line-height: 1.65 !important;
}
#forno .forno-block__head .eyebrow--led {
  color: #f7f5f1 !important;
  border-color: rgba(247, 245, 241, 0.45) !important;
}
#forno .forno-highlight {
  border-color: rgba(247, 245, 241, 0.18) !important;
  background: linear-gradient(168deg, rgba(250, 246, 238, 0.05) 0%, rgba(20, 12, 8, 0.55) 100%) !important;
  border-radius: 4px !important;
}
#forno .forno-highlight h3 {
  color: #f7f5f1 !important;
  font-weight: 700 !important;
}
#forno .forno-highlight p {
  color: #c8bdb0 !important;
}
#forno .forno-highlight__mark {
  color: #f7f5f1 !important;
  border-color: rgba(247, 245, 241, 0.4) !important;
  background: rgba(247, 245, 241, 0.1) !important;
}
@media (prefers-reduced-motion: reduce) {
  #forno .forno-highlight { transition: none !important; }
  #forno .forno-block__italian::after {
    animation: none !important;
    opacity: 0.9 !important;
  }
}

/* Premium Italian tricolore CTAs ? status banner + header Reservieren + Speisekarte + Events */
#statusBannerCta,
.da-status .btn,
#navReserve,
.nav-cta,
#menuOpenBtn,
.menu-panel__actions .btn-shine,
#eventsCta,
.events-cta .btn-shine {
  position: relative !important;
  overflow: hidden !important;
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
  background-size: 100% 100% !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.14) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 8px 22px rgba(0, 0, 0, 0.35) !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-shadow: none !important;
  filter: none !important;
}

#statusBannerCta::before,
.da-status .btn::before,
#navReserve::before,
.nav-cta::before,
#menuOpenBtn::before,
.menu-panel__actions .btn-shine::before,
#eventsCta::before,
.events-cta .btn-shine::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(
    90deg,
    #009246 0%,
    #009246 33.33%,
    #f7f5f1 33.33%,
    #f7f5f1 66.66%,
    #ce2b37 66.66%,
    #ce2b37 100%
  ) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

#statusBannerCta::after,
.da-status .btn.btn-shine::after,
#navReserve::after,
.nav-cta::after,
#menuOpenBtn::after,
.menu-panel__actions .btn-shine::after,
#eventsCta::after,
.events-cta .btn-shine::after {
  display: none !important;
  animation: none !important;
}

#statusBannerCta:hover,
.da-status .btn:hover,
#navReserve:hover,
.nav-cta:hover,
#menuOpenBtn:hover,
.menu-panel__actions .btn-shine:hover,
#eventsCta:hover,
.events-cta .btn-shine:hover {
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  background: #111111 !important;
  background-color: #111111 !important;
  background-image: none !important;
  border-color: rgba(247, 245, 241, 0.22) !important;
  filter: none !important;
  transform: translateY(-2px);
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.08) inset,
    0 12px 28px rgba(0, 0, 0, 0.42) !important;
}

/* ???????????????????????????????????????????????????????????
   UI POLISH v30 ? Speisekarte panel + cohesive luxury sections
   ??????????????????????????????????????????????????????????? */

:root {
  --muted: #c8bdb0 !important;
  --cream: #f7f5f1 !important;
  --radius-lux: 4px !important;
}

/* Soften LED glow spam ? keep thin tricolore on section LED lines only */
.da-band::before,
.da-band--alt::before,
.section-title::after,
#guestExperience.da-guest-xp::after,
#forno.forno-sec::after,
.led-line--tricolore {
  box-shadow:
    0 0 4px rgba(0, 146, 70, 0.28),
    0 0 4px rgba(206, 43, 55, 0.22) !important;
}
/* Marquee edges stay matte fades ? never flag glow */
.marquee::before,
.hero .marquee::before,
.marquee::after,
.hero .marquee::after {
  box-shadow: none !important;
  animation: none !important;
}
.section-title::after {
  height: 2px !important;
  width: 56px !important;
  animation: none !important;
  opacity: 0.92 !important;
}
.da-band::before,
.da-band--alt::before {
  height: 2px !important;
  animation: daTopLed 3.4s ease-in-out infinite !important;
}

/* Unified section rhythm */
.da-manifesto,
.da-guest-xp,
.forno-sec,
.lounge,
.menu-sec,
.events-sec,
.reserve,
.standort,
.notify {
  padding: clamp(2.75rem, 6vw, 4rem) 0 !important;
}
.lounge-section {
  padding: clamp(1.25rem, 3vw, 2rem) 0 clamp(2rem, 4vw, 2.75rem) !important;
}

/* Warm charcoal cards ? solid matte for forms/panels */
.glass-card,
.reserve-box,
.notify-box,
.da-manifesto__inner {
  background: #141210 !important;
  border: 1px solid rgba(247, 245, 241, 0.1) !important;
  border-radius: var(--radius-lux) !important;
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.38) !important;
}
.da-manifesto__inner {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(1.6rem, 3.5vw, 2.25rem) 1.5rem !important;
}

.section-sub {
  color: var(--muted) !important;
  max-width: 38rem;
  margin-left: auto;
  margin-right: auto;
}

/* Shared primary CTAs ? ink + tricolore (already set above; keep in sync) */
.btn-shine,
.btn.btn-shine,
a.btn-shine,
.hero-cta .btn-shine,
.forno-block__cta .btn-shine {
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.14) !important;
  border-radius: 3px !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 8px 22px rgba(0, 0, 0, 0.35) !important;
  letter-spacing: 0.06em !important;
  font-weight: 700 !important;
}

/* Speisekarte / Events ? same ink + tricolore family */
#menuOpenBtn,
.menu-panel__actions .btn-shine,
#eventsCta,
.events-cta .btn-shine {
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.14) !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.06) inset,
    0 8px 22px rgba(0, 0, 0, 0.35) !important;
  letter-spacing: 0.08em !important;
  filter: none !important;
}
.btn-outline,
.menu-panel__actions .btn-outline,
.forno-block__cta .btn-outline {
  border-radius: 3px !important;
  border-color: rgba(247, 245, 241, 0.28) !important;
  color: #f7f5f1 !important;
  background: rgba(255, 255, 255, 0.02) !important;
}
.btn-outline:hover {
  background: rgba(255, 255, 255, 0.07) !important;
  border-color: rgba(247, 245, 241, 0.4) !important;
}

/* Forno cards only ? guest pillars retired */
#forno .forno-highlight {
  border-radius: 3px !important;
  border: 1px solid rgba(247, 245, 241, 0.16) !important;
  background: #141210 !important;
  box-shadow: none !important;
}
#forno .forno-highlight p {
  color: #c8bdb0 !important;
}

/* Speisekarte ? solid matte professional panel */
#menu.menu-sec {
  position: relative !important;
  overflow: hidden;
  background: #0a0a0a !important;
  background-image: none !important;
  border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04) !important;
  text-align: center !important;
}
#menu.menu-sec::before {
  content: '' !important;
  display: block !important;
  position: absolute !important;
  left: 0; right: 0; top: 0;
  height: 2px !important;
  z-index: 2;
  pointer-events: none;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow:
    0 0 6px rgba(0, 146, 70, 0.4),
    0 0 6px rgba(206, 43, 55, 0.32) !important;
}
.menu-sec__head {
  max-width: 40rem;
  margin: 0 auto 1.75rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.menu-sec__head .section-title {
  margin-bottom: 0 !important;
  font-size: clamp(1.65rem, 3.6vw, 2.35rem) !important;
  color: #ffffff !important;
}
/* Tricolore underline stays ABOVE the note ? never overlaps text */
.menu-sec__head .section-title::after {
  display: block !important;
  margin: 0.75rem auto 0 !important;
}
.menu-sec__head .section-sub,
#menuNote {
  margin-top: 0.9rem !important; /* kill style.css -1.5rem pull-up into the flag */
  margin-bottom: 0.75rem !important;
  padding-top: 0 !important;
}
.menu-sec__meta {
  margin: 0 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: #f7f5f1 !important;
  opacity: 0.95;
}
#menuGrid {
  max-width: 720px;
  margin: 0 auto;
}
.menu-panel {
  display: grid !important;
  gap: 1.35rem;
  padding: clamp(1.35rem, 3vw, 1.75rem) clamp(1.25rem, 3vw, 1.85rem);
  border-radius: 4px !important;
  border: 1px solid rgba(247, 245, 241, 0.22) !important;
  background: #141210 !important;
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.4) !important;
  text-align: left;
}
.menu-panel__top {
  display: grid;
  grid-template-columns: minmax(180px, 236px) 1fr;
  gap: 1.25rem 1.5rem;
  align-items: center;
}
/* Same #headerLogo plate — full lockup, not cropped SVG img */
.menu-panel__logo.logo-mark--header,
.menu-panel .logo-mark--header.menu-panel__logo {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: max-content !important;
  max-width: min(236px, 100%) !important;
  margin: 0 !important;
  filter: none !important;
  justify-self: start;
}
.menu-panel__logo.logo-mark--header .logo-mark__name {
  font-size: clamp(1.05rem, 2.4vw, 1.28rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding-left: 0 !important;
}
.menu-panel__logo.logo-mark--header .logo-mark__caption {
  font-size: 0.42rem !important;
  letter-spacing: 0.07em !important;
}
.menu-panel__logo.logo-mark--header .logo-mark__flag {
  width: 72% !important;
  max-width: 5.5rem !important;
}
.menu-panel__lead {
  margin: 0 0 0.55rem !important;
  font-size: 0.98rem !important;
  line-height: 1.6 !important;
  color: #e8ecf2 !important;
  font-weight: 500 !important;
}
.menu-panel__addr {
  margin: 0 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #aeb6c2 !important;
  font-weight: 600 !important;
}
.menu-panel__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}
.menu-panel__actions .btn {
  flex: 1 1 auto;
  min-width: 9.5rem;
  justify-content: center;
  text-align: center;
}
.menu-cta,
.menu-cta__card {
  display: none !important;
}
@media (max-width: 640px) {
  .menu-panel__top {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }
  .menu-panel__logo.logo-mark--header {
    max-width: min(220px, 88vw) !important;
    justify-self: center;
  }
  .menu-panel__actions {
    flex-direction: column;
  }
  .menu-panel__actions .btn {
    width: 100%;
    min-width: 0;
  }
}

/* Gaming intro ? translucent over stage */
#gaming.lounge {
  background: rgba(14, 12, 11, calc(0.34 - var(--da-scroll, 0) * 0.16)) !important;
}
#gaming .lounge-info h2 {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-size: clamp(1.65rem, 3.6vw, 2.35rem) !important;
  color: #faf8f4 !important;
  font-weight: 650 !important;
}
#gaming .lounge-info h2 .accent {
  color: #ce2b37 !important;
}
#gaming .lounge-tagline,
#gaming .lounge-intro {
  color: #c8bdb0 !important;
  max-width: 36rem;
  margin-left: auto;
  margin-right: auto;
}
#gaming .lounge-chips {
  max-width: 640px;
  margin: 1.5rem auto 0;
  gap: 0.75rem !important;
}
#gaming .lounge-chip,
#gaming .chip {
  border-radius: 3px !important;
  border: 1px solid rgba(247, 245, 241, 0.16) !important;
  background: #141210 !important;
  box-shadow: none !important;
}

/* Events ? balanced 3-up, Italian luxury chrome */
#events.events-sec {
  position: relative;
}
#events .events-head {
  text-align: center;
  max-width: 36rem;
  margin: 0 auto 2rem;
}
#events .events-head .section-title {
  font-size: clamp(1.65rem, 3.5vw, 2.35rem) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.01em !important;
  color: #ffffff !important;
}
#events .events-head .section-title .accent,
#events #eventsTitleAccent {
  color: #ce2b37 !important;
  -webkit-text-fill-color: #ce2b37 !important;
  text-shadow:
    0 0 14px rgba(206, 43, 55, 0.45),
    0 1px 2px rgba(0, 0, 0, 0.45);
}
#events .events-head .section-title::after {
  margin-top: 0.85rem !important;
  margin-bottom: 0 !important;
}
#events .events-head .section-sub,
#events #eventsSub {
  margin-top: 1rem !important;
  color: #c8bdb0 !important;
  font-size: clamp(0.92rem, 1.8vw, 1.02rem) !important;
  line-height: 1.65 !important;
}
#events .events-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1rem !important;
  max-width: 1040px;
  margin: 0 auto;
}
#events .event-card,
#events .events-card,
#events article {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.35rem;
  padding: 1.35rem 1.25rem 1.4rem !important;
  border-radius: 4px !important;
  border: 1px solid rgba(247, 245, 241, 0.1) !important;
  background: #141210 !important;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.28) !important;
  overflow: hidden;
  transition:
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.3s ease,
    box-shadow 0.3s ease;
}
#events .events-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  opacity: 0.85;
  pointer-events: none;
}
#events .events-card:hover {
  transform: translateY(-3px);
  border-color: rgba(247, 245, 241, 0.18) !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.38) !important;
}
#events .events-card__mark {
  display: block;
  margin-bottom: 0.35rem;
  font-family: var(--font-display), Georgia, serif;
  font-style: italic;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: rgba(247, 245, 241, 0.72);
}
#events .events-card h3 {
  margin: 0 !important;
  font-family: var(--font-display) !important;
  font-size: clamp(1.05rem, 2vw, 1.2rem) !important;
  font-weight: 650 !important;
  font-style: italic !important;
  color: #f7f5f1 !important;
  line-height: 1.25 !important;
}
#events .events-card p {
  margin: 0 !important;
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  color: #c8bdb0 !important;
}
#events .events-cta {
  margin-top: 2rem;
  text-align: center;
}
#events .events-cta .btn,
#events #eventsCta {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 13.5rem;
  padding: 0.95rem 1.85rem !important;
  border-radius: 3px !important;
}
#events .events-cta-note {
  margin-top: 0.9rem !important;
  max-width: 26rem;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.82rem !important;
  line-height: 1.55 !important;
  color: #9aa3b0 !important;
}
@media (max-width: 820px) {
  #events .events-grid {
    grid-template-columns: 1fr !important;
    max-width: 26rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  #events .events-card {
    transition: none !important;
  }
  #events .events-card:hover {
    transform: none !important;
  }
}

/* Reserve / Standort / Kontakt */
.reserve-box,
.notify-box {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  padding: clamp(1.5rem, 3.5vw, 2rem) !important;
}
.reserve-head,
.notify .notify-head,
.standort .history-head,
.standort > .wrap > .fade {
  text-align: center;
}
.reserve-type {
  border-radius: 3px !important;
  border-color: rgba(247, 245, 241, 0.12) !important;
  background: #0a0a0a !important;
}
.reserve-type.active,
.reserve-type:hover {
  border-color: rgba(247, 245, 241, 0.4) !important;
  box-shadow: 0 0 0 1px rgba(247, 245, 241, 0.08) !important;
}

/* Footer ? cream + tricolore chrome only (no gold); solid matte */
.footer {
  position: relative !important;
  padding: clamp(3rem, 6vw, 4.25rem) 0 1.6rem !important;
  background: transparent !important;
  border-top: none !important;
}

/* Thin tricolore LED rim ? pulse only on this hairline */
.footer::before {
  content: '' !important;
  position: absolute !important;
  top: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: min(var(--wrap, 1120px), 92vw) !important;
  height: 1.5px !important;
  background: linear-gradient(
    90deg,
    transparent,
    #009246 14%,
    #f7f5f1 50%,
    #ce2b37 86%,
    transparent
  ) !important;
  box-shadow:
    0 0 6px rgba(0, 146, 70, 0.4),
    0 0 6px rgba(247, 245, 241, 0.2),
    0 0 8px rgba(206, 43, 55, 0.35) !important;
  animation: ledPulse 3.5s ease-in-out infinite !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.footer-grid {
  display: grid !important;
  grid-template-columns: 1.45fr 1fr 1fr !important;
  gap: clamp(1.75rem, 4vw, 3rem) !important;
  align-items: start !important;
  padding-bottom: clamp(1.75rem, 3.5vw, 2.5rem) !important;
  border-bottom: 1px solid rgba(247, 245, 241, 0.12) !important;
}

.footer-brand {
  max-width: 30rem;
}

.logo-link--footer {
  display: inline-block !important;
}

.logo-mark--footer {
  position: relative !important;
  background: #0a0a0a !important;
  max-width: 188px !important;
  padding: 0.5rem 0.7rem 0.46rem !important;
  border-radius: 2px !important;
  filter: none !important;
  box-shadow:
    0 0 0 1px rgba(247, 245, 241, 0.1),
    0 6px 18px rgba(0, 0, 0, 0.35) !important;
}

.logo-mark--footer::before,
.logo-mark--footer::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  z-index: 2 !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  opacity: 0.85 !important;
  animation: none !important;
  box-shadow:
    0 0 3px rgba(0, 146, 70, 0.22),
    0 0 3px rgba(206, 43, 55, 0.18) !important;
}

.logo-mark--footer::before { top: 0 !important; bottom: auto !important; }
.logo-mark--footer::after { bottom: 0 !important; top: auto !important; }

.footer-tagline {
  margin: 1.15rem 0 0.45rem !important;
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  color: rgba(247, 245, 241, 0.72) !important;
  max-width: 22em !important;
}

.footer-addr {
  font-size: 0.8rem !important;
  color: #f7f5f1 !important;
  letter-spacing: 0.06em !important;
  font-weight: 500 !important;
}

.footer-hours-note,
.footer-note {
  color: rgba(247, 245, 241, 0.55) !important;
}

.footer h4,
.footer-col h4 {
  font-family: var(--font-body) !important;
  font-style: normal !important;
  font-weight: 700 !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: #f7f5f1 !important;
  margin-bottom: 1rem !important;
}

.footer-hours {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer-hours li {
  font-size: 0.8rem !important;
  padding: 0.42rem 0 !important;
  color: rgba(247, 245, 241, 0.62) !important;
  border-bottom: 1px solid rgba(247, 245, 241, 0.08) !important;
}

.footer-hours li strong {
  color: #f7f5f1 !important;
  font-weight: 550 !important;
}

.footer-col > a#footerEmail,
#footerEmail {
  display: inline-block !important;
  font-size: 0.84rem !important;
  color: #f7f5f1 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(247, 245, 241, 0.28) !important;
  padding-bottom: 1px !important;
  transition: color 0.2s ease, border-color 0.2s ease !important;
}

#footerEmail:hover {
  color: #fff !important;
  border-bottom-color: #009246 !important;
}

.footer-phone {
  margin: 0.55rem 0 1rem !important;
}
.footer-phone__call {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.65rem 0.35rem 0.4rem;
  border-radius: 999px;
  text-decoration: none !important;
  color: #f7f5f1 !important;
  font-weight: 700;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  border: 1px solid rgba(247, 245, 241, 0.16);
  background: rgba(247, 245, 241, 0.04);
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease;
}
.footer-phone__call:hover {
  border-color: rgba(0, 146, 70, 0.55);
  background: rgba(0, 146, 70, 0.12);
  color: #fff !important;
}
.footer-phone__ico {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  padding: 4px;
  border-radius: 50%;
  background: #009246;
  color: #f7f5f1;
  box-sizing: border-box;
}

/* Kontakt — Hier erreichen Sie uns */
.reach-us {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-top: 1.15rem;
  padding: 0.95rem 1.05rem;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(247, 245, 241, 0.14);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(0, 146, 70, 0.12), rgba(10, 10, 10, 0.55) 45%, rgba(206, 43, 55, 0.1));
  position: relative;
  overflow: hidden;
  max-width: 22rem;
  transition: border-color 0.2s ease, transform 0.15s ease;
}
.reach-us::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 3px;
  background: linear-gradient(180deg, #009246, #f7f5f1, #ce2b37);
}
.reach-us:hover {
  border-color: rgba(247, 245, 241, 0.28);
  transform: translateY(-1px);
}
.reach-us__label {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  color: rgba(247, 245, 241, 0.62);
}
.reach-us__num {
  font-family: Cinzel, Georgia, 'Times New Roman', serif;
  font-size: clamp(1.25rem, 3.5vw, 1.55rem);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #faf8f5;
  line-height: 1.2;
}

/* Pre-open simple mode — less clutter, same logos */
body.da-preopen-simple #daSpy,
body.da-preopen-simple #serata,
body.da-preopen-simple #guestExperience,
body.da-preopen-simple #firma,
body.da-preopen-simple #weeklyTeaser,
body.da-preopen-simple #events,
body.da-preopen-simple #menu,
body.da-preopen-simple #menuModal {
  display: none !important;
}
body.da-preopen-simple .da-manifesto {
  padding-block: clamp(1.25rem, 3vw, 2rem);
}

/* Cleaner pre-open hero — logos unchanged */
.hero--preopen {
  padding-top: clamp(5.5rem, 12vh, 7.5rem) !important;
  padding-bottom: clamp(1.25rem, 3vw, 2rem) !important;
  min-height: auto !important;
}
.hero--preopen .hero-copy__body {
  max-width: 34rem;
  margin-inline: auto;
}
.hero--preopen .hero-eyebrow {
  letter-spacing: 0.2em;
  font-size: 0.72rem;
  opacity: 0.85;
}
.hero--preopen .hero-cta {
  justify-content: center;
  gap: 0.65rem;
}
.hero--preopen .hero-cta__sec {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: center;
}
.hero--preopen .hero-loc {
  margin-top: 1rem;
  opacity: 0.75;
  font-size: 0.88rem;
}
.hero--preopen .hero-jumps[hidden],
.hero--preopen .hero-follow { display: none !important; }
.header .nav a#navFollow {
  color: var(--cream);
  opacity: 0.88;
}
body.da-spot-pop-open { overflow: hidden; }

/* Commercial POP-UP (session) — DISABLED (announcement.popup: false).
   Hard-kill so stale JS/cache never leaves a blur veil over the site. */
.da-spot-pop,
.da-spot-pop.is-open,
.da-spot-pop.is-leaving {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
.da-spot-pop[hidden] { display: none !important; }
.da-spot-pop {
  position: fixed;
  inset: 0;
  z-index: 12000;
  place-items: center;
  padding: 1.25rem;
  transition: opacity 0.35s ease;
}
.da-spot-pop__veil {
  position: absolute;
  inset: 0;
  border: 0;
  margin: 0;
  padding: 0;
  cursor: pointer;
  background: transparent;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
.da-spot-pop__card {
  position: relative;
  z-index: 1;
  width: min(100%, 28.5rem);
  padding: clamp(1.6rem, 4vw, 2.25rem) clamp(1.25rem, 3.5vw, 2rem) 1.5rem;
  text-align: center;
  background: linear-gradient(165deg, #161412 0%, #0c0b0a 100%);
  border: 1px solid rgba(247, 245, 241, 0.14);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.55);
  transform: translateY(1.1rem) scale(0.96);
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.da-spot-pop.is-open .da-spot-pop__card {
  transform: translateY(0) scale(1);
}
.da-spot-pop__flag {
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 3px;
  background: var(--da-tricolore);
}
.da-spot-pop__close {
  position: absolute;
  top: 0.55rem;
  right: 0.65rem;
  width: 2.1rem;
  height: 2.1rem;
  border: 0;
  background: transparent;
  color: var(--cream);
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0.7;
}
.da-spot-pop__close:hover { opacity: 1; }
.da-spot-pop__logo {
  display: block;
  margin: 0 auto 1rem;
  transform: scale(0.92);
}
.da-spot-pop__kicker {
  margin: 0 0 0.4rem;
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--accent);
}
.da-spot-pop__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-display);
  font-size: clamp(1.55rem, 5vw, 2.05rem);
  font-weight: 600;
  color: var(--cream);
  line-height: 1.15;
}
.da-spot-pop__line {
  min-height: 2.6em;
  margin: 0 0 0.75rem;
  font-family: var(--font-serif);
  font-size: clamp(1.05rem, 3.2vw, 1.28rem);
  font-style: italic;
  color: rgba(247, 245, 241, 0.92);
  opacity: 0;
  transform: translateY(0.4rem);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.da-spot-pop__line.is-active { opacity: 1; transform: none; }
.da-spot-pop__line.is-exit { opacity: 0; transform: translateY(-0.3rem); }
.da-spot-pop__sub {
  margin: 0 0 1rem;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--muted);
}
.da-spot-pop__rail {
  overflow: hidden;
  margin: 0 0 1.15rem;
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent);
}
.da-spot-pop__track {
  display: flex;
  width: max-content;
  animation: daSpotMarquee 36s linear infinite;
}
.da-spot-pop__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  justify-content: center;
}
@media (prefers-reduced-motion: reduce) {
  .da-spot-pop__card { transition: none; transform: none; }
  .da-spot-pop__track { animation: none !important; }
}

/* Opening-soon commercial band (in-flow, looped) — flip off via announcement.enabled */
.da-spot[hidden] { display: none !important; }
.da-spot {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: clamp(1.75rem, 4vw, 3rem) 0 clamp(1.5rem, 3.5vw, 2.5rem);
  background:
    radial-gradient(ellipse 80% 70% at 50% 0%, rgba(206, 43, 55, 0.12), transparent 55%),
    linear-gradient(180deg, #100e0c 0%, #0a0a0a 100%);
  border-top: 1px solid rgba(247, 245, 241, 0.1);
  border-bottom: 1px solid rgba(247, 245, 241, 0.08);
}
.da-spot__flag {
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 3px;
  background: var(--da-tricolore);
  pointer-events: none;
}
.da-spot__loop {
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.da-spot__loop--top { margin-bottom: clamp(1.1rem, 2.5vw, 1.75rem); }
.da-spot__loop--bot { margin-top: clamp(1.1rem, 2.5vw, 1.75rem); }
.da-spot__track {
  display: flex;
  width: max-content;
  animation: daSpotMarquee 48s linear infinite;
}
.da-spot__track--rev { animation-direction: reverse; animation-duration: 56s; }
.da-spot__group {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  gap: 0;
  padding: 0.35rem 0;
}
.da-spot__word {
  font-family: var(--font-display);
  font-size: clamp(0.72rem, 1.6vw, 0.9rem);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(247, 245, 241, 0.55);
  white-space: nowrap;
  padding: 0 0.35rem;
}
.da-spot__dot {
  display: inline-block;
  width: 1.6rem;
  height: 2px;
  margin: 0 0.85rem;
  background: var(--da-tricolore);
  opacity: 0.85;
  vertical-align: middle;
}
.da-spot__stage {
  text-align: center;
  max-width: 42rem;
}
.da-spot__kicker {
  margin: 0 0 0.55rem;
  font-size: 0.78rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--accent);
}
.da-spot__title {
  margin: 0 0 0.85rem;
  font-family: var(--font-display);
  font-size: clamp(1.85rem, 5vw, 3rem);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--cream);
  line-height: 1.1;
}
.da-spot__line {
  min-height: 1.6em;
  margin: 0 0 1rem;
  font-family: var(--font-serif);
  font-size: clamp(1.15rem, 2.8vw, 1.55rem);
  font-style: italic;
  color: rgba(247, 245, 241, 0.92);
  opacity: 0;
  transform: translateY(0.45rem);
  transition: opacity 0.45s ease, transform 0.45s ease;
}
.da-spot__line.is-active {
  opacity: 1;
  transform: translateY(0);
}
.da-spot__line.is-exit {
  opacity: 0;
  transform: translateY(-0.35rem);
}
.da-spot__sub {
  margin: 0 auto 1.25rem;
  max-width: 36rem;
  font-size: clamp(0.95rem, 2vw, 1.05rem);
  line-height: 1.55;
  color: var(--muted);
}
.da-spot__worlds {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.55rem 1.25rem;
  margin: 0 0 1.35rem;
  font-family: var(--font-display);
  font-size: 0.78rem;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(247, 245, 241, 0.7);
}
.da-spot__worlds span {
  position: relative;
}
.da-spot__worlds span + span::before {
  content: '·';
  position: absolute;
  left: -0.75rem;
  color: rgba(247, 245, 241, 0.35);
}
.da-spot__actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.65rem;
}
@keyframes daSpotMarquee {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
@media (prefers-reduced-motion: reduce) {
  .da-spot__track,
  .da-spot__track--rev { animation: none !important; }
  .da-spot__line { opacity: 1; transform: none; }
}

.hero-follow {
  margin: 0.85rem 0 0;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  color: var(--muted);
}
.footer-follow-label {
  margin: 0 0 0.45rem;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--muted);
}
.sticky-cta__btn--follow {
  border-color: rgba(247, 245, 241, 0.35);
}
.footer-social {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.55rem !important;
  margin-bottom: 1.1rem !important;
}

.footer-social a,
.footer-social__link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  padding: 0.45rem 0.85rem 0.45rem 0.45rem !important;
  border: 1px solid rgba(247, 245, 241, 0.22) !important;
  background: #0a0a0a !important;
  color: #f7f5f1 !important;
  border-radius: 3px !important;
  text-decoration: none !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.02em !important;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, transform 0.15s ease !important;
}

.footer-social__link--brand {
  max-width: 100% !important;
}

.footer-social__logo-wrap {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 7.2rem !important;
  height: 2.55rem !important;
  background: #0a0a0a !important;
  border: 1px solid rgba(247, 245, 241, 0.12) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  flex: 0 0 auto !important;
}

.footer-social__logo {
  display: block !important;
  width: 92% !important;
  height: auto !important;
  max-height: 2.2rem !important;
  object-fit: contain !important;
}

.footer-social__meta {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.1rem !important;
  line-height: 1.15 !important;
}

.footer-social__name {
  font-family: Cinzel, 'Times New Roman', serif !important;
  font-weight: 600 !important;
  font-size: 0.92rem !important;
  letter-spacing: 0 !important;
  color: #f7f5f1 !important;
}

.footer-social__sub {
  font-size: 0.72rem !important;
  color: rgba(247, 245, 241, 0.62) !important;
}

.footer-social a:hover,
.footer-social__link:hover {
  border-color: rgba(0, 146, 70, 0.65) !important;
  color: #fff !important;
  background: #111 !important;
  transform: translateY(-1px) !important;
}

.footer-social a:focus-visible,
.footer-social__link:focus-visible {
  outline: 2px solid #009246 !important;
  outline-offset: 2px !important;
}

.footer-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.55rem !important;
}

.footer-links a {
  font-size: 0.8rem !important;
  color: rgba(247, 245, 241, 0.62) !important;
  letter-spacing: 0 !important;
  transition: color 0.2s ease, transform 0.2s ease !important;
}

.footer-links a:hover {
  color: #fff !important;
  transform: translateX(2px);
}

.footer-owner-link {
  margin-top: 0.35rem !important;
  opacity: 0.55 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}
.footer-owner-link:hover {
  opacity: 0.9 !important;
}

.footer-owner-link {
  margin-top: 0.35rem !important;
  opacity: 0.55 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
}

.footer-owner-link:hover {
  opacity: 0.9 !important;
}

.footer-bottom {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.85rem !important;
  margin-top: 1.35rem !important;
  padding-top: 1.15rem !important;
  border-top: 1px solid rgba(247, 245, 241, 0.1) !important;
}

.footer-note {
  font-size: 0.7rem !important;
  letter-spacing: 0.04em !important;
  opacity: 0.75 !important;
}

.footer-italy {
  display: flex !important;
  gap: 4px !important;
}

.footer-italy i {
  display: block !important;
  width: 22px !important;
  height: 2.5px !important;
  border-radius: 1px !important;
}

.footer-italy i:nth-child(1) {
  background: #009246 !important;
  box-shadow: 0 0 8px rgba(0, 146, 70, 0.45) !important;
}

.footer-italy i:nth-child(2) {
  background: #f7f5f1 !important;
  opacity: 0.92 !important;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.28) !important;
}

.footer-italy i:nth-child(3) {
  background: #ce2b37 !important;
  box-shadow: 0 0 8px rgba(206, 43, 55, 0.4) !important;
}

@media (max-width: 900px) {
  .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer::before {
    animation: none !important;
  }
}

/* Eyebrows consistent across sections */
.eyebrow,
.eyebrow--led,
.eyebrow.light {
  letter-spacing: 0.2em !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
}

/* Kill leftover brown menu band from style-da-angelo */
#menu.menu-sec {
  background: rgba(16, 14, 12, calc(0.32 - var(--da-scroll, 0) * 0.16)) !important;
}

/* ???????????????????????????????????????????????????????????
   SCROLL TIGHTEN v45 ? shorter page, snappier reveals, no snap
   ??????????????????????????????????????????????????????????? */

html {
  scroll-behavior: smooth;
  scroll-padding-top: 110px;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

.fade {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.32s ease, transform 0.32s ease;
}
.fade.show { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  .fade,
  .fade:not(.show) {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* Tighter vertical rhythm ? kill endless section air */
.hero--text {
  padding: clamp(5.25rem, 9vw, 6.75rem) 0 0 !important;
}
.da-manifesto,
.da-manifesto--tight {
  padding: clamp(0.85rem, 2vw, 1.35rem) 0 !important;
}
.da-manifesto__inner {
  padding: clamp(1.1rem, 2.5vw, 1.55rem) 1.25rem !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28) !important;
}
.da-manifesto__quote {
  min-height: 2.4em !important;
  margin-bottom: 0.45rem !important;
  font-size: clamp(1.2rem, 2.8vw, 1.65rem) !important;
}
.da-manifesto__flag {
  margin-bottom: 0.85rem !important;
}
.da-manifesto__flag--bottom { display: none !important; }

.da-guest-xp,
.forno-sec,
.menu-sec,
.events-sec,
.reserve,
.standort,
.notify {
  padding: clamp(1.75rem, 4vw, 2.65rem) 0 !important;
}
.lounge-section {
  padding: clamp(0.85rem, 2.2vw, 1.5rem) 0 clamp(1.25rem, 3vw, 2rem) !important;
}
.led-divider { display: none !important; }

/* Less band stacking noise */
.da-band,
.da-band--alt {
  border-top: 1px solid rgba(255, 255, 255, 0.04) !important;
  border-bottom: none !important;
}
.da-band::before,
.da-band--alt::before {
  opacity: 0.7;
}

/* Guest pillars retired ? editorial stage lives in v57 block */

/* Menu / events heads ? less air above content */
.menu-sec__head {
  margin-bottom: 1.15rem !important;
}
#events .events-head {
  margin-bottom: 1.15rem !important;
}
#events .events-cta {
  margin-top: 1.25rem !important;
}
#events .event-card,
#events .events-card,
#events article {
  padding: 1.1rem 1.05rem 1.15rem !important;
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.22) !important;
}

/* Cards ? quieter chrome */
.glass-card,
.reserve-box,
.notify-box,
.da-manifesto__inner {
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3) !important;
}
.reserve-box,
.notify-box {
  padding: clamp(1.25rem, 3vw, 1.65rem) !important;
}

/* Standort + Kontakt merged block */
.standort--tight {
  padding-bottom: clamp(1.5rem, 3.5vw, 2.25rem) !important;
}
.standort-kontakt {
  display: grid;
  gap: 1.35rem;
}
.standort-kontakt .history-map {
  max-width: 720px;
  margin: 0 auto;
  width: 100%;
  overflow: hidden;
}
.standort-kontakt .history-map iframe {
  width: 100%;
  height: 360px;
  min-height: 320px;
  max-height: none;
  border: 0;
  display: block;
  object-fit: cover;
}
.standort-kontakt #kontakt.notify-box {
  margin: 0 auto;
  width: 100%;
  max-width: 720px;
}

.notify--compact {
  padding-top: 0.5rem !important;
  padding-bottom: clamp(1.75rem, 4vw, 2.5rem) !important;
}

.footer {
  padding: clamp(2.25rem, 5vw, 3.25rem) 0 1.35rem !important;
}

/* Sticky header clearance for in-page jumps */
main > section,
#loungeBoard,
#kontakt,
#notify {
  scroll-margin-top: 110px;
}

/* Soften hero sub / welcome spacing */
.hero-sub {
  margin-bottom: 0.55rem !important;
  line-height: 1.55 !important;
}
.hero-welcome {
  margin-bottom: 1.1rem !important;
}
.hero-cta {
  margin-top: 0.35rem !important;
}

@media (max-width: 640px) {
  html { scroll-padding-top: 88px; }
  main > section,
  #loungeBoard,
  #kontakt,
  #notify {
    scroll-margin-top: 88px;
  }
  .hero--text {
    padding-top: clamp(4.75rem, 18vw, 5.75rem) !important;
  }
  .standort-kontakt .history-map iframe {
    height: 300px;
    min-height: 280px;
    max-height: none;
  }
}

/* ???????????????????????????????????????????????????????????
   NOTTURNO v50 ? one surface family over atmospheric field
   ??????????????????????????????????????????????????????????? */
.header,
.header.solid {
  background: rgba(12, 11, 9, 0.88) !important;
  backdrop-filter: blur(12px) !important;
  border-bottom-color: var(--line) !important;
}
.hero,
.hero--text {
  background: transparent !important;
}
.hero .marquee,
.marquee {
  background: rgba(14, 12, 11, 0.42) !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: 1px solid var(--line) !important;
}
.da-manifesto {
  background: transparent !important;
}
.da-band,
.da-band--alt,
#guestExperience.da-guest-xp,
#menu.menu-sec,
#events.events-sec,
.forno-sec,
.lounge-section,
.reserve,
.standort,
.notify,
#forno.forno-sec,
#gaming.lounge {
  /* Panels must NOT paint solid over the stage ? cut holes for the unmask */
  background: rgba(16, 14, 12, calc(0.34 - var(--da-scroll, 0) * 0.18)) !important;
  border-top: 1px solid var(--line) !important;
  border-bottom: none !important;
}
.da-band--alt {
  background: rgba(18, 16, 14, calc(0.36 - var(--da-scroll, 0) * 0.16)) !important;
}
.footer {
  background: rgba(10, 9, 8, calc(0.55 - var(--da-scroll, 0) * 0.2)) !important;
  border-top: 1px solid var(--line) !important;
}
.reserve-type {
  background: #0a0a0a !important;
}

/* ???????????????????????????????????????????????????????????
   Premium site loader ? Notturno Forno ? tricolore ? Cinzel
   Sits above header (z 10050); dismisses cleanly to reveal site.
   ??????????????????????????????????????????????????????????? */
.site-loader {
  position: fixed !important;
  inset: 0 !important;
  z-index: 10050 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background:
    radial-gradient(ellipse 85% 55% at 50% 28%, rgba(68, 44, 28, 0.28), transparent 58%),
    radial-gradient(ellipse 70% 45% at 50% 100%, rgba(4, 3, 2, 0.9), transparent 55%),
    #0a0a0a !important;
  transition:
    opacity 0.7s cubic-bezier(0.4, 0, 0.2, 1),
    visibility 0.7s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.7s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.site-loader.is-exiting {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: scale(1.025) !important;
}

.site-loader__veil {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    linear-gradient(180deg, rgba(8, 7, 6, 0.35) 0%, transparent 40%, rgba(8, 7, 6, 0.55) 100%);
  pointer-events: none;
}

.site-loader__ambient {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.site-loader__bloom {
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
  animation: daLoaderBloom 7s ease-in-out infinite;
}

.site-loader__bloom--warm {
  width: min(70vw, 520px);
  height: min(55vw, 420px);
  top: 22%;
  left: 50%;
  margin-left: calc(min(70vw, 520px) / -2);
  background: rgba(92, 58, 36, 0.22);
}

.site-loader__bloom--verde {
  width: min(48vw, 360px);
  height: min(48vw, 360px);
  left: -8%;
  bottom: 10%;
  background: rgba(0, 146, 70, 0.16);
  animation-delay: -2.4s;
}

.site-loader__bloom--rosso {
  width: min(44vw, 320px);
  height: min(44vw, 320px);
  right: -6%;
  top: 14%;
  background: rgba(206, 43, 55, 0.14);
  animation-delay: -4.2s;
}

.site-loader__grain {
  position: absolute;
  inset: 0;
  opacity: 0.04;
  mix-blend-mode: soft-light;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 180px 180px;
  pointer-events: none;
}

.site-loader__inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1.25rem;
  animation: daLoaderStageIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.site-loader__brand {
  display: flex;
  justify-content: center;
}

.site-loader .logo-mark--loader {
  opacity: 0;
  transform: translateY(18px) scale(0.9);
  animation:
    daLoaderMarkIn 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.08s forwards,
    logoMarkPlateGlowLoader 3.6s ease-in-out 1.2s infinite;
}

.site-loader .logo-mark--loader .logo-mark__name {
  opacity: 0;
  transform: translateY(10px);
  letter-spacing: 0;
  animation: daLoaderNameIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s forwards;
}

.site-loader .logo-mark--loader .logo-mark__flag {
  transform: scaleX(0);
  transform-origin: center;
  opacity: 0.4;
  animation:
    daLoaderFlagDraw 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.52s forwards,
    logoMarkLedPulse 2.6s ease-in-out 1.45s infinite;
}

.site-loader .logo-mark--loader .logo-mark__claim {
  opacity: 0;
  transform: translateY(6px);
  animation: daLoaderFadeUp 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.68s forwards;
}

.site-loader .logo-mark--loader .logo-mark__caption {
  opacity: 0;
  transform: translateY(8px);
  animation: daLoaderFadeUp 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.88s forwards;
}

.site-loader .logo-mark--loader::before,
.site-loader .logo-mark--loader::after {
  opacity: 0;
  animation:
    daLoaderBarIgnite 0.7s ease 0.16s forwards,
    logoMarkLedPulse 2.6s ease-in-out 0.95s infinite;
}

.site-loader .logo-mark--loader::after {
  animation-delay: 0.34s, 1.25s;
}

.site-loader__progress {
  width: min(188px, 48vw);
  margin-top: 1.9rem;
  opacity: 0;
  animation: daLoaderFadeUp 0.55s ease 0.85s forwards;
}

.site-loader__progress-track {
  display: block;
  height: 1.5px;
  border-radius: 999px;
  background: rgba(247, 245, 241, 0.1);
  overflow: hidden;
}

.site-loader__progress-bar {
  display: block;
  height: 100%;
  width: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #009246 0%, #f7f5f1 48%, #ce2b37 100%);
  box-shadow:
    0 0 8px rgba(0, 146, 70, 0.35),
    0 0 10px rgba(206, 43, 55, 0.28);
  animation: daLoaderProgress 1.45s cubic-bezier(0.4, 0, 0.2, 1) 0.95s forwards;
}

@keyframes daLoaderBloom {
  0%, 100% { transform: translate(0, 0) scale(1); opacity: 1; }
  50% { transform: translate(8px, -12px) scale(1.05); opacity: 0.82; }
}

@keyframes daLoaderStageIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes daLoaderMarkIn {
  to { opacity: 1; transform: none; }
}

@keyframes daLoaderNameIn {
  from {
    opacity: 0;
    transform: translateY(10px);
    letter-spacing: 0.06em;
  }
  to {
    opacity: 1;
    transform: none;
    letter-spacing: 0;
  }
}

@keyframes daLoaderFadeUp {
  to { opacity: 1; transform: none; }
}

@keyframes daLoaderFlagDraw {
  to { transform: scaleX(1); opacity: 0.96; }
}

@keyframes daLoaderBarIn {
  to { opacity: 1; }
}

@keyframes daLoaderBarIgnite {
  0% { opacity: 0; filter: brightness(0.55); }
  45% { opacity: 1; filter: brightness(1.55); }
  100% { opacity: 1; filter: brightness(1); }
}

@keyframes daLoaderProgress {
  0% { width: 0; }
  40% { width: 58%; }
  75% { width: 88%; }
  100% { width: 100%; }
}

@media (max-width: 480px) {
  .site-loader .logo-mark--loader {
    padding: 0.9rem 1.2rem 0.82rem;
    max-width: min(280px, 88vw);
  }
  .site-loader .logo-mark--loader .logo-mark__name {
    font-size: clamp(1.35rem, 7vw, 1.7rem);
    font-weight: 600;
    letter-spacing: 0;
    padding-left: 0;
  }
  .site-loader__progress {
    width: min(160px, 56vw);
    margin-top: 1.55rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-loader,
  .site-loader *,
  .site-loader .logo-mark--loader,
  .site-loader .logo-mark--loader::before,
  .site-loader .logo-mark--loader::after,
  .site-loader .logo-mark--loader .logo-mark__name,
  .site-loader .logo-mark--loader .logo-mark__flag,
  .site-loader .logo-mark--loader .logo-mark__claim,
  .site-loader .logo-mark--loader .logo-mark__caption,
  .site-loader__progress,
  .site-loader__progress-bar,
  .site-loader__bloom {
    animation: none !important;
    transition-duration: 0.12s !important;
  }
  .site-loader.is-exiting { transform: none !important; }
  .site-loader .logo-mark--loader,
  .site-loader .logo-mark--loader .logo-mark__name,
  .site-loader .logo-mark--loader .logo-mark__claim,
  .site-loader .logo-mark--loader .logo-mark__caption,
  .site-loader__progress {
    opacity: 1 !important;
    transform: none !important;
  }
  .site-loader .logo-mark--loader .logo-mark__flag {
    transform: scaleX(1) !important;
  }
  .site-loader .logo-mark--loader::before,
  .site-loader .logo-mark--loader::after {
    opacity: 0.92 !important;
  }
  .site-loader__progress-bar { width: 100% !important; }
  .site-loader__bloom { opacity: 0.7 !important; }
}

/* Unified card family ? forms / lounge / reserve (not guest pillars) */
.glass-card,
.reserve-box,
.notify-box,
.da-manifesto__inner,
.community-card,
.world-card,
.hero-badge,
.da-claim,
.trust-bar__inner,
.ai-concierge__inner,
#events .event-card,
#events .events-card,
#events article,
.lounge-ui--web,
.lounge-ui--web .lu-group {
  background: var(--card) !important;
  border: 1px solid var(--line) !important;
  border-radius: var(--radius-lux) !important;
  box-shadow: 0 14px 36px rgba(0, 0, 0, 0.32) !important;
}

/* Headings ? cream display, red accent only, no gold / cool grey */
.section-title,
.hero-copy h1,
.da-manifesto__quote,
.lounge-ui__headline,
.lounge-ui--web .lounge-ui__headline {
  color: var(--cream) !important;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.4) !important;
}
.section-title .accent,
.hero-copy h1 .accent {
  color: var(--italy-red) !important;
  -webkit-text-fill-color: var(--italy-red) !important;
  text-shadow: none !important;
  background: none !important;
  filter: none !important;
}
#guestXpTitleAccent:empty,
#guestXpTitleAccent[hidden] {
  display: none !important;
}
.section-sub,
.hero-sub,
#guestExperience .da-guest-pillar p,
.lounge-ui--web .lu-group__tagline,
.lounge-ui__equipment,
.lounge-ui__updated {
  color: var(--muted) !important;
}

/* Soften LED / band glow ? hairline tricolore, not neon Vegas */
.da-band::before,
.da-band--alt::before,
.led-line--tricolore,
.section-title::after,
.da-manifesto__inner::before,
.lounge-ui--web::after,
body::before,
.header::after {
  box-shadow:
    0 0 4px rgba(0, 146, 70, 0.28),
    0 0 4px rgba(206, 43, 55, 0.22) !important;
}
#guestExperience.da-guest-xp::after {
  height: 2px !important;
  box-shadow:
    0 0 4px rgba(0, 146, 70, 0.28),
    0 0 4px rgba(206, 43, 55, 0.22) !important;
}

/* Kill leftover gold / warm-brown card chrome from style-da-angelo */
.hero-badge,
.community-card,
.da-claim,
.glass-card,
.da-manifesto__inner,
.da-weekly__inner,
.reserve-box,
.notify-box,
.trust-bar__inner,
.world-card {
  background: var(--card) !important;
  border-color: var(--line) !important;
}
.section-title {
  font-family: var(--font-display) !important;
  color: var(--cream) !important;
}
.field input,
.field select,
.field textarea,
.form input,
.form textarea {
  background: rgba(255, 255, 255, 0.03) !important;
  border: 1px solid var(--line) !important;
  color: var(--cream) !important;
  border-radius: var(--radius-lux) !important;
}
.sticky-cta {
  background: rgba(10, 9, 8, 0.94) !important;
  border-top: 1px solid var(--line) !important;
  backdrop-filter: blur(12px);
}



/* === COOL LEAN — density + type (matte-safe) === */
/* Hero: one composition, even letter scale, strong hierarchy without tiny leftovers */
.hero--text {
  padding: clamp(5rem, 10vw, 6.5rem) 0 0 !important;
}
.hero-copy {
  max-width: 40rem !important;
  text-align: center !important;
  margin-inline: auto !important;
}
.hero-grid--solo .hero-copy {
  text-align: center !important;
}
.hero-copy .pill--hero {
  letter-spacing: 0.16em !important;
  font-size: 0.72rem !important;
  font-weight: 650 !important;
  text-transform: uppercase !important;
  opacity: 0.92 !important;
  color: #f7f5f1 !important;
}
#heroHeadline,
.hero-copy h1 {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-size: clamp(2.15rem, 5.2vw, 3.15rem) !important;
  font-weight: 650 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.01em !important;
  margin: 0.7rem auto 0.85rem !important;
  max-width: none !important;
  color: #faf8f4 !important;
}
.hero-sub,
.hero-welcome {
  font-size: clamp(1.12rem, 2.4vw, 1.32rem) !important;
  line-height: 1.5 !important;
  letter-spacing: 0.01em !important;
  max-width: 34rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #f7f5f1 !important;
  opacity: 0.92 !important;
  font-weight: 500 !important;
}
.hero-sub {
  font-family: Figtree, "Helvetica Neue", Arial, sans-serif !important;
  font-style: normal !important;
  margin-top: 0 !important;
  margin-bottom: 0.55rem !important;
}
.hero-welcome {
  font-family: var(--font-serif), "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
  margin-top: 0 !important;
  margin-bottom: 1.4rem !important;
  display: block !important;
  text-shadow: none !important;
}
.hero-welcome__it,
.hero-welcome em {
  font-size: 1em !important;
  font-weight: 560 !important;
  color: #f7f5f1 !important;
  opacity: 1 !important;
}
.hero-welcome::after {
  margin-left: auto !important;
  margin-right: auto !important;
  width: min(100%, 12rem) !important;
}
.hero-cta {
  gap: 0.75rem !important;
  margin-top: 0.35rem !important;
  justify-content: center !important;
}
.hero-cta .btn {
  min-width: 9.5rem !important;
  font-weight: 650 !important;
  letter-spacing: 0.06em !important;
  font-size: 0.78rem !important;
}
.hero-loc {
  margin-top: 1.15rem !important;
  font-size: clamp(0.82rem, 1.6vw, 0.92rem) !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  opacity: 0.72 !important;
  color: #f7f5f1 !important;
  font-weight: 550 !important;
}

.marquee {
  margin-top: clamp(1.75rem, 4vw, 2.5rem) !important;
  border-top: 1px solid rgba(247, 245, 241, 0.08) !important;
  border-bottom: 1px solid rgba(247, 245, 241, 0.08) !important;
}
.marquee-item {
  font-size: 0.72rem !important;
  letter-spacing: 0.22em !important;
  opacity: 0.7 !important;
}
.marquee-flag {
  width: 14px !important;
  height: 9px !important;
  border-radius: 1px !important;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66%
  ) !important;
  flex-shrink: 0 !important;
  opacity: 0.9 !important;
}

.da-manifesto,
.da-manifesto--tight {
  padding: clamp(1.1rem, 2.8vw, 1.75rem) 0 !important;
}
.da-manifesto__inner {
  padding: clamp(1.35rem, 3vw, 2rem) 1.25rem !important;
}
.da-manifesto__quote {
  font-size: clamp(1.85rem, 5vw, 2.85rem) !important;
  line-height: 1.2 !important;
  max-width: 18ch !important;
  margin-inline: auto !important;
  margin-bottom: 0.75rem !important;
  min-height: 1.4em !important;
  font-weight: 650 !important;
}
.da-manifesto__sign {
  font-size: clamp(0.85rem, 1.8vw, 1rem) !important;
  letter-spacing: 0.2em !important;
  font-weight: 700 !important;
  opacity: 0.9 !important;
  color: #f7f5f1 !important;
}

.da-guest-xp,
#guestExperience.da-guest-xp,
.menu-sec,
.events-sec,
.da-band {
  padding: clamp(1.5rem, 3.5vw, 2.35rem) 0 !important;
}
.da-guest-xp__intro .section-sub,
.menu-sec__head .section-sub,
.events-head .section-sub,
.reserve-head .section-sub {
  max-width: 36ch !important;
  font-size: 0.98rem !important;
  line-height: 1.4 !important;
  margin-top: 0.45rem !important;
}
.section-title--sm {
  font-size: clamp(1.65rem, 3.8vw, 2.15rem) !important;
  line-height: 1.1 !important;
}
.da-guest-xp__welcome[hidden],
.da-guest-xp__welcome:empty {
  display: none !important;
}
.da-guest-pillar {
  padding: 1.05rem 1rem 1.1rem !important;
  transition: transform 0.35s ease, border-color 0.35s ease !important;
}
.da-guest-pillar h3 {
  font-size: 1.22rem !important;
  margin: 0.4rem 0 0.45rem !important;
  color: #f7f5f1 !important;
}
.da-guest-pillar p {
  font-size: 0.98rem !important;
  line-height: 1.45 !important;
  opacity: 0.88 !important;
  max-width: 28ch !important;
  color: #d4cbc0 !important;
}
.da-guest-pillar__it {
  letter-spacing: 0.14em !important;
  font-size: 0.72rem !important;
  font-weight: 650 !important;
  text-transform: uppercase !important;
  opacity: 0.75 !important;
  color: #f7f5f1 !important;
}
@media (hover: hover) {
  .da-guest-pillar:hover {
    transform: translateY(-3px) !important;
    border-color: rgba(247, 245, 241, 0.18) !important;
  }
}

.menu-panel__lead,
.menu-sec__meta {
  font-size: 0.92rem !important;
  line-height: 1.4 !important;
}
.menu-panel__copy .menu-panel__lead + .menu-panel__addr {
  margin-top: 0.35rem !important;
  opacity: 0.42 !important;
  font-size: 0.8rem !important;
}

.events-card {
  padding: 1.15rem 1.1rem !important;
}
.events-card h3 {
  font-size: 1.05rem !important;
  margin: 0.4rem 0 0.35rem !important;
}
.events-card p {
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
  opacity: 0.78 !important;
}
.events-cta-note {
  font-size: 0.82rem !important;
  opacity: 0.42 !important;
}

.btn.btn-shine,
.btn-shine {
  background: #0a0a0a !important;
  color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.22) !important;
  box-shadow: none !important;
  position: relative !important;
}
.btn.btn-shine::before,
.btn-shine::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 2px !important;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66%
  ) !important;
}
.btn.btn-shine:hover,
.btn-shine:hover {
  background: #111111 !important;
  border-color: rgba(247, 245, 241, 0.38) !important;
}
.btn.btn-outline {
  background: #0a0a0a !important;
  color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.28) !important;
}
.btn.btn-outline:hover {
  background: #111111 !important;
}

.reserve,
.standort {
  padding-top: clamp(1.5rem, 3.5vw, 2.25rem) !important;
  padding-bottom: clamp(1.75rem, 4vw, 2.5rem) !important;
}
.notify--compact {
  padding: clamp(1.25rem, 3vw, 1.85rem) 0 !important;
}
.footer-tagline {
  max-width: 28ch !important;
  font-size: 0.9rem !important;
  line-height: 1.4 !important;
  opacity: 0.7 !important;
}

/* Subtle entrance ? respect reduced motion */
.fade {
  transition: opacity 0.55s ease, transform 0.55s ease !important;
}
.fade.show,
.fade.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
@media (prefers-reduced-motion: reduce) {
  .fade,
  .da-guest-pillar {
    transition: none !important;
  }
  .da-guest-pillar:hover {
    transform: none !important;
  }
}
/* === /COOL LEAN === */


/* ============================================================
   OWNER — black Portoro marble BG (expensive Italian stone).
   Deep #0a0a0a + thin cool-gold veins only. NO yellow wash,
   NO gold ribbons, NO transparent “see-through” sections.
   ============================================================ */
:root {
  --da-marble-sheen: 0;
}

.da-marble-bg {
  position: fixed;
  inset: 0;
  /* Soft-light over solid black sections = Portoro veins, not a gold stage */
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
  contain: paint;
  mix-blend-mode: soft-light;
  opacity: 0.42;
}

.da-marble-bg__base {
  /* Base unused when blending — black comes from solid sections */
  display: none;
}

.da-marble-bg__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 1;
  mix-blend-mode: normal;
  transform: translate3d(0, calc(var(--da-marble-sheen) * -2%), 0);
  will-change: transform;
}

.da-marble-bg__grain {
  position: absolute;
  inset: 0;
  opacity: 0.12;
  mix-blend-mode: soft-light;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.48 0 0 0 0 0.32 0 0 0 0.22 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size: 200px 200px;
}

.da-marble-bg__sheen {
  position: absolute;
  inset: -20%;
  background: linear-gradient(
    118deg,
    transparent 30%,
    rgba(247, 245, 241, 0.04) 46%,
    rgba(176, 152, 104, 0.06) 50%,
    rgba(247, 245, 241, 0.03) 54%,
    transparent 70%
  );
  background-size: 200% 200%;
  background-position: calc(20% + var(--da-marble-sheen) * 50%) calc(30% + var(--da-marble-sheen) * 40%);
  opacity: 0.85;
  will-change: background-position;
  transform: translate3d(
    calc(var(--da-marble-sheen) * 4% - 2%),
    calc(var(--da-marble-sheen) * 5% - 2.5%),
    0
  );
}

@media (max-width: 700px), (pointer: coarse) {
  .da-marble-bg__svg {
    opacity: 0.85;
  }
  .da-marble-bg__grain {
    opacity: 0.08;
  }
  .da-marble-bg__sheen {
    opacity: 0.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .da-marble-bg__svg,
  .da-marble-bg__sheen {
    transform: none !important;
    will-change: auto;
  }
  .da-marble-bg__sheen {
    background-position: 40% 40%;
    opacity: 0.4;
  }
}

/* Content above under-layer; chrome above soft-light marble */
main {
  position: relative;
  z-index: 1;
}
.header,
.footer,
.site-loader {
  position: relative;
  z-index: 3;
}


/* ============================================================
   MATTE BLACK LOCK — absolute last. NO section blooms.
   Solid black content again (the look that worked).
   Portoro marble = fixed under-layer only; thin gaps may peek.
   ============================================================ */
:root {
  --bg: #0a0a0a !important;
  --bg2: #0a0a0a !important;
  --surface: #111111 !important;
  --card: #141414 !important;
  --card-solid: #141414 !important;
  --da-espresso: #0a0a0a !important;
  --da-warm-surface: #111111 !important;
  --da-panel: #111111 !important;
  --glow: transparent !important;
}

html {
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
  color: #f7f5f1 !important;
}

body {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: #f7f5f1 !important;
}

main {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}

/* SOLID matte black panels — no 62% gold wash */
.hero,
.hero--text,
.footer,
.da-manifesto,
.da-casa,
.header,
.header.solid,
.da-band,
.da-band--alt,
section,
.da-guest-xp,
#guestExperience,
#guestExperience.da-guest-xp,
.da-casa,
#casa,
#casa.da-casa,
#menu,
#menu.menu-sec,
.menu-sec,
#events,
#events.events-sec,
.events-sec,
.forno-sec,
#forno,
#forno.forno-sec,
.lounge-section,
.reserve,
.standort,
.notify,
#gaming,
#gaming.lounge,
.da-marketing,
.da-serata,
#serata,
.da-firma,
#firma,
.da-weekly,
#weeklyTeaser {
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
}

/* Kill scroll stage completely */
.da-scroll-stage,
.da-scroll-stage *,
#daScrollStage {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  background: none !important;
  background-image: none !important;
}

.da-live-bg,
.da-live-bg *,
.da-italia-wall,
.da-italia-wall *,
.hero-backdrop,
.hero-backdrop * {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  background: none !important;
  background-image: none !important;
}

body::before,
body::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

.noise {
  display: none !important;
  opacity: 0 !important;
}

/* Keep Portoro overlay alive (soft-light over solid black) */
.da-marble-bg {
  display: block !important;
  visibility: visible !important;
  opacity: 0.42 !important;
  pointer-events: none !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2 !important;
  mix-blend-mode: soft-light !important;
}
.da-marble-bg__base {
  display: none !important;
}
.da-marble-bg__grain,
.da-marble-bg__sheen {
  display: block !important;
  visibility: visible !important;
  pointer-events: none !important;
}
.da-marble-bg__svg {
  display: block !important;
  visibility: visible !important;
  pointer-events: none !important;
}
.da-marble-bg__veins {
  display: none !important; /* removed trash gold ribbon layer */
}

/* Thin gaps so black Portoro veins can peek — not washed sections */
.da-band,
.da-band--alt,
.da-manifesto,
.da-casa,
.menu-sec,
.events-sec,
.forno-sec,
.lounge-section,
.reserve,
.standort,
.notify,
.da-guest-xp {
  margin-block: 0.65rem !important;
  border-radius: 0 !important;
}

/* Kill colored pseudo glows on guest / pillars / sections / loader */
#guestExperience::before,
#guestExperience::after,
.da-guest-xp::before,
.da-guest-xp::after,
#guestExperience.da-guest-xp::before,
#guestExperience.da-guest-xp::after,
.da-guest-pillar::after,
.da-band::after,
.da-band--alt::after,
.section-led::before,
.section-led::after,
.site-loader__bloom,
.site-loader__bloom--warm,
.site-loader__bloom--verde,
.site-loader__bloom--rosso,
.site-loader__ambient,
.site-loader__grain,
.hero-shot-glow {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0 !important;
  /* Prevent style-italiano vertical LED width:2px from leaking into later ::before restores */
  width: 0 !important;
  height: 0 !important;
}

/* Thin 2px tricolore hairlines ONLY */
.da-band::before,
.da-band--alt::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  /* Kill style-italiano .section-led::before width:2px leak → orphan left scrap */
  width: auto !important;
  max-width: none !important;
  height: 2px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  background-image: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 0.85 !important;
  pointer-events: none !important;
  z-index: 2 !important;
}

/* Casa already has beats tricolore — delete the dual-class left-edge scrap */
#casa.section-led.da-band::before,
#casa.da-casa::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  opacity: 0 !important;
}

.da-guest-pillar {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  filter: none !important;
}
.da-guest-pillar::before {
  content: "" !important;
  display: block !important;
  width: 2.5rem !important;
  height: 2px !important;
  margin: 0 0 1rem !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Buttons ? solid ink, cream text, thin tricolore TOP stripe */
.btn-shine,
.btn.btn-shine,
a.btn-shine,
.nav-cta,
#menuOpenBtn,
#statusBannerCta,
#navReserve,
#eventsCta,
.menu-panel__actions .btn-shine,
.hero-cta .btn-shine,
.da-status .btn {
  position: relative !important;
  overflow: hidden !important;
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.18) !important;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}
.btn-shine::before,
.btn.btn-shine::before,
a.btn-shine::before,
.nav-cta::before,
#menuOpenBtn::before,
#statusBannerCta::before,
#navReserve::before,
#eventsCta::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  background-image: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  box-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
}
.btn-shine::after,
.btn.btn-shine::after,
#menuOpenBtn::after,
.nav-cta::after {
  display: none !important;
  content: none !important;
  background: none !important;
}
.btn-shine:hover,
.nav-cta:hover,
#menuOpenBtn:hover {
  background: #111111 !important;
  background-image: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  filter: none !important;
  box-shadow: none !important;
}

.header,
.header.solid {
  background: rgba(10, 10, 10, 0.7) !important;
  background-color: rgba(10, 10, 10, 0.7) !important;
  background-image: none !important;
}

.footer {
  background: rgba(10, 10, 10, 0.62) !important;
  background-color: rgba(10, 10, 10, 0.62) !important;
  background-image: none !important;
}

.glass-card,
.reserve-box,
.notify-box,
.da-manifesto__inner,
.menu-panel,
.events-card,
.event-card,
.community-card,
.da-claim,
.trust-bar__inner,
.da-status__inner {
  background: #141414 !important;
  background-image: none !important;
}

.header .logo-mark,
.logo-mark {
  background: #0a0a0a !important;
}

/* Kontakt: clearer panel + direct mailto path (matte lock) */
#kontakt.kontakt-box,
.standort-kontakt #kontakt.notify-box {
  background: #141414 !important;
  background-image: none !important;
  border: 1px solid rgba(247, 245, 241, 0.14) !important;
  gap: 1.35rem !important;
  padding: clamp(1.35rem, 3.5vw, 1.85rem) !important;
}
#kontakt .kontakt-intro h2 {
  color: #f7f5f1 !important;
  margin: 0.55rem 0 0.55rem !important;
}
#kontakt #contactSub {
  color: rgba(247, 245, 241, 0.78) !important;
  line-height: 1.6 !important;
  margin: 0 0 1.1rem !important;
}
#kontakt .kontakt-direct {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.65rem;
  padding: 0.95rem 1rem;
  background: #111111 !important;
  border: 1px solid rgba(247, 245, 241, 0.12) !important;
  border-radius: 4px;
}
#kontakt .kontakt-direct__hint {
  margin: 0 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.62) !important;
}
#kontakt .kontakt-mailto-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 16rem !important;
  text-align: center !important;
  text-decoration: none !important;
  min-height: 2.75rem !important;
}
#kontakt .kontakt-email-link {
  color: #f7f5f1 !important;
  font-size: 0.92rem !important;
  text-decoration: underline !important;
  text-underline-offset: 0.18em !important;
  word-break: break-all;
}
#kontakt .kontakt-email-link:hover,
#kontakt .kontakt-email-link:focus-visible {
  color: #ffffff !important;
}
#kontakt .kontakt-form-divider {
  margin: 0 0 0.75rem !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.55) !important;
}
#kontakt .kontakt-form {
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
#kontakt .kontakt-form input,
#kontakt .kontakt-form textarea {
  background: #111111 !important;
  border: 1px solid rgba(247, 245, 241, 0.22) !important;
  color: #f7f5f1 !important;
  border-radius: 4px !important;
  padding: 0.75rem 0.85rem !important;
}
#kontakt .kontakt-form input::placeholder,
#kontakt .kontakt-form textarea::placeholder {
  color: rgba(247, 245, 241, 0.45) !important;
  opacity: 1 !important;
}
#kontakt .kontakt-form input:focus,
#kontakt .kontakt-form textarea:focus {
  outline: none !important;
  border-color: rgba(247, 245, 241, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(247, 245, 241, 0.08) !important;
  background: #0f0f0f !important;
}
#kontakt #contactSubmit {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  margin-top: 0.15rem !important;
  background: #0a0a0a !important;
  color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.18) !important;
}
#kontakt #contactSubmit::before,
#kontakt .kontakt-mailto-btn::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
#kontakt #contactSubmit:hover,
#kontakt .kontakt-mailto-btn:hover {
  background: #111111 !important;
  color: #f7f5f1 !important;
}

/* Notify form ? match kontakt contrast (matte lock) */
#notify .notify-box {
  background: #141414 !important;
  background-image: none !important;
  border: 1px solid rgba(247, 245, 241, 0.14) !important;
  padding: clamp(1.35rem, 3.5vw, 1.85rem) !important;
}
#notify #statusNote {
  color: rgba(247, 245, 241, 0.78) !important;
  line-height: 1.6 !important;
}
#notify .notify-loc {
  color: rgba(247, 245, 241, 0.55) !important;
}
#notify .form input {
  background: #111111 !important;
  border: 1px solid rgba(247, 245, 241, 0.22) !important;
  color: #f7f5f1 !important;
  border-radius: 4px !important;
  padding: 0.75rem 0.85rem !important;
}
#notify .form input::placeholder {
  color: rgba(247, 245, 241, 0.45) !important;
  opacity: 1 !important;
}
#notify .form input:focus {
  outline: none !important;
  border-color: rgba(247, 245, 241, 0.45) !important;
  box-shadow: 0 0 0 3px rgba(247, 245, 241, 0.08) !important;
  background: #0f0f0f !important;
}
#notify #submitBtn {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  background: #0a0a0a !important;
  color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.18) !important;
}
#notify #submitBtn::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}
#notify #submitBtn:hover {
  background: #111111 !important;
  color: #f7f5f1 !important;
}
#notify .form-msg.ok {
  color: #f7f5f1 !important;
}
#notify .form-msg.err {
  color: #ce2b37 !important;
}

@media (min-width: 720px) {
  #kontakt.kontakt-box {
    grid-template-columns: 1fr 1.05fr !important;
    align-items: start !important;
  }
}

/* === RESERVE FORM ? Italian charcoal panel (matte page lock) === */
#reservieren {
  background: #0a0a0a !important;
  background-image: none !important;
}
#reservieren .reserve-box {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 1.35rem !important;
  max-width: 720px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: clamp(1.5rem, 3.5vw, 2.15rem) clamp(1.15rem, 3vw, 1.85rem) !important;
  background: #161616 !important;
  background-image: none !important;
  border: 1px solid rgba(247, 245, 241, 0.16) !important;
  border-radius: 6px !important;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.42) !important;
  overflow: hidden !important;
  backdrop-filter: none !important;
}
#reservieren .reserve-box::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  inset: auto 0 auto 0 !important;
  width: auto !important;
  height: 3px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  -webkit-mask: none !important;
  mask: none !important;
  z-index: 3 !important;
  pointer-events: none !important;
  box-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
}
#reservieren .reserve-box.led-corners::before,
#reservieren .reserve-box.led-corners::after,
#reservieren .reserve-box > .led-corner-bl,
#reservieren .reserve-box > .led-corner-br {
  display: none !important;
  content: none !important;
  box-shadow: none !important;
  border: none !important;
}
#reservieren .reserve-head {
  text-align: center !important;
  padding-top: 0.35rem !important;
}
/* Tight label under card tricolore — not a full-bleed shouty pill */
#reservieren .reserve-head .eyebrow,
#reservieren #reserveEyebrow {
  display: inline-block !important;
  width: fit-content !important;
  max-width: max-content !important;
  margin: 0.55rem auto 0.65rem !important;
  padding: 0.22rem 0.65rem !important;
  font-size: 0.58rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.11em !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.72) !important;
  -webkit-text-fill-color: rgba(247, 245, 241, 0.72) !important;
  background: transparent !important;
  background-image: none !important;
  border: 1px solid rgba(247, 245, 241, 0.2) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}
#reservieren .section-title {
  color: #f7f5f1 !important;
}
#reservieren .section-sub,
#reservieren .reserve-note {
  color: rgba(247, 245, 241, 0.72) !important;
}
#reservieren .section-title .accent {
  color: #ce2b37 !important;
  -webkit-text-fill-color: #ce2b37 !important;
}
#reservieren .reserve-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.95rem !important;
}
#reservieren .reserve-types {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.55rem !important;
}
/* Italian flag chrome on EVERY type button (Tisch / Lounge / Feier) */
#reservieren .reserve-type,
.reserve-types .reserve-type,
button.reserve-type {
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.95rem !important;
  padding: 0.85rem 0.65rem 0.7rem !important;
  border-radius: 4px !important;
  border: 1px solid rgba(247, 245, 241, 0.28) !important;
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  font-family: inherit !important;
  font-size: 0.84rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  text-align: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: border-color 0.18s ease, background 0.18s ease !important;
}
/* ALWAYS-ON tricolore top bar ? green | cream | red (never hide) */
#reservieren .reserve-type::before,
.reserve-types .reserve-type::before,
button.reserve-type::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: auto !important;
  height: 4px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  background-image: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  background-color: transparent !important;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-mask: none !important;
  mask: none !important;
  filter: none !important;
  z-index: 3 !important;
  pointer-events: none !important;
  box-shadow: none !important;
  transition: height 0.18s ease, filter 0.18s ease, box-shadow 0.18s ease !important;
  animation: none !important;
}
#reservieren .reserve-type:hover,
.reserve-types .reserve-type:hover,
button.reserve-type:hover {
  border-color: rgba(247, 245, 241, 0.5) !important;
  background: #111111 !important;
  background-image: none !important;
  color: #f7f5f1 !important;
}
/* JS toggles .is-active ? keep .active as fallback */
#reservieren .reserve-type.is-active,
#reservieren .reserve-type.active,
.reserve-types .reserve-type.is-active,
.reserve-types .reserve-type.active,
button.reserve-type.is-active,
button.reserve-type.active {
  border-color: rgba(247, 245, 241, 0.62) !important;
  background: #111111 !important;
  background-image: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  box-shadow: inset 0 0 0 1px rgba(247, 245, 241, 0.08) !important;
}
#reservieren .reserve-type.is-active::before,
#reservieren .reserve-type.active::before,
.reserve-types .reserve-type.is-active::before,
.reserve-types .reserve-type.active::before,
button.reserve-type.is-active::before,
button.reserve-type.active::before {
  height: 6px !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  background-image: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  filter: brightness(1.2) saturate(1.15) !important;
  box-shadow:
    0 0 8px rgba(0, 146, 70, 0.45),
    0 0 6px rgba(247, 245, 241, 0.25),
    0 0 8px rgba(206, 43, 55, 0.4) !important;
  animation: daReserveFlagPulse 2.4s ease-in-out infinite !important;
}
@keyframes daReserveFlagPulse {
  0%, 100% { filter: brightness(1.15) saturate(1.1); }
  50% { filter: brightness(1.35) saturate(1.25); }
}
@media (prefers-reduced-motion: reduce) {
  #reservieren .reserve-type.is-active::before,
  #reservieren .reserve-type.active::before,
  .reserve-types .reserve-type.is-active::before,
  button.reserve-type.is-active::before {
    animation: none !important;
  }
}
#reservieren .reserve-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr minmax(88px, 110px) !important;
  gap: 0.65rem !important;
}
#reservieren .field span {
  color: rgba(247, 245, 241, 0.78) !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
}
#reservieren .field input,
#reservieren .field select,
#reservieren .field textarea {
  width: 100% !important;
  padding: 0.72rem 0.85rem !important;
  background: #0a0a0a !important;
  border: 1px solid rgba(247, 245, 241, 0.28) !important;
  border-radius: 4px !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  font: inherit !important;
  box-shadow: none !important;
}
#reservieren .field input::placeholder,
#reservieren .field textarea::placeholder {
  color: rgba(247, 245, 241, 0.42) !important;
  opacity: 1 !important;
}
#reservieren .field select:disabled {
  color: rgba(247, 245, 241, 0.55) !important;
  -webkit-text-fill-color: rgba(247, 245, 241, 0.55) !important;
  opacity: 1 !important;
}
#reservieren .field input:focus,
#reservieren .field select:focus,
#reservieren .field textarea:focus {
  outline: none !important;
  border-color: rgba(247, 245, 241, 0.55) !important;
  box-shadow: 0 0 0 2px rgba(0, 146, 70, 0.18) !important;
}
#reservieren #reserveSubmit,
#reservieren .btn-shine {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  margin-top: 0.25rem !important;
  background: #0a0a0a !important;
  background-image: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.22) !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  filter: none !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
}
#reservieren #reserveSubmit::before,
#reservieren .btn-shine::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  z-index: 2 !important;
  pointer-events: none !important;
  opacity: 1 !important;
}
#reservieren #reserveSubmit:hover,
#reservieren .btn-shine:hover {
  background: #111111 !important;
  background-image: none !important;
  color: #f7f5f1 !important;
}
@media (max-width: 640px) {
  #reservieren .reserve-types {
    grid-template-columns: 1fr !important;
  }
  #reservieren .reserve-row {
    grid-template-columns: 1fr !important;
  }
}

/* ============================================================
   RESERVE-TYPE TRICOLORE LOCK (absolute last ? beats matte bans)
   Always-on Italian flag bar on Tisch / Lounge / Feier.
   ============================================================ */
#reservieren .reserve-type::before,
.reserve-types .reserve-type::before,
button.reserve-type::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  background-image: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  z-index: 5 !important;
  pointer-events: none !important;
}
#reservieren .reserve-type.is-active::before,
#reservieren .reserve-type.active::before,
.reserve-types .reserve-type.is-active::before,
button.reserve-type.is-active::before,
button.reserve-type.active::before {
  height: 6px !important;
  opacity: 1 !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  background-image: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  filter: brightness(1.25) saturate(1.2) !important;
}


/* ============================================================
   STANDORT DESTINATION HEADER — centered address as hero
   Matte black · Cinzel street · thin tricolore · cream type
   ============================================================ */
#standort .history-header--destination,
.standort-kontakt .history-header--destination {
  max-width: 720px;
  width: 100%;
  margin: 0 auto 0.35rem;
  padding: 0.35rem 0.5rem 0.85rem;
  text-align: center;
  background: transparent !important;
  background-image: none !important;
  border: none !important;
  box-shadow: none !important;
}

#standort .history-header__eyebrow,
.standort-kontakt .history-header__eyebrow {
  display: inline-block;
  margin: 0 0 0.55rem;
  padding: 0;
  border: none !important;
  color: rgba(247, 245, 241, 0.62) !important;
  font-family: var(--font-body), Figtree, system-ui, sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  line-height: 1.2 !important;
}

#standort .history-header__tricolore,
.standort-kontakt .history-header__tricolore {
  display: block;
  width: 3.25rem;
  height: 3px;
  margin: 0 auto 1.15rem;
  border-radius: 0;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  box-shadow: none !important;
  filter: none !important;
}

#standort .history-header__street,
.standort-kontakt .history-header__street {
  margin: 0 0 0.55rem;
  padding: 0;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  font-family: Cinzel, "Times New Roman", Times, serif !important;
  font-size: clamp(1.85rem, 5.2vw, 2.85rem) !important;
  font-weight: 600 !important;
  font-style: normal !important;
  letter-spacing: 0.06em !important;
  line-height: 1.12 !important;
  text-wrap: balance;
  background: none !important;
  background-image: none !important;
  -webkit-background-clip: unset !important;
  background-clip: unset !important;
}

#standort .history-header__street::after,
.standort-kontakt .history-header__street::after,
#standort .history-header__street::before,
.standort-kontakt .history-header__street::before {
  content: none !important;
  display: none !important;
}

#standort .history-header__city,
.standort-kontakt .history-header__city {
  margin: 0 auto;
  max-width: 28rem;
  color: rgba(247, 245, 241, 0.72) !important;
  font-family: var(--font-body), Figtree, system-ui, sans-serif !important;
  font-size: clamp(0.92rem, 2.2vw, 1.05rem) !important;
  font-weight: 500 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.45 !important;
}

#standort .history-header__cta,
.standort-kontakt .history-header__cta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem 1rem;
  margin-top: 1.15rem;
}

#standort .history-header__maps,
.standort-kontakt .history-header__maps {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.45rem;
  padding: 0.55rem 1.15rem 0.5rem;
  border: 1px solid rgba(247, 245, 241, 0.28) !important;
  border-radius: 4px !important;
  background: #0a0a0a !important;
  background-image: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  font-family: var(--font-body), Figtree, system-ui, sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-decoration: none !important;
  text-transform: uppercase;
  box-shadow: none !important;
  overflow: hidden;
  transition: border-color 0.18s ease, background 0.18s ease;
}

#standort .history-header__maps::before,
.standort-kontakt .history-header__maps::before {
  content: "" !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  pointer-events: none;
}

#standort .history-header__maps:hover,
.standort-kontakt .history-header__maps:hover {
  background: #111111 !important;
  border-color: rgba(247, 245, 241, 0.5) !important;
  color: #f7f5f1 !important;
}

#standort .history-header__maps:focus-visible,
.standort-kontakt .history-header__maps:focus-visible {
  outline: 2px solid rgba(247, 245, 241, 0.55);
  outline-offset: 3px;
}

@media (max-width: 640px) {
  #standort .history-header--destination,
  .standort-kontakt .history-header--destination {
    padding: 0.15rem 0.25rem 0.55rem;
  }
  #standort .history-header__street,
  .standort-kontakt .history-header__street {
    letter-spacing: 0.04em !important;
  }
  #standort .history-header__cta,
  .standort-kontakt .history-header__cta {
    margin-top: 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  #standort .history-header__maps,
  .standort-kontakt .history-header__maps {
    transition: none !important;
  }
}

/* ── Website call actions (matte) ── */
#kontakt .call-actions { width: 100%; margin: 0.25rem 0 0.5rem; }
#kontakt .call-actions__row {
  display: flex; flex-wrap: wrap; gap: 0.55rem; width: 100%;
}
#kontakt .call-btn {
  display: inline-flex !important; align-items: center; justify-content: center;
  min-height: 2.75rem; padding: 0.55rem 1rem !important;
  background: #0a0a0a !important; color: #f7f5f1 !important;
  border: 1px solid rgba(247,245,241,0.22) !important;
  border-radius: 2px !important; text-decoration: none !important;
  box-shadow: none !important;
}
#kontakt .call-btn::before {
  content: "" !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%);
  pointer-events: none;
}
#kontakt .call-btn { position: relative; }
#kontakt .call-btn:hover { background: #111 !important; }
#kontakt .call-btn--disabled,
#kontakt .call-btn:disabled {
 opacity: 0.45; cursor: not-allowed;
}
#kontakt .call-hint {
 margin: 0.35rem 0 0; font-size: 0.78rem;
 color: rgba(247,245,241,0.62) !important; max-width: 22rem;
}
#kontakt .call-phone-line {
 margin: 0.45rem 0 0; font-size: 0.88rem; color: #f7f5f1;
}
#kontakt .call-phone-line a { color: #f7f5f1; }
#kontakt .call-live {
 margin-top: 0.75rem; padding: 0.75rem; background: #0a0a0a !important;
 border: 1px solid rgba(247,245,241,0.14); border-radius: 4px;
}
#kontakt .call-live.hidden { display: none !important; }

/* Pre-open: Speisekarte / Öffnungszeiten aus (site.visibility) */
body.da-hide-menu #menu,
body.da-hide-menu #firma,
body.da-hide-menu #menuModal,
body.da-hide-menu #navMenu,
body.da-hide-menu [data-open-menu],
body.da-hide-menu a[href="#menu"],
body.da-hide-menu [data-spy="menu"],
body.da-hide-menu .sticky-cta__btn--menu {
  display: none !important;
}
body.da-hide-hours #footerHoursTitle,
body.da-hide-hours #footerHoursNote,
body.da-hide-hours #footerHours {
  display: none !important;
}
#kontakt .call-live__status { margin: 0 0 0.55rem; color: #f7f5f1; }
.sticky-cta__btn--call {
 background: #0a0a0a !important; color: #f7f5f1 !important;
 border: 1px solid rgba(247,245,241,0.25) !important;
}

/* ============================================================
   PREMIUM POLISH v138 — surgical quality jump (same brand).
   Hierarchy, rhythm, chrome — no new theme, no blooms.
   ============================================================ */

/* Guest XP + Events: clean 2×2 */
#guestXpGrid.da-guest-xp__stage,
.da-guest-xp__stage {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 1.15rem 1.35rem !important;
  max-width: 880px;
  margin: 0.35rem auto 0;
}
#events .events-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 880px;
  gap: 1.15rem 1.35rem !important;
}

/* ── Hero: premium brand-first composition (v3 · static) ── */
.hero,
.hero--text {
  min-height: min(100svh, 52rem) !important;
  padding: clamp(5.75rem, 11vw, 7.25rem) 0 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}
.hero-grid--solo {
  width: 100%;
  max-width: 44rem !important;
}
.hero-copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  max-width: 40rem !important;
  margin-inline: auto !important;
  gap: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
}
.hero-copy__body {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  width: 100% !important;
  /* Motion 2: copy rises once after brand */
  opacity: 0;
  transform: translateY(14px);
  animation: daHeroCopyIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.32s both;
}

/* Logo: airy boxed LED — not a cramped stack */
.logo-mark--stage {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 2.15rem !important;
  padding: 1.35rem 2.35rem 1.2rem !important;
  background: #0a0a0a !important;
  border: 1px solid rgba(247, 245, 241, 0.2) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  position: relative !important;
  overflow: hidden !important;
  max-width: none !important;
  width: auto !important;
  isolation: isolate !important;
  /* Motion 1: brand mark */
  opacity: 0;
  transform: translateY(10px);
  animation: daHeroBrandIn 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.05s both !important;
}
.logo-mark--stage::before,
.logo-mark--stage::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  height: 2px !important;
  background: var(--da-tricolore) !important;
  pointer-events: none !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
  opacity: 0.95 !important;
}
.logo-mark--stage::before {
  top: 0 !important;
  bottom: auto !important;
}
.logo-mark--stage::after {
  bottom: 0 !important;
  top: auto !important;
}
.logo-mark--stage .logo-mark__name {
  font-family: Cinzel, "Times New Roman", serif !important;
  font-size: clamp(1.65rem, 4.4vw, 2.35rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding-left: 0 !important;
  color: #f7f5f1 !important;
  line-height: 1.05 !important;
  animation: none !important;
}
.logo-mark--stage .logo-mark__flag {
  display: block !important;
  width: 4.25rem !important;
  max-width: 4.25rem !important;
  height: 3px !important;
  margin: 0.85rem auto 0.55rem !important;
  background: var(--da-tricolore) !important;
  border-radius: 1px !important;
  box-shadow: none !important;
  animation: none !important;
  opacity: 1 !important;
}
.logo-mark--stage .logo-mark__claim {
  display: block !important;
  margin: 0 auto 0.65rem !important;
  padding: 0 !important;
  font-family: Figtree, "Helvetica Neue", Arial, sans-serif !important;
  font-size: clamp(0.68rem, 1.65vw, 0.8rem) !important;
  font-weight: 500 !important;
  font-style: normal !important;
  letter-spacing: 0.14em !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  color: rgba(247, 245, 241, 0.88) !important;
  animation: none !important;
}
.logo-mark--stage .logo-mark__caption {
  font-family: Figtree, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.78) !important;
  animation: none !important;
  padding-left: 0.06em !important;
}

/* Eyebrow: quiet place line — never competes with headline */
.hero-eyebrow,
.hero-copy .pill--hero,
.hero-copy .pill--glow {
  display: block !important;
  margin: 0 auto 1.15rem !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  background: none !important;
  box-shadow: none !important;
  animation: none !important;
  font-family: Figtree, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 0.64rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.42) !important;
  opacity: 1 !important;
}

/* Headline: strong presence, static */
#heroHeadline,
.hero-copy h1,
.hero-copy h1#heroHeadline {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-size: clamp(2.55rem, 6.4vw, 3.85rem) !important;
  font-weight: 650 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.028em !important;
  margin: 0 auto !important;
  max-width: 14ch !important;
  min-height: 0 !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  text-shadow: none !important;
  filter: none !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  transition: none !important;
}
#heroHeadline.is-active,
#heroHeadline.is-leaving,
#heroHeadline:not(.is-active):not(.is-leaving) {
  opacity: 1 !important;
  transform: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  filter: none !important;
}

/* Sub: quieter, more air */
.hero-sub {
  font-family: Figtree, "Helvetica Neue", Arial, sans-serif !important;
  font-style: normal !important;
  font-size: clamp(0.92rem, 1.7vw, 1.02rem) !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  letter-spacing: 0 !important;
  max-width: 28rem !important;
  margin: 1.35rem auto 0 !important;
  color: rgba(247, 245, 241, 0.55) !important;
  opacity: 1 !important;
  animation: none !important;
}
.hero-welcome[hidden] {
  display: none !important;
}
.hero-welcome:not([hidden]) {
  margin: 0.85rem auto 0 !important;
  max-width: 28rem !important;
  text-shadow: none !important;
}
.hero-welcome::after {
  box-shadow: none !important;
  height: 2px !important;
  border-radius: 1px !important;
  width: min(100%, 10rem) !important;
  animation: none !important;
}

/* CTA: primary Reservieren + clear outline secondaries */
.hero-cta {
  display: flex !important;
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.85rem !important;
  margin-top: 2.1rem !important;
  width: 100% !important;
  opacity: 1 !important;
  animation: none !important;
}
.hero-cta > .btn-shine,
.hero-cta > .btn.btn-shine {
  min-width: 13.5rem !important;
  min-height: 3.05rem !important;
  padding: 0.85rem 1.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
  font-size: 0.8rem !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
}
.hero-cta__sec {
  display: flex !important;
  align-items: stretch !important;
  justify-content: center !important;
  gap: 0.65rem !important;
  flex-wrap: wrap !important;
  width: 100% !important;
  max-width: 22rem !important;
}
.hero-cta__btn,
.hero-cta .btn-outline,
.hero-cta a.btn-outline,
.hero-cta button.btn-outline {
  flex: 1 1 9rem !important;
  min-width: 9rem !important;
  min-height: 2.65rem !important;
  padding: 0.65rem 1.1rem !important;
  margin: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: Figtree, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 650 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  background: #0a0a0a !important;
  background-image: none !important;
  border: 1px solid rgba(247, 245, 241, 0.32) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  cursor: pointer !important;
  transition: background-color 0.2s ease, border-color 0.2s ease !important;
}
.hero-cta__btn:hover,
.hero-cta__btn:focus-visible,
.hero-cta .btn-outline:hover,
.hero-cta .btn-outline:focus-visible {
  background: #111111 !important;
  border-color: rgba(247, 245, 241, 0.5) !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  outline: none !important;
  transform: none !important;
  box-shadow: none !important;
}
.hero-cta__link,
.hero-cta__dot {
  display: none !important;
}

/* Address: whisper at the bottom */
.hero-loc {
  margin-top: 1.85rem !important;
  margin-bottom: 0 !important;
  font-size: 0.64rem !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.32) !important;
  font-weight: 450 !important;
  opacity: 1 !important;
  animation: none !important;
}
.marquee {
  margin-top: auto !important;
  margin-bottom: 0 !important;
  border-top: 1px solid rgba(247, 245, 241, 0.07) !important;
  border-bottom: 1px solid rgba(247, 245, 241, 0.07) !important;
}
@keyframes daHeroBrandIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes daHeroCopyIn {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── Section rhythm ── */
.da-manifesto,
.da-manifesto--tight {
  padding: clamp(1.15rem, 2.6vw, 1.65rem) 0 !important;
  margin-block: 0.45rem !important;
}
.da-casa,
.da-guest-xp,
#guestExperience.da-guest-xp,
.menu-sec,
.events-sec,
.da-band,
.da-band--alt {
  padding: clamp(2.75rem, 6.5vw, 4.25rem) 0 !important;
}
.section-title--sm {
  font-size: clamp(1.75rem, 4vw, 2.35rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.015em !important;
  margin-bottom: 0 !important;
}
.da-casa__intro .section-sub,
.da-guest-xp__intro .section-sub,
.menu-sec__head .section-sub,
.events-head .section-sub {
  margin-top: 0.85rem !important;
  max-width: 34rem !important;
  font-size: 0.98rem !important;
  line-height: 1.5 !important;
  color: rgba(247, 245, 241, 0.72) !important;
}

/* ── Manifesto / status — quieter ── */
.da-manifesto__inner {
  padding: clamp(1.15rem, 2.8vw, 1.55rem) 1.15rem !important;
  max-width: 36rem !important;
  margin-inline: auto !important;
  border: 1px solid rgba(247, 245, 241, 0.1) !important;
  box-shadow: none !important;
  background: #0a0a0a !important;
}
.da-manifesto__flag {
  margin: 0 auto 0.75rem !important;
  width: 2.5rem !important;
  height: 2px !important;
  display: block !important;
  background: var(--da-tricolore) !important;
  opacity: 0.9 !important;
}
.da-manifesto__quote {
  font-family: var(--font-display) !important;
  font-style: italic !important;
  font-size: clamp(1.2rem, 3vw, 1.55rem) !important;
  font-weight: 600 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.01em !important;
  max-width: 22ch !important;
  margin: 0 auto 0.55rem !important;
  min-height: 0 !important;
  color: #f7f5f1 !important;
}
.da-manifesto__sign {
  margin: 0 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  opacity: 0.62 !important;
  color: #f7f5f1 !important;
}
.da-status {
  padding: 0 0 0.85rem !important;
}
.da-status__inner {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.85rem 1.25rem !important;
  padding: 0.95rem 1.15rem !important;
  border: 1px solid rgba(247, 245, 241, 0.12) !important;
  background: #111111 !important;
  box-shadow: none !important;
}
.da-status__copy {
  flex: 1 1 14rem;
  min-width: 0;
}
.da-status__inner strong {
  display: block;
  font-size: 0.95rem !important;
  letter-spacing: 0 !important;
  color: #f7f5f1 !important;
}
.da-status__inner p {
  margin: 0.25rem 0 0 !important;
  font-size: 0.84rem !important;
  line-height: 1.4 !important;
  color: rgba(247, 245, 241, 0.65) !important;
}

/* ── La Casa ── */
.da-casa {
  background: #0a0a0a !important;
  background-image: none !important;
}
.da-casa__wrap,
.da-guest-xp__wrap {
  max-width: 920px;
  margin: 0 auto;
}
.da-casa__intro,
.da-guest-xp__intro {
  text-align: center;
  max-width: 34rem;
  margin: 0 auto 2.15rem;
}
.da-casa__kicker,
.da-guest-xp__kicker {
  margin: 0 0 0.7rem !important;
  font-family: Cinzel, "Times New Roman", serif !important;
  font-size: clamp(1.05rem, 2.8vw, 1.35rem) !important;
  letter-spacing: 0.24em !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.92) !important;
  font-weight: 600 !important;
}
.da-casa .section-title,
.da-guest-xp .section-title {
  margin-bottom: 0 !important;
  line-height: 1.12 !important;
}
.da-casa .section-title::after,
.da-guest-xp .section-title::after,
.da-guest-xp__intro .section-title::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
}
.da-casa__beats {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.85rem 2.15rem;
  padding-top: 1.75rem;
}
.da-casa__beats::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 2px;
  background: var(--da-tricolore);
  opacity: 0.85;
  pointer-events: none;
  box-shadow: none;
}
.da-casa__beat {
  position: relative;
  padding: 0.1rem 0 0;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}
.da-casa__beat::before,
.da-casa__beat::after {
  content: none !important;
  display: none !important;
  background: none !important;
}
.da-casa__it {
  display: block;
  margin: 0 0 0.45rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-style: italic;
  font-size: 0.95rem;
  letter-spacing: 0;
  color: rgba(247, 245, 241, 0.48);
}
.da-casa__beat h3 {
  margin: 0 0 0.55rem;
  font-family: var(--font-display, Fraunces, Georgia, serif);
  font-size: clamp(1.18rem, 2.1vw, 1.38rem);
  font-weight: 650;
  color: #f7f5f1;
  line-height: 1.2;
}
.da-casa__beat p {
  margin: 0;
  font-size: 0.93rem;
  line-height: 1.55;
  color: rgba(247, 245, 241, 0.76);
  max-width: none;
  overflow: visible;
  display: block;
  -webkit-line-clamp: unset;
  line-clamp: unset;
}
.da-casa__beat.fade {
  animation: daCasaIn 0.7s ease both;
  animation-delay: var(--casa-delay, 0s);
}
@keyframes daCasaIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── La Cucina pillars ── */
.da-guest-pillar {
  padding: 1.15rem 0.15rem 0.35rem !important;
  background: transparent !important;
  border: none !important;
  border-top: none !important;
  box-shadow: none !important;
  transition: transform 0.35s ease !important;
}
.da-guest-pillar::before {
  content: "" !important;
  display: block !important;
  width: 2.35rem !important;
  height: 2px !important;
  margin: 0 0 0.95rem !important;
  background: var(--da-tricolore) !important;
  box-shadow: none !important;
  filter: none !important;
}
.da-guest-pillar__it {
  display: block !important;
  margin: 0 0 0.35rem !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  font-weight: 500 !important;
  opacity: 1 !important;
  color: rgba(247, 245, 241, 0.48) !important;
}
.da-guest-pillar h3 {
  font-size: clamp(1.15rem, 2vw, 1.3rem) !important;
  margin: 0 0 0.5rem !important;
  color: #f7f5f1 !important;
  line-height: 1.2 !important;
}
.da-guest-pillar p {
  font-size: 0.94rem !important;
  line-height: 1.5 !important;
  max-width: none !important;
  color: rgba(247, 245, 241, 0.76) !important;
  opacity: 1 !important;
}
.da-guest-xp__welcome {
  text-align: center !important;
  max-width: 32rem !important;
  margin: 1.85rem auto 0 !important;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
  font-size: 1.05rem !important;
  line-height: 1.45 !important;
  color: rgba(247, 245, 241, 0.68) !important;
}
.da-guest-pillar.fade {
  animation: daCasaIn 0.65s ease both;
  animation-delay: var(--gx-delay, 0s);
}
@media (hover: hover) {
  .da-guest-pillar:hover {
    transform: translateY(-2px) !important;
    border-color: transparent !important;
  }
}

/* ── Buttons / nav — crisp professional ── */
.btn,
.btn.btn-shine,
.btn.btn-outline,
a.btn {
  border-radius: 2px !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}
.btn.btn-shine,
.btn-shine,
.nav-cta {
  background: #0a0a0a !important;
  color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.22) !important;
  box-shadow: none !important;
}
.btn.btn-outline {
  background: #0a0a0a !important;
  color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.28) !important;
}
.btn.btn-shine:hover,
.btn-shine:hover,
.nav-cta:hover,
.btn.btn-outline:hover {
  background: #111111 !important;
  border-color: rgba(247, 245, 241, 0.42) !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  box-shadow: none !important;
  filter: none !important;
}
.nav a,
.nav-link-btn {
  position: relative !important;
  color: rgba(247, 245, 241, 0.72) !important;
  letter-spacing: 0.11em !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  transition: color 0.2s ease !important;
}
.nav a:hover,
.nav-link-btn:hover,
.nav a:focus-visible,
.nav-link-btn:focus-visible {
  color: #f7f5f1 !important;
}
.nav a:not(.nav-cta)::after,
.nav-link-btn::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -0.35rem !important;
  height: 1px !important;
  background: rgba(247, 245, 241, 0.45) !important;
  transform: scaleX(0) !important;
  transform-origin: center !important;
  transition: transform 0.22s ease !important;
}
.nav a:not(.nav-cta):hover::after,
.nav-link-btn:hover::after,
.nav a:not(.nav-cta):focus-visible::after,
.nav-link-btn:focus-visible::after {
  transform: scaleX(1) !important;
}
.header,
.header.solid {
  background: rgba(10, 10, 10, 0.92) !important;
  background-color: rgba(10, 10, 10, 0.92) !important;
  border-bottom: 1px solid rgba(247, 245, 241, 0.06) !important;
  backdrop-filter: blur(10px);
}

/* ── Fade polish (motion 2) ── */
.fade {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.6s ease, transform 0.6s ease !important;
}
.fade.show,
.fade.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ── Mobile ── */
@media (max-width: 860px) {
  .da-casa__beats {
    grid-template-columns: 1fr;
    max-width: 24rem;
    margin: 0 auto;
    gap: 1.65rem;
  }
}
@media (max-width: 700px) {
  #guestXpGrid.da-guest-xp__stage,
  .da-guest-xp__stage,
  #events .events-grid {
    grid-template-columns: 1fr !important;
    max-width: 24rem;
  }
  .hero,
  .hero--text {
    min-height: auto !important;
    padding: clamp(5rem, 14vw, 6rem) 0 0 !important;
    justify-content: flex-start !important;
  }
  .logo-mark--stage {
    margin-bottom: 1.25rem !important;
    padding: 0.85rem 1.25rem 0.75rem !important;
  }
  .logo-mark--stage .logo-mark__name {
    font-size: clamp(1.1rem, 5.5vw, 1.35rem) !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    padding-left: 0 !important;
  }
  #heroHeadline,
  .hero-copy h1 {
    max-width: 12ch !important;
    font-size: clamp(1.95rem, 8.5vw, 2.45rem) !important;
  }
  .hero-sub {
    max-width: 22rem !important;
    font-size: 0.98rem !important;
  }
  .hero-cta {
    margin-top: 1.45rem !important;
    gap: 0.85rem !important;
    width: 100% !important;
  }
  .hero-cta .btn,
  .hero-cta .btn-shine {
    min-width: min(100%, 16rem) !important;
    width: min(100%, 16rem) !important;
  }
  .hero-cta__sec {
    gap: 0.55rem !important;
  }
  .da-status__inner {
    flex-direction: column !important;
    align-items: stretch !important;
  }
  .da-status__inner .btn {
    width: 100% !important;
    text-align: center !important;
  }
  .da-manifesto__inner {
    padding: 1.05rem 0.95rem !important;
  }
  .nav a:not(.nav-cta)::after,
  .nav-link-btn::after {
    display: none !important;
  }
}
@media (max-width: 480px) {
  .hero-copy {
    padding-inline: 0.15rem !important;
  }
  .hero-sub {
    font-size: 0.98rem !important;
  }
  .marquee-item {
    font-size: 0.64rem !important;
    letter-spacing: 0.16em !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .logo-mark--stage,
  .hero-copy__body,
  .hero-copy .pill--hero,
  #heroHeadline,
  .hero-copy h1,
  .hero-sub,
  .hero-cta,
  .hero-loc,
  .da-casa__beat.fade,
  .da-guest-pillar.fade,
  .fade {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .da-guest-pillar:hover {
    transform: none !important;
  }
  .nav a:not(.nav-cta)::after,
  .nav-link-btn::after {
    transition: none !important;
  }
  .da-manifesto__flag,
  .da-manifesto__flag::after {
    animation: none !important;
  }
  .da-manifesto__flag::after {
    content: none !important;
    display: none !important;
  }
  .da-manifesto__quote,
  .da-manifesto__quote.is-active,
  .da-manifesto__quote.is-leaving,
  .da-manifesto__quote:not(.is-active):not(.is-leaving),
  #heroHeadline,
  #heroHeadline.is-active,
  #heroHeadline.is-leaving,
  #heroHeadline:not(.is-active):not(.is-leaving) {
    transition: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
  }
}

/* Manifesto motion lock — wins over earlier tighteners */
.da-manifesto__flag {
  position: relative !important;
  width: min(220px, 55%) !important;
  height: 3px !important;
  margin: 0 auto 0.85rem !important;
  border-radius: 999px !important;
  overflow: hidden !important;
  opacity: 1 !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow:
    0 0 8px rgba(0, 146, 70, 0.4),
    0 0 6px rgba(247, 245, 241, 0.2),
    0 0 10px rgba(206, 43, 55, 0.35) !important;
  animation: daManifestoLedPulse 2.8s ease-in-out infinite !important;
}
.da-manifesto__flag::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(
    105deg,
    transparent 0%,
    transparent 38%,
    rgba(247, 245, 241, 0.55) 50%,
    transparent 62%,
    transparent 100%
  ) !important;
  transform: translateX(-120%);
  animation: daManifestoLedSheen 4.2s ease-in-out infinite !important;
  pointer-events: none !important;
}
.da-manifesto__quote {
  transition:
    opacity 0.52s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.52s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.52s ease !important;
}
.da-manifesto__quote::before {
  content: "\201E" !important;
  margin-right: 0.12em !important;
  opacity: 0.38 !important;
  font-style: normal !important;
}
.da-manifesto__quote::after {
  content: "\201C" !important;
  margin-left: 0.12em !important;
  opacity: 0.38 !important;
  font-style: normal !important;
}
.da-manifesto__quote.is-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
  filter: blur(0) !important;
}
.da-manifesto__quote.is-leaving {
  opacity: 0 !important;
  transform: translateY(-0.45em) !important;
  filter: blur(1px) !important;
}
.da-manifesto__quote:not(.is-active):not(.is-leaving) {
  opacity: 0 !important;
  transform: translateY(0.55em) !important;
  filter: blur(1.5px) !important;
}

/* ============================================================
   Featured menu item — Pizza Bad Nauheim (#20 Signatur)
   Matte black + thin tricolore chrome only. No gold / purple.
   ============================================================ */
#menuModal .menu-modal-item--featured,
#menuModal .menu-modal-item[data-featured] {
  position: relative;
  padding: 1.05rem 0.55rem 1.05rem 0.9rem;
  margin: 0.25rem -0.15rem;
  border-bottom-color: rgba(247, 245, 241, 0.16);
  border-left-color: transparent;
  background: #0a0a0a;
  background-image: none;
}

#menuModal .menu-modal-item--featured::before,
#menuModal .menu-modal-item[data-featured]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0.55rem;
  right: 0.55rem;
  height: 2px;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%);
  pointer-events: none;
}

#menuModal .menu-modal-item--featured::after,
#menuModal .menu-modal-item[data-featured]::after {
  content: "";
  position: absolute;
  top: 0.35rem;
  bottom: 0.35rem;
  left: 0;
  width: 2px;
  border-radius: 1px;
  background: linear-gradient(180deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%);
  pointer-events: none;
}

#menuModal .menu-modal-item--featured:hover,
#menuModal .menu-modal-item[data-featured]:hover {
  background: #111;
  background-image: none;
  border-left-color: transparent;
}

#menuModal .menu-modal-item__hometown {
  display: block;
  margin: 0 0 0.28rem;
  font-family: Figtree, system-ui, sans-serif;
  font-size: 0.62rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(247, 245, 241, 0.58);
}

#menuModal .menu-modal-item--featured .menu-modal-item__name,
#menuModal .menu-modal-item[data-featured] .menu-modal-item__name {
  color: #f7f5f1;
  font-weight: 700;
  letter-spacing: 0;
}

#menuModal .menu-modal-item__tag--featured {
  background: transparent;
  border-color: rgba(247, 245, 241, 0.38);
  color: rgba(247, 245, 241, 0.82);
  font-weight: 600;
  letter-spacing: 0.1em;
  border-radius: 2px;
  padding: 0.12rem 0.4rem;
}

#menuModal .menu-modal-item--featured .menu-modal-item__desc,
#menuModal .menu-modal-item[data-featured] .menu-modal-item__desc {
  color: rgba(247, 245, 241, 0.78);
}

/* Hero headline rotate — cream stays readable; sharp opacity + slight rise (no muddy blur) */
#heroHeadline,
.hero-copy h1#heroHeadline {
  min-height: 2.35em !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  filter: none !important;
  text-shadow: none !important;
  transition:
    opacity 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
#heroHeadline.is-active {
  opacity: 1 !important;
  transform: translateY(0) !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  filter: none !important;
}
#heroHeadline.is-leaving {
  opacity: 0 !important;
  transform: translateY(-0.18em) !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  filter: none !important;
  transition-duration: 0.2s !important;
}
#heroHeadline:not(.is-active):not(.is-leaving) {
  opacity: 0 !important;
  transform: translateY(0.22em) !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  filter: none !important;
}

@media (prefers-reduced-motion: reduce) {
  #heroHeadline,
  #heroHeadline.is-active,
  #heroHeadline.is-leaving,
  #heroHeadline:not(.is-active):not(.is-leaving),
  .hero-copy h1#heroHeadline {
    transition: none !important;
    transform: none !important;
    filter: none !important;
    opacity: 1 !important;
    color: #f7f5f1 !important;
    -webkit-text-fill-color: #f7f5f1 !important;
  }
}

/* ============================================================
   End lock — solid black wins; no see-through gold wash.
   ============================================================ */
main {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
.da-marble-bg {
  display: block !important;
  visibility: visible !important;
  opacity: 0.42 !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  mix-blend-mode: soft-light !important;
}
.hero,
.hero--text,
.footer,
.header,
.header.solid,
.da-manifesto,
.da-casa,
.da-band,
.da-band--alt,
section,
.da-guest-xp,
#guestExperience,
.menu-sec,
.events-sec,
.forno-sec,
.lounge-section,
.reserve,
.standort,
.notify,
#gaming,
.da-marketing {
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
}
.da-manifesto__inner {
  background: #0a0a0a !important;
  background-image: none !important;
}
.header,
.header.solid {
  background: rgba(10, 10, 10, 0.92) !important;
  background-color: rgba(10, 10, 10, 0.92) !important;
  background-image: none !important;
}

/* Menu modal close — cream X on matte black (no gold) */
#menuModalClose.modal-close,
#menuModal .modal-close {
  background: #0a0a0a !important;
  background-image: none !important;
  color: #f7f5f1 !important;
  border-color: rgba(247, 245, 241, 0.3) !important;
}
#menuModalClose.modal-close:hover,
#menuModal .modal-close:hover {
  background: #111 !important;
  color: #f7f5f1 !important;
}
#menuModalClose.modal-close:empty::before {
  content: "×";
  color: #f7f5f1 !important;
}

/* ============================================================
   #menu Speisekarte panel — compact (~1 viewport), no full dump
   ============================================================ */
#menu.menu-sec {
  text-align: center !important;
  background: #0a0a0a !important;
  background-image: none !important;
}
#menu.menu-sec .wrap {
  max-width: 720px;
}
.menu-panel__actions--secondary {
  padding-top: 0.65rem;
  border-top: none;
  margin-top: -0.35rem;
}
.menu-panel__actions--secondary .btn {
  flex: 1 1 auto;
  min-width: 8.5rem;
  opacity: 0.92;
}

.menu-preview {
  margin: 1.75rem auto 0;
  max-width: 720px;
  text-align: left;
  padding: 1.15rem 1.25rem 1.35rem;
  border: 1px solid rgba(247, 245, 241, 0.16);
  border-radius: 4px;
  background: #0a0a0a;
}
.menu-preview__title {
  margin: 0 0 0.3rem;
  font-family: var(--font-display, 'Fraunces', Georgia, serif);
  font-size: clamp(1.05rem, 2.2vw, 1.25rem);
  font-weight: 700;
  color: #f7f5f1;
  text-align: center;
}
.menu-preview__sub {
  margin: 0 0 1rem;
  font-size: 0.82rem;
  line-height: 1.45;
  color: rgba(247, 245, 241, 0.62);
  text-align: center;
}
.menu-preview__list {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin-bottom: 1rem;
}
.menu-preview__item {
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(247, 245, 241, 0.1);
  border-radius: 3px;
  background: #111;
}
.menu-preview__row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
}
.menu-preview__name {
  font-size: 0.95rem;
  font-weight: 700;
  color: #f7f5f1;
}
.menu-preview__tag {
  display: inline-block;
  margin-left: 0.4rem;
  padding: 0.08rem 0.32rem;
  font-size: 0.5rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  vertical-align: middle;
  color: #f7f5f1;
  border: 1px solid #ce2b37;
  border-radius: 2px;
}
.menu-preview__desc {
  margin: 0.25rem 0 0;
  font-size: 0.78rem;
  line-height: 1.4;
  color: rgba(247, 245, 241, 0.58);
}
.menu-preview__price {
  font-size: 0.95rem;
  font-weight: 800;
  color: #f7f5f1;
  white-space: nowrap;
}
.menu-preview__empty {
  margin: 0;
  text-align: center;
  padding: 0.75rem;
  color: rgba(247, 245, 241, 0.55);
  font-size: 0.88rem;
}
.menu-preview__more {
  display: flex;
  width: 100%;
  justify-content: center;
}

/* Retire old inline-dump chrome (kept inert if leftover markup appears) */
.menu-sec__toolbar,
.menu-flyer,
.menu-nav--inline,
.menu-inline__body,
.menu-inline__footnotes {
  display: none !important;
}

@media (max-width: 640px) {
  .menu-panel__actions--secondary {
    flex-direction: column;
  }
  .menu-panel__actions--secondary .btn {
    width: 100%;
    min-width: 0;
  }
  .menu-preview__row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.2rem;
  }
}

/* ============================================================
   PREMIUM MOTION + LOOK v152
   1) Hero brand/copy entrance (after loader)
   2) Section fade/rise on scroll (IO + .fade.show)
   3) Button hover polish
   4) Type/spacing tighten — no blooms, static hero
   ============================================================ */

/* --- Motion 1: hero entrance (gated until loader exits) --- */
body:not(.is-loaded) .logo-mark--stage,
body:not(.is-loaded) .hero-copy__body {
  opacity: 0 !important;
  transform: translateY(14px) !important;
  animation: none !important;
}
body.is-loaded .logo-mark--stage {
  animation: daHeroBrandIn 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s both !important;
}
body.is-loaded .hero-copy__body {
  animation: daHeroCopyIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) 0.28s both !important;
}
@keyframes daHeroBrandIn {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes daHeroCopyIn {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Static hero — kill rotate leftovers (opacity traps / spare min-height) */
#heroHeadline,
.hero-copy h1,
.hero-copy h1#heroHeadline {
  min-height: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
  animation: none !important;
}
#heroHeadline.is-active,
#heroHeadline.is-leaving,
#heroHeadline:not(.is-active):not(.is-leaving) {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
}

/* --- Motion 2: scroll fade/rise (solid IO system) --- */
.fade {
  opacity: 0 !important;
  transform: translateY(14px) !important;
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition-delay: 0s !important;
  animation: none !important;
}
.fade.show,
.fade.is-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}
/* Staggered enter for casa / cucina — delay only while revealing */
.da-casa__beat.fade:not(.show),
.da-guest-pillar.fade:not(.show) {
  transition-delay: 0s !important;
}
.da-casa__beat.fade.show,
.da-guest-pillar.fade.show {
  transition-delay: var(--da-stagger, 0s) !important;
}
/* Kill conflicting auto-play on casa/guest (fought .fade) */
.da-casa__beat.fade,
.da-guest-pillar.fade {
  animation: none !important;
}

/* --- Motion 3: button hover polish --- */
.btn,
.btn.btn-shine,
.btn.btn-outline,
a.btn,
button.btn {
  position: relative !important;
  overflow: hidden !important;
  transition:
    background-color 0.22s ease,
    border-color 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease !important;
}
.btn.btn-shine::before,
.btn-shine::before,
a.btn-shine::before,
.hero-cta .btn-shine::before,
#reservieren #reserveSubmit::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  height: 2px !important;
  background: var(--da-tricolore) !important;
  opacity: 0.88 !important;
  transform: scaleX(1) !important;
  transform-origin: center !important;
  transition: opacity 0.22s ease !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.btn.btn-shine:hover,
.btn-shine:hover,
.nav-cta:hover,
.btn.btn-outline:hover,
a.btn:hover,
.hero-cta__btn:hover,
.hero-cta .btn-outline:hover,
#reservieren #reserveSubmit:hover {
  background: #111111 !important;
  border-color: rgba(247, 245, 241, 0.5) !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  transform: translateY(-1px) !important;
  box-shadow: none !important;
  filter: none !important;
}
.btn.btn-shine:hover::before,
.btn-shine:hover::before {
  opacity: 1 !important;
}
.btn.btn-shine:active,
.btn-outline:active,
.hero-cta__btn:active {
  transform: translateY(0) !important;
}

/* --- Motion 4: quiet pillar lift --- */
@media (hover: hover) {
  .da-guest-pillar.fade.show:hover,
  .da-casa__beat.fade.show:hover {
    transform: translateY(-3px) !important;
  }
}

/* --- Look: section rhythm / type --- */
.hero,
.hero--text {
  min-height: min(100svh, 50rem) !important;
  padding: clamp(5.5rem, 10vw, 7rem) 0 0 !important;
}
.logo-mark--stage {
  margin-bottom: 1.85rem !important;
  padding: 1.25rem 2.15rem 1.1rem !important;
}
#heroHeadline,
.hero-copy h1 {
  font-size: clamp(2.45rem, 6.1vw, 3.65rem) !important;
  letter-spacing: -0.03em !important;
  max-width: 13ch !important;
}
.hero-sub {
  margin-top: 1.2rem !important;
  color: rgba(247, 245, 241, 0.58) !important;
  max-width: 26rem !important;
}
.hero-cta {
  margin-top: 1.85rem !important;
  gap: 0.75rem !important;
}
.hero-loc {
  margin-top: 1.55rem !important;
  color: rgba(247, 245, 241, 0.34) !important;
}

.da-manifesto,
.da-manifesto--tight {
  padding: clamp(1rem, 2.4vw, 1.45rem) 0 !important;
  margin-block: 0.35rem !important;
}
.da-manifesto__inner {
  padding: clamp(1.05rem, 2.5vw, 1.4rem) 1.1rem !important;
  max-width: 34rem !important;
  border-color: rgba(247, 245, 241, 0.1) !important;
  box-shadow: none !important;
}
/* Quieter LED — premium, not neon */
.da-manifesto__flag {
  width: 2.75rem !important;
  height: 2px !important;
  margin: 0 auto 0.7rem !important;
  border-radius: 1px !important;
  box-shadow: none !important;
  animation: none !important;
  overflow: hidden !important;
  opacity: 0.92 !important;
}
.da-manifesto__flag::after {
  content: none !important;
  display: none !important;
  animation: none !important;
}
.da-manifesto__quote {
  font-size: clamp(1.15rem, 2.8vw, 1.48rem) !important;
  line-height: 1.32 !important;
  max-width: 22ch !important;
  margin-bottom: 0.5rem !important;
}
.da-manifesto__sign {
  font-size: 0.68rem !important;
  letter-spacing: 0.16em !important;
  opacity: 0.55 !important;
}

.da-casa,
.da-guest-xp,
#guestExperience.da-guest-xp,
.menu-sec,
.events-sec {
  padding: clamp(2.5rem, 6vw, 3.85rem) 0 !important;
}
.da-casa__intro,
.da-guest-xp__intro {
  margin-bottom: 1.85rem !important;
}
.da-casa__kicker,
.da-guest-xp__kicker {
  margin-bottom: 0.55rem !important;
  letter-spacing: 0.22em !important;
  color: rgba(247, 245, 241, 0.92) !important;
}
.da-casa .section-title,
.da-guest-xp .section-title,
.section-title--sm {
  font-size: clamp(1.7rem, 3.8vw, 2.25rem) !important;
  letter-spacing: -0.02em !important;
}
.da-casa__intro .section-sub,
.da-guest-xp__intro .section-sub,
.menu-sec__head .section-sub,
.events-head .section-sub,
.reserve-head .section-sub {
  margin-top: 0.75rem !important;
  font-size: 0.95rem !important;
  line-height: 1.55 !important;
  color: rgba(247, 245, 241, 0.68) !important;
}
.da-casa__beats {
  gap: 1.65rem 1.85rem !important;
  padding-top: 1.55rem !important;
}
.da-casa__beat h3 {
  font-size: clamp(1.12rem, 2vw, 1.32rem) !important;
  margin-bottom: 0.45rem !important;
}
.da-casa__beat p,
.da-guest-pillar p {
  font-size: 0.92rem !important;
  line-height: 1.55 !important;
  color: rgba(247, 245, 241, 0.72) !important;
}
.da-guest-pillar {
  padding: 1rem 0.1rem 0.25rem !important;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.da-guest-pillar::before {
  width: 2.1rem !important;
  margin-bottom: 0.85rem !important;
}
#guestXpGrid.da-guest-xp__stage,
.da-guest-xp__stage {
  gap: 1.05rem 1.25rem !important;
  max-width: 840px !important;
}

/* Menu panel — compact invitation, not a dump */
#menu.menu-sec {
  padding: clamp(2.35rem, 5.5vw, 3.5rem) 0 !important;
}
.menu-panel {
  padding: 1.35rem 1.35rem 1.25rem !important;
  border: 1px solid rgba(247, 245, 241, 0.12) !important;
  background: #0a0a0a !important;
  box-shadow: none !important;
}
.menu-panel__lead {
  font-size: 0.92rem !important;
  line-height: 1.5 !important;
  color: rgba(247, 245, 241, 0.72) !important;
}
.menu-panel__addr {
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
  color: rgba(247, 245, 241, 0.42) !important;
}
.menu-preview {
  margin-top: 1.45rem !important;
  padding: 1.05rem 1.15rem 1.2rem !important;
  border-color: rgba(247, 245, 241, 0.12) !important;
}

/* Lounge + reserve */
.lounge-section {
  padding: clamp(1.15rem, 3vw, 1.85rem) 0 clamp(1.65rem, 3.5vw, 2.35rem) !important;
}
.reserve {
  padding: clamp(2.25rem, 5vw, 3.25rem) 0 !important;
}
#reservieren .reserve-box {
  padding: clamp(1.35rem, 3vw, 1.85rem) !important;
  border: 1px solid rgba(247, 245, 241, 0.12) !important;
  background: #0a0a0a !important;
  box-shadow: none !important;
}
#reservieren .reserve-head {
  margin-bottom: 1.25rem !important;
  text-align: center !important;
}
#reservieren .reserve-head .eyebrow,
#reservieren #reserveEyebrow {
  letter-spacing: 0.2em !important;
  font-size: 0.64rem !important;
  color: rgba(247, 245, 241, 0.48) !important;
}
.da-status {
  padding: 0 0 0.65rem !important;
}
.da-status__inner {
  padding: 0.85rem 1.1rem !important;
  background: #111111 !important;
  border-color: rgba(247, 245, 241, 0.1) !important;
}

@media (max-width: 700px) {
  .hero,
  .hero--text {
    min-height: auto !important;
    padding: clamp(4.75rem, 13vw, 5.75rem) 0 0 !important;
  }
  .logo-mark--stage {
    margin-bottom: 1.15rem !important;
    padding: 0.8rem 1.2rem 0.7rem !important;
  }
  #heroHeadline,
  .hero-copy h1 {
    font-size: clamp(1.9rem, 8.2vw, 2.35rem) !important;
  }
  .hero-cta {
    margin-top: 1.35rem !important;
  }
  .da-casa,
  .da-guest-xp,
  #guestExperience.da-guest-xp,
  .menu-sec,
  .events-sec,
  .reserve {
    padding: clamp(2.1rem, 8vw, 2.85rem) 0 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .logo-mark--stage,
  .hero-copy__body,
  body.is-loaded .logo-mark--stage,
  body.is-loaded .hero-copy__body,
  .fade,
  .fade.show,
  .fade.is-visible,
  .da-casa__beat.fade,
  .da-guest-pillar.fade,
  .btn,
  .btn.btn-shine,
  .btn.btn-outline,
  a.btn {
    animation: none !important;
    transition: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
  .btn.btn-shine:hover,
  .btn-outline:hover,
  .hero-cta__btn:hover,
  .da-guest-pillar.fade.show:hover,
  .da-casa__beat.fade.show:hover {
    transform: none !important;
  }
  .da-manifesto__flag,
  .da-manifesto__flag::after {
    animation: none !important;
  }
}

/* ============================================================
   SITE SCROLL CHROME (minimal — print kit is primary)
   Matte black safe · no blooms · tricolore thin only
   ============================================================ */
.da-scroll-progress {
  position: fixed; top: 0; left: 0; right: 0; z-index: 200;
  height: 3px; pointer-events: none; opacity: 0;
  transition: opacity 0.25s ease;
  background: rgba(247, 245, 241, 0.06);
}
.da-scroll-progress.is-on { opacity: 1; }
.da-scroll-progress__bar {
  display: block; height: 100%; width: 100%;
  transform-origin: left center; transform: scaleX(0);
  background: linear-gradient(90deg, #009246 0 33%, #f7f5f1 33% 66%, #ce2b37 66%);
}

.da-spy {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  left: auto !important;
  height: 100vh !important;
  height: 100dvh !important;
  width: 2.35rem !important;
  max-width: 2.35rem !important;
  z-index: 70 !important;
  transform: none !important;
  display: none;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: clamp(0.85rem, 2.2vh, 1.35rem) 0 !important;
  box-sizing: border-box !important;
  opacity: 1 !important;
  pointer-events: auto !important;
  background: rgba(10, 10, 10, 0.55) !important;
  border: 0 !important;
  border-left: 1px solid rgba(247, 245, 241, 0.08) !important;
  border-radius: 0 !important;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}
.da-spy.is-visible {
  opacity: 1 !important;
  pointer-events: auto !important;
}
.da-spy a {
  position: relative !important;
  box-sizing: border-box !important;
  flex: 1 1 0 !important;
  width: 100% !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  color: rgba(247, 245, 241, 0.4) !important;
  outline: none !important;
  writing-mode: horizontal-tb !important;
}
.da-spy a:hover,
.da-spy a:focus-visible {
  color: #f7f5f1 !important;
  background: rgba(247, 245, 241, 0.04) !important;
}
.da-spy a:focus-visible .da-spy__tick {
  border-color: #f7f5f1 !important;
  box-shadow: 0 0 0 1px rgba(247, 245, 241, 0.28) !important;
}
.da-spy__tick {
  display: block !important;
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(247, 245, 241, 0.4) !important;
  background: transparent !important;
  flex: 0 0 auto !important;
  box-shadow: none !important;
  transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease !important;
}
.da-spy__hint {
  position: absolute !important;
  right: calc(100% + 0.65rem) !important;
  top: 50% !important;
  left: auto !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;
  writing-mode: horizontal-tb !important;
  rotate: none !important;
  font-family: Figtree, "Helvetica Neue", Arial, Helvetica, sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  color: #f7f5f1 !important;
  background: #0a0a0a !important;
  border: 1px solid rgba(247, 245, 241, 0.16) !important;
  padding: 0.28rem 0.45rem !important;
  opacity: 0 !important;
  pointer-events: none !important;
  box-shadow: none !important;
  transition: opacity 0.16s ease !important;
}
.da-spy a:hover .da-spy__hint,
.da-spy a:focus-visible .da-spy__hint {
  opacity: 1 !important;
}
.da-spy a.is-active .da-spy__tick,
.da-spy a[aria-current="true"] .da-spy__tick {
  background: #f7f5f1 !important;
  border-color: #f7f5f1 !important;
  transform: scale(1.25) !important;
}
.da-spy a.is-active::before,
.da-spy a[aria-current="true"]::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: auto !important;
  top: 18% !important;
  bottom: 18% !important;
  width: 2px !important;
  background: linear-gradient(180deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
}
.da-spy a span { display: unset; }
@media (min-width: 960px) {
  .da-spy { display: flex !important; }
}
@media (max-width: 959px) {
  .da-spy {
    display: none !important;
  }
}

.hero-jumps {
  display: flex; flex-wrap: wrap; gap: 0.45rem;
  margin-top: 1.15rem;
}
.hero-jump {
  font-size: 0.68rem; font-weight: 600; letter-spacing: 0.08em;
  text-transform: uppercase; text-decoration: none;
  color: rgba(247, 245, 241, 0.55);
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(247, 245, 241, 0.14);
  background: #0a0a0a;
}
.hero-jump:hover { color: #f7f5f1; border-color: rgba(247, 245, 241, 0.35); background: #111; }

.da-serata,
.da-firma,
.da-weekly {
  background: #0a0a0a !important;
  padding: clamp(2.35rem, 5.5vw, 3.5rem) 0 !important;
}
.da-serata__kicker,
.da-firma__kicker,
.da-weekly__kicker {
  font-size: 0.68rem; font-weight: 700; letter-spacing: 0.22em;
  text-transform: uppercase; color: rgba(247, 245, 241, 0.48);
  margin-bottom: 0.55rem;
}
.da-serata__steps {
  list-style: none; margin: 1.75rem 0 0;
  display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem;
}
.da-serata__step {
  padding: 1rem 0.85rem 1.05rem;
  border: 1px solid rgba(247, 245, 241, 0.1);
  background: #111;
  position: relative;
}
.da-serata__step::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, #009246 0 33%, #f7f5f1 33% 66%, #ce2b37 66%);
}
.da-serata__n {
  display: block; font-size: 0.72rem; font-weight: 700;
  letter-spacing: 0.14em; color: rgba(247, 245, 241, 0.4); margin-bottom: 0.35rem;
}
.da-serata__it {
  display: block; font-size: 0.68rem; letter-spacing: 0.12em;
  text-transform: uppercase; color: rgba(247, 245, 241, 0.55); margin-bottom: 0.35rem;
}
.da-serata__step h3 {
  font-family: Cinzel, Georgia, serif; font-size: 1.05rem;
  color: #f7f5f1; margin-bottom: 0.4rem;
}
.da-serata__step p {
  font-size: 0.88rem; line-height: 1.45; color: rgba(247, 245, 241, 0.68); margin: 0;
}
@media (max-width: 900px) {
  .da-serata__steps { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
  .da-serata__steps { grid-template-columns: 1fr; }
}

/* Firma signatur rail — looping carousel (no native scrollbar) */
.da-firma__carousel {
  position: relative;
  margin-top: 0.85rem;
}
.da-firma__rail {
  position: relative;
  overflow: hidden;
  padding: 0;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.da-firma__rail::-webkit-scrollbar { display: none; width: 0; height: 0; }
.da-firma__viewport {
  overflow: hidden;
  width: 100%;
  touch-action: pan-y;
  cursor: grab;
  outline: none !important;
}
.da-firma__viewport:focus-visible {
  box-shadow: inset 0 0 0 1px rgba(247, 245, 241, 0.28);
}
.da-firma__viewport.is-dragging { cursor: grabbing; }
.da-firma__track {
  display: flex;
  gap: 0.55rem;
  width: max-content;
  will-change: transform;
  transform: translate3d(0, 0, 0);
}
.da-firma__track.is-animating {
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}
.da-firma__card {
  flex: 0 0 clamp(176px, 42vw, 212px);
  scroll-snap-align: unset;
  text-align: left;
  padding: 0.8rem 0.75rem 0.85rem;
  border: 1px solid rgba(247, 245, 241, 0.12);
  background: #0a0a0a !important;
  color: #f7f5f1;
  cursor: pointer;
  position: relative;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0;
  -webkit-tap-highlight-color: transparent;
}
.da-firma__card::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, #009246 0 33%, #f7f5f1 33% 66%, #ce2b37 66%);
  pointer-events: none;
}
.da-firma__card:hover,
.da-firma__card:focus,
.da-firma__card:focus-visible {
  background: #111 !important;
  border-color: rgba(247, 245, 241, 0.22);
  outline: none !important;
  box-shadow: none !important;
}
.da-firma__card:focus-visible {
  border-color: rgba(247, 245, 241, 0.38);
}
.da-firma__name {
  display: block; font-weight: 700; font-size: 0.92rem;
  letter-spacing: 0.01em; color: #f7f5f1;
}
.da-firma__tag {
  display: inline-block; margin-left: 0.35rem; font-size: 0.52rem;
  letter-spacing: 0.08em; text-transform: uppercase;
  border: 1px solid #ce2b37; color: #f7f5f1;
  padding: 0.05rem 0.26rem; vertical-align: middle;
}
.da-firma__desc {
  margin: 0.35rem 0 0.5rem; font-size: 0.74rem;
  line-height: 1.35; color: rgba(247, 245, 241, 0.58);
}
.da-firma__price {
  font-weight: 800; font-size: 0.92rem; color: #f7f5f1;
}
.da-firma__empty { color: rgba(247, 245, 241, 0.5); padding: 1rem 0; }
.da-firma__controls {
  display: flex; align-items: center; justify-content: flex-end;
  gap: 0.4rem; margin-top: 0.65rem;
}
.da-firma__nav {
  width: 2rem; height: 2rem; padding: 0;
  display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(247, 245, 241, 0.18);
  background: #0a0a0a; color: #f7f5f1;
  cursor: pointer; position: relative;
  outline: none !important; box-shadow: none !important;
  font-size: 0.95rem; line-height: 1;
}
.da-firma__nav::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, #009246 0 33%, #f7f5f1 33% 66%, #ce2b37 66%);
}
.da-firma__nav:hover { background: #111; border-color: rgba(247, 245, 241, 0.32); }
.da-firma__nav:focus-visible { border-color: rgba(247, 245, 241, 0.45); }
.da-firma__nav:disabled { opacity: 0.35; cursor: default; }
.da-firma__actions {
  display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 1rem;
}
@media (prefers-reduced-motion: reduce) {
  .da-firma__track.is-animating { transition: none; }
}

.da-weekly__box {
  display: flex; flex-wrap: wrap; gap: 1.25rem 2rem;
  align-items: center; justify-content: space-between;
  padding: 1.35rem 1.4rem;
  border: 1px solid rgba(247, 245, 241, 0.12);
  background: #0a0a0a;
  position: relative;
}
.da-weekly__box::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 2px;
  background: linear-gradient(90deg, #009246 0 33%, #f7f5f1 33% 66%, #ce2b37 66%);
}
.da-weekly__media {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.55rem;
  flex: 0 1 280px;
  min-width: min(100%, 200px);
  max-width: 320px;
}
.da-weekly__figure {
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(247, 245, 241, 0.1);
  background: #0a0a0a;
  aspect-ratio: 16 / 10;
}
.da-weekly__figure img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(0.92) contrast(1.02);
}
.da-weekly__copy { flex: 1; min-width: min(100%, 280px); }
.da-weekly__note {
  margin-top: 0.55rem; font-size: 0.78rem;
  color: rgba(247, 245, 241, 0.5); font-style: italic;
}
.da-weekly__cta { display: flex; flex-wrap: wrap; gap: 0.55rem; }
@media (max-width: 720px) {
  .da-weekly__media {
    flex: 1 1 100%;
    max-width: none;
    grid-template-columns: 1fr 1fr;
  }
}

.sticky-cta {
  transform: translateY(110%) !important;
  transition: transform 0.35s ease !important;
}
.sticky-cta.is-visible,
.sticky-cta.visible {
  transform: translateY(0) !important;
}
@media (max-width: 900px) {
  .sticky-cta {
    display: none;
    grid-template-columns: 1.35fr 1fr !important;
  }
  .sticky-cta.is-visible,
  .sticky-cta.visible {
    display: grid !important;
  }
}

/* ——— COMPACT CLEAN (matte black lock preserved) ——— */
.hero--text {
  padding: clamp(5.2rem, 9vw, 6.8rem) 0 0 !important;
}
.hero-sub {
  max-width: 36rem !important;
  line-height: 1.45 !important;
  font-size: clamp(0.95rem, 1.6vw, 1.08rem) !important;
}
.hero-jumps {
  gap: 0.45rem !important;
  margin-top: 1rem !important;
}
.hero-jump {
  padding: 0.35rem 0.7rem !important;
  font-size: 0.72rem !important;
}
.da-manifesto {
  padding: 1.1rem 0 !important;
}
.da-manifesto__quote {
  font-size: clamp(1.05rem, 2.2vw, 1.35rem) !important;
  line-height: 1.4 !important;
  max-width: 34rem !important;
  margin-inline: auto !important;
}
.da-band,
.section-led,
.da-serata,
.da-casa,
#guestExperience,
#menu,
#events,
#reservieren,
#standort,
#kontakt,
.notify {
  padding-block: clamp(1.6rem, 3.5vw, 2.35rem) !important;
}
.section-title {
  margin-bottom: 0.35rem !important;
  letter-spacing: 0.01em !important;
}
.section-sub {
  max-width: 38rem !important;
  line-height: 1.5 !important;
  margin-top: 0.35rem !important;
  font-size: 0.95rem !important;
}
.da-serata__steps {
  margin-top: 1.15rem !important;
  gap: 0.7rem !important;
}
.da-serata__step {
  padding: 0.85rem 0.75rem 0.9rem !important;
}
.da-serata__step h3 {
  font-size: 0.98rem !important;
  margin-bottom: 0.28rem !important;
}
.da-serata__step p {
  font-size: 0.84rem !important;
  line-height: 1.4 !important;
}
.da-casa__beat,
.da-guest-pillar {
  padding: 0.95rem 0.9rem !important;
}
.da-guest-pillar p,
.da-casa__beat p {
  font-size: 0.88rem !important;
  line-height: 1.45 !important;
}
.da-firma__carousel {
  margin-top: 0.75rem !important;
}
.da-firma__track {
  gap: 0.5rem !important;
}
.da-firma__card {
  padding: 0.75rem 0.7rem 0.8rem !important;
  flex-basis: clamp(168px, 40vw, 200px) !important;
}
.da-weekly__box {
  padding: 1.05rem 1.15rem !important;
  gap: 1rem 1.5rem !important;
}
.notify--compact .notify-box,
.notify-box {
  padding: 1.15rem 1.2rem !important;
  gap: 1rem !important;
}
.footer {
  padding-top: 1.75rem !important;
  padding-bottom: 1.5rem !important;
}
.wrap {
  max-width: 1080px !important;
}
@media (max-width: 720px) {
  .hero-cta {
    gap: 0.55rem !important;
  }
  .da-band,
  .section-led {
    padding-block: 1.35rem !important;
  }
}

/* ── Lounge arcade board — matte black + tricolore LED only ──
   Wins over earlier Notturno card flatten; no purple / cream paper. */
.lounge-ui--web {
  background: #111111 !important;
  border: 1px solid rgba(247, 245, 241, 0.14) !important;
  border-radius: 2px !important;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.55),
    0 18px 42px rgba(0, 0, 0, 0.48) !important;
}
.lounge-ui--web .lu-group {
  background: #0a0a0a !important;
  border: 1px solid rgba(247, 245, 241, 0.12) !important;
  border-radius: 1px !important;
  box-shadow: inset 0 0 0 1px rgba(247, 245, 241, 0.03) !important;
}
.lounge-ui--web .lu-group--avail-all {
  border-color: rgba(0, 146, 70, 0.4) !important;
}
.lounge-ui--web .lu-group--avail-none {
  border-color: rgba(206, 43, 55, 0.4) !important;
}
.lounge-ui--web .lu-group--avail-some,
.lounge-ui--web .lu-group--slots {
  border-color: rgba(247, 245, 241, 0.28) !important;
}
.lounge-ui--web .lounge-ui__headline {
  color: #f7f5f1 !important;
  text-shadow: 0 0 18px rgba(247, 245, 241, 0.18) !important;
  font-style: normal !important;
}
.lounge-ui--web .lounge-ui__headline.is-all-free {
  color: #009246 !important;
  text-shadow: 0 0 14px rgba(0, 146, 70, 0.4) !important;
}
.lounge-ui--web .lounge-ui__headline.is-full {
  color: #ce2b37 !important;
  text-shadow: 0 0 14px rgba(206, 43, 55, 0.4) !important;
}
.lounge-ui--web .lounge-ui__headline.is-partial {
  color: #f7f5f1 !important;
}
.lounge-ui--web .lu-group__tagline,
.lounge-ui--web .lounge-ui__updated,
.lounge-ui--web .lounge-ui__kicker {
  color: rgba(247, 245, 241, 0.5) !important;
}
.lounge-ui--web::after {
  box-shadow:
    0 0 8px rgba(0, 146, 70, 0.35),
    0 0 8px rgba(206, 43, 55, 0.28) !important;
}

/* ============================================================
   FINISH PASS — cleanest guest optics
   Soft cream on deep black/Portoro. Rare tricolore only.
   ============================================================ */

/* Flag spam OFF — keep logo bar + primary CTA stripe only.
   Exceptions: hero .marquee-flag, La Cucina .da-guest-pillar::before,
   La Casa .da-casa__beats::before (one continuous thin tricolore LED). */
.da-manifesto__flag,
.da-manifesto__flag::after,
.da-manifesto__flag--bottom,
.footer-italy,
.history-header__tricolore,
#standort .history-header__tricolore,
.standort-kontakt .history-header__tricolore,
.story-panel__tricolore,
.story-panel__rule,
.led-line--tricolore,
.section-title::after,
.menu-sec__head .section-title::after,
#events .events-head .section-title::after,
.da-band::before,
.da-band--alt::before,
.section-led::before,
.da-serata__step::before,
#reservieren .reserve-type::before,
.reserve-types .reserve-type::before,
button.reserve-type::before,
.da-firma__card::before,
.events-card::before,
.event-card::before {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
}

.logo-mark__flag {
  display: block !important;
  opacity: 0.92 !important;
  height: 2px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
}
.btn-shine::before,
.btn.btn-shine::before,
a.btn-shine::before,
.nav-cta::before {
  display: block !important;
  opacity: 1 !important;
  height: 2px !important;
  background: linear-gradient(90deg, #009246 0 33.33%, #f7f5f1 33.33% 66.66%, #ce2b37 66.66% 100%) !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Cream hairlines instead of flags (Serata only — Casa + guest keep tricolore chrome) */
.da-serata__step {
  border-top: 1px solid rgba(247, 245, 241, 0.12) !important;
}

/* La Casa — restore prior thin tricolore: one continuous LED above beats (not 3 broken segments, not cream hairline) */
.da-casa__beats {
  border-top: none !important;
  padding-top: 1.55rem !important;
  position: relative !important;
}
.da-casa__beats::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  top: 0 !important;
  width: auto !important;
  max-width: none !important;
  height: 2px !important;
  opacity: 0.85 !important;
  pointer-events: none !important;
  background: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  background-image: linear-gradient(
    90deg,
    #009246 0 33.33%,
    #f7f5f1 33.33% 66.66%,
    #ce2b37 66.66% 100%
  ) !important;
  box-shadow: none !important;
  filter: none !important;
  animation: none !important;
}
/* Per-beat scraps stay off — continuous bar is the chrome */
.da-casa__beat::before,
.da-casa__beat::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
}
/* Title underline stays off here (beats LED already chrome; avoid dual bar) */
.da-casa .section-title::after,
.da-casa__intro .section-title::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  background: none !important;
}

/* La Cucina pillars — restore thin marquee-style mini-flags (tricolore chrome) */
.da-guest-pillar {
  border-top: none !important;
  padding-top: 0.95rem !important;
  position: relative !important;
}
.da-guest-pillar::before {
  content: "" !important;
  display: block !important;
  width: 14px !important;
  height: 9px !important;
  margin: 0 0 0.85rem !important;
  padding: 0 !important;
  border-radius: 1.5px !important;
  opacity: 0.9 !important;
  background: linear-gradient(
    90deg,
    #009246 0%,
    #009246 33.33%,
    #f7f5f1 33.33%,
    #f7f5f1 66.66%,
    #ce2b37 66.66%,
    #ce2b37 100%
  ) !important;
  background-image: linear-gradient(
    90deg,
    #009246 0%,
    #009246 33.33%,
    #f7f5f1 33.33%,
    #f7f5f1 66.66%,
    #ce2b37 66.66%,
    #ce2b37 100%
  ) !important;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.45),
    0 1px 2px rgba(0, 0, 0, 0.35) !important;
  filter: none !important;
  animation: none !important;
}
#standort .history-header--destination::after,
.standort-kontakt .history-header--destination::after {
  content: "" !important;
  display: block !important;
  width: 2.5rem !important;
  height: 1px !important;
  margin: 0.75rem auto 0.95rem !important;
  background: rgba(247, 245, 241, 0.22) !important;
  opacity: 1 !important;
}
.footer::before {
  background: linear-gradient(
    90deg,
    transparent,
    rgba(247, 245, 241, 0.16) 22%,
    rgba(247, 245, 241, 0.28) 50%,
    rgba(247, 245, 241, 0.16) 78%,
    transparent
  ) !important;
  box-shadow: none !important;
  animation: none !important;
  height: 1px !important;
}

/* Portoro — subtle depth, not busy */
.da-marble-bg {
  display: block !important;
  visibility: visible !important;
  opacity: 0.48 !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2 !important;
  pointer-events: none !important;
  mix-blend-mode: soft-light !important;
}
.da-marble-bg__svg { display: block !important; opacity: 1 !important; }
.da-marble-bg__grain { display: block !important; opacity: 0.1 !important; }
.da-marble-bg__sheen { display: block !important; opacity: 0.45 !important; }
@media (max-width: 700px), (pointer: coarse) {
  .da-marble-bg { opacity: 0.4 !important; }
  .da-marble-bg__sheen { opacity: 0.3 !important; }
}

.da-band,
.da-band--alt,
.da-manifesto,
.da-casa,
.menu-sec,
.events-sec,
.da-guest-xp,
.da-firma,
.da-serata,
.da-weekly,
.reserve,
.standort {
  margin-block: 0.5rem !important;
}

/* Optics mute — soft cream, no harsh white / glow */
.nav a:hover,
.nav-link-btn:hover {
  color: #f7f5f1 !important;
}
.da-manifesto__quote,
.hero-copy h1,
#heroHeadline,
.section-title,
.section-title--sm,
.logo-mark__name,
.da-guest-pillar h3,
.da-casa__beat h3,
.da-serata__step h3,
.da-firma__name,
.history-header__street,
.footer-tagline,
.menu-panel__lead {
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  text-shadow: none !important;
  filter: none !important;
}
.section-title .accent,
.section-title--sm .accent,
#reservieren .section-title .accent {
  color: rgba(247, 245, 241, 0.78) !important;
  -webkit-text-fill-color: rgba(247, 245, 241, 0.78) !important;
  font-style: italic !important;
  text-shadow: none !important;
}
.hero-sub,
.section-sub,
.da-guest-pillar p,
.da-casa__beat p,
.da-serata__step p,
.da-firma__desc,
.hero-loc,
.hero-eyebrow,
.footer-addr,
.footer-hours-note,
.menu-sec__meta,
.menu-preview__sub,
.events-cta-note,
.kontakt-direct__hint,
#contactSub {
  color: rgba(247, 245, 241, 0.62) !important;
  -webkit-text-fill-color: rgba(247, 245, 241, 0.62) !important;
  text-shadow: none !important;
}
.da-serata__it,
.da-casa__it,
.da-guest-pillar__it {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
  color: rgba(247, 245, 241, 0.48) !important;
  text-shadow: none !important;
}

/* Kill LED / accent glow spam on guest chrome */
.logo-mark,
.logo-mark__flag,
.header .logo-mark,
.footer .logo-mark,
.btn-shine,
.nav-cta,
.da-scroll-progress__bar,
.sticky-cta__btn {
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
}
.da-scroll-progress__bar {
  background: rgba(247, 245, 241, 0.55) !important;
  background-image: none !important;
}

/* Italian type — clean trattoria hierarchy */
.da-serata__kicker,
.da-casa__kicker,
.da-guest-xp__kicker,
.da-firma__kicker,
.da-weekly__kicker {
  font-family: Cinzel, "Times New Roman", Times, serif !important;
  font-size: clamp(0.72rem, 1.5vw, 0.84rem) !important;
  font-weight: 600 !important;
  letter-spacing: 0.26em !important;
  text-transform: uppercase !important;
  color: rgba(247, 245, 241, 0.58) !important;
  margin-bottom: 0.65rem !important;
}
.section-title,
.section-title--sm {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif !important;
  font-weight: 650 !important;
  letter-spacing: 0.012em !important;
  line-height: 1.12 !important;
}
.logo-mark--stage .logo-mark__claim,
.logo-mark--hero .logo-mark__claim {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
  font-size: clamp(1.02rem, 2.2vw, 1.28rem) !important;
  letter-spacing: 0.05em !important;
  color: rgba(247, 245, 241, 0.82) !important;
}
.logo-mark--stage .logo-mark__name,
.logo-mark--hero .logo-mark__name {
  font-family: Cinzel, "Times New Roman", Times, serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding-left: 0 !important;
}
.hero-sub {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(1.02rem, 1.9vw, 1.18rem) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}
.da-manifesto__quote {
  font-family: Fraunces, "Cormorant Garamond", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 550 !important;
}

/* Clean panels — matte, quiet borders */
.da-firma__card,
.da-serata__step,
.menu-panel,
.glass-card,
.reserve-box,
.notify-box,
.events-card,
.event-card {
  background: #111111 !important;
  border-color: rgba(247, 245, 241, 0.1) !important;
  box-shadow: none !important;
}
.da-firma__card:hover {
  border-color: rgba(247, 245, 241, 0.22) !important;
  background: #141414 !important;
}
.btn-shine,
.btn.btn-shine,
a.btn-shine,
.nav-cta {
  background: #0a0a0a !important;
  color: #f7f5f1 !important;
  -webkit-text-fill-color: #f7f5f1 !important;
  border: 1px solid rgba(247, 245, 241, 0.16) !important;
}
.btn-shine:hover,
.nav-cta:hover {
  background: #111111 !important;
  color: #f7f5f1 !important;
}

/* Marquee — thin tricolore mini-flags between items (no dots) */
.marquee-item {
  letter-spacing: 0.16em !important;
  opacity: 0.5 !important;
  color: #f7f5f1 !important;
}
.marquee-group .marquee-item {
  margin-inline: 0.3rem !important;
}
.marquee-group .marquee-item::after {
  content: none !important;
  display: none !important;
}
.marquee-flag {
  display: inline-block !important;
  flex-shrink: 0 !important;
  width: 14px !important;
  height: 9px !important;
  margin: 0 clamp(0.85rem, 1.8vw, 1.35rem) !important;
  padding: 0 !important;
  border-radius: 1.5px !important;
  vertical-align: middle !important;
  opacity: 0.9 !important;
  background: linear-gradient(
    90deg,
    #009246 0%,
    #009246 33.33%,
    #f7f5f1 33.33%,
    #f7f5f1 66.66%,
    #ce2b37 66.66%,
    #ce2b37 100%
  ) !important;
  box-shadow:
    0 0 0 1px rgba(0, 0, 0, 0.45),
    0 1px 2px rgba(0, 0, 0, 0.35) !important;
}

/* Air + hierarchy */
.da-guest-xp__intro,
.da-firma__intro,
.da-serata__intro,
.da-casa__intro {
  margin-bottom: 1.45rem !important;
}
.hero-jumps { opacity: 0.75 !important; }
.hero-jump {
  border-color: rgba(247, 245, 241, 0.14) !important;
  color: rgba(247, 245, 241, 0.7) !important;
  background: transparent !important;
}
.sticky-cta__btn {
  background: #0a0a0a !important;
  color: #f7f5f1 !important;
  border-color: rgba(247, 245, 241, 0.18) !important;
}
.spy-dot,
.da-spy__tick {
  background: transparent !important;
  box-shadow: none !important;
}
.da-spy a.is-active .da-spy__tick,
.da-spy a[aria-current="true"] .da-spy__tick {
  background: #f7f5f1 !important;
  border-color: #f7f5f1 !important;
}
.da-spy__hint {
  background: transparent !important;
  box-shadow: none !important;
}

/* ── DA ANGELO lockup — SemiBold + near-natural tracking (wins cascade) ── */
.logo-mark__name,
.logo-mark--header .logo-mark__name,
.logo-mark--footer .logo-mark__name,
.logo-mark--hero .logo-mark__name,
.logo-mark--loader .logo-mark__name,
.logo-mark--stage .logo-mark__name,
.logo-mark--menu .logo-mark__name,
.site-loader .logo-mark--loader .logo-mark__name {
  font-family: Cinzel, "Times New Roman", Times, serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  padding-left: 0 !important;
  -webkit-text-stroke: 0 !important;
  text-shadow: none !important;
  font-synthesis: none !important;
}
.logo-mark--header .logo-mark__name,
.logo-mark--footer .logo-mark__name {
  letter-spacing: 0 !important;
  padding-left: 0 !important;
}
.logo-mark__caption,
.logo-mark--header .logo-mark__caption,
.logo-mark--footer .logo-mark__caption,
.logo-mark--hero .logo-mark__caption,
.logo-mark--loader .logo-mark__caption,
.logo-mark--stage .logo-mark__caption,
.logo-mark--menu .logo-mark__caption {
  font-weight: 600 !important;
  letter-spacing: 0.07em !important;
  -webkit-text-stroke: 0 !important;
}
@media (max-width: 700px) {
  .logo-mark--stage .logo-mark__name {
    letter-spacing: 0 !important;
    padding-left: 0 !important;
    font-weight: 600 !important;
  }
}
@media (max-width: 480px) {
  .site-loader .logo-mark--loader .logo-mark__name {
    letter-spacing: 0 !important;
    padding-left: 0 !important;
    font-weight: 600 !important;
  }
}
/* ============================================================
   HERO BREATH — brand → message → CTA as three bands (not one pile).
   Asymmetric vertical rhythm; tricolor brand chrome kept.
   ============================================================ */
.hero,
.hero--text {
  min-height: calc(100svh - 5.5rem) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  padding: clamp(1.25rem, 3.2vh, 2.25rem) 0 0 !important;
  box-sizing: border-box !important;
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
}
.hero-grid.wrap.hero-grid--solo,
.hero-grid--solo {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 46rem !important;
  margin: 0 auto !important;
  min-height: 0 !important;
  padding-block: clamp(0.5rem, 2vh, 1.25rem) clamp(0.75rem, 2.5vh, 1.75rem) !important;
  box-sizing: border-box !important;
}
.hero-grid--solo .hero-copy,
.hero--text .hero-copy,
.hero--text .hero-grid--solo .hero-copy {
  flex: 0 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  max-width: 40rem !important;
  margin-inline: auto !important;
  min-height: 0 !important;
  padding-block: 0 !important;
  box-sizing: border-box !important;
}

/* Band 1 — brand lockup (hero-level, air below) */
.hero--text .logo-mark--stage,
.hero--text .logo-mark--hero {
  flex: 0 0 auto !important;
  margin: 0 auto clamp(2.35rem, 6.5vh, 4rem) !important;
  padding: clamp(1.45rem, 3.2vh, 1.85rem) clamp(2.1rem, 5vw, 3rem) clamp(1.25rem, 2.8vh, 1.55rem) !important;
}
.hero--text .logo-mark--stage .logo-mark__name,
.hero--text .logo-mark--hero .logo-mark__name {
  font-size: clamp(1.85rem, 5vw, 2.65rem) !important;
  line-height: 1.02 !important;
}
.hero--text .logo-mark--stage .logo-mark__flag,
.hero--text .logo-mark--hero .logo-mark__flag {
  margin: 1rem auto 0.7rem !important;
  width: 4.75rem !important;
  max-width: 4.75rem !important;
}

/* Band 2 — place + headline + sub (tight inside, air outside) */
.hero--text .hero-copy__body,
.hero-copy__body {
  flex: 0 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  width: 100% !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}
.hero-copy__body > .hero-eyebrow,
.hero-copy__body > .pill--hero {
  margin: 0 auto clamp(1.35rem, 3.2vh, 2rem) !important;
  flex: 0 0 auto !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.22em !important;
  color: rgba(247, 245, 241, 0.4) !important;
}
.hero-copy__body > #heroHeadline,
.hero-copy__body > .hero-sub,
.hero-copy__body > .hero-welcome {
  margin-left: auto !important;
  margin-right: auto !important;
  flex: 0 0 auto !important;
}
.hero-copy__body > #heroHeadline,
.hero--text #heroHeadline,
.hero--text .hero-copy h1#heroHeadline {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  line-height: 1.12 !important;
  max-width: 12ch !important;
}
.hero-copy__body > .hero-sub,
.hero--text .hero-sub {
  margin-top: clamp(1.15rem, 2.8vh, 1.85rem) !important;
  margin-bottom: 0 !important;
  max-width: 26rem !important;
  line-height: 1.55 !important;
}
.hero-copy__body > .hero-welcome {
  margin-top: 0.85rem !important;
  margin-bottom: 0 !important;
}

/* Band 3 — primary CTA clear of the message stack */
.hero-copy__body > .hero-cta,
.hero--text .hero-cta {
  margin-top: clamp(2.25rem, 6.5vh, 3.75rem) !important;
  margin-bottom: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  flex: 0 0 auto !important;
  padding-top: 0 !important;
  gap: 1rem !important;
}
.hero--text .hero-cta__sec {
  margin-top: 0.15rem !important;
  opacity: 0.88 !important;
}

/* Whisper meta — not part of the brand/message pile */
.hero-copy__body > .hero-loc,
.hero--text .hero-loc {
  margin-top: clamp(1.75rem, 4.5vh, 2.65rem) !important;
  margin-bottom: 0 !important;
  flex: 0 0 auto !important;
  opacity: 0.55 !important;
}
.hero-copy__body > .hero-jumps,
.hero--text .hero-jumps {
  display: none !important; /* cuts first-viewport clutter; nav covers jumps */
}
.hero-eyebrow,
.hero-copy .pill--hero,
#heroHeadline,
.hero-copy h1,
.hero-sub,
.hero-loc {
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero--text > .marquee,
.hero--text .marquee,
.hero .marquee {
  flex: 0 0 auto !important;
  margin-top: auto !important;
  margin-bottom: 0 !important;
}
.hero-scroll {
  flex: 0 0 auto !important;
}

@media (max-width: 700px) {
  .hero,
  .hero--text {
    min-height: auto !important;
    padding: clamp(4.75rem, 14vw, 5.75rem) 0 0 !important;
  }
  .hero-grid.wrap.hero-grid--solo,
  .hero-grid--solo {
    flex: 0 1 auto !important;
    justify-content: flex-start !important;
    padding-block: 0.35rem 1.25rem !important;
  }
  .hero-grid--solo .hero-copy,
  .hero--text .hero-copy {
    flex: 0 1 auto !important;
  }
  .hero--text .logo-mark--stage,
  .hero--text .logo-mark--hero {
    margin-bottom: clamp(1.75rem, 5.5vw, 2.5rem) !important;
    padding: 1.25rem 1.65rem 1.1rem !important;
  }
  .hero--text .logo-mark--stage .logo-mark__name,
  .hero--text .logo-mark--hero .logo-mark__name {
    font-size: clamp(1.55rem, 7.2vw, 1.95rem) !important;
  }
  .hero-copy__body > .hero-eyebrow,
  .hero-copy__body > .pill--hero {
    margin-bottom: 1.15rem !important;
  }
  .hero-copy__body > .hero-sub,
  .hero--text .hero-sub {
    margin-top: 1rem !important;
  }
  .hero-copy__body > .hero-cta,
  .hero--text .hero-cta {
    margin-top: 1.85rem !important;
  }
  .hero-copy__body > .hero-loc,
  .hero--text .hero-loc {
    margin-top: 1.45rem !important;
  }
  .hero--text > .marquee,
  .hero .marquee {
    margin-top: 1.35rem !important;
  }
}
@media (min-width: 701px) and (max-height: 760px) {
  .hero--text .logo-mark--stage,
  .hero--text .logo-mark--hero {
    margin-bottom: clamp(1.5rem, 4vh, 2.25rem) !important;
  }
  .hero-copy__body > .hero-cta,
  .hero--text .hero-cta {
    margin-top: clamp(1.5rem, 4vh, 2.25rem) !important;
  }
}

/* SINGLE CONTACT — keep notify/kontakt clean */
#kontakt.notify,
.notify#kontakt {
  background: #0a0a0a !important;
  padding: clamp(2.2rem, 5vw, 3.4rem) 0 !important;
}
#kontakt .notify-box {
  display: grid;
  gap: 1.25rem;
  max-width: 34rem;
  margin: 0 auto;
  padding: 1.35rem 1.25rem 1.45rem;
  background: #0a0a0a !important;
  border: 1px solid rgba(247, 245, 241, 0.14);
}
#kontakt .notify-lead {
  margin: 0.35rem 0 0;
  color: rgba(247, 245, 241, 0.72);
  font-size: 0.92rem;
  letter-spacing: 0.01em !important;
  line-height: 1.45;
}
#kontakt .notify-loc {
  margin: 0.55rem 0 0;
  color: rgba(247, 245, 241, 0.55);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em !important;
  text-transform: uppercase;
}
#kontakt .form {
  display: grid;
  gap: 0.65rem;
}
#kontakt .form input {
  background: #0a0a0a;
  color: #f7f5f1;
  border: 1px solid rgba(247, 245, 241, 0.18);
}
#kontakt #submitBtn {
  justify-self: start;
}
/* Spy jump landing under sticky header */
#hero, #serata, #casa, #guestExperience, #firma, #weeklyTeaser,
#menu, #events, #reservieren, #standort, #kontakt {
  scroll-margin-top: 5.5rem;
}
/* Slim right spy rail — max 5 jumps; never fight [hidden] / pre-open */
.da-spy,
nav#daSpy.da-spy {
  position: fixed !important;
  top: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  height: 100vh !important;
  height: 100dvh !important;
  width: 2.2rem !important;
  max-width: 2.2rem !important;
  transform: none !important;
  justify-content: center !important;
  gap: 0.15rem !important;
  padding: clamp(1.25rem, 4vh, 2.5rem) 0 !important;
  background: rgba(10, 10, 10, 0.5) !important;
  border-left: 1px solid rgba(247, 245, 241, 0.08) !important;
  box-sizing: border-box !important;
}
.da-spy a {
  flex: 0 0 auto !important;
  min-height: 2.75rem !important;
  writing-mode: horizontal-tb !important;
}
.da-spy__hint {
  writing-mode: horizontal-tb !important;
  transform: translateY(-50%) !important;
  rotate: none !important;
}
@media (min-width: 960px) {
  .da-spy:not([hidden]):not(.hidden),
  nav#daSpy.da-spy:not([hidden]):not(.hidden) {
    display: flex !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
}
@media (max-width: 959px) {
  .da-spy,
  nav#daSpy.da-spy {
    display: none !important;
  }
}
/* Must win over earlier display:flex !important locks */
body.da-preopen-simple #daSpy,
body.da-preopen-simple nav#daSpy.da-spy,
#daSpy[hidden],
#daSpy.hidden,
nav#daSpy.da-spy[hidden],
nav#daSpy.da-spy.hidden {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}
.da-spy a[hidden],
.da-spy a.hidden {
  display: none !important;
}

/* Sticky CTA — dual actions only, safe-area, full width */
.sticky-cta#stickyCta,
aside.sticky-cta {
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100vw !important;
  box-sizing: border-box !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  grid-template-columns: 1.35fr 1fr !important;
  gap: 0 !important;
  z-index: 90 !important;
}
.sticky-cta__btn {
  min-height: 52px !important;
  padding: 0.85rem 0.65rem !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
  text-decoration: none !important;
  border-right: 1px solid rgba(247, 245, 241, 0.12) !important;
}
.sticky-cta__btn:last-child {
  border-right: 0 !important;
}
.sticky-cta__btn--reserve {
  background: #141210 !important;
  color: #f7f5f1 !important;
  font-weight: 800 !important;
}
.sticky-cta__btn--follow {
  background: #0a0a0a !important;
  color: rgba(247, 245, 241, 0.88) !important;
}
.sticky-cta__btn--call {
  display: none !important;
}
@media (min-width: 901px) {
  .sticky-cta#stickyCta,
  aside.sticky-cta {
    display: none !important;
  }
}
/* MATTE BLACK LOCK — keep last (wins over spacing experiments) */
html,
.hero,
.hero--text {
  background: #0a0a0a !important;
  background-color: #0a0a0a !important;
  background-image: none !important;
}
body,
main {
  background-image: none !important;
}

/* Hero photographic backdrop — child layer (survives matte black lock) */
.hero.hero--text,
.hero.hero--preopen {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate;
}
.hero__bg {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background-color: #0a0a0a;
  background-image: url('/images/photos/da-angelo-hero-bg.jpg');
  background-size: cover;
  background-position: center 42%;
  background-repeat: no-repeat;
}
.hero__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(10, 10, 10, 0.78) 0%,
      rgba(10, 10, 10, 0.52) 42%,
      rgba(10, 10, 10, 0.88) 100%
    ),
    radial-gradient(ellipse at 50% 35%, rgba(10, 10, 10, 0.12) 0%, rgba(10, 10, 10, 0.62) 72%);
}
.hero > .hero-grid,
.hero > .marquee {
  position: relative !important;
  z-index: 1 !important;
}
/* Burger must stay clickable on phone + desktop (pointer-events / z-index) */
.header,
.header .header-inner,
.header .logo-link,
.header #menuBtn.burger,
#menuBtn.burger {
  pointer-events: auto !important;
}
#menuBtn.burger {
  position: relative !important;
  z-index: 120 !important;
  touch-action: manipulation !important;
  -webkit-tap-highlight-color: transparent !important;
}
#menuBtn.burger span { pointer-events: none !important; }
@media (max-width: 900px) {
  #siteNav.nav {
    z-index: 110 !important;
  }
  #siteNav.nav.open {
    pointer-events: auto !important;
    visibility: visible !important;
  }
  body.nav-is-open #menuBtn.burger {
    z-index: 130 !important;
  }
}
