/**
 * ADVANS CORE RESPONSIVE ENGINE v2.0
 * Full responsive: Mobile → Tablet → Desktop 4:3/16:9 → Ultrawide → 4K
 * Premium mobile menu with animated hamburger
 */

/* ── GLOBAL RESETS ────────────────────────────────── */
html {
  scroll-behavior: smooth;
}

*, *::before, *::after {
  box-sizing: border-box;
}

img, video {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ── CUSTOM PREMIUM SCROLLBAR ──────────────────────── */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
  background: var(--color-primary, #0b1c2e);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--color-primary-light, #002D57);
}

/* ── FLUID TOKENS ─────────────────────────────────── */
:root {
  --container-max: 1200px;
  --side-padding: 40px;
  --fluid-h1: clamp(2.8rem, 8vw, 7.5rem);
  --fluid-h2: clamp(1.8rem, 5vw, 4rem);
  --fluid-h3: clamp(1.4rem, 3.5vw, 2.5rem);
  --fluid-p: clamp(1rem, 1.8vw, 1.4rem);
  --glass-bg: rgba(255, 255, 255, 0.7);
  --glass-blur: 20px;
  --glass-border: 1px solid rgba(255, 255, 255, 0.3);
  --premium-shadow: 0 20px 60px rgba(0, 45, 87, 0.1);
  --header-height: 120px;
  --section-padding: clamp(60px, 10vw, 140px);
}

/* ── ADVANS WORDMARK (inline SVG que escala con el texto) ── */
.advans-wordmark {
  height: 0.72em;
  width: auto;
  fill: currentColor;
  display: inline;
  vertical-align: baseline;
  position: relative;
  top: -0.04em;
}

/* ── GLOBAL LAYOUT & CONTAINERS ────────────────────── */
.container {
  max-width: var(--container-max) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: var(--side-padding) !important;
  padding-right: var(--side-padding) !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

section {
  padding: var(--section-padding) 0;
}

/* ── GLOBAL HEADER ────────────────────────────────── */
header {
  z-index: 99999 !important;
  position: fixed !important;
  width: 100% !important;
  top: 0 !important;
  left: 0 !important;
  background: white !important;
  transition: box-shadow 0.3s ease !important;
}

header.scrolled {
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.08) !important;
}

/* Header colors — unified for both sites */
.web-asesores header .nav-links a,
.web-asesores header .logo,
.web-brokers header .nav-links a,
.web-brokers header .logo {
  color: var(--color-primary, #0b1c2e) !important;
}

.web-asesores header .nav-links a.active,
.web-brokers header .nav-links a.active {
  color: var(--color-accent, #e0e67e) !important;
}

.web-asesores header .nav-links a:hover,
.web-brokers header .nav-links a:hover {
  color: var(--color-accent, #e0e67e) !important;
}

/* Fix for content being hidden under header */
.page-content-wrapper {
  position: relative;
  z-index: 10;
  padding-top: var(--header-height);
}

/* Home Hero Overlap */
.hero, .slider-container {
  margin-top: calc(var(--header-height) * -1);
}

/* ── PREMIUM REVEAL ANIMATION ─────────────────────── */
@keyframes premiumUp {
  from { opacity: 0; transform: translateY(40px); filter: blur(10px); }
  to   { opacity: 1; transform: translateY(0);    filter: blur(0); }
}

.premium-reveal {
  animation: premiumUp 1.2s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

/* ── MICRO-INTERACTIONS ───────────────────────────── */
[data-lucide] {
  transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), color 0.3s ease;
}

a:hover [data-lucide],
.btn-cta:hover [data-lucide],
.pilar-card:hover [data-lucide],
.faq-question:hover [data-lucide] {
  transform: scale(1.2) rotate(5deg);
  color: var(--color-accent-warm, #ffb3a7);
}

/* ── PARALLAX ENGINE ──────────────────────────────── */
.parallax-container {
  overflow: hidden;
  position: relative;
}

.parallax-img {
  will-change: transform;
  transition: transform 0.1s ease-out;
}

/* ── PAGE HEADER PREMIUM ──────────────────────────── */
.page-header-premium {
  position: relative;
  padding: clamp(80px, 10vw, 120px) 0 clamp(40px, 6vw, 60px);
  background: var(--color-primary, #0b1c2e);
  color: white;
  overflow: hidden;
  text-align: center;
}

.page-header-premium h1 {
  font-size: var(--fluid-h2);
  z-index: 2;
  position: relative;
  margin: 0;
}

/* ── GLASS BOX ────────────────────────────────────── */
.glass-box {
  background: var(--glass-bg) !important;
  backdrop-filter: blur(var(--glass-blur)) !important;
  -webkit-backdrop-filter: blur(var(--glass-blur)) !important;
  border: var(--glass-border) !important;
  border-radius: 24px !important;
  padding: clamp(30px, 5vw, 60px) !important;
  box-shadow: var(--premium-shadow) !important;
}

.glass-box h2 {
  font-size: var(--fluid-h2) !important;
  line-height: 1.1 !important;
  margin-bottom: 20px !important;
  color: var(--color-primary-light, #002D57) !important;
}

.glass-box p {
  font-size: var(--fluid-p) !important;
  opacity: 0.8 !important;
  color: #333 !important;
  line-height: 1.5 !important;
}

/* ══════════════════════════════════════════════════════
   MOBILE MENU — PREMIUM HAMBURGER + FULLSCREEN PANEL
   ══════════════════════════════════════════════════════ */

/* Logo SVG */
.logo {
  display: flex;
  align-items: center;
}

.logo svg {
  height: 28px;
  width: auto;
  fill: var(--color-primary, #0b1c2e);
}

/* Nav Toggle Button — favicon icon on mobile, hidden on desktop */
.nav-toggle-btn {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  z-index: 100001;
  position: relative;
  width: 40px;
  height: 40px;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.nav-toggle-btn img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Icono hamburguesa (estado cerrado, por defecto) */
.nav-toggle-btn .nav-burger-icon {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
  stroke: var(--color-primary, #0b1c2e);
  stroke-width: 2.5;
  transition: opacity 0.2s ease;
}

/* Icono X (estado abierto) */
.nav-toggle-btn .nav-close-icon {
  display: none;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 22px;
  height: 22px;
  stroke: var(--color-primary, #0b1c2e);
  stroke-width: 2.5;
}

/* Active state: oculta hamburguesa (e img legacy), muestra X */
.nav-toggle-btn.active img,
.nav-toggle-btn.active .nav-burger-icon {
  display: none;
}

.nav-toggle-btn.active .nav-close-icon {
  display: block;
}

/* Mobile Menu Overlay */
.mobile-menu-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100vh;
  background: rgba(0, 0, 0, 0.4);
  z-index: 99998;
  opacity: 0;
  transition: opacity 0.35s ease;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.mobile-menu-overlay.visible {
  display: block;
  opacity: 1;
}

/* Body scroll lock when menu is open */
body.menu-open {
  overflow: hidden !important;
  position: fixed;
  width: 100%;
  height: 100%;
}


/* ══════════════════════════════════════════════════════
   BREAKPOINT: DESKTOP LARGE (16:9 1440px+)
   ══════════════════════════════════════════════════════ */
@media (min-width: 1441px) {
  :root {
    --container-max: 1400px;
    --side-padding: 60px;
  }
}

/* ══════════════════════════════════════════════════════
   BREAKPOINT: ULTRAWIDE (1921px+)
   ══════════════════════════════════════════════════════ */
@media (min-width: 1921px) {
  :root {
    --container-max: 1800px;
    --side-padding: 80px;
  }
  html { font-size: 18px; }

  .pilares-grid {
    grid-template-columns: repeat(var(--cols, 3), 1fr);
    gap: 60px;
  }

  .card-grid {
    gap: 40px;
  }

  .slider-container {
    height: 700px;
  }
}

/* ══════════════════════════════════════════════════════
   BREAKPOINT: 2K (2560px+)
   ══════════════════════════════════════════════════════ */
@media (min-width: 2560px) {
  :root {
    --container-max: 2400px;
    --side-padding: 100px;
  }
  html { font-size: 20px; }

  .pilares-grid { gap: 80px; }
  .card { height: 600px; }
  .pilar-card { padding: 60px; border-radius: 32px; }
  .pilar-icon { width: 90px; height: 90px; border-radius: 24px; }
}

/* ══════════════════════════════════════════════════════
   BREAKPOINT: 4K (3840px+)
   ══════════════════════════════════════════════════════ */
@media (min-width: 3840px) {
  :root {
    --container-max: 3200px;
    --side-padding: 120px;
  }
  html { font-size: 24px; }

  .pilares-grid { gap: 100px; }
  .card { height: 800px; }
  .pilar-card { padding: 80px; border-radius: 40px; }
  .pilar-icon { width: 120px; height: 120px; border-radius: 32px; }
  .pilar-icon svg, .pilar-icon i { width: 56px; height: 56px; }
  .slider-container { height: 900px; }
  .scroll-banner { height: 500px; }
  .footer-social .social-icon { width: 60px; height: 60px; }
}


/* ══════════════════════════════════════════════════════
   BREAKPOINT: DESKTOP 4:3 / SMALL LAPTOP (1024–1280px)
   ══════════════════════════════════════════════════════ */
@media (max-width: 1280px) {
  :root {
    --side-padding: 30px;
  }

  .entorno-grid {
    gap: 40px !important;
  }

  .pilares-grid {
    gap: 25px;
  }
}

/* Logo and lang inside mobile nav panel — hidden on desktop */
.nav-mobile-logo-panel { display: none; }
.nav-mobile-lang-panel { display: none; }

/* ══════════════════════════════════════════════════════
   BREAKPOINT: TABLET (≤1024px) — Mobile menu activates
   ══════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  :root {
    --container-max: 100%;
    --side-padding: 24px;
    --header-height: 80px;
  }

  /* Show hamburger */
  .nav-toggle-btn {
    display: flex !important;
    align-items: center;
    justify-content: center;
  }

  /* Hide desktop header actions on Asesores (Brokers shows compact icon-only buttons en móvil) */
  .web-asesores .header-actions {
    display: none !important;
  }

  /* Hide desktop bottom nav bar — but keep in flow so fixed child .nav-links can render */
  .header-bottom {
    height: 0 !important;
    overflow: visible !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
  }

  /* Header simplifies to single row */
  .header-top {
    padding: 15px 0 !important;
  }

  /* ── Mobile Nav Panel ── */
  .nav-links {
    display: none !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 400px !important;
    height: 100vh !important;
    height: 100dvh !important;
    background: white !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 0 !important;
    z-index: 100000 !important;
    padding: 100px 40px 60px !important;
    box-shadow: -10px 0 40px rgba(0, 0, 0, 0.1) !important;
    transform: translateX(100%) !important;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
    overflow-y: auto !important;
  }

  .nav-links.open {
    display: flex !important;
    transform: translateX(0) !important;
  }

  .nav-mobile-logo-panel {
    display: block !important;
    width: 100% !important;
    padding-bottom: 24px !important;
    border-bottom: 1px solid rgba(0,45,87,0.12) !important;
    margin-bottom: 8px !important;
    text-align: center !important;
    flex-shrink: 0 !important;
  }
  .nav-mobile-logo-panel svg {
    height: 28px !important;
    width: auto !important;
    fill: #002D57 !important;
    color: #002D57 !important;
    display: inline-block !important;
  }
  .nav-mobile-logo-panel .logo-img {
    height: 44px !important;
    width: auto !important;
    display: inline-block !important;
  }

  /* Lang selector at the bottom of the mobile panel — shown inline (no dropdown) */
  .nav-mobile-lang-panel {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    margin-top: auto !important;
    padding-top: 20px !important;
    gap: 10px !important;
    border-top: 1px solid rgba(0,45,87,0.12) !important;
    flex-shrink: 0 !important;
  }
  .nav-mobile-lang-panel .lang-selector {
    display: block !important;
    width: 100% !important;
    position: static !important;
  }
  /* Hide the dropdown toggle button — show list directly */
  .nav-mobile-lang-panel .lang-sel__btn {
    display: none !important;
  }
  /* Pill grid — always visible, no dropdown */
  .nav-mobile-lang-panel .lang-sel__list {
    display: flex !important;
    position: static !important;
    box-shadow: none !important;
    background: transparent !important;
    border-radius: 0 !important;
    padding: 0 !important;
    min-width: 0 !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    animation: none !important;
  }
  .nav-mobile-lang-panel .lang-sel__item {
    flex-direction: row !important;
    align-items: center !important;
    gap: 5px !important;
    padding: 6px 11px !important;
    border-radius: 999px !important;
    background: transparent !important;
    border: 1.5px solid rgba(0,45,87,0.18) !important;
    color: #002D57 !important;
    font-size: 0.78rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em !important;
    transition: background 0.15s, border-color 0.15s !important;
  }
  .nav-mobile-lang-panel .lang-sel__item:hover {
    background: rgba(0,45,87,0.06) !important;
    border-color: rgba(0,45,87,0.35) !important;
  }
  .nav-mobile-lang-panel .lang-sel__item.is-active {
    background: #002D57 !important;
    border-color: #002D57 !important;
    color: #fff !important;
  }
  /* Show only flag + code — names are too wide for 7 langs */
  .nav-mobile-lang-panel .lang-sel__item-name {
    display: none !important;
  }
  .nav-mobile-lang-panel .lang-sel__item-code {
    font-size: 0.75rem !important;
    font-weight: 700 !important;
  }
  .nav-mobile-lang-panel .lang-sel__flag {
    font-size: 0.95rem !important;
    width: 1.1em !important;
    height: 1.1em !important;
  }

  .nav-links a {
    font-size: 1.3rem !important;
    padding: 18px 0 !important;
    width: 100% !important;
    text-align: center !important;
    border-bottom: 1px solid rgba(0, 0, 0, 0.05) !important;
    color: var(--color-primary, #0b1c2e) !important;
    transition: color 0.3s ease, background 0.3s ease !important;
    display: block !important;
  }

  .nav-links a:last-child {
    border-bottom: none !important;
  }

  .nav-links a:hover,
  .nav-links a.active {
    color: var(--color-accent, #e0e67e) !important;
    background: rgba(224, 230, 126, 0.08) !important;
  }

  /* Grids go 2 columns on tablet */
  .pilares-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  .card-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 20px !important;
  }

  .entorno-grid {
    grid-template-columns: 1fr !important;
    gap: 40px !important;
  }

  /* Footer grid to 2 cols on tablet */
  .footer-main {
    grid-template-columns: 1fr 1fr !important;
    gap: 40px !important;
  }

  /* Slider adjustments */
  .slider-container {
    height: 500px !important;
  }

  .web-brokers .slider-container {
    height: 600px !important;
    padding-top: 100px !important;
  }

  /* Hero */
  .hero {
    min-height: 80vh;
  }

  .hero h1 {
    font-size: clamp(2.5rem, 7vw, 4rem) !important;
  }

  /* Section title */
  .section-title {
    font-size: clamp(1.8rem, 4vw, 3rem) !important;
  }

  /* Scroll banner */
  .scroll-banner {
    height: 220px;
  }
}

/* ══════════════════════════════════════════════════════
   BREAKPOINT: MOBILE LARGE (≤768px)
   ══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  :root {
    --side-padding: 20px;
    --header-height: 70px;
  }

  /* All grids go single column */
  .card-grid,
  .footer-main,
  .pilares-grid,
  .entorno-grid,
  .contact-layout,
  .footer-top-row {
    grid-template-columns: 1fr !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 24px !important;
  }

  /* Nav panel goes full width */
  .nav-links {
    max-width: 100% !important;
  }

  /* Footer: disable fixed reveal on mobile */
  .page-content-wrapper {
    margin-bottom: 0 !important;
  }

  footer {
    position: static !important;
    height: auto !important;
    padding: 50px 20px 30px !important;
  }

  /* Web-asesores footer on mobile: keep themed colors */
  .web-asesores footer {
    background: var(--color-primary, #0b1c2e) !important;
    color: white !important;
  }
  .web-asesores footer .footer-logo .logo-img {
    filter: brightness(0) invert(1) !important;
    margin: 0 auto !important;
  }
  .web-asesores footer .footer-logo {
    text-align: center !important;
  }
  .web-asesores footer .footer-bottom i[data-lucide] {
    color: var(--color-accent, #e0e67e) !important;
  }
  .web-asesores footer .social-icon {
    color: rgba(255,255,255,0.85) !important;
    border-color: rgba(255,255,255,0.3) !important;
    background: rgba(255,255,255,0.06) !important;
  }
  .web-asesores footer .social-icon:hover {
    background: rgba(255,255,255,0.2) !important;
    color: #fff !important;
    border-color: rgba(255,255,255,0.5) !important;
  }

  /* Web-brokers footer on mobile */
  .web-brokers footer {
    background: #f8f9fa !important;
    color: var(--color-primary, #0b1c2e) !important;
  }

  .footer-main {
    text-align: center !important;
    align-items: center !important;
  }

  .footer-social {
    justify-content: center !important;
  }

  .footer-brand-social {
    text-align: center !important;
  }

  /* Slider */
  .slider-container {
    height: 450px !important;
  }

  .web-brokers .slider-container {
    height: 520px !important;
    padding-top: 90px !important;
  }

  /* Glass box */
  .glass-box {
    padding: 24px !important;
    border-radius: 16px !important;
  }

  .glass-box h2 {
    font-size: 1.6rem !important;
  }

  /* Hero */
  .hero {
    min-height: 70vh;
  }

  .hero h1 {
    font-size: 2.5rem !important;
  }

  .hero-content {
    max-width: 100% !important;
  }

  /* Cards */
  .card {
    height: 350px !important;
  }

  /* Pilar cards */
  .pilar-card {
    padding: 30px !important;
  }

  /* Scroll banner */
  .scroll-banner {
    height: 180px;
  }

  #scroll-banner-text {
    font-size: clamp(1.2rem, 4vw, 2rem) !important;
  }

  /* CTA sections */
  .cta-brokers {
    padding: 80px 0 !important;
  }

  /* Inline grids in sections (quienes somos, tranquilidad) */
  [style*="grid-template-columns: 1fr 1fr"],
  [style*="grid-template-columns: 1fr 1.2fr"] {
    grid-template-columns: 1fr !important;
    gap: 30px !important;
  }

  /* Footer legal row */
  .footer-legal-row {
    flex-direction: column !important;
    gap: 10px !important;
    text-align: center !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    text-align: center !important;
    gap: 10px !important;
  }

  /* Page header */
  .page-header-premium {
    padding: 80px 0 40px !important;
  }

  .page-header-premium h1 {
    font-size: 2rem !important;
  }
}

/* ══════════════════════════════════════════════════════
   BREAKPOINT: MOBILE SMALL (≤480px)
   ══════════════════════════════════════════════════════ */
@media (max-width: 480px) {
  :root {
    --side-padding: 16px;
    --header-height: 64px;
  }

  .logo {
    font-size: 1.8rem !important;
  }

  .header-top {
    padding: 12px 0 !important;
  }

  /* Hero */
  .hero {
    min-height: 60vh;
  }

  .hero h1 {
    font-size: 2rem !important;
    line-height: 1 !important;
  }

  .hero-tagline {
    font-size: 0.7rem !important;
    letter-spacing: 0.15em !important;
  }

  /* CTA buttons stack on very small */
  .hero-content [style*="display: flex"][style*="gap"] {
    flex-direction: column !important;
    gap: 12px !important;
  }

  .btn-cta, .btn-area {
    width: auto !important;
    max-width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
  }

  /* Slider */
  .slider-container {
    height: 400px !important;
  }

  .web-brokers .slider-container {
    height: 480px !important;
    padding-top: 80px !important;
  }

  .glass-box {
    padding: 20px !important;
    border-radius: 14px !important;
  }

  .glass-box h2 {
    font-size: 1.4rem !important;
    margin-bottom: 12px !important;
  }

  .glass-box p {
    font-size: 0.9rem !important;
  }

  /* Cards */
  .card {
    height: 280px !important;
  }

  .card-overlay {
    padding: 20px !important;
  }

  /* Pilar cards */
  .pilar-card {
    padding: 24px !important;
    border-radius: 16px !important;
  }

  .pilar-card h4 {
    font-size: 1.3rem !important;
  }

  .pilar-icon {
    width: 56px !important;
    height: 56px !important;
    border-radius: 14px !important;
  }

  /* Scroll banner */
  .scroll-banner {
    height: 150px;
  }

  /* FAQ */
  .faq-question {
    font-size: 1rem !important;
    padding: 8px 0 !important;
  }

  .faq-item {
    padding: 20px 0 !important;
  }

  /* Section titles */
  .section-title {
    font-size: 1.6rem !important;
    margin-bottom: 30px !important;
  }

  /* Footer */
  footer {
    padding: 40px 16px 24px !important;
  }

  .footer-legal-row {
    font-size: 0.75rem !important;
  }

  /* Social icons smaller */
  .social-icon {
    width: 36px !important;
    height: 36px !important;
  }
}

/* ══════════════════════════════════════════════════════
   BREAKPOINT: TINY (≤360px — older/smaller phones)
   ══════════════════════════════════════════════════════ */
@media (max-width: 360px) {
  :root {
    --side-padding: 12px;
  }

  .logo {
    font-size: 1.5rem !important;
  }

  .hero h1 {
    font-size: 1.8rem !important;
  }

  .slider-container {
    height: 350px !important;
  }

  .glass-box {
    padding: 16px !important;
  }

  .glass-box h2 {
    font-size: 1.2rem !important;
  }

  .card {
    height: 240px !important;
  }
}

/* ══════════════════════════════════════════════════════
   LANDSCAPE MOBILE (short + wide)
   ══════════════════════════════════════════════════════ */
@media (max-height: 500px) and (orientation: landscape) {
  .hero {
    min-height: 100vh;
  }

  .nav-links {
    padding-top: 70px !important;
    gap: 0 !important;
  }

  .nav-links a {
    font-size: 1rem !important;
    padding: 12px 0 !important;
  }

  .slider-container {
    height: 100vh !important;
  }
}

/* ══════════════════════════════════════════════════════
   HIGH-DPI / RETINA ADJUSTMENTS
   ══════════════════════════════════════════════════════ */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  ::-webkit-scrollbar {
    width: 6px;
  }

  .nav-toggle-btn span {
    height: 2px;
  }
}

/* ══════════════════════════════════════════════════════
   PRINT STYLES
   ══════════════════════════════════════════════════════ */
@media print {
  header, footer, .nav-toggle-btn, .mobile-menu-overlay,
  .slider-dots, .scroll-banner, .btn-cta, .btn-area {
    display: none !important;
  }

  .page-content-wrapper {
    padding-top: 0 !important;
    margin-bottom: 0 !important;
    box-shadow: none !important;
  }

  body {
    font-size: 12pt;
    color: #000;
  }
}

/* ══════════════════════════════════════════════════════
   ACCESSIBILITY: REDUCED MOTION
   ══════════════════════════════════════════════════════ */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  html {
    scroll-behavior: auto;
  }

  .parallax-img {
    transform: none !important;
  }

  /* Logo ticker is content, not decoration — keep it running */
  .cms-logos-track {
    animation-duration: 40s !important;
    animation-iteration-count: infinite !important;
  }
  .cms-logos-track--rtl {
    animation-duration: 44s !important;
  }
}
