/* ===== Responsive polish ===== */
@media (max-width: 900px) {
  .header-cta { display: none; }
}

@media (max-width: 768px) {
  .hero { text-align: left; }
  .hero-visual { margin-top: var(--spacing-lg); }
  .hero-stat-card { left: 0; }
  .section-header { text-align: center; }
  .footer-bottom { flex-direction: column; align-items: center; text-align: center; }
}

@media (max-width: 480px) {
  .hero-buttons .btn { width: 100%; }
  .stats-row { grid-template-columns: 1fr 1fr; }
  .team-member { flex-direction: column; text-align: center; align-items: center; }
}

@media (min-width: 1280px) {
  body { font-size: 1.02rem; }
}

/* ===== Print ===== */
@media print {
  header, footer, .demo-banner, .hero-buttons, .menu-toggle { display: none; }
  body { background: #fff; }
  .card, .service-card, .review-card { page-break-inside: avoid; }
}

/* ===== Dark mode — coherente con la marca (teal profundo + oro) ===== */
@media (prefers-color-scheme: dark) {
  :root {
    --bg: #211416;
    --bg-light: #2A1B1D;
    --surface: #2C1D1F;
    --text: #F5E9E6;
    --text-light: #C7B0AC;
    --text-lighter: #9A8481;
    --border-light: rgba(255, 255, 255, 0.10);
    --border-strong: rgba(255, 255, 255, 0.18);
    --primary-050: rgba(214, 120, 110, 0.12);
    --glass: rgba(33, 20, 22, 0.80);
    --glass-border: rgba(255, 255, 255, 0.08);
  }

  .btn-secondary { color: var(--text); }
  .btn-secondary:hover { background: var(--surface); color: var(--accent); border-color: var(--accent); }
  .service-icon, .location-detail-icon { background: rgba(214, 120, 110, 0.14); color: #e8a494; }
  .eyebrow { background: rgba(199, 154, 63, 0.14); }
  .star-empty { color: #5b4442; }
  .review-source, .section-header-label { color: var(--accent); }
  .faq-toggle { background: rgba(214, 120, 110, 0.14); color: #e8a494; }
  .trust-strip { background: var(--surface); }
}
