:root {
  --black: #242321;
  --white: #242321;
  --yellow: #705018;
  --gray: #505050;
  --light: #e1ece6;
  --dark2: #f5f9f6;
}
body { background: #cbd3cf; color: #242321; }
nav { background: rgba(226,232,228,.97); border-color: #b5c2ba; }
.nav-logo span { color: #705018; }
.nav-links a { color: #505050; }
.nav-links a:hover, .nav-links a.active { color: #705018; }
.nav-links .nav-btn, .btn-yellow, .form-submit { background: #dcece3; color: #242321 !important; border-radius: 6px; }
.btn { border-radius: 6px; }
.btn-ghost { border-color: #b8cdc2; }
.nav-toggle { background: transparent; border: 0; }
.nav-toggle span { background: #426f5e; }
.hero { min-height: 88vh; }
.hero-inner { width: 100%; margin: 0 auto; }
.hero h1 em { color: #705018; }
.hero-bolt { opacity: .65; animation: none; }
.strip { background: #f3f8f5; }
.strip-item:nth-child(2) { background: #f0f5f9; }
.strip-item:nth-child(3) { background: #faf7ee; }
.strip-item:hover { background: #e8f1ec; }
.strip-title { color: #242321; }
.service-card, .review-card, .value-card, .contact-item, .hours-box { border-radius: 8px; }
.service-card .card-num { color: #dbe9e1; }
.service-grid, .reviews-grid, .values-grid { gap: 16px; background: transparent; }
.card-icon, .contact-icon, .author-avatar, .about-badge { background: #dcece3; }
.cta-banner { background: #e7f0f6; border-radius: 10px; }
.cta-banner .btn { background: #426f5e; color: #fff; }
.gallery-item { background: #edf5f1; }
.gallery-overlay span, .gallery-overlay p, .lightbox, .lb-close { color: #fff; }
.lightbox { --white: #fff; }
footer { background: #dde5df; padding-bottom: 6rem; }
.whatsapp-float { background: #426f5e; box-shadow: 0 5px 20px rgba(40,72,61,.16); }
.whatsapp-float:hover { box-shadow: 0 6px 24px rgba(40,72,61,.22); }
.help-popup[hidden] { display: none; }
.help-popup {
  position: fixed; right: 24px; bottom: 100px; z-index: 300;
  width: min(350px, calc(100vw - 32px)); padding: 28px;
  color: #242321; background: #fff; border: 1px solid #dce9e1;
  border-radius: 18px; box-shadow: 0 12px 48px rgba(40,72,61,.15);
  animation: help-appear .3s ease both;
}
.help-popup::before { content: ''; display: block; width: 38px; height: 4px; border-radius: 4px; background: #accfbc; margin-bottom: 20px; }
.help-popup h2 { font-family: 'DM Sans', sans-serif; font-size: 1.3rem; font-weight: 500; padding-right: 12px; margin-bottom: 10px; }
.help-popup p { font-size: .94rem; line-height: 1.65; color: #505050; margin-bottom: 20px; }
.help-close { position: absolute; top: 10px; right: 10px; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #f1f6f3; color: #705018; font-size: 24px; cursor: pointer; }
.help-chat { display: flex; align-items: center; justify-content: center; min-height: 48px; border-radius: 7px; background: #426f5e; color: #fff; text-decoration: none; font-weight: 500; font-size: .92rem; }
.help-chat:hover { background: #315744; }
a:focus-visible, button:focus-visible { outline: 3px solid #705018; outline-offset: 4px; }
@keyframes help-appear { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 800px) {
  .hero { min-height: auto; padding-bottom: 4rem; }
  .hero h1 { font-size: clamp(3.7rem, 12vw, 6rem); }
  .nav-links a { display: block; }
  .help-popup { right: 16px; bottom: 84px; padding: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .reveal { opacity: 1; transform: none; }
}
.services-grid, .reviews-grid, .values-grid { gap: 16px; background: transparent; }
.btn-submit, .filter-btn.active, .gallery-zoom { background: #dcece3; color: #242321; }
.gallery-overlay .gallery-label { color: #fff; }

/* Dark typography and legible antique-gold accents on the light palette. */
h1, h2, h3, .strip-title, .section-title, .card-title, .nav-logo { color: #242321; font-weight: 700; }
.hero h1 { font-size: clamp(3.2rem, 7.5vw, 7.2rem); line-height: .98; }
.hero h1 em, .about-text h2 em { color: #705018; }
.hero-tag, .label, .tag, .strip-link, footer a { color: #705018; font-weight: 700; }
.nav-links a, .btn, .btn-submit, .help-chat, .contact-item-value, .author-name { font-weight: 700; }
.nav-links .nav-btn, .btn-yellow, .btn-submit, .filter-btn.active { background: #f2e5c6; color: #242321 !important; }
.btn-ghost { color: #242321; border-color: #bda776; }
.hero-bolt svg path { fill: #c3a05a; }
.help-popup h2 { font-weight: 700; }
.help-popup::before { background: #c3a05a; }
@media (max-width: 800px) {
  .hero h1 { font-size: clamp(2.8rem, 10vw, 5.5rem); }
}

/* Keep the expanded navigation usable on tablets and small laptops. */
@media (min-width: 801px) and (max-width: 1080px) {
  nav { padding: 1rem 1.5rem; }
  .nav-links a { padding: .4rem .45rem; font-size: .72rem; letter-spacing: .04em; }
  .nav-links .nav-btn { padding: .5rem .7rem; margin-left: .2rem; }
}
#reformas-integrales { scroll-margin-top: 6rem; }
