:root {
  --terracotta: #c1402c;
  --terracotta-deep: #94301f;
  --cream: #fbf2e4;
  --cream-2: #f3e4cc;
  --brown: #3a2a1d;
  --gold: #d69a3f;
  --line: rgba(58, 42, 29, 0.14);
}

html {
  scroll-behavior: smooth;
  /* Evita scroll horizontal no mobile por transbordos decorativos.
     clip (em vez de hidden) não quebra o header sticky. */
  overflow-x: clip;
}

body {
  font-family: 'Nunito', sans-serif;
  background: var(--cream);
  color: var(--brown);
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3 {
  font-family: 'Fraunces', serif;
}

/* Scalloped divider echoing the double-line accents around "Don" in the logo */
.scallop {
  height: 16px;
  width: 100%;
  background-image: radial-gradient(circle at 8px 0, transparent 8px, var(--cream) 8px);
  background-size: 16px 16px;
  background-repeat: repeat-x;
}
.scallop.flip { transform: rotate(180deg); }
.scallop.on-terracotta { background-image: radial-gradient(circle at 8px 0, transparent 8px, var(--terracotta) 8px); }
.scallop.on-cream2 { background-image: radial-gradient(circle at 8px 0, transparent 8px, var(--cream-2) 8px); }

.hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: repeating-linear-gradient(135deg, rgba(193, 64, 44, 0.045) 0 2px, transparent 2px 26px);
}

.eyebrow::before {
  content: '✶';
  color: var(--gold);
}

.split-card li::before {
  content: '●';
  color: var(--gold);
  font-size: 8px;
}

/* Gallery carousel */
.gallery-carousel { scrollbar-width: none; -ms-overflow-style: none; }
.gallery-carousel::-webkit-scrollbar { display: none; }
.gallery-dots button { width: 10px; height: 10px; border-radius: 50%; border: none; background: rgba(0,0,0,0.18); cursor: pointer; padding: 0; transition: background 0.25s, transform 0.25s; }
.gallery-dots button.active { background: var(--terracotta); transform: scale(1.25); }
