
:root {
  --siw-black: #090909;
  --siw-black-2: #121212;
  --siw-red: #c01d2b;
  --siw-wine: #43191a;
  --siw-cream: #f6efe7;
  --siw-white: #fffaf4;
  --siw-text: rgba(255,250,244,.78);
  --siw-line: rgba(255,250,244,.12);
  --siw-shadow: 0 28px 80px rgba(0,0,0,.38);
}

.siw-page,
.editor-styles-wrapper .siw-page {
  background: linear-gradient(180deg, #0a0a0a 0%, #15110f 100%);
  color: var(--siw-white);
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.siw-page * { box-sizing: border-box; }
.siw-page a { color: inherit; }
.siw-page .wp-block-cover,
.siw-page .wp-block-group,
.siw-page .wp-block-columns { margin-top: 0; margin-bottom: 0; }

.siw-logo img { max-height: 56px; width: auto; }

.siw-nav {
  position: relative;
  z-index: 3;
  padding: 18px clamp(18px, 3vw, 50px);
  background: rgba(9,9,9,.82);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,250,244,.08);
}

.siw-menu {
  color: rgba(255,250,244,.82);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.siw-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(90px, 12vw, 170px) clamp(20px, 4vw, 60px) clamp(70px, 9vw, 120px);
}

.siw-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7,7,7,.88) 0%, rgba(7,7,7,.62) 38%, rgba(7,7,7,.38) 62%, rgba(7,7,7,.58) 100%),
    radial-gradient(circle at 72% 30%, rgba(192,29,43,.15), transparent 30%);
  z-index: 1;
  pointer-events: none;
}

.siw-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .08;
  background-image:
    radial-gradient(circle at 20% 20%, #fff 1px, transparent 1px),
    radial-gradient(circle at 80% 40%, #fff 1px, transparent 1px),
    radial-gradient(circle at 40% 80%, #fff 1px, transparent 1px),
    radial-gradient(circle at 60% 60%, #fff 1px, transparent 1px);
  background-size: 160px 160px, 220px 220px, 180px 180px, 210px 210px;
  animation: siwGrainShift 12s linear infinite;
  z-index: 2;
  pointer-events: none;
}

@keyframes siwGrainShift {
  0% { transform: translate(0,0); }
  25% { transform: translate(-10px, 8px); }
  50% { transform: translate(8px,-6px); }
  75% { transform: translate(-5px,-10px); }
  100% { transform: translate(0,0); }
}

.siw-hero .wp-block-cover__inner-container {
  position: relative;
  z-index: 3;
}

.siw-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--siw-red);
  font-family: Oswald, sans-serif;
  font-size: 13px;
  letter-spacing: .24em;
  text-transform: uppercase;
  font-weight: 500;
}

.siw-eyebrow::before {
  content: "";
  width: 34px;
  height: 1px;
  background: rgba(255,250,244,.32);
}

.siw-section-light .siw-eyebrow::before { background: rgba(17,17,17,.22); }

.siw-page h1,
.siw-page h2,
.siw-page h3 {
  color: inherit;
  font-family: Oswald, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1;
  letter-spacing: .02em;
}

.siw-page h1 { max-width: 760px; font-size: clamp(52px, 7vw, 100px); }
.siw-page h2 { font-size: clamp(38px, 5vw, 76px); }
.siw-page h3 { font-size: clamp(24px, 2vw, 34px); }

.siw-lead {
  max-width: 640px;
  color: rgba(255,250,244,.78);
  font-size: clamp(17px, 1.45vw, 19px);
}

.siw-button-primary .wp-block-button__link,
.siw-page .wp-block-button__link {
  min-height: 50px;
  padding: 14px 24px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .1em;
  border: 1px solid rgba(255,250,244,.12);
  transition: .25s ease;
}

.siw-button-primary .wp-block-button__link {
  background: var(--siw-red) !important;
  color: var(--siw-white) !important;
  box-shadow: 0 16px 36px rgba(192,29,43,.3);
}

.siw-page .wp-block-button:not(.siw-button-primary) .wp-block-button__link {
  background: rgba(255,250,244,.07) !important;
  color: var(--siw-white) !important;
  backdrop-filter: blur(12px);
}

.siw-hero-card {
  padding: 22px;
  border-radius: 28px;
  border: 1px solid rgba(255,250,244,.14);
  background: rgba(10,10,10,.45);
  backdrop-filter: blur(16px);
  box-shadow: var(--siw-shadow);
}

.siw-hero-card img,
.siw-food-card img,
.siw-image-frame img {
  width: 100%;
  height: auto;
  border-radius: 18px;
  object-fit: cover;
}

.siw-section { padding: clamp(70px, 8vw, 120px) clamp(20px, 4vw, 60px); }

.siw-section-light {
  background: var(--siw-cream);
  color: #111;
}

.siw-section-light p { color: rgba(17,17,17,.68); }

.siw-quick {
  padding: 0 clamp(20px, 4vw, 60px) clamp(50px, 7vw, 80px);
}

.siw-quick-inner {
  overflow: hidden;
  border: 1px solid rgba(255,250,244,.12);
  border-radius: 28px;
  background: rgba(255,250,244,.06);
  backdrop-filter: blur(16px);
  box-shadow: 0 16px 42px rgba(0,0,0,.2);
}

.siw-quick-item {
  padding: 24px 26px;
  border-right: 1px solid rgba(255,250,244,.1);
}

.siw-quick-item:last-child { border-right: 0; }

.siw-quick-item strong {
  display: block;
  font-family: Oswald, sans-serif;
  font-size: 22px;
  font-weight: 400;
  text-transform: uppercase;
}

.siw-quick-item span {
  display: block;
  margin-top: 6px;
  color: rgba(255,250,244,.64);
  font-size: 14px;
}

.siw-image-frame {
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(255,250,244,.12);
  box-shadow: var(--siw-shadow);
}

.siw-image-frame img { min-height: 500px; }
.siw-text p + p { margin-top: 18px; }

.siw-food-card {
  min-height: 250px;
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(17,17,17,.1);
  background: rgba(255,255,255,.58);
}

.siw-food-card h3 { color: #111; }
.siw-food-card .siw-price { color: var(--siw-red); font-weight: 900; font-size: 18px; }

.siw-invite { background: var(--siw-black); }

.siw-invite-box {
  max-width: 780px;
  padding: clamp(28px, 4vw, 48px);
  border-radius: 34px;
  border: 1px solid rgba(255,250,244,.12);
  background: rgba(9,9,9,.66);
  backdrop-filter: blur(18px);
  box-shadow: var(--siw-shadow);
}

.siw-contact-card {
  padding: clamp(24px, 3vw, 36px);
  border-radius: 30px;
  border: 1px solid rgba(255,250,244,.12);
  background: rgba(255,250,244,.06);
}

.siw-hours-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid rgba(255,250,244,.09);
  color: rgba(255,250,244,.76);
}

.siw-footer {
  padding: 58px clamp(20px, 4vw, 60px) 34px;
  background: var(--siw-black-2);
}

.siw-footer-logo img { width: 230px; height: auto; }

@media (max-width: 782px) {
  .siw-menu { display: none; }
  .siw-nav { padding: 14px 20px; }
  .siw-logo img { max-height: 44px; }

  .siw-quick-item {
    border-right: 0;
    border-bottom: 1px solid rgba(255,250,244,.1);
  }

  .siw-quick-item:last-child { border-bottom: 0; }
  .siw-image-frame img { min-height: 330px; }

  .siw-hours-row {
    display: grid;
    gap: 4px;
  }
}
