:root {
  /* Primary (Authority Green) */
  --brand-500: #047857;
  --brand-600: #059669;
  --brand-700: #047857;

  /* Dark Base (Premium Feel) */
  --dark-base: #0B0F0E;

  /* Secondary Neutral (Clean Contrast) */
  --neutral-light: #F5F1E8;

  /* Accent Gold (Success/Value) */
  --accent-gold: #C8A96A;

  /* Support Gray (UI Stability) */
  --support-gray: #6B7280;

  /* Semantic colors */
  --text-light: #F5F1E8;
  --text-muted: #6B7280;
  --border-dark: rgba(245, 241, 232, 0.1);
  --shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

html, body {
  min-height: 100%;
  margin: 0;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--dark-base);
  color: var(--text-light);
}

.site-header {
  background: var(--dark-base);
  border-bottom: 1px solid var(--border-dark);
}

.brand-logo {
  height: 50px;
  width: auto;
  transition: opacity 0.2s ease;
}

@media (min-width: 768px) {
  .brand-logo {
    height: 64px;
  }
}

.brand:hover .brand-logo {
  opacity: 0.8;
}

.nav-link {
  color: var(--text-light) !important;
}

.nav-link:hover {
  color: var(--brand-500) !important;
}

.hero {
  background: linear-gradient(180deg, var(--dark-base), #1a1f1d);
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.hero-title {
  font-size: clamp(2.5rem, 5vw, 4.5rem);
  line-height: 1.05;
  font-weight: 800;
  max-width: 860px;
  margin: 0 auto;
  color: var(--text-light);
}

.eyebrow {
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-size: 0.8rem;
  margin-bottom: 1rem;
  color: var(--accent-gold);
}

.hero-copy {
  max-width: 700px;
  margin: 1.5rem auto 0;
  font-size: 1.1rem;
  color: var(--text-muted);
}

.hero-actions .btn {
  min-width: 180px;
}

.features {
  padding-top: 3rem;
  padding-bottom: 3rem;
  background: var(--dark-base);
}

.feature-card {
  background: #151918;
  border: 1px solid var(--border-dark);
  border-radius: 1.25rem;
  color: var(--text-light);
}

.feature-card h2 {
  color: var(--text-light);
}

.feature-card p {
  color: var(--text-muted);
}

.bg-soft {
  background: #151918;
}

.newsletter {
  background: linear-gradient(135deg, #151918, #1a1f1d);
  border: 1px solid var(--border-dark);
  border-radius: 1.75rem;
  color: var(--text-light);
}

.newsletter h2 {
  color: var(--text-light);
}

.newsletter p {
  color: var(--text-muted);
}

.newsletter-form input {
  min-width: 0;
  flex: 1;
  background: var(--neutral-light);
  color: var(--dark-base);
  border: 1px solid var(--border-dark);
}

.newsletter-form input::placeholder {
  color: var(--support-gray);
}

.newsletter-note {
  color: var(--text-muted);
  font-size: 0.9rem;
}

.page-section {
  padding-top: 4rem;
  padding-bottom: 4rem;
  background: var(--dark-base);
}

.page-section h1 {
  color: var(--text-light);
}

.page-section p {
  color: var(--text-muted);
}

.info-card {
  background: #151918;
  border: 1px solid var(--border-dark);
  color: var(--text-light);
}

.info-card h3 {
  color: var(--accent-gold);
}

.info-card ul {
  color: var(--text-muted);
}

footer.site-footer {
  background: #0a0d0c;
  border-top: 1px solid var(--border-dark);
  color: var(--text-muted);
}

.btn-primary {
  background-color: var(--brand-500);
  border-color: var(--brand-500);
  color: var(--text-light);
}

.btn-primary:hover {
  background-color: var(--brand-600);
  border-color: var(--brand-600);
}

.btn-success {
  background-color: var(--accent-gold);
  border-color: var(--accent-gold);
  color: var(--dark-base);
  font-weight: 600;
}

.btn-success:hover {
  background-color: #d9b86b;
  border-color: #d9b86b;
}

.btn-outline-secondary {
  color: var(--text-light);
  border-color: var(--text-light);
}

.btn-outline-secondary:hover {
  background: var(--text-light);
  color: var(--dark-base);
}

.card {
  border: none;
  background: #151918;
  color: var(--text-light);
}

.card-body {
  background: #151918;
}

.form-control {
  background: var(--neutral-light);
  color: var(--dark-base);
  border: 1px solid var(--text-muted);
}

.form-control:focus {
  background: var(--neutral-light);
  color: var(--dark-base);
  border-color: var(--brand-500);
  box-shadow: 0 0 0 0.2rem rgba(4, 120, 87, 0.25);
}

.form-label {
  color: var(--text-light);
}

.shadow-sm {
  box-shadow: var(--shadow);
}

.alert {
  color: var(--dark-base);
}

.alert-success {
  background: #d4edda;
  border-color: #c3e6cb;
}

.alert-warning {
  background: #fff3cd;
  border-color: #ffeeba;
}

.alert-danger {
  background: #f8d7da;
  border-color: #f5c6cb;
}

.alert-info {
  background: #d1ecf1;
  border-color: #bee5eb;
}
