  /* ════════════════════════════════════════════════════════════
     TOKENS DE DISEÑO — cambia aquí colores y tipografía global
  ════════════════════════════════════════════════════════════ */
  :root{
    --navy:        #0F2D5C;
    --navy-mid:    #163a73;
    --navy-dark:   #091d3e;
    --amber:       #F59E0B;
    --amber-dark:  #D97706;
    --amber-light: #FEF3C7;
    --white:       #ffffff;
    --gray-50:     #F8FAFC;
    --gray-100:    #F1F5F9;
    --gray-200:    #E2E8F0;
    --gray-400:    #94A3B8;
    --gray-600:    #475569;
    --gray-800:    #1E293B;
    --green:       #22c55e;
    --font:        'Inter',sans-serif;
    --r-sm:        8px;
    --r-md:        14px;
    --r-lg:        20px;
    --r-xl:        28px;
    --sh:          0 2px 16px rgba(15,45,92,.07);
    --sh-md:       0 6px 32px rgba(15,45,92,.11);
    --sh-lg:       0 12px 48px rgba(15,45,92,.16);
    --tr:          .22s cubic-bezier(.4,0,.2,1);
  }

  /* ════════════════════════════════════════════════════════════
     RESET
  ════════════════════════════════════════════════════════════ */
  *,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;color-scheme:light}
  body{font-family:var(--font);color:var(--gray-800);background:var(--white);overflow-x:hidden;-webkit-overflow-scrolling:touch;color-scheme:light}
  img{max-width:100%;display:block}
  a{text-decoration:none;color:inherit}
  ul{list-style:none}
  button{cursor:pointer;font-family:var(--font);border:none;background:none}

  /* ════════════════════════════════════════════════════════════
     UTILIDADES GLOBALES
  ════════════════════════════════════════════════════════════ */
  .container{width:100%;max-width:1160px;margin-inline:auto;padding-inline:28px}
  .section{padding-block:96px;background:#ffffff;color:#1E293B}
  .section--alt  {background:var(--gray-50);background:#F8FAFC}
  .section--navy {background:var(--navy);color:var(--white)}
  .section--dark {background:var(--navy-dark)}

  .eyebrow{
    display:inline-flex;align-items:center;gap:8px;
    font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
    color:var(--amber);color:#F59E0B;margin-bottom:14px;
  }
  .eyebrow::before{content:'';width:20px;height:2px;background:var(--amber);border-radius:2px}

  .section-title{
    font-size:clamp(1.9rem,3.5vw,2.75rem);font-weight:900;line-height:1.1;
    color:var(--navy);color:#0F2D5C;margin-bottom:16px;letter-spacing:-.02em;
  }
  .section-title--white{color:var(--white)}
  .section-desc{font-size:1.0625rem;color:var(--gray-600);color:#475569;max-width:600px;line-height:1.75}
  .section-desc--white{color:rgba(255,255,255,.72)}
  .section-header{text-align:center;margin-bottom:64px}
  .section-header .section-desc{margin-inline:auto}

  /* ── Botones ─────────────────────────────────────────────── */
  .btn{
    display:inline-flex;align-items:center;gap:9px;
    padding:14px 28px;border-radius:var(--r-sm);
    font-weight:700;font-size:.9375rem;transition:var(--tr);
    white-space:nowrap;position:relative;overflow:hidden;
  }
  /* Ripple shimmer en todos los botones */
  .btn::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.18) 50%,transparent 100%);
    -webkit-transform:translateX(-100%);transform:translateX(-100%);
    -webkit-transition:-webkit-transform .45s ease;transition:transform .45s ease;
    pointer-events:none;
  }
  .btn:hover::after{-webkit-transform:translateX(100%);transform:translateX(100%)}

  .btn--primary{background:var(--amber);color:var(--navy);box-shadow:0 4px 18px rgba(245,158,11,.35)}
  .btn--primary:hover{background:var(--amber-dark);-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 7px 24px rgba(245,158,11,.45)}

  .btn--navy{background:var(--navy);color:var(--white);box-shadow:0 4px 18px rgba(15,45,92,.25)}
  .btn--navy:hover{background:var(--navy-mid);-webkit-transform:translateY(-2px);transform:translateY(-2px)}

  .btn--outline{background:transparent;border:2px solid rgba(255,255,255,.6);color:var(--white)}
  .btn--outline:hover{background:var(--white);color:var(--navy);border-color:var(--white)}

  .btn--outline-navy{background:transparent;border:2px solid var(--navy);color:var(--navy)}
  .btn--outline-navy:hover{background:var(--navy);color:var(--white)}

  .btn--wa{background:#25D366;color:var(--white);box-shadow:0 4px 18px rgba(37,211,102,.35)}
  .btn--wa:hover{background:#1ebe5d;-webkit-transform:translateY(-2px);transform:translateY(-2px);box-shadow:0 7px 24px rgba(37,211,102,.45)}

  .btn--ghost{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:var(--white)}
  .btn--ghost:hover{background:rgba(255,255,255,.2)}

  .btn--lg{padding:17px 36px;font-size:1rem}
  .btn--sm{padding:10px 18px;font-size:.875rem}

  /* ════════════════════════════════════════════════════════════
     TOP BAR (encima del header)
     Modifica: teléfono, WhatsApp
  ════════════════════════════════════════════════════════════ */
  .topbar{
    background:var(--navy-dark);
    padding-block:9px;
    font-size:.8rem;font-weight:500;
    color:rgba(255,255,255,.75);
  }
  .topbar__inner{
    display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  }
  .topbar__left{display:flex;align-items:center;gap:20px}
  .topbar__right{display:flex;align-items:center;gap:20px}
  .topbar__item{
    display:flex;align-items:center;gap:6px;
    transition:color var(--tr);
  }
  .topbar__item:hover{color:var(--amber)}
  .topbar__item svg{width:13px;height:13px;fill:var(--amber);flex-shrink:0}
  .topbar__sep{color:rgba(255,255,255,.2)}
  .topbar__badge{
    background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.3);
    color:var(--amber);padding:2px 10px;border-radius:100px;font-size:.72rem;font-weight:700;
  }

  /* ════════════════════════════════════════════════════════════
     HEADER FIJO
  ════════════════════════════════════════════════════════════ */
  .header{
    position:-webkit-sticky;position:sticky;top:0;z-index:900;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);
    border-bottom:1px solid var(--gray-200);
    transition:box-shadow var(--tr);
  }
  .header.scrolled{box-shadow:var(--sh-md)}
  .header__inner{
    display:flex;align-items:center;justify-content:space-between;height:70px;
  }

  /* Logo */
  .logo{display:flex;align-items:center;gap:0;font-weight:900;font-size:1.3rem;color:var(--navy);margin-right:16px}
  .logo__mark{
    width:40px;height:40px;background:var(--navy);border-radius:10px;
    display:flex;align-items:center;justify-content:center;
    box-shadow:0 3px 10px rgba(15,45,92,.3);
  }
  .logo__mark svg{width:22px;height:22px;fill:var(--amber)}
  .logo span{color:var(--amber)}

  /* Nav desktop */
  .nav{display:flex;align-items:center;gap:6px}
  .nav__list{display:flex;gap:2px}
  .nav__link{
    padding:8px 14px;border-radius:7px;font-size:.875rem;font-weight:500;
    color:var(--gray-600);transition:var(--tr);
  }
  .nav__link:hover,.nav__link.active{color:var(--navy);background:var(--gray-100);font-weight:700}

  .header__cta{
    display:flex;align-items:center;gap:10px;margin-left:10px;
  }
  .header__phone{
    font-size:.875rem;font-weight:700;color:var(--navy);
    display:flex;align-items:center;gap:6px;
    padding:9px 16px;border-radius:8px;border:1.5px solid var(--gray-200);
    transition:var(--tr);
  }
  .header__phone:hover{border-color:var(--navy);background:var(--navy);color:var(--white)}
  .header__phone svg{width:14px;height:14px;fill:currentColor}
  .header__wa-btn{
    background:var(--amber);color:var(--navy);font-weight:700;font-size:.875rem;
    padding:10px 18px;border-radius:8px;display:flex;align-items:center;gap:7px;
    transition:var(--tr);
  }
  .header__wa-btn:hover{background:var(--amber-dark);transform:translateY(-1px)}
  .header__wa-btn svg{width:16px;height:16px;fill:currentColor}

  /* Hamburger */
  .hamburger{display:none;flex-direction:column;gap:5px;padding:7px;border-radius:7px;transition:var(--tr)}
  .hamburger span{display:block;width:24px;height:2px;background:var(--navy);border-radius:2px;transition:var(--tr)}
  .hamburger.open span:nth-child(1){-webkit-transform:translateY(7px) rotate(45deg);transform:translateY(7px) rotate(45deg)}
  .hamburger.open span:nth-child(2){opacity:0}
  .hamburger.open span:nth-child(3){-webkit-transform:translateY(-7px) rotate(-45deg);transform:translateY(-7px) rotate(-45deg)}

  /* Mobile nav */
  .mobile-nav{
    display:none;position:fixed;top:0;left:0;right:0;bottom:0;
    height:100%;height:100dvh;
    background:var(--white);z-index:899;overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    padding:100px 28px 40px;
    -webkit-transform:translateX(100%);transform:translateX(100%);
    -webkit-transition:-webkit-transform .3s cubic-bezier(.4,0,.2,1);
    transition:transform .3s cubic-bezier(.4,0,.2,1);
  }
  .mobile-nav.open{-webkit-transform:translateX(0);transform:translateX(0)}
  .mobile-nav__list{display:flex;flex-direction:column;gap:4px;margin-bottom:28px}
  .mobile-nav__link{
    display:block;padding:14px 18px;border-radius:10px;font-size:1.1rem;
    font-weight:600;color:var(--gray-800);transition:var(--tr);
    border-bottom:1px solid var(--gray-100);
  }
  .mobile-nav__link:hover{background:var(--gray-50);color:var(--navy)}

  /* ════════════════════════════════════════════════════════════
     HERO PREMIUM
  ════════════════════════════════════════════════════════════ */
  .hero{
    position:relative;overflow:hidden;
    min-height:calc(100vh - 106px);
    min-height:calc(100dvh - 106px);
    display:flex;align-items:center;
  }
  @supports(height:100svh){
    .hero{min-height:calc(100svh - 106px)}
  }
  /* Fondo con gradiente + imagen — reemplaza la URL con tu foto real */
  .hero__bg{
    position:absolute;inset:0;
    background-image:
      linear-gradient(105deg, rgba(9,29,62,.97) 0%, rgba(9,29,62,.9) 38%, rgba(9,29,62,.55) 65%, rgba(9,29,62,.2) 100%),
      url('https://images.unsplash.com/photo-1581578731548-c64695cc6952?w=1800&q=85&auto=format');
    background-size:cover;-webkit-background-size:cover;background-position:center;
  }
  /* Patrón geométrico sutil encima */
  .hero__bg::after{
    content:'';position:absolute;inset:0;
    background-image:radial-gradient(circle, rgba(245,158,11,.06) 1px, transparent 1px);
    background-size:32px 32px;
  }
  /* Gradiente decorativo en la parte derecha */
  .hero__glow{
    position:absolute;right:-10%;top:50%;transform:translateY(-50%);
    width:600px;height:600px;border-radius:50%;
    background:radial-gradient(circle, rgba(245,158,11,.12) 0%, transparent 70%);
    pointer-events:none;
  }
  .hero__inner{
    position:relative;z-index:1;
    display:grid;grid-template-columns:1fr 420px;
    gap:48px;align-items:center;
    padding-block:80px;
    width:100%;
  }
  .hero__content{}
  .hero__tag{
    display:inline-flex;align-items:center;gap:8px;
    background:rgba(245,158,11,.15);border:1px solid rgba(245,158,11,.35);
    color:var(--amber);font-size:.78rem;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;padding:6px 14px;border-radius:100px;margin-bottom:28px;
  }
  .hero__tag-dot{width:7px;height:7px;background:var(--amber);border-radius:50%;-webkit-animation:pulse-dot 2s ease-in-out infinite;animation:pulse-dot 2s ease-in-out infinite}
  @-webkit-keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.4}}
  @keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.4}}

  .hero__title{
    font-size:clamp(2.5rem,5.5vw,4rem);font-weight:900;line-height:1.07;
    color:var(--white);margin-bottom:24px;letter-spacing:-.03em;
  }
  .hero__title em{color:var(--amber);font-style:normal}
  .hero__title mark{
    background:none;color:inherit;
    text-decoration:underline;text-decoration-color:rgba(245,158,11,.5);
    text-decoration-thickness:3px;text-underline-offset:5px;
  }
  .hero__subtitle{
    font-size:1.125rem;color:rgba(255,255,255,.8);line-height:1.75;
    margin-bottom:36px;max-width:520px;
  }
  .hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:44px}
  .hero__social-proof{
    display:flex;align-items:center;gap:16px;
  }
  .hero__avatars{
    display:flex;
  }
  .hero__avatars img,.hero__avatar-placeholder{
    width:36px;height:36px;border-radius:50%;border:2px solid rgba(255,255,255,.4);
    object-fit:cover;margin-left:-10px;background:var(--navy-mid);
    display:flex;align-items:center;justify-content:center;
    font-size:.7rem;font-weight:700;color:var(--white);
    overflow:hidden;flex-shrink:0;
  }
  .hero__avatars img:first-child,.hero__avatar-placeholder:first-child{margin-left:0}
  .hero__social-text{font-size:.875rem;color:rgba(255,255,255,.75)}
  .hero__social-text strong{color:var(--amber)}

  /* Tarjeta flotante derecha */
  .hero__card{
    background:rgba(255,255,255,.08);
    backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);
    border:1px solid rgba(255,255,255,.15);
    border-radius:var(--r-xl);padding:32px;
  }
  .hero__card-title{font-size:1.0625rem;font-weight:800;color:var(--white);margin-bottom:20px}
  .hero__card-items{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}
  .hero__card-item{
    display:flex;align-items:center;gap:12px;
    padding:12px 14px;border-radius:10px;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
    font-size:.875rem;color:rgba(255,255,255,.9);font-weight:500;
    transition:var(--tr);
  }
  .hero__card-item:hover{background:rgba(245,158,11,.15);border-color:rgba(245,158,11,.3)}
  .hero__card-icon{
    width:36px;height:36px;background:rgba(245,158,11,.2);border-radius:8px;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .hero__card-icon svg{width:18px;height:18px;fill:var(--amber)}
  .hero__card-badge{
    background:rgba(34,197,94,.2);border:1px solid rgba(34,197,94,.3);
    color:#86efac;font-size:.72rem;font-weight:700;
    padding:3px 9px;border-radius:100px;margin-left:auto;white-space:nowrap;
  }
  .hero__card-note{
    font-size:.8rem;color:rgba(255,255,255,.5);text-align:center;line-height:1.5;
  }

  /* ════════════════════════════════════════════════════════════
     ESTADÍSTICAS
  ════════════════════════════════════════════════════════════ */
  .stats-bar{
    background:var(--white);
    border-bottom:1px solid var(--gray-200);
    padding-block:0;
  }
  .stats-bar__inner{
    display:grid;grid-template-columns:repeat(4,1fr);
  }
  .stat-item{
    padding:36px 28px;
    display:flex;flex-direction:column;align-items:center;text-align:center;
    border-right:1px solid var(--gray-200);
    position:relative;
    transition:var(--tr);
  }
  .stat-item:last-child{border-right:none}
  .stat-item::before{
    content:'';position:absolute;bottom:0;left:50%;
    -webkit-transform:translateX(-50%);transform:translateX(-50%);
    width:0;height:3px;background:var(--amber);border-radius:3px;transition:width .35s ease;
  }
  .stat-item:hover::before{width:60%}
  .stat-num{
    font-size:2.5rem;font-weight:900;color:var(--navy);letter-spacing:-.04em;line-height:1;
    margin-bottom:6px;
  }
  .stat-num span{color:var(--amber)}
  .stat-label{font-size:.875rem;font-weight:600;color:var(--gray-600)}
  .stat-sub{font-size:.78rem;color:var(--gray-400);margin-top:3px}

  /* ════════════════════════════════════════════════════════════
     BLOQUE CONFIANZA (trust bar navy)
  ════════════════════════════════════════════════════════════ */
  .trust-band{background:var(--navy);padding-block:0}
  .trust-band__inner{
    display:grid;grid-template-columns:repeat(4,1fr);
  }
  .trust-cell{
    padding:28px 24px;
    display:flex;align-items:center;gap:14px;
    border-right:1px solid rgba(255,255,255,.08);
    transition:var(--tr);
  }
  .trust-cell:last-child{border-right:none}
  .trust-cell:hover{background:rgba(255,255,255,.04)}
  .trust-cell__ico{
    width:42px;height:42px;border-radius:10px;flex-shrink:0;
    background:rgba(245,158,11,.12);
    display:flex;align-items:center;justify-content:center;
  }
  .trust-cell__ico svg{width:20px;height:20px;fill:var(--amber)}
  .trust-cell__title{font-size:.9rem;font-weight:700;color:var(--white);margin-bottom:2px}
  .trust-cell__desc{font-size:.78rem;color:rgba(255,255,255,.55);line-height:1.4}

  /* ════════════════════════════════════════════════════════════
     POR QUÉ ELEGIR SOLU HOGAR
  ════════════════════════════════════════════════════════════ */
  .why-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
  .why-card{
    padding:36px 30px;border-radius:var(--r-lg);
    background:var(--white);border:1px solid var(--gray-200);
    transition:var(--tr);position:relative;overflow:hidden;
  }
  .why-card::before{
    content:'';position:absolute;top:0;left:0;right:0;height:3px;
    background:linear-gradient(90deg,var(--amber),var(--amber-dark));
    -webkit-transform:scaleX(0);transform:scaleX(0);
    -webkit-transform-origin:left;transform-origin:left;
    -webkit-transition:-webkit-transform .35s ease;transition:transform .35s ease;
  }
  .why-card:hover{box-shadow:var(--sh-lg);-webkit-transform:translateY(-4px);transform:translateY(-4px);border-color:transparent}
  .why-card:hover::before{-webkit-transform:scaleX(1);transform:scaleX(1)}
  .why-icon{
    width:60px;height:60px;border-radius:16px;
    background:var(--amber-light);margin-bottom:22px;
    display:flex;align-items:center;justify-content:center;
    transition:var(--tr);
  }
  .why-card:hover .why-icon{background:var(--amber);-webkit-transform:scale(1.05);transform:scale(1.05)}
  .why-card:hover .why-icon svg{fill:var(--navy)}
  .why-icon svg{width:28px;height:28px;fill:var(--amber-dark);transition:var(--tr)}
  .why-title{font-size:1.0625rem;font-weight:800;color:var(--navy);margin-bottom:10px}
  .why-desc{font-size:.9rem;color:var(--gray-600);line-height:1.7}

  /* ════════════════════════════════════════════════════════════
     SERVICIOS PREMIUM
  ════════════════════════════════════════════════════════════ */
  .services-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:16px;
  }
  .svc-card{
    background:var(--white);border:1px solid var(--gray-200);
    border-radius:var(--r-md);padding:28px 22px;
    transition:var(--tr);cursor:default;
    position:relative;overflow:hidden;
  }
  .svc-card::after{
    content:'';position:absolute;inset:0;
    background:linear-gradient(135deg,rgba(15,45,92,.03) 0%,transparent 60%);
    pointer-events:none;
  }
  .svc-card:hover{
    border-color:var(--amber);box-shadow:0 8px 32px rgba(245,158,11,.15);
    -webkit-transform:translateY(-4px);transform:translateY(-4px);
  }
  .svc-icon{
    width:54px;height:54px;border-radius:14px;margin-bottom:18px;
    background:var(--amber-light);
    display:flex;align-items:center;justify-content:center;
    transition:var(--tr);
  }
  .svc-card:hover .svc-icon{background:var(--navy)}
  .svc-card:hover .svc-icon svg{fill:var(--amber)}
  .svc-icon svg{width:26px;height:26px;fill:var(--amber-dark);transition:var(--tr)}
  .svc-title{font-size:.9375rem;font-weight:800;color:var(--navy);margin-bottom:8px}
  .svc-desc{font-size:.825rem;color:var(--gray-600);line-height:1.6}
  .svc-link{
    display:inline-flex;align-items:center;gap:5px;
    font-size:.8rem;font-weight:700;color:var(--amber-dark);margin-top:14px;
    transition:var(--tr);
  }
  .svc-link:hover{gap:9px}
  .svc-link svg{width:13px;height:13px;fill:currentColor}

  /* ════════════════════════════════════════════════════════════
     PRODUCTOS — TIENDA PREMIUM
  ════════════════════════════════════════════════════════════ */
  .shop-intro{
    display:flex;align-items:flex-end;justify-content:space-between;
    margin-bottom:48px;gap:24px;flex-wrap:wrap;
  }
  .shop-intro .section-desc{margin-bottom:0}

  .product-filters{
    display:flex;gap:8px;flex-wrap:wrap;
    margin-bottom:40px;
  }
  .filter-btn{
    padding:8px 18px;border-radius:100px;font-size:.8125rem;font-weight:600;
    border:1.5px solid var(--gray-200);color:var(--gray-600);
    transition:var(--tr);cursor:pointer;background:var(--white);
  }
  .filter-btn.active,.filter-btn:hover{
    background:var(--navy);color:var(--white);border-color:var(--navy);
  }

  .products-grid{
    display:grid;grid-template-columns:repeat(4,1fr);gap:24px;
  }
  .prod-card{
    background:var(--white);border:1px solid var(--gray-200);
    border-radius:var(--r-lg);overflow:hidden;
    transition:var(--tr);position:relative;
  }
  .prod-card:hover{box-shadow:var(--sh-lg);-webkit-transform:translateY(-5px);transform:translateY(-5px);border-color:transparent}

  /* Imagen */
  /* Wrapper externo: establece el contexto de posicionamiento para el badge */
  /* Wrapper externo: solo estructura, sin overflow */
  .prod-img-wrap{
    position:relative;
    display:block;
  }
  /* Inner: clip de imagen + altura garantizada siempre */
  .prod-img-inner{
    position:relative;
    overflow:hidden;
    /* min-height garantiza espacio aunque la imagen no cargue */
    min-height:200px;
    height:220px;
    border-radius:var(--r-lg) var(--r-lg) 0 0;
    background:var(--gray-100);
    -webkit-mask-image:-webkit-radial-gradient(white,black);
  }
  /* En pantallas grandes, aspect-ratio pero con min-height de seguridad */
  @media(min-width:769px){
    .prod-img-inner{
      min-height:200px;
      height:auto;
      aspect-ratio:4/3;
    }
  }
  @supports not (aspect-ratio:4/3){
    .prod-img-inner{height:220px;min-height:200px}
  }
  .prod-img{
    width:100%;height:100%;
    object-fit:cover;display:block;
    -webkit-transition:-webkit-transform .45s ease;transition:transform .45s ease;
    background:var(--gray-100);
  }
  .prod-card:hover .prod-img{-webkit-transform:scale(1.06);transform:scale(1.06)}

  /* Badge: dentro del inner — siempre encima de la imagen, nunca del texto */
  .prod-badge{
    position:absolute;top:12px;left:12px;z-index:2;
    font-size:.68rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
    padding:4px 10px;border-radius:6px;
    pointer-events:none;
  }
  .prod-badge--sale{background:#ef4444;color:var(--white)}
  .prod-badge--new{background:var(--navy);color:var(--white)}
  .prod-badge--top{background:var(--amber);color:var(--navy)}
  .prod-badge--eco{background:#22c55e;color:var(--white)}

  .prod-action-btn{
    position:absolute;top:12px;right:12px;z-index:2;
    width:34px;height:34px;border-radius:8px;
    background:rgba(255,255,255,.95);box-shadow:var(--sh);
    display:flex;align-items:center;justify-content:center;
    opacity:0;-webkit-transform:translateY(-6px);transform:translateY(-6px);
    transition:var(--tr);
  }
  .prod-action-btn svg{width:16px;height:16px;fill:var(--navy)}
  .prod-card:hover .prod-action-btn{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}

  /* Body */
  .prod-body{padding:20px}
  .prod-cat{
    font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;
    color:var(--amber-dark);margin-bottom:7px;
  }
  .prod-name{font-size:.9375rem;font-weight:800;color:var(--navy);margin-bottom:6px;line-height:1.3}
  .prod-desc{font-size:.8rem;color:var(--gray-600);line-height:1.6;margin-bottom:14px}
  .prod-features{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
  .prod-feature{
    font-size:.7rem;font-weight:600;
    background:var(--gray-100);color:var(--gray-600);
    padding:3px 8px;border-radius:5px;
  }
  .prod-footer{
    display:flex;align-items:center;justify-content:space-between;gap:8px;
    padding-top:14px;border-top:1px solid var(--gray-100);
  }
  .prod-price{}
  .prod-price-main{font-size:1.2rem;font-weight:900;color:var(--navy)}
  .prod-price-old{font-size:.8rem;color:var(--gray-400);text-decoration:line-through;margin-right:4px}
  .prod-price-note{font-size:.72rem;color:var(--gray-400);display:block;margin-top:1px}
  .prod-cta{
    background:var(--amber);color:var(--navy);font-weight:800;font-size:.8125rem;
    padding:10px 16px;border-radius:8px;display:flex;align-items:center;gap:6px;
    white-space:nowrap;transition:var(--tr);
  }
  .prod-cta svg{width:14px;height:14px;fill:currentColor}
  .prod-cta:hover{background:var(--amber-dark);transform:translateY(-1px)}

  /* Producto FEATURED (más grande) */
  .prod-card--featured{grid-column:span 2}
  .prod-card--featured .prod-img-inner{height:280px;min-height:220px}
  @media(min-width:769px){
    .prod-card--featured .prod-img-inner{height:auto;min-height:220px;aspect-ratio:16/9}
  }
  @supports not (aspect-ratio:16/9){
    .prod-card--featured .prod-img-inner{height:280px;min-height:220px}
  }

  /* ════════════════════════════════════════════════════════════
     COMBO PRODUCTO + INSTALACIÓN
  ════════════════════════════════════════════════════════════ */
  .combo-wrap{
    background:var(--navy);
    border-radius:var(--r-xl);overflow:hidden;
  }
  .combo-inner{
    display:grid;grid-template-columns:1fr 1fr;
    min-height:480px;
    min-height:clamp(360px,50vw,480px);
  }
  .combo-left{
    padding:56px 52px;
    display:flex;flex-direction:column;justify-content:center;
  }
  .combo-list{display:flex;flex-direction:column;gap:14px;margin-block:28px 36px}
  .combo-list li{
    display:flex;align-items:flex-start;gap:12px;
    font-size:.9375rem;color:rgba(255,255,255,.85);
  }
  .combo-check{
    width:22px;height:22px;border-radius:6px;background:rgba(245,158,11,.2);flex-shrink:0;
    display:flex;align-items:center;justify-content:center;margin-top:1px;
  }
  .combo-check svg{width:12px;height:12px;fill:var(--amber)}
  .combo-right{
    position:relative;
    background:linear-gradient(135deg,rgba(15,45,92,.8),rgba(9,29,62,.95));
    display:flex;flex-direction:column;justify-content:center;padding:52px;
    overflow:hidden;
  }
  .combo-right::before{
    content:'';position:absolute;
    top:-80px;right:-80px;width:300px;height:300px;border-radius:50%;
    background:rgba(245,158,11,.08);
  }
  .combo-steps{display:flex;flex-direction:column;gap:0;position:relative;z-index:1}
  .combo-step{
    display:flex;align-items:flex-start;gap:16px;padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,.07);
  }
  .combo-step:last-child{border-bottom:none}
  .combo-step__num{
    width:40px;height:40px;border-radius:10px;background:var(--amber);
    color:var(--navy);font-weight:900;font-size:.9rem;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
  }
  .combo-step__title{font-size:.9375rem;font-weight:700;color:var(--white);margin-bottom:3px}
  .combo-step__desc{font-size:.82rem;color:rgba(255,255,255,.6)}
  .combo-guarantee{
    margin-top:24px;padding:16px 20px;
    background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.25);
    border-radius:12px;display:flex;align-items:center;gap:12px;
    font-size:.875rem;font-weight:600;color:#86efac;position:relative;z-index:1;
  }
  .combo-guarantee svg{width:20px;height:20px;fill:#22c55e;flex-shrink:0}

  /* ════════════════════════════════════════════════════════════
     LÍNEA DE TIEMPO "ASÍ TRABAJAMOS"
  ════════════════════════════════════════════════════════════ */
  .timeline{
    position:relative;max-width:700px;margin-inline:auto;
    display:flex;flex-direction:column;gap:0;
  }
  /* Línea vertical izquierda */
  .timeline::before{
    content:'';position:absolute;left:24px;
    top:24px;bottom:24px;width:2px;background:var(--gray-200);
    transform:none;
  }
  /* Todos los items: fila con círculo a la izquierda */
  .timeline-item{
    display:flex;flex-direction:row;align-items:flex-start;
    gap:24px;padding-block:28px;
  }
  .tl-empty{display:none}
  .timeline-item:nth-child(even) .tl-content{grid-column:auto;text-align:left;padding-right:0}
  .timeline-item:nth-child(odd)  .tl-content{grid-column:auto;text-align:left;padding-left:0}

  .tl-dot{
    width:48px;height:48px;border-radius:50%;flex-shrink:0;
    background:var(--navy);color:var(--white);
    font-weight:900;font-size:1rem;
    display:flex;align-items:center;justify-content:center;
    border:4px solid var(--white);box-shadow:0 0 0 2px var(--gray-200);
    position:relative;z-index:1;
  }
  .tl-content{flex:1}
  .tl-num{color:var(--amber)}
  .tl-tag{
    display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;color:var(--amber-dark);
    background:var(--amber-light);padding:3px 10px;border-radius:100px;margin-bottom:8px;
  }
  .tl-title{font-size:1.0625rem;font-weight:800;color:var(--navy);margin-bottom:8px}
  .tl-desc{font-size:.875rem;color:var(--gray-600);line-height:1.7}

  /* ════════════════════════════════════════════════════════════
     ANTES Y DESPUÉS
  ════════════════════════════════════════════════════════════ */
  .before-after-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:24px;
  }
  .ba-card{
    border-radius:var(--r-lg);overflow:hidden;
    border:1px solid var(--gray-200);transition:var(--tr);
    background:var(--white);
  }
  .ba-card:hover{box-shadow:var(--sh-lg);-webkit-transform:translateY(-4px);transform:translateY(-4px);border-color:transparent}
  .ba-images{display:grid;grid-template-columns:1fr 1fr;position:relative}
  .ba-img{
    aspect-ratio:1;object-fit:cover;background:var(--gray-100);width:100%;
  }
  @supports not (aspect-ratio:1){
    .ba-img{height:160px}
  }
  .ba-divider{
    position:absolute;top:0;bottom:0;left:50%;width:3px;
    background:var(--white);z-index:2;transform:translateX(-50%);
  }
  .ba-divider::after{
    content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
    width:28px;height:28px;border-radius:50%;background:var(--white);
    border:2px solid var(--gray-200);
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%230F2D5C'%3E%3Cpath d='M9.5 17H8.25L12 21l3.75-4H14.5L12 19.17 9.5 17zm3-10H13.75L10 3 6.25 7H7.5L10 4.83 12.5 7zM4 11H2v2h2v-2zm-2-4h2V5H2v2zm0 8h2v-2H2v2zm2 4h2v-2H4v2zm2 0h2v-2H6v2zm-2-8h2V9H4v2zm6 8h2v-2h-2v2zm-4 0h2v-2H6v2zm10-8h2V9h-2v2zm0 8h2v-2h-2v2zm2-4h2v-2h-2v2zm0-10h2V5h-2v2zm0 14h2v-2h-2v2zM14 19h2v-2h-2v2z'/%3E%3C/svg%3E");
    background-size:16px;background-repeat:no-repeat;background-position:center;
  }
  .ba-label{
    position:absolute;top:8px;font-size:.68rem;font-weight:800;letter-spacing:.06em;
    text-transform:uppercase;padding:3px 9px;border-radius:5px;
  }
  .ba-label--before{left:8px;background:rgba(0,0,0,.55);color:var(--white)}
  .ba-label--after{right:8px;background:var(--navy);color:var(--white)}
  .ba-body{padding:18px 20px}
  .ba-title{font-size:.9375rem;font-weight:800;color:var(--navy);margin-bottom:4px}
  .ba-desc{font-size:.8rem;color:var(--gray-600)}
  .ba-placeholder{
    aspect-ratio:1;background:var(--gray-100);display:flex;flex-direction:column;
    align-items:center;justify-content:center;gap:8px;
    color:var(--gray-400);font-size:.8rem;font-weight:500;
  }
  @supports not (aspect-ratio:1){
    .ba-placeholder{height:160px}
  }
  .ba-placeholder svg{width:32px;height:32px;fill:var(--gray-300)}

  /* ════════════════════════════════════════════════════════════
     MARCAS COLABORADORAS
  ════════════════════════════════════════════════════════════ */
  .brands-strip{
    background:var(--white);padding-block:48px;
    border-block:1px solid var(--gray-200);
  }
  .brands-label{
    text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.1em;
    text-transform:uppercase;color:var(--gray-400);margin-bottom:32px;
  }
  .brands-grid{
    display:flex;flex-wrap:wrap;gap:0;
    justify-content:center;
    border:1px solid var(--gray-200);border-radius:var(--r-lg);
    overflow:hidden;
  }
  .brand-item{
    flex:1;min-width:130px;
    padding:24px 20px;
    display:flex;align-items:center;justify-content:center;
    border-right:1px solid var(--gray-200);
    border-bottom:1px solid var(--gray-200);
    transition:var(--tr);
  }
  .brand-item:hover{background:var(--gray-50)}
  .brand-name{
    font-size:1rem;font-weight:900;color:var(--gray-300);
    letter-spacing:-.02em;text-transform:uppercase;
    transition:color var(--tr);
  }
  .brand-item:hover .brand-name{color:var(--navy)}

  /* ════════════════════════════════════════════════════════════
     GALERÍA
  ════════════════════════════════════════════════════════════ */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-template-rows:minmax(240px,280px) minmax(240px,280px) minmax(240px,280px);
    gap:14px;
  }
  .gallery-item{
    border-radius:var(--r-md);overflow:hidden;position:relative;cursor:pointer;
  }
  .gallery-item--tall{grid-row:span 2}
  .gallery-item img{
    width:100%;height:100%;object-fit:cover;
    -webkit-transition:-webkit-transform .5s ease;
    transition:transform .5s ease;
  }
  .gallery-item:hover img{-webkit-transform:scale(1.06);transform:scale(1.06)}
  .gallery-overlay{
    position:absolute;inset:0;
    background:linear-gradient(to top,rgba(15,45,92,.75) 0%,transparent 55%);
    opacity:0;transition:var(--tr);
    display:flex;align-items:flex-end;padding:18px;
  }
  .gallery-item:hover .gallery-overlay{opacity:1}
  .gallery-caption{color:var(--white);font-size:.875rem;font-weight:700}

  /* ════════════════════════════════════════════════════════════
     RESEÑAS
  ════════════════════════════════════════════════════════════ */
  .reviews-header{
    display:flex;align-items:center;gap:32px;justify-content:center;
    margin-bottom:48px;flex-wrap:wrap;
  }
  .reviews-score{text-align:center}
  .reviews-score__num{font-size:3.5rem;font-weight:900;color:var(--navy);line-height:1}
  .reviews-score__stars{display:flex;gap:4px;justify-content:center;margin-block:6px}
  .reviews-score__stars svg{width:22px;height:22px;fill:var(--amber)}
  .reviews-score__count{font-size:.875rem;color:var(--gray-400)}
  .reviews-sep{width:1px;height:80px;background:var(--gray-200)}
  .reviews-breakdown{display:flex;flex-direction:column;gap:6px}
  .rb-row{display:flex;align-items:center;gap:10px}
  .rb-label{font-size:.78rem;color:var(--gray-600);min-width:40px;text-align:right}
  .rb-bar{flex:1;height:7px;background:var(--gray-200);border-radius:100px;overflow:hidden}
  .rb-fill{height:100%;background:var(--amber);border-radius:100px}
  .rb-count{font-size:.78rem;color:var(--gray-400);min-width:20px}

  .reviews-grid{
    display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
  }
  .review-card{
    background:var(--white);border:1px solid var(--gray-200);
    border-radius:var(--r-md);padding:26px;transition:var(--tr);
  }
  .review-card:hover{box-shadow:var(--sh-lg);border-color:transparent;-webkit-transform:translateY(-3px);transform:translateY(-3px)}
  .review-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
  .review-stars{display:flex;gap:2px}
  .review-stars svg{width:15px;height:15px;fill:var(--amber)}
  .review-date{font-size:.76rem;color:var(--gray-400)}
  .review-text{font-size:.9rem;color:var(--gray-600);line-height:1.75;margin-bottom:18px;font-style:italic}
  .review-author{display:flex;align-items:center;gap:12px}
  .review-avatar{
    width:40px;height:40px;border-radius:50%;background:var(--navy);
    color:var(--white);font-weight:800;font-size:.85rem;
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .review-name{font-size:.875rem;font-weight:800;color:var(--navy)}
  .review-loc{font-size:.76rem;color:var(--gray-400)}
  .review-source{
    display:flex;align-items:center;gap:5px;
    margin-top:14px;padding-top:12px;border-top:1px solid var(--gray-100);
    font-size:.75rem;color:var(--gray-400);font-weight:600;
  }
  .review-source svg{width:13px;height:13px;fill:var(--gray-400)}

  /* ════════════════════════════════════════════════════════════
     FAQ
  ════════════════════════════════════════════════════════════ */
  .faq-list{max-width:780px;margin-inline:auto;display:flex;flex-direction:column;gap:10px}
  .faq-item{
    background:var(--white);border:1.5px solid var(--gray-200);
    border-radius:var(--r-md);overflow:hidden;transition:border-color var(--tr);
  }
  .faq-item.open{border-color:var(--amber)}
  .faq-btn{
    width:100%;display:flex;align-items:center;justify-content:space-between;
    padding:20px 24px;text-align:left;font-size:.9375rem;font-weight:700;
    color:var(--navy);background:var(--white);transition:var(--tr);
  }
  .faq-btn:hover{background:var(--gray-50)}
  .faq-ico{
    width:30px;height:30px;border-radius:8px;background:var(--gray-100);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
    transition:var(--tr);font-size:1.2rem;line-height:1;color:var(--navy);font-weight:700;
  }
  .faq-item.open .faq-ico{background:var(--amber);-webkit-transform:rotate(45deg);transform:rotate(45deg)}
  .faq-body{
    display:none;padding:0 24px 20px;
    font-size:.9rem;color:var(--gray-600);line-height:1.75;
    border-top:1px solid var(--gray-100);padding-top:16px;
  }
  .faq-item.open .faq-body{display:block}

  /* ════════════════════════════════════════════════════════════
     FORMULARIO DE CONTACTO PREMIUM
  ════════════════════════════════════════════════════════════ */
  .contact-wrap{
    display:grid;grid-template-columns:1fr 1.5fr;gap:64px;align-items:start;
  }
  .contact-left{}
  .contact-cards{display:flex;flex-direction:column;gap:16px;margin-top:32px}
  .contact-card{
    background:var(--white);border:1px solid var(--gray-200);
    border-radius:var(--r-md);padding:20px;
    display:flex!important;flex-direction:row!important;
    gap:16px;align-items:center!important;
    transition:var(--tr);width:100%;text-decoration:none;
    color:inherit;
  }
  .contact-card:hover{box-shadow:var(--sh-md);border-color:var(--amber)}
  .contact-card__ico{
    width:46px;height:46px;border-radius:12px;background:var(--amber-light);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;
  }
  .contact-card__ico svg{width:22px;height:22px;fill:var(--amber-dark)}
  .contact-card__label{font-size:.78rem;font-weight:700;color:var(--gray-400);text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
  .contact-card__value{font-size:1rem;font-weight:800;color:var(--navy)}
  .contact-card__value a{color:inherit;transition:color var(--tr)}
  .contact-card__value a:hover{color:var(--amber-dark)}
  .contact-card__note{font-size:.8rem;color:var(--gray-400);margin-top:2px}
  .contact-trust-badges{
    display:flex;gap:12px;flex-wrap:wrap;margin-top:28px;
  }
  .ctb{
    display:flex;align-items:center;gap:7px;
    background:var(--gray-100);border-radius:8px;
    padding:8px 12px;font-size:.78rem;font-weight:600;color:var(--gray-600);
  }
  .ctb svg{width:14px;height:14px;fill:var(--green)}

  .form-box{
    background:var(--white);border:1px solid var(--gray-200);
    border-radius:var(--r-xl);padding:44px;box-shadow:var(--sh-md);
  }
  .form-box-head{margin-bottom:28px}
  .form-box-title{font-size:1.25rem;font-weight:900;color:var(--navy);margin-bottom:6px}
  .form-box-sub{font-size:.875rem;color:var(--gray-600)}
  .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .form-grid .full{grid-column:1/-1}
  .form-field{display:flex;flex-direction:column;gap:7px}
  .form-label{font-size:.8125rem;font-weight:700;color:var(--navy)}
  .form-label span{color:var(--amber-dark)}
  .form-input,.form-select,.form-textarea{
    padding:13px 16px;border:1.5px solid var(--gray-200);border-radius:9px;
    font-family:var(--font);font-size:.9375rem;color:var(--gray-800);
    background:var(--white);transition:var(--tr);outline:none;width:100%;
    -webkit-appearance:none;-moz-appearance:none;appearance:none;
  }
  .form-input:focus,.form-select:focus,.form-textarea:focus{
    border-color:var(--amber);box-shadow:0 0 0 3px rgba(245,158,11,.13);
  }
  .form-textarea{resize:vertical;min-height:110px}
  .form-urgency{
    display:flex;align-items:center;gap:10px;
    padding:12px 16px;background:#fef9ec;border:1.5px solid var(--amber-light);
    border-radius:9px;font-size:.875rem;font-weight:600;color:var(--amber-dark);
    cursor:pointer;transition:var(--tr);
  }
  .form-urgency input{accent-color:var(--amber-dark)}

  /* Casilla obligatoria de política de privacidad (RGPD / LOPDGDD) */
  .form-consent{
    display:flex;align-items:flex-start;gap:11px;
    padding:13px 16px;background:var(--gray-50);background:#F8FAFC;
    border:1.5px solid var(--gray-200);border-radius:9px;
    font-size:.8125rem;line-height:1.6;color:var(--gray-600);color:#475569;
    cursor:pointer;transition:var(--tr);
  }
  .form-consent:hover{border-color:var(--gray-400)}
  .form-consent input{accent-color:var(--navy);margin-top:2px;flex-shrink:0;width:16px;height:16px}
  .form-consent a{color:var(--navy);color:#0F2D5C;font-weight:700;text-decoration:underline;text-underline-offset:2px}
  .form-consent a:hover{color:var(--amber-dark)}
  .form-consent.error{border-color:#dc2626;background:#fef2f2}

  /* Aviso cuando falta algo por rellenar */
  .form-error{
    display:none;margin:0 0 14px;padding:12px 16px;
    background:#fef2f2;border:1.5px solid #fecaca;border-radius:9px;
    font-size:.875rem;font-weight:600;color:#b91c1c;line-height:1.55;
  }
  .form-error.visible{display:block}
  .form-input.error,.form-textarea.error{border-color:#dc2626;background:#fef2f2}
  .form-submit{
    background:linear-gradient(135deg,var(--amber) 0%,var(--amber-dark) 100%);
    color:var(--navy);font-weight:800;font-size:1rem;
    padding:16px 32px;border-radius:9px;width:100%;margin-top:8px;
    display:flex;align-items:center;justify-content:center;gap:8px;
    transition:var(--tr);box-shadow:0 4px 20px rgba(245,158,11,.3);
  }
  .form-submit svg{width:18px;height:18px;fill:currentColor}
  .form-submit:hover{transform:translateY(-2px);box-shadow:0 7px 28px rgba(245,158,11,.45)}
  .form-reassurance{
    display:flex;align-items:center;justify-content:center;gap:8px;
    margin-top:14px;font-size:.8rem;color:var(--gray-400);
  }
  .form-reassurance svg{width:14px;height:14px;fill:var(--green)}
  .form-success{
    display:none;text-align:center;padding:40px 24px;
  }
  .form-success__icon{
    width:72px;height:72px;background:#dcfce7;border-radius:50%;
    display:flex;align-items:center;justify-content:center;margin:0 auto 20px;
  }
  .form-success__icon svg{width:36px;height:36px;fill:var(--green)}
  .form-success h3{font-size:1.25rem;font-weight:900;color:var(--navy);margin-bottom:8px}
  .form-success p{color:var(--gray-600);font-size:.9375rem;line-height:1.7}

  /* ════════════════════════════════════════════════════════════
     CTA FINAL
  ════════════════════════════════════════════════════════════ */
  .cta-final{
    background:linear-gradient(135deg,var(--navy-dark) 0%,var(--navy) 60%,var(--navy-mid) 100%);
    padding-block:100px;text-align:center;position:relative;overflow:hidden;
  }
  .cta-final::before{
    content:'';position:absolute;top:-120px;right:-120px;
    width:480px;height:480px;border-radius:50%;
    background:radial-gradient(circle,rgba(245,158,11,.1) 0%,transparent 70%);
  }
  .cta-final::after{
    content:'';position:absolute;bottom:-80px;left:-80px;
    width:320px;height:320px;border-radius:50%;
    background:rgba(245,158,11,.06);
  }
  .cta-final__inner{position:relative;z-index:1}
  .cta-final__title{
    font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--white);
    margin-bottom:16px;letter-spacing:-.03em;
  }
  .cta-final__title em{color:var(--amber);font-style:normal}
  .cta-final__desc{font-size:1.0625rem;color:rgba(255,255,255,.72);margin-bottom:40px}
  .cta-final__actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
  .cta-phone-strip{
    margin-top:40px;padding-top:36px;border-top:1px solid rgba(255,255,255,.1);
    display:flex;align-items:center;justify-content:center;gap:8px;
    font-size:1rem;color:rgba(255,255,255,.65);
  }
  .cta-phone-strip a{color:var(--amber);font-weight:800;font-size:1.25rem}

  /* ════════════════════════════════════════════════════════════
     FOOTER
  ════════════════════════════════════════════════════════════ */
  .footer{background:#0d1b2e;color:rgba(255,255,255,.65);padding-block:72px 32px}
  .footer__top{
    display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px;
  }
  .footer__brand .logo{color:var(--white);margin-bottom:16px}
  .footer__brand .logo span{color:var(--amber)}
  .footer__brand p{font-size:.875rem;line-height:1.75;max-width:270px}
  .footer__slogan{font-size:.8rem;font-weight:700;color:var(--amber);margin-top:18px;letter-spacing:.04em}
  .footer__social{display:flex;gap:10px;margin-top:20px}
  .footer__social a{
    width:36px;height:36px;border-radius:8px;
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);
    display:flex;align-items:center;justify-content:center;
    transition:var(--tr);
  }
  .footer__social a:hover{background:var(--amber);border-color:var(--amber)}
  .footer__social svg{width:15px;height:15px;fill:rgba(255,255,255,.7)}
  .footer__social a:hover svg{fill:var(--navy)}
  .footer__col h4{
    font-size:.78rem;font-weight:800;color:var(--white);
    margin-bottom:18px;text-transform:uppercase;letter-spacing:.1em;
  }
  .footer__links{display:flex;flex-direction:column;gap:10px}
  .footer__links a{font-size:.875rem;color:rgba(255,255,255,.55);transition:var(--tr)}
  .footer__links a:hover{color:var(--amber);padding-left:4px}
  .footer__bottom{
    border-top:1px solid rgba(255,255,255,.08);padding-top:28px;
    display:flex;align-items:center;justify-content:space-between;
    gap:16px;flex-wrap:wrap;
  }
  .footer__copy{font-size:.8125rem}
  .footer__legal{display:flex;gap:20px}
  .footer__legal a{font-size:.8125rem;color:rgba(255,255,255,.4);transition:var(--tr)}
  .footer__legal a:hover{color:var(--amber)}

  /* ════════════════════════════════════════════════════════════
     BOTÓN FLOTANTE WHATSAPP
  ════════════════════════════════════════════════════════════ */
  .wa-float{
    position:fixed;bottom:28px;right:28px;z-index:800;
    will-change:transform;
    width:60px;height:60px;background:#25D366;color:var(--white);
    border-radius:50%;display:flex;align-items:center;justify-content:center;
    box-shadow:0 4px 24px rgba(37,211,102,.5);
    transition:transform .25s,box-shadow .25s;
    -webkit-animation:wapulse 2.8s ease-in-out infinite;
    animation:wapulse 2.8s ease-in-out infinite;
  }
  .wa-float:hover{-webkit-transform:scale(1.1);transform:scale(1.1);box-shadow:0 8px 32px rgba(37,211,102,.6);-webkit-animation:none;animation:none}
  .wa-float svg{width:32px;height:32px;fill:var(--white)}
  @-webkit-keyframes wapulse{
    0%,100%{box-shadow:0 4px 24px rgba(37,211,102,.5)}
    50%{box-shadow:0 4px 36px rgba(37,211,102,.75),0 0 0 8px rgba(37,211,102,.08)}
  }
  @keyframes wapulse{
    0%,100%{box-shadow:0 4px 24px rgba(37,211,102,.5)}
    50%{box-shadow:0 4px 36px rgba(37,211,102,.75),0 0 0 8px rgba(37,211,102,.08)}
  }
  .wa-float__tip{
    position:absolute;right:70px;background:#1a1a2e;color:var(--white);
    font-size:.8rem;font-weight:700;padding:7px 13px;border-radius:7px;
    white-space:nowrap;opacity:0;
    -webkit-transform:translateX(8px);transform:translateX(8px);
    transition:var(--tr);pointer-events:none;
  }
  .wa-float__tip::after{
    content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);
    border:5px solid transparent;border-left-color:#1a1a2e;
  }
  .wa-float:hover .wa-float__tip{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}

  /* ════════════════════════════════════════════════════════════
     SCROLL REVEAL
  ════════════════════════════════════════════════════════════ */
  .reveal{opacity:0;will-change:opacity,transform;-webkit-transform:translateY(28px);transform:translateY(28px);-webkit-transition:opacity .6s ease,-webkit-transform .6s ease;transition:opacity .6s ease,transform .6s ease}
  .reveal.visible{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}
  .reveal-left{opacity:0;will-change:opacity,transform;-webkit-transform:translateX(-28px);transform:translateX(-28px);-webkit-transition:opacity .6s ease,-webkit-transform .6s ease;transition:opacity .6s ease,transform .6s ease}
  .reveal-left.visible{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}
  .reveal-right{opacity:0;will-change:opacity,transform;-webkit-transform:translateX(28px);transform:translateX(28px);-webkit-transition:opacity .6s ease,-webkit-transform .6s ease;transition:opacity .6s ease,transform .6s ease}
  .reveal-right.visible{opacity:1;-webkit-transform:translateX(0);transform:translateX(0)}
  .reveal-scale{opacity:0;-webkit-transform:scale(.95);transform:scale(.95);-webkit-transition:opacity .5s ease,-webkit-transform .5s ease;transition:opacity .5s ease,transform .5s ease}
  .reveal-scale.visible{opacity:1;-webkit-transform:scale(1);transform:scale(1)}

  /* ════════════════════════════════════════════════════════════
     RESPONSIVE
  ════════════════════════════════════════════════════════════ */
  @media(max-width:1024px){
    .hero__inner{grid-template-columns:1fr;max-width:680px}
    .hero__card{display:none}
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .products-grid{grid-template-columns:repeat(2,1fr)}
    .prod-card--featured{grid-column:auto}
    .why-grid{grid-template-columns:repeat(2,1fr)}
    .footer__top{grid-template-columns:1fr 1fr;gap:36px}
    .before-after-grid{grid-template-columns:1fr 1fr}
    .combo-inner{grid-template-columns:1fr}
    .combo-right{display:none}
    .combo-left{padding:36px 24px}
    .combo-wrap{border-radius:var(--r-lg)}
    .combo-list li{font-size:.875rem}
    .combo-left .btn{width:100%;justify-content:center}
  }

  @media(max-width:768px){
    .section{padding-block:64px}
    .topbar{display:none}
    .nav__list,.header__phone,.header__wa-btn{display:none}
    .hamburger{display:flex}
    .mobile-nav{display:block}
    .stats-bar__inner{grid-template-columns:repeat(2,1fr)}
    .stat-item{border-bottom:1px solid var(--gray-200)}
    .stat-item:nth-child(even){border-right:none}
    .trust-band__inner{grid-template-columns:1fr 1fr}
    .trust-cell{border-bottom:1px solid rgba(255,255,255,.08)}
    .trust-cell:nth-child(even){border-right:none}
    .services-grid{grid-template-columns:repeat(2,1fr)}
    .products-grid{grid-template-columns:1fr 1fr}
    .why-grid{grid-template-columns:1fr}
    .gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto}
    .gallery-item--tall{grid-row:auto}
    .reviews-grid{grid-template-columns:1fr}
    .reviews-sep{display:none}
    .reviews-header{flex-direction:column;gap:16px}
    .timeline::before{left:24px}
    .timeline-item{
      display:flex;
      flex-direction:row;
      align-items:flex-start;
      gap:16px;
      padding-block:20px;
    }
    /* En móvil todos los items: círculo a la izquierda, texto a la derecha */
    .timeline-item:nth-child(odd) .tl-content,
    .timeline-item:nth-child(even) .tl-content{
      grid-column:auto;
      text-align:left;
      padding-left:0;
      padding-right:0;
      order:2;
      flex:1;
    }
    .timeline-item .tl-dot{
      order:1;
      flex-shrink:0;
    }
    .timeline-item .tl-empty{display:none}
    .timeline-item:nth-child(even) .tl-empty{display:none}
    .contact-wrap{grid-template-columns:1fr;gap:40px}
    .form-grid{grid-template-columns:1fr}
    .footer__top{grid-template-columns:1fr;gap:32px}
    .footer__bottom{flex-direction:column;align-items:flex-start}
    .before-after-grid{grid-template-columns:1fr}
    .brands-grid{flex-direction:column}
    .brand-item{border-right:none;min-width:auto}
    .hero__actions .btn--lg{width:100%;justify-content:center}
    .cta-final__actions .btn{width:100%;justify-content:center}
  }

  @media(max-width:480px){
    .stats-bar__inner{grid-template-columns:1fr 1fr}
    .trust-band__inner{grid-template-columns:1fr}
    .trust-cell:nth-child(even){border-right:none}
    .services-grid{grid-template-columns:1fr}
    .products-grid{grid-template-columns:1fr}
    .form-box{padding:24px}
    /* iOS Safari: evitar zoom automático al hacer foco en inputs */
    .form-input,.form-select,.form-textarea{font-size:1rem}
  }

  @media(prefers-reduced-motion:reduce){
    .reveal,.reveal-left,.reveal-right,.reveal-scale{
      opacity:1;-webkit-transform:none;transform:none;
      -webkit-transition:none;transition:none
    }
    .wa-float{-webkit-animation:none;animation:none}
    .hero__tag-dot{-webkit-animation:none;animation:none}
  }
  /* iOS Safari: bloquear scroll del body cuando el menú está abierto */
  body.nav-open{overflow:hidden;position:fixed;width:100%;}

  /* En dispositivos touch, mostrar overlays de galería siempre visibles */
  @media(hover:none){
    .gallery-overlay{opacity:1}
    .prod-action-btn{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}
    .gallery-item img,.prod-img{-webkit-transform:none!important;transform:none!important}
  }

  /* ════════════════════════════════════════════════════════════
     BANNER DE COOKIES (obligatorio por el píxel de Meta)
     El píxel no arranca hasta que el visitante acepta.
  ════════════════════════════════════════════════════════════ */
  .sh-ck{
    position:fixed;left:12px;right:12px;bottom:12px;z-index:9999;
    background:#fff;border:1px solid var(--gray-200);border-radius:var(--r-lg);
    box-shadow:0 16px 48px rgba(15,45,92,.22);padding:20px;display:none;
  }
  .sh-ck.on{display:block}
  .sh-ck h4{font-size:1rem;font-weight:800;color:var(--navy);margin-bottom:8px}
  .sh-ck p{font-size:.8125rem;color:var(--gray-600);line-height:1.6;margin-bottom:16px}
  .sh-ck p a{color:var(--navy);font-weight:700;text-decoration:underline}
  .sh-ck__btns{display:flex;gap:10px;flex-wrap:wrap}
  .sh-ck__btns button{
    flex:1;min-width:130px;padding:14px 18px;border-radius:10px;
    font-weight:800;font-size:.9375rem;font-family:var(--font);
    cursor:pointer;border:none;transition:var(--tr);
  }
  /* Aceptar destacado en ámbar; Rechazar sigue siendo un botón
     visible, del mismo tamaño y a un solo clic (lo exige la ley). */
  .sh-ck__ok{background:var(--amber);color:var(--navy);box-shadow:0 4px 14px rgba(245,158,11,.35)}
  .sh-ck__ok:hover{background:var(--amber-dark);transform:translateY(-1px)}
  .sh-ck__no{background:var(--gray-100);color:var(--gray-600)}
  .sh-ck__no:hover{background:var(--gray-200)}
  @media(min-width:768px){
    .sh-ck{left:auto;right:20px;bottom:20px;max-width:430px}
  }
  @media(max-width:767px){
    .sh-ck{bottom:88px}
  }

  /* ════════════════════════════════════════════════════════════
     PÁGINAS INTERIORES DE SERVICIO
     (migas de pan, cabecera interior, zonas, tabla de precios)
  ════════════════════════════════════════════════════════════ */

  /* ── Migas de pan ────────────────────────────────────────── */
  .crumbs{background:var(--gray-50);background:#F8FAFC;border-bottom:1px solid var(--gray-200);padding-block:14px}
  .crumbs__list{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.8125rem;color:var(--gray-600)}
  .crumbs__list li{display:flex;align-items:center;gap:8px}
  .crumbs__list li::after{content:'\203A';color:var(--gray-400)}
  .crumbs__list li:last-child::after{content:''}
  .crumbs a{color:var(--navy);font-weight:600}
  .crumbs a:hover{color:var(--amber-dark);text-decoration:underline}
  .crumbs [aria-current="page"]{color:var(--gray-600);font-weight:500}

  /* ── Cabecera de página interior ─────────────────────────── */
  .page-hero{
    position:relative;background:var(--navy);background:#0F2D5C;color:var(--white);
    padding-block:72px 80px;overflow:hidden;
  }
  .page-hero::before{
    content:'';position:absolute;top:-160px;right:-140px;width:520px;height:520px;border-radius:50%;
    background:radial-gradient(circle,rgba(245,158,11,.24) 0%,transparent 70%);pointer-events:none;
  }
  .page-hero .container{position:relative;z-index:1}
  .page-hero__inner{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
  .page-hero__title{
    font-size:clamp(2rem,4.2vw,3.1rem);font-weight:900;line-height:1.08;
    letter-spacing:-.02em;margin-bottom:18px;
  }
  .page-hero__title em{font-style:normal;color:var(--amber);color:#F59E0B}
  .page-hero__lead{font-size:1.0625rem;line-height:1.8;color:rgba(255,255,255,.78);max-width:600px}
  .page-hero__actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
  .page-hero__points{
    display:flex;flex-wrap:wrap;gap:10px 20px;margin-top:28px;
    font-size:.875rem;color:rgba(255,255,255,.72);
  }
  .page-hero__points span{display:inline-flex;align-items:center;gap:7px}
  .page-hero__points svg{width:16px;height:16px;fill:var(--amber);flex-shrink:0}

  /* Tarjeta lateral de contacto rápido */
  .quote-card{
    background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);
    border-radius:var(--r-lg);padding:28px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  }
  .quote-card__title{font-size:1.1875rem;font-weight:800;margin-bottom:6px}
  .quote-card__sub{font-size:.875rem;color:rgba(255,255,255,.66);line-height:1.65;margin-bottom:20px}
  .quote-card__row{
    display:flex;align-items:center;gap:12px;padding:13px 15px;margin-bottom:10px;
    border-radius:var(--r-sm);background:rgba(255,255,255,.06);
    font-size:.9375rem;font-weight:600;transition:var(--tr);
  }
  .quote-card__row:hover{background:rgba(255,255,255,.13);-webkit-transform:translateX(3px);transform:translateX(3px)}
  .quote-card__row svg{width:20px;height:20px;fill:var(--amber);flex-shrink:0}
  .quote-card__note{font-size:.75rem;color:rgba(255,255,255,.5);text-align:center;margin-top:14px;line-height:1.6}

  /* ── Bloques de contenido / prosa SEO ────────────────────── */
  .prose{max-width:820px}
  .prose h2{
    font-size:clamp(1.55rem,2.8vw,2.1rem);font-weight:900;color:var(--navy);color:#0F2D5C;
    line-height:1.2;letter-spacing:-.015em;margin:44px 0 16px;
  }
  .prose h2:first-child{margin-top:0}
  .prose h3{font-size:1.1875rem;font-weight:800;color:var(--navy);color:#0F2D5C;margin:30px 0 10px}
  .prose p{font-size:1.0625rem;line-height:1.85;color:var(--gray-600);color:#475569;margin-bottom:16px}
  .prose strong{color:var(--gray-800);color:#1E293B;font-weight:700}
  .prose ul{margin:0 0 20px;display:grid;gap:11px}
  .prose ul li{
    position:relative;padding-left:30px;font-size:1rem;line-height:1.75;
    color:var(--gray-600);color:#475569;
  }
  .prose ul li::before{
    content:'';position:absolute;left:0;top:.5em;width:16px;height:16px;border-radius:50%;
    background:var(--amber-light);background:#FEF3C7;
    box-shadow:inset 0 0 0 4px var(--amber);
  }
  .prose a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}
  .prose a:hover{color:var(--amber-dark)}

  /* ── Rejilla de barrios / zonas ──────────────────────────── */
  .zonas-grid{
    display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:8px;
  }
  .zona-chip{
    display:flex;align-items:center;gap:10px;padding:13px 16px;
    background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-sm);
    font-size:.9375rem;font-weight:600;color:var(--navy);color:#0F2D5C;
    transition:var(--tr);line-height:1.4;
  }
  .zona-chip:hover{
    border-color:var(--amber);box-shadow:var(--sh);
    -webkit-transform:translateY(-2px);transform:translateY(-2px);
  }
  .zona-chip svg{width:17px;height:17px;fill:var(--amber);flex-shrink:0}

  /* ── Tabla de precios orientativos ───────────────────────── */
  .price-table{
    width:100%;border-collapse:collapse;background:var(--white);
    border:1px solid var(--gray-200);border-radius:var(--r-md);overflow:hidden;
    box-shadow:var(--sh);font-size:.9375rem;
  }
  .price-table caption{
    caption-side:bottom;text-align:left;padding-top:12px;
    font-size:.8125rem;color:var(--gray-600);line-height:1.6;
  }
  .price-table th,.price-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--gray-200)}
  .price-table thead th{
    background:var(--navy);background:#0F2D5C;color:var(--white);
    font-weight:700;font-size:.8125rem;letter-spacing:.04em;text-transform:uppercase;
  }
  .price-table tbody tr:last-child td{border-bottom:none}
  .price-table tbody tr:nth-child(even){background:var(--gray-50)}
  .price-table td:last-child{font-weight:800;color:var(--navy);color:#0F2D5C;white-space:nowrap}
  .price-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

  /* ── Enlaces a otros servicios (enlazado interno) ────────── */
  .related-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
  .related-card{
    display:flex;align-items:center;gap:13px;padding:18px 20px;
    background:var(--white);border:1px solid var(--gray-200);border-radius:var(--r-md);
    transition:var(--tr);
  }
  .related-card:hover{
    border-color:var(--amber);box-shadow:var(--sh-md);
    -webkit-transform:translateY(-3px);transform:translateY(-3px);
  }
  .related-card__ico{
    width:40px;height:40px;border-radius:var(--r-sm);flex-shrink:0;
    background:var(--amber-light);background:#FEF3C7;
    display:flex;align-items:center;justify-content:center;
  }
  .related-card__ico svg{width:21px;height:21px;fill:var(--amber-dark)}
  .related-card__title{font-weight:700;font-size:.9375rem;color:var(--navy);color:#0F2D5C;line-height:1.35}
  .related-card__sub{font-size:.8125rem;color:var(--gray-600);margin-top:2px}

  /* ── Aviso urgencias ─────────────────────────────────────── */
  .urgency-box{
    display:flex;gap:18px;align-items:flex-start;padding:24px 26px;
    background:var(--amber-light);background:#FEF3C7;
    border-left:4px solid var(--amber);border-radius:var(--r-md);margin:32px 0;
  }
  .urgency-box svg{width:26px;height:26px;fill:var(--amber-dark);flex-shrink:0;margin-top:2px}
  .urgency-box h3{font-size:1.0625rem;font-weight:800;color:var(--navy);color:#0F2D5C;margin-bottom:6px}
  .urgency-box p{font-size:.9375rem;line-height:1.7;color:var(--gray-800);color:#1E293B;margin:0}

  /* ── Responsive páginas interiores ───────────────────────── */
  @media(max-width:980px){
    .page-hero__inner{grid-template-columns:1fr;gap:36px}
    .quote-card{max-width:520px}
  }
  @media(max-width:768px){
    .page-hero{padding-block:52px 60px}
    .prose h2{margin-top:36px}
    .zonas-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  }
