:root {
  --bg: #0f1114;
  --panel: rgba(17, 20, 26, 0.78);
  --text: #f8f9fb;
  --muted: #aeb7c2;
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  color: var(--text);
  background: var(--bg);
  scroll-behavior: smooth;
  scroll-snap-type: y mandatory;
}

.section {
  position: relative;
  min-height: 100vh;
  padding: 2rem;
  display: grid;
  place-items: center;
  background: #14181f center/cover no-repeat fixed;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

.overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.52), rgba(0, 0, 0, 0.74));
}

.navbar,
.hero-center,
.glass-card {
  position: relative;
  z-index: 2;
}

.navbar {
  width: min(1100px, 100%);
  margin: 0 auto;
  background: transparent !important;
}

.navbar-item,
.logo-text {
  color: #fff !important;
}

.logo-text {
  font-weight: 700;
}

.hero-center {
  min-height: calc(100vh - 90px);
  display: grid;
  place-items: center;
  text-align: center;
}

.glass-card {
  width: min(700px, 100%);
  background: var(--panel);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 20px;
  backdrop-filter: blur(6px);
}

.input,
.textarea,
.select select {
  background: rgba(12, 14, 18, 0.92);
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}

.input::placeholder,
.textarea::placeholder {
  color: var(--muted);
}

.status {
  margin-top: .7rem;
  min-height: 1.2em;
  color: var(--muted);
}

.map-wrap {
  border-radius: 12px;
  overflow: hidden;
  margin-top: 1rem;
}

.map-wrap iframe {
  width: 100%;
  height: 320px;
  border: 0;
}

.toast {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 999;
  min-width: 280px;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.35);
}

@media (max-width: 1023px) {
  .navbar-menu {
    background: transparent !important;
    box-shadow: none;
  }
}

@media (max-width: 720px) {
  .section { background-attachment: scroll; }
}
