:root {
  --readable-gold: #f4dea2;
  --readable-gold-strong: rgba(248, 221, 123, 0.96);
  --readable-gold-soft: rgba(248, 221, 123, 0.9);
  --readable-text: rgba(255, 255, 255, 0.88);
  --readable-text-soft: rgba(255, 255, 255, 0.8);
  --readable-text-muted: rgba(255, 255, 255, 0.74);
}

body {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Shared navbar readability */
#mainNav .nav-links > li > a,
#mainNav .nav-links > li > button.nav-more-btn {
  font-size: 0.75rem;
  letter-spacing: 0.17em;
  color: var(--readable-gold-strong);
  font-weight: 600;
}

#mainNav .nav-links > li > a.nav-active,
#mainNav .nav-links > li > button.nav-more-btn:hover,
#mainNav .nav-links > li > a:hover,
#mainNav a.nav-highlight {
  color: #f8dd7b !important;
}

#mainNav .nav-dropdown a {
  font-size: 0.72rem !important;
  letter-spacing: 0.16em !important;
  color: var(--readable-gold-soft) !important;
  font-weight: 500;
}

#mainNav .nav-cta {
  font-size: 0.72rem !important;
  letter-spacing: 0.18em;
  padding: 0.55rem 1.5rem;
  color: var(--readable-gold-strong) !important;
}

#mainNav .lang-btn {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  padding: 0.34rem 0.72rem;
  color: rgba(248, 221, 123, 0.86);
}

@media (max-width: 1280px) {
  #mainNav {
    padding: 1rem 2rem;
  }

  #mainNav.scrolled {
    padding: 0.8rem 2rem;
  }

  #mainNav .nav-links {
    gap: 1.2rem;
  }
}

@media (max-width: 860px) {
  #mainNav .nav-links > li > a,
  #mainNav .nav-links > li > button.nav-more-btn {
    font-size: 0.82rem;
    letter-spacing: 0.22em;
  }

  #mainNav .nav-dropdown a,
  #mainNav .nav-cta {
    font-size: 0.76rem !important;
  }
}

/* Laptop-focused readability */
@media (min-width: 1024px) and (max-width: 1600px) {
  html {
    font-size: 17px;
  }

  .hero-eyebrow,
  .eyebrow,
  .gh-ey,
  .vn-eyebrow,
  .ba-eyebrow,
  .tc-eyebrow,
  .ev-eyebrow,
  .cta-eyebrow,
  .featured-label,
  .hero-pre,
  .ev-section-label,
  .vg-intro-label,
  .vg-section-label,
  .ba-intro-label,
  .ba-section-label,
  .tc-intro-label,
  .tc-section-label,
  .post-cat,
  .ccon-l,
  .footer-title,
  .yt-eyebrow,
  .appt-step-eyebrow,
  .appt-label,
  .sb-label {
    color: var(--readable-gold) !important;
    font-size: clamp(0.82rem, 0.76rem + 0.18vw, 0.94rem);
    font-weight: 500;
  }

  .hero-sub,
  .gh-su,
  .gh-intro p,
  .section-sub.light,
  .section-sub.dark,
  .blog-sub,
  .blog-card-excerpt,
  .page-sub,
  .prensa-card-medio,
  .prensa-card-desc,
  .post-content,
  .post-meta-date,
  .post-cta-sub,
  .mini-footer-copy,
  .vn-hero-sub,
  .vn-section-sub,
  .vn-option-desc,
  .vn-galeria-sub,
  .vn-paso-desc,
  .vn-cta-sub,
  .vg-hero-sub,
  .vg-coleccion-sub,
  .vg-footer-copy,
  .tc-hero-sub,
  .tc-step-desc,
  .tc-coleccion-sub,
  .tc-footer-copy,
  .ba-hero-sub,
  .ba-footer-copy,
  .ev-hero-sub,
  .ev-card-desc,
  .ev-modal-desc,
  .ev-cta-sub,
  .ev-footer-copy,
  .fc-info,
  .tc-info,
  .story-text p,
  .ocard-desc,
  .tcard-desc,
  .dcard-ph p,
  .tc-msg,
  .faq-q,
  .faq-a-inner,
  .footer-desc,
  .footer-links a,
  .footer-bottom,
  .about-sig-role,
  .p-desc,
  .team-role,
  .footer-tagline,
  .footer-copy,
  .fav-label,
  .sb-num-label,
  .gm-meta,
  .wa-picker-num {
    color: var(--readable-text) !important;
  }

  .section-sub.light,
  .section-sub.dark,
  .hero-sub,
  .gh-su,
  .gh-intro p,
  .blog-sub,
  .blog-card-excerpt,
  .page-sub,
  .prensa-card-desc,
  .post-content,
  .vn-hero-sub,
  .vg-hero-sub,
  .tc-hero-sub,
  .ba-hero-sub,
  .ev-hero-sub,
  .ev-card-desc,
  .ev-modal-desc,
  .ev-cta-sub,
  .story-text p,
  .ocard-desc,
  .tcard-desc,
  .tc-msg,
  .faq-a-inner {
    font-size: clamp(0.96rem, 0.88rem + 0.24vw, 1.05rem);
    line-height: 1.85;
  }

  .section-sub.dark {
    color: rgba(0, 0, 0, 0.84) !important;
  }

  .stat-label,
  .svc-sub,
  .blog-card-meta,
  .blog-card-link,
  .prensa-card-meta,
  .prensa-card-link,
  .mini-footer-link,
  .post-back a,
  .post-meta-tag,
  .ev-featured-date,
  .ev-card-tag,
  .ev-card-date,
  .ev-card-badge,
  .ev-modal-date,
  .ev-modal-video-label,
  .ev-modal-video-link span:last-child,
  .ev-footer-link,
  .ev-scroll-hint span,
  .kpi-l,
  .hs-label,
  .count-label,
  .jdn-link,
  .tick-item,
  .dcard-sil,
  .sig-role,
  .vg-modal-meta-label,
  .vg-footer-link,
  .ba-footer-link,
  .tc-footer-link,
  .vn-stat-label,
  .vn-col-tag,
  .test-photo-tag,
  .event-tag,
  .event-date,
  .idx-ev-modal-link,
  .sb-num-label,
  .gm-meta,
  .gm-perpage label,
  .wa-picker-sub,
  .wa-picker-cancel,
  .form-label,
  .form-hint,
  .form-error,
  .appt-field-hint,
  .appt-field-error,
  .appt-branch-hours,
  .appt-optional,
  .appt-sum-val {
    font-size: 0.88rem;
  }

  .blog-card-meta,
  .blog-card-link,
  .prensa-card-meta,
  .prensa-card-link,
  .mini-footer-link,
  .post-back a,
  .post-meta-tag,
  .ev-featured-date,
  .ev-card-tag,
  .ev-card-date,
  .ev-card-badge,
  .ev-modal-date,
  .ev-modal-video-label,
  .ev-modal-video-link span:last-child,
  .ev-footer-link,
  .ev-scroll-hint span,
  .jdn-link,
  .tick-item,
  .dcard-sil,
  .vg-footer-link,
  .ba-footer-link,
  .tc-footer-link,
  .vn-col-tag,
  .event-tag,
  .event-date,
  .idx-ev-modal-link,
  .gm-perpage label,
  .wa-picker-sub {
    color: var(--readable-gold-soft) !important;
  }

  .btn-gold,
  .btn-ghost,
  .btn-outline,
  .btn-main,
  .filter-btn,
  .ev-filter {
    font-size: 0.92rem !important;
    letter-spacing: 0.18em !important;
  }

  .hero-sub strong {
    color: var(--readable-gold) !important;
    font-weight: 400 !important;
  }
}
