:root{
  --bg: #faf7f1;
  --panel: #fffdf9;
  --border: #d8cbb4;
  --text: #2c1b0f;
  --muted: #7b624b;
  --accent: #b6682b;
}

body{
  background: var(--bg);
  color: var(--text);
}

.site-nav{
  background: rgba(243, 231, 212, 0.92);
  backdrop-filter: blur(8px);
}

.navbar .nav-link{
  color: var(--text);
}
.navbar .nav-link:hover{
  color: var(--accent);
}

.soft-card{
  background: var(--panel);
  border: 1px solid var(--border);
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
  border-radius: 1rem;
}

.hero{
  position: relative;
  min-height: 280px;
}
.hero-bg{
  position:absolute; inset:0;
  background-size: cover;
  background-position: center;
  transform: scale(1.03);
}
.hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(90deg, rgba(44,27,15,.75), rgba(44,27,15,.25));
}
.hero-body{
  position: relative;
  color: #fff;
  max-width: 720px;
}

.stat-card{
  background: var(--panel);
  border: 1px solid var(--border);
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

.btn-primary{
  background: var(--accent);
  border-color: var(--accent);
}
.btn-primary:hover{
  filter: brightness(0.95);
}

.gallery-img{
  border: 1px solid var(--border);
  box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

.site-footer{
  background: rgba(255,255,255,.6);
}

.consent-banner{
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: rgba(255,255,255,.96);
  border-top: 1px solid var(--border);
  padding: .75rem 0;
  z-index: 2000;
}

.map-placeholder{
  background: rgba(255,255,255,.6);
  border: 1px dashed var(--border);
}
