:root{
      --red:#a7191c;
      --red-2:#c92429;
      --dark:#29292b;
      --muted:#55565a;
      --white:#fff;
      --yellow:#f4ad18;
      --max:1210px;
    }

    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:#fff;
      color:var(--dark);
      font-family:"Poppins", Arial, sans-serif;
      overflow-x:hidden;
    }

    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}

    /* NAV + HERO */
    .hero{
      min-height:784px;
      position:relative;
      overflow:hidden;
      color:#fff;
      background:
        radial-gradient(circle at 88% 18%, rgba(255,255,255,.08), transparent 18%),
        linear-gradient(165deg, #851317 0%, #a0181b 39%, #c5292d 100%);
    }

    .hero::after{
      content:"";
      position:absolute;
      left:0;right:0;bottom:0;
      height:235px;
      background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(230,40,45,.72) 55%, rgba(224,38,44,.95) 100%);
      pointer-events:none;
      z-index:1;
    }

    .hero-nav{
      width:min(var(--max), calc(100% - 72px));
      height:86px;
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:44px;
      position:relative;
      z-index:10;
      font-size:15px;
      font-weight:400;
      letter-spacing:-.2px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:7px;
      font-weight:800;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.2px;
      white-space:nowrap;
    }

    .brand-mark{
      width:21px;
      height:21px;
      position:relative;
      display:inline-block;
    }
    .brand-mark::before,
    .brand-mark::after{
      content:"";
      position:absolute;
      background:#ff4538;
      transform-origin:center;
      border-radius:1px;
    }
    .brand-mark::before{
      width:4px;height:21px;
      left:7px;top:0;
      transform:skew(-28deg);
    }
    .brand-mark::after{
      width:4px;height:21px;
      right:5px;top:0;
      transform:skew(28deg);
    }
    .brand-mark span{
      position:absolute;
      left:7px;bottom:5px;
      width:9px;height:4px;
      background:#ff4538;
      transform:skew(30deg);
      border-radius:1px;
    }

    .nav-links{
      display:flex;
      align-items:center;
      gap:10px;
      white-space:nowrap;
    }
    .nav-links a{
      color:#fff;
      opacity:.98;
    }
    .nav-links .sep{opacity:.9}

    .search-icon{
      width:21px;height:21px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
    }
    .search-icon svg{width:18px;height:18px;stroke:#fff;stroke-width:2;fill:none}

    .top-bubble{
      position:absolute;
      top:28px;
      right:63px;
      width:55px;height:55px;
      background:#fff;
      border-radius:50%;
      z-index:12;
      box-shadow:0 1px 1px rgba(0,0,0,.12);
    }

    .hero-inner{
      width:min(var(--max), calc(100% - 72px));
      margin:0 auto;
      position:relative;
      z-index:4;
      min-height:690px;
      display:flex;
      align-items:center;
    }

    .hero-copy{
      max-width:525px;
      padding-top:30px;
      position:relative;
      z-index:5;
    }

    .hero h1{
      font-family:"Playfair Display", Georgia, serif;
      font-weight:400;
      line-height:.96;
      font-size:clamp(48px, 6vw, 76px);
      letter-spacing:-3.4px;
      margin:0 0 32px;
      color:#fff;
    }

    .hero p{
      font-size:15.5px;
      line-height:1.52;
      max-width:540px;
      margin:0 0 48px;
      color:#fff;
      font-weight:500;
      letter-spacing:-.1px;
    }
    .hero p strong{font-weight:800;font-style:italic}

    .hero-btn{
      display:inline-flex;
      align-items:center;
      justify-content:space-between;
      min-width:216px;
      height:48px;
      padding:0 6px 0 34px;
      border-radius:999px;
      background:#202020;
      color:#fff;
      font-size:15px;
      font-weight:800;
      letter-spacing:.1px;
      box-shadow:0 10px 22px rgba(0,0,0,.14);
    }
    .hero-btn .circle{
      width:38px;height:38px;
      border-radius:50%;
      background:#fff;
      position:relative;
      margin-left:22px;
    }
    .hero-btn .circle::before,
    .hero-btn .circle::after{
      content:"";
      position:absolute;
      width:14px;height:4px;
      background:#ef1e24;
      right:11px;
      border-radius:6px;
    }
    .hero-btn .circle::before{top:13px;transform:rotate(45deg)}
    .hero-btn .circle::after{bottom:13px;transform:rotate(-45deg)}

    .hero-plate{
      position:absolute;
      right:-168px;
      bottom:-35px;
      width:min(58vw, 800px);
      z-index:3;
      filter:drop-shadow(0 28px 42px rgba(0,0,0,.34));
    }
    .hero-plate img{
      width:100%;
      object-fit:contain;
      mix-blend-mode:normal;
    }

    .slider-dots{
      position:absolute;
      left:50%;
      bottom:22px;
      transform:translateX(-50%);
      display:flex;
      gap:10px;
      z-index:10;
    }
    .dot{
      width:24px;height:24px;
      background:#fff;
      border-radius:50%;
      box-shadow:0 1px 1px rgba(0,0,0,.15);
    }
    .dot.active{
      border:3px solid var(--yellow);
      background:#fff;
    }

    .chatbot{
      position:absolute;
      right:74px;
      bottom:25px;
      z-index:12;
      text-align:center;
      color:#fff;
      font-size:9px;
    }
    .chatbot .chat-circle{
      width:55px;height:55px;
      border-radius:50%;
      background:#fff;
      margin:0 auto 8px;
      box-shadow:0 2px 4px rgba(0,0,0,.1);
    }

    /* GENERAL SECTIONS */
    section{
      position:relative;
    }
    .section-head{
      text-align:center;
      width:min(760px, calc(100% - 36px));
      margin:0 auto;
    }
    .eyebrow{
      font-size:25px;
      line-height:1.15;
      margin:0 0 5px;
      font-weight:500;
      letter-spacing:-.8px;
      color:#2a2a2d;
    }
    .section-title{
      margin:0;
      font-weight:800;
      line-height:1.06;
      letter-spacing:-1.25px;
      font-size:clamp(32px,3.2vw,36px);
      color:#2b2b2d;
    }

    /* PRODUCTS */
    .products{
      padding:83px 0 0;
      background:#fff;
    }
    .product-grid{
      width:min(1200px, calc(100% - 72px));
      margin:49px auto 0;
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:28px;
      align-items:start;
    }
    .product-card{
      text-align:center;
    }
    .product-card .image-wrap{
      width:100%;
      aspect-ratio:384/402;
      overflow:hidden;
      background:#f4f4f4;
    }
    .product-card img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:transform .35s ease;
    }
    .product-card:hover img{transform:scale(1.035)}
    .product-card h3{
      margin:18px 0 0;
      font-size:23px;
      line-height:1;
      letter-spacing:-.6px;
      font-weight:800;
      text-transform:uppercase;
      color:#2d2d2f;
    }

    .catalog-btn{
      width:max-content;
      margin:41px auto 0;
      height:37px;
      padding:0 27px;
      display:flex;
      align-items:center;
      justify-content:center;
      background:#252525;
      color:#fff;
      font-size:15px;
      font-weight:800;
      text-transform:uppercase;
      border-radius:0;
      letter-spacing:-.1px;
    }

    /* CHEESECAKE PROMO */
    .cheesecake{
      padding:87px 0 60px;
      background:#fff;
    }
    .cheesecake .section-title{
      font-size:clamp(32px,3.25vw,36px);
    }
    .cheesecake .subline{
      margin:1px 0 0;
      font-size:26px;
      line-height:1.2;
      font-weight:500;
      letter-spacing:-.8px;
    }
    .wide-promo{
      width:min(1174px, calc(100% - 72px));
      height:268px;
      margin:38px auto 0;
      position:relative;
      overflow:hidden;
      background:#111;
    }
    .wide-promo img{
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .wide-promo .promo-button{
      position:absolute;
      left:50%;
      top:50%;
      transform:translate(-50%, -50%);
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:250px;
      min-height:64px;
      padding:18px 28px;
      background:rgba(17,17,17,.88);
      color:#fff;
      font-size:18px;
      font-weight:800;
      letter-spacing:-.2px;
      text-transform:uppercase;
      border:2px solid rgba(255,255,255,.96);
      border-radius:0;
      box-shadow:0 12px 28px rgba(0,0,0,.22);
      text-shadow:none;
      transition:transform .28s ease, background .28s ease, color .28s ease, box-shadow .28s ease;
      z-index:2;
    }
    .wide-promo .promo-button:hover{
      transform:translate(-50%, -50%) scale(1.03);
      background:#fff;
      color:#111;
      box-shadow:0 16px 34px rgba(0,0,0,.28);
    }

    /* EXPERIENCE */
    .experience{
      width:100%;
      min-height:700px;
      margin-top:0;
      overflow:hidden;
      color:#fff;
      background:#111;
    }
    .experience-bg{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
    }
    .experience::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(90deg, rgba(18,18,18,.38) 0%, rgba(18,18,18,.17) 44%, rgba(18,18,18,.02) 100%);
    }
    .experience-content{
      width:min(var(--max), calc(100% - 72px));
      margin:0 auto;
      min-height:700px;
      position:relative;
      z-index:2;
      display:flex;
      flex-direction:column;
      justify-content:center;
      align-items:flex-start;
      padding-left:65px;
      padding-top:2px;
    }
    .experience h2{
      margin:0 0 25px;
      font-size:40px;
      line-height:1;
      font-weight:800;
      letter-spacing:-1.4px;
      text-transform:uppercase;
    }
    .experience p{
      margin:0 0 38px;
      max-width:520px;
      font-size:14.5px;
      line-height:1.25;
      font-weight:400;
    }
    .inline-cta{
      font-size:15px;
      font-weight:800;
      text-transform:uppercase;
      color:#fff;
      letter-spacing:-.2px;
    }

    /* NEWS */
    .news{
      padding:88px 0 71px;
      background:#fff;
    }
    .news .section-head{
      margin-bottom:47px;
    }
    .news .eyebrow{
      font-size:26px;
      margin-bottom:-2px;
    }
    .news .section-title{
      font-size:36px;
    }
    .news .inline-cta{
      display:block;
      width:max-content;
      margin:37px auto 0;
      color:#29292b;
    }

    .news-layout{
      width:min(1283px, calc(100% - 90px));
      margin:0 auto;
      display:grid;
      grid-template-columns: 1.1fr 1fr;
      gap:36px;
      align-items:start;
    }
    .featured-post img{
      width:100%;
      height:264px;
      object-fit:cover;
      margin-bottom:19px;
    }
    .featured-post h3{
      margin:0 0 14px;
      font-size:25px;
      line-height:1.08;
      font-weight:800;
      letter-spacing:-.8px;
      color:#2a2a2c;
      max-width:650px;
      text-wrap:balance;
    }
    .featured-post p,
    .side-post p{
      margin:0;
      font-size:15px;
      line-height:1.25;
      font-weight:600;
      letter-spacing:-.2px;
      color:#2b2b2d;
    }

    .side-grid{
      display:grid;
      grid-template-columns: .95fr .9fr;
      gap:36px;
    }
    .side-images{
      display:grid;
      gap:27px;
    }
    .side-images img{
      width:100%;
      height:236px;
      object-fit:cover;
    }
    .side-text{
      display:grid;
      gap:70px;
      padding-top:20px;
      max-width:270px;
    }
    .side-post h3{
      margin:0 0 12px;
      font-size:24px;
      line-height:1.08;
      letter-spacing:-.7px;
      font-weight:800;
      text-wrap:balance;
    }

    /* FOOTER */
    .site-footer{
      border-top:1px solid #ebebeb;
      padding:67px 0 58px;
      background:#fff;
    }
    .footer-inner{
      width:min(1160px, calc(100% - 72px));
      margin:0 auto;
      display:grid;
      grid-template-columns: 1fr 1.28fr 1.38fr 1.15fr;
      gap:50px;
      align-items:start;
    }
    .footer-col{
      display:flex;
      flex-direction:column;
      gap:7px;
      font-size:22px;
      line-height:1.05;
      font-weight:500;
      letter-spacing:-.8px;
      color:#303033;
    }
    .footer-col a{transition:opacity .25s ease}
    .footer-col a:hover{opacity:.65}
    .social-title,
    .lang-title{
      font-size:22px;
      line-height:1;
      font-weight:600;
      margin:0 0 22px;
      letter-spacing:-.7px;
      color:#303033;
    }
    .socials{
      display:flex;
      gap:17px;
      margin-bottom:43px;
    }
    .socials span{
      display:block;
      width:43px;
      height:43px;
      border-radius:50%;
      background:#28282a;
    }

    @media (max-width: 1024px){
      .hero{
        min-height:720px;
      }
      .hero-nav{
        width:calc(100% - 44px);
        justify-content:space-between;
        gap:16px;
      }
      .nav-links{display:none}
      .top-bubble{right:30px; width:48px; height:48px;}
      .hero-inner{
        width:calc(100% - 44px);
        min-height:620px;
        align-items:flex-start;
        padding-top:125px;
      }
      .hero-copy{max-width:520px}
      .hero h1{font-size:60px}
      .hero-plate{
        width:660px;
        right:-230px;
        bottom:-26px;
        opacity:.92;
      }
      .product-grid{
        width:calc(100% - 44px);
        grid-template-columns:1fr;
        max-width:640px;
      }
      .wide-promo{
        width:calc(100% - 44px);
      }
      .experience-content{
        width:calc(100% - 44px);
        padding-left:0;
      }
      .news-layout{
        width:calc(100% - 44px);
        grid-template-columns:1fr;
      }
      .side-grid{
        grid-template-columns:1fr;
      }
      .side-text{
        max-width:none;
        gap:30px;
        padding-top:0;
      }
      .footer-inner{
        grid-template-columns:1fr 1fr;
      }
    }

    @media (max-width: 640px){
      .hero{
        min-height:720px;
      }
      .hero-nav{
        height:74px;
        font-size:14px;
      }
      .search-icon{display:none}
      .top-bubble{display:none}
      .hero-inner{
        padding-top:68px;
        min-height:630px;
      }
      .hero-copy{
        padding-top:0;
      }
      .hero h1{
        font-size:50px;
        letter-spacing:-2.5px;
        margin-bottom:25px;
      }
      .hero p{
        font-size:14px;
        margin-bottom:32px;
      }
      .hero-btn{
        min-width:198px;
        height:46px;
        padding-left:25px;
      }
      .hero-plate{
        width:560px;
        right:-265px;
        bottom:0;
        opacity:.78;
      }
      .chatbot{right:22px}
      .slider-dots .dot{
        width:18px;
        height:18px;
      }

      .products{
        padding-top:64px;
      }
      .eyebrow{
        font-size:22px;
      }
      .section-title,
      .cheesecake .section-title,
      .news .section-title{
        font-size:30px;
      }
      .product-grid{
        margin-top:34px;
      }
      .cheesecake{
        padding-top:65px;
      }
      .cheesecake .subline{
        font-size:22px;
      }
      .wide-promo{
        height:230px;
      }
      .wide-promo span{
        left:24px;
        bottom:24px;
      }
      .experience{
        min-height:390px;
      }
      .experience-content{
        min-height:390px;
      }
      .experience h2{
        font-size:33px;
      }
      .experience p{
        max-width:330px;
      }
      .news{
        padding-top:65px;
      }
      .featured-post img,
      .side-images img{
        height:230px;
      }
      .featured-post h3,
      .side-post h3{
        font-size:28px;
      }
      .footer-inner{
        grid-template-columns:1fr;
        gap:34px;
      }
      .site-footer{
        padding:46px 0;
      }
      .footer-col{
        font-size:21px;
      }
    }
  

    /* PORTADA PULIDA - reemplazada con el HTML nuevo */
    .nh-hero{
      min-height:784px;
      position:relative;
      overflow:hidden;
      color:#fff;
      background:
        radial-gradient(circle at 88% 18%, rgba(255,255,255,.08), transparent 18%),
        linear-gradient(165deg, #851317 0%, #a0181b 39%, #c5292d 100%);
      isolation:isolate;
    }
    .nh-hero::after{
      content:"";
      position:absolute;
      left:0;right:0;bottom:0;
      height:235px;
      background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(230,40,45,.72) 55%, rgba(224,38,44,.95) 100%);
      pointer-events:none;
      z-index:1;
    }
    .nh-hero-nav{
      width:min(var(--max), calc(100% - 72px));
      height:86px;
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:center;
      gap:44px;
      position:relative;
      z-index:10;
      font-size:15px;
      font-weight:400;
      letter-spacing:-.2px;
    }
    .nh-brand{
      display:flex;
      align-items:center;
      gap:7px;
      font-weight:800;
      font-size:12px;
      text-transform:uppercase;
      letter-spacing:.2px;
      white-space:nowrap;
    }
    .nh-brand-mark{
      width:21px;
      height:21px;
      position:relative;
      display:inline-block;
    }
    .nh-brand-mark::before,
    .nh-brand-mark::after{
      content:"";
      position:absolute;
      background:#ff4538;
      transform-origin:center;
      border-radius:1px;
    }
    .nh-brand-mark::before{width:4px;height:21px;left:7px;top:0;transform:skew(-28deg)}
    .nh-brand-mark::after{width:4px;height:21px;right:5px;top:0;transform:skew(28deg)}
    .nh-brand-mark span{position:absolute;left:7px;bottom:5px;width:9px;height:4px;background:#ff4538;transform:skew(30deg);border-radius:1px}
    .nh-nav-links{display:flex;align-items:center;gap:10px;white-space:nowrap}
    .nh-nav-links a{color:#fff;opacity:.98}
    .nh-nav-links .sep{opacity:.9}
    .nh-search-icon{width:21px;height:21px;display:inline-flex;align-items:center;justify-content:center}
    .nh-search-icon svg{width:18px;height:18px;stroke:#fff;stroke-width:2;fill:none}
    .nh-top-bubble{
      position:absolute;
      top:28px;
      right:63px;
      width:55px;height:55px;
      background:#fff;
      border-radius:50%;
      z-index:12;
      box-shadow:0 1px 1px rgba(0,0,0,.12);
    }
    .nh-hero-inner{
      width:min(var(--max), calc(100% - 72px));
      margin:0 auto;
      position:relative;
      z-index:4;
      min-height:690px;
      display:flex;
      align-items:center;
    }
    .nh-hero-copy{max-width:525px;padding-top:30px;position:relative;z-index:5}
    .nh-hero-copy h1{
      font-family:"Playfair Display", Georgia, serif;
      font-weight:400;
      line-height:.96;
      font-size:clamp(48px, 6vw, 76px);
      letter-spacing:-3.4px;
      margin:0 0 32px;
      color:#fff;
    }
    .nh-hero-copy p{
      font-size:15.5px;
      line-height:1.52;
      max-width:540px;
      margin:0 0 48px;
      color:#fff;
      font-weight:500;
      letter-spacing:-.1px;
    }
    .nh-hero-copy p strong{font-weight:800;font-style:italic}
    .nh-hero-btn{
      display:inline-flex;
      align-items:center;
      justify-content:space-between;
      min-width:216px;
      height:48px;
      padding:0 6px 0 34px;
      border-radius:999px;
      background:#202020;
      color:#fff;
      font-size:15px;
      font-weight:800;
      letter-spacing:.1px;
      box-shadow:0 10px 22px rgba(0,0,0,.14);
      transition:.25s ease;
    }
    .nh-hero-btn:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(0,0,0,.20)}
    .nh-hero-btn .circle{
      width:38px;height:38px;
      border-radius:50%;
      background:#fff;
      position:relative;
      margin-left:22px;
    }
    .nh-hero-btn .circle::before,
    .nh-hero-btn .circle::after{
      content:"";
      position:absolute;
      width:14px;height:4px;
      background:#ef1e24;
      right:11px;
      border-radius:6px;
    }
    .nh-hero-btn .circle::before{top:13px;transform:rotate(45deg)}
    .nh-hero-btn .circle::after{bottom:13px;transform:rotate(-45deg)}
    .nh-hero-plate{
      position:absolute;
      right:-95px;
      bottom:-16px;
      width:min(980px,72vw);
      z-index:2;
      margin:0;
      filter:drop-shadow(0 26px 38px rgba(0,0,0,.23));
    }
    .nh-hero-plate img{width:100%;height:auto;display:block}
    .nh-slider-dots{
      position:absolute;
      left:50%;
      bottom:22px;
      transform:translateX(-50%);
      display:flex;
      gap:12px;
      z-index:13;
    }
    .nh-dot{width:24px;height:24px;border-radius:50%;background:#fff;border:0;box-shadow:0 2px 7px rgba(0,0,0,.14)}
    .nh-dot.active{border:3px solid var(--yellow);background:#fff}
    .nh-chatbot{
      position:absolute;
      right:75px;
      bottom:18px;
      z-index:14;
      display:grid;
      justify-items:center;
      gap:6px;
      color:#fff;
      font-size:9px;
      font-weight:400;
    }
    .nh-chat-circle{width:54px;height:54px;border-radius:50%;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.1)}

    @media (max-width:980px){
      .nh-hero{min-height:760px}
      .nh-hero-nav{justify-content:flex-start;width:min(var(--max),calc(100% - 36px));gap:24px}
      .nh-nav-links{display:none}
      .nh-top-bubble{right:24px;width:48px;height:48px}
      .nh-hero-inner{width:min(var(--max),calc(100% - 36px));min-height:650px;align-items:flex-start;padding-top:90px}
      .nh-hero-copy{max-width:560px}
      .nh-hero-plate{right:-210px;width:980px;max-width:none;bottom:-10px}
      .nh-chatbot{right:24px}
    }
    @media (max-width:640px){
      .nh-hero{min-height:760px}
      .nh-hero::after{height:230px}
      .nh-hero-nav{height:74px}
      .nh-search-icon{display:none}
      .nh-top-bubble{top:20px;right:18px;width:45px;height:45px}
      .nh-hero-inner{width:calc(100% - 28px);min-height:680px;padding-top:62px}
      .nh-hero-copy h1{font-size:56px;letter-spacing:-2.2px;margin-bottom:24px}
      .nh-hero-copy p{font-size:14px;max-width:95%;margin-bottom:34px}
      .nh-hero-btn{min-width:196px;height:46px;padding-left:26px;font-size:14px}
      .nh-hero-plate{right:-320px;bottom:10px;width:830px}
      .nh-slider-dots{bottom:18px}
      .nh-dot{width:18px;height:18px}
      .nh-chatbot{right:18px;bottom:16px}
      .nh-chat-circle{width:50px;height:50px}
    }

  

    /* HERO CARRUSEL PULIDO */
    .ae-hero{
      position:relative;
      min-height:760px;
      background:#140f0f;
      overflow:hidden;
      color:#fff;
    }
    .ae-nav{
      position:absolute;
      top:0;
      left:0;
      right:0;
      z-index:20;
      width:min(var(--max), calc(100% - 56px));
      margin:0 auto;
      height:92px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }
    .ae-brand{
      font-size:34px;
      line-height:1;
      font-weight:800;
      letter-spacing:-1.2px;
      color:#fff;
      white-space:nowrap;
    }
    .ae-links{
      display:flex;
      align-items:center;
      gap:26px;
      font-size:14px;
      font-weight:600;
    }
    .ae-links a{opacity:.92; transition:opacity .25s ease}
    .ae-links a:hover{opacity:1}
    .ae-nav-cta{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:146px;
      height:44px;
      padding:0 18px;
      border-radius:999px;
      border:1px solid rgba(255,255,255,.28);
      background:rgba(255,255,255,.10);
      backdrop-filter:blur(10px);
      font-size:13px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.3px;
      white-space:nowrap;
    }
    .ae-carousel{
      position:relative;
      min-height:760px;
    }
    .ae-slide{
      position:absolute;
      inset:0;
      padding-top:92px;
      display:flex;
      align-items:center;
      background-size:cover;
      background-position:center center;
      opacity:0;
      visibility:hidden;
      transition:opacity .75s ease, visibility .75s ease, transform .75s ease;
      transform:scale(1.02);
    }
    .ae-slide.active{
      opacity:1;
      visibility:visible;
      transform:scale(1);
    }
    .ae-content{
      width:min(var(--max), calc(100% - 56px));
      margin:0 auto;
      position:relative;
      z-index:2;
      padding:94px 0 124px;
    }
    .ae-kicker{
      display:inline-flex;
      align-items:center;
      gap:8px;
      margin-bottom:18px;
      padding:10px 16px;
      border-radius:999px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.16);
      backdrop-filter:blur(10px);
      font-size:13px;
      font-weight:700;
      text-transform:uppercase;
      letter-spacing:.45px;
    }
    .ae-content h1{
      margin:0 0 18px;
      max-width:640px;
      font-size:64px;
      line-height:.98;
      letter-spacing:-2.2px;
      font-weight:800;
      text-wrap:balance;
    }
    .ae-content p{
      margin:0;
      max-width:590px;
      font-size:18px;
      line-height:1.55;
      color:rgba(255,255,255,.90);
    }
    .ae-actions{
      display:flex;
      flex-wrap:wrap;
      gap:14px;
      margin-top:30px;
    }
    .ae-primary,
    .ae-secondary{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      min-width:168px;
      height:54px;
      padding:0 22px;
      border-radius:999px;
      font-size:14px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.35px;
      transition:transform .25s ease, background .25s ease, border-color .25s ease;
    }
    .ae-primary{
      background:#fff;
      color:#1a1a1a;
    }
    .ae-secondary{
      background:rgba(255,255,255,.08);
      color:#fff;
      border:1px solid rgba(255,255,255,.22);
      backdrop-filter:blur(8px);
    }
    .ae-primary:hover,
    .ae-secondary:hover{transform:translateY(-2px)}
    .ae-controls{
      position:absolute;
      left:0;
      right:0;
      bottom:36px;
      z-index:20;
      width:min(var(--max), calc(100% - 56px));
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
    }
    .ae-arrow{
      width:50px;
      height:50px;
      border:none;
      border-radius:50%;
      background:rgba(255,255,255,.12);
      color:#fff;
      backdrop-filter:blur(10px);
      font-size:22px;
      cursor:pointer;
      transition:background .25s ease, transform .25s ease;
    }
    .ae-arrow:hover{background:rgba(255,255,255,.20); transform:translateY(-2px)}
    .ae-dots{
      display:flex;
      align-items:center;
      gap:10px;
      justify-content:center;
      flex:1;
    }
    .ae-dot{
      width:12px;
      height:12px;
      border:none;
      border-radius:50%;
      background:rgba(255,255,255,.35);
      cursor:pointer;
      transition:all .25s ease;
    }
    .ae-dot.active{
      width:34px;
      border-radius:999px;
      background:#fff;
    }

    /* AJUSTES VISUALES */
    .wide-promo img{filter:saturate(1.02) contrast(1.03)}
    .wide-promo span{
      left:32px;
      bottom:26px;
      padding:10px 18px;
      border-radius:999px;
      background:rgba(0,0,0,.48);
      color:#fff;
      font-size:20px;
      font-weight:800;
      letter-spacing:-.3px;
      text-shadow:none;
      box-shadow:0 12px 28px rgba(0,0,0,.16);
      backdrop-filter:blur(8px);
    }
    .experience::after{
      background:linear-gradient(90deg, rgba(18,18,18,.60) 0%, rgba(18,18,18,.28) 48%, rgba(18,18,18,.05) 100%);
    }
    .experience-content{
      padding-left:48px;
      gap:0;
    }
    .experience h2{
      max-width:520px;
      margin:0 0 20px;
      line-height:1.02;
      text-shadow:0 8px 24px rgba(0,0,0,.22);
    }
    .experience p{
      margin:0 0 28px;
      max-width:470px;
      font-size:16px;
      line-height:1.45;
      color:rgba(255,255,255,.94);
      text-shadow:0 8px 22px rgba(0,0,0,.18);
    }
    .inline-cta{
      text-decoration:underline;
      text-underline-offset:5px;
      text-decoration-thickness:2px;
      text-decoration-color:currentColor;
    }

    /* REDES SOCIALES */
    .socials{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:center;
    }
    .social-link{
      width:44px;
      height:44px;
      border-radius:50%;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      border:1px solid rgba(255,255,255,.18);
      background:rgba(255,255,255,.08);
      color:#fff;
      transition:transform .25s ease, background .25s ease, border-color .25s ease;
    }
    .social-link:hover{
      transform:translateY(-2px);
      background:rgba(255,255,255,.16);
      border-color:rgba(255,255,255,.28);
    }
    .social-link svg{
      width:19px;
      height:19px;
      fill:currentColor;
      stroke:none;
      display:block;
    }

    @media (max-width: 980px){
      .ae-hero,.ae-carousel{min-height:700px}
      .ae-nav{width:calc(100% - 40px); height:84px}
      .ae-content{width:calc(100% - 40px); padding:88px 0 118px}
      .ae-controls{width:calc(100% - 40px)}
      .ae-content h1{font-size:54px; max-width:560px}
      .ae-content p{font-size:17px; max-width:540px}
      .ae-links{gap:18px; font-size:13px}
    }
    @media (max-width: 760px){
      .ae-hero,.ae-carousel{min-height:760px}
      .ae-nav{
        width:calc(100% - 28px);
        height:auto;
        padding-top:18px;
        flex-wrap:wrap;
        justify-content:center;
        gap:14px;
      }
      .ae-brand{font-size:28px; width:100%; text-align:center}
      .ae-links{
        width:100%;
        justify-content:center;
        flex-wrap:wrap;
        gap:14px;
        font-size:12px;
      }
      .ae-nav-cta{display:none}
      .ae-content{
        width:calc(100% - 28px);
        padding:150px 0 112px;
      }
      .ae-content h1{font-size:42px; max-width:420px}
      .ae-content p{font-size:15px; max-width:430px}
      .ae-actions{gap:10px}
      .ae-primary,.ae-secondary{
        min-width:154px;
        height:50px;
        font-size:12px;
      }
      .ae-controls{
        width:calc(100% - 28px);
        bottom:24px;
        gap:12px;
      }
      .ae-arrow{width:44px; height:44px; font-size:18px}
      .wide-promo span{left:20px; right:20px; bottom:18px; width:max-content; max-width:calc(100% - 40px); font-size:18px}
      .experience-content{padding-left:0}
      .experience h2{font-size:34px}
      .experience p{font-size:15px; max-width:360px}
      .social-link{width:40px;height:40px}
    }

  

    /* AJUSTES FINALES SOLICITADOS */
    .ae-hero,
    .ae-carousel,
    .ae-slide{
      min-height:100vh;
      min-height:100svh;
      height:100vh;
      height:100svh;
    }
    .ae-slide{
      background-size:cover, contain !important;
      background-repeat:no-repeat, no-repeat !important;
      background-position:center center, center center !important;
      background-color:#121212;
    }
    .ae-content{
      padding-top:92px;
      padding-bottom:112px;
    }
    .site-footer .social-link{
      background:#28282a !important;
      color:#fff !important;
      border-color:#28282a !important;
      box-shadow:0 8px 18px rgba(0,0,0,.10);
    }
    .site-footer .social-link:hover{
      background:#111 !important;
      border-color:#111 !important;
      transform:translateY(-2px);
    }
    .site-footer .social-link svg,
    .site-footer .social-link svg path{
      fill:currentColor !important;
      color:inherit !important;
    }
    .wide-promo span{
      left:30px !important;
      bottom:24px !important;
      font-size:19px !important;
      line-height:1 !important;
      transform:none !important;
      filter:none !important;
    }
    .experience-content{
      padding-left:65px;
      max-width:var(--max);
    }
    .experience h2,
    .experience p,
    .experience .inline-cta{
      position:relative;
      z-index:3;
    }

    @media (max-width:760px){
      .ae-hero,
      .ae-carousel,
      .ae-slide{
        min-height:100vh;
        min-height:100svh;
        height:100vh;
        height:100svh;
      }
      .ae-slide{
        background-size:cover, cover !important;
        background-position:center center, center center !important;
      }
      .ae-content{
        padding-top:150px;
        padding-bottom:110px;
      }
      .experience-content{
        padding-left:0;
      }
      .wide-promo span{
        left:20px !important;
        bottom:18px !important;
        font-size:17px !important;
      }
    }

  

    /* FIX HERO FULL BLEED SIN BORDES */
    html, body{
      width:100%;
      max-width:100%;
      overflow-x:hidden;
    }
    body > .ae-hero{
      width:100vw;
      margin-left:calc(50% - 50vw);
      margin-right:calc(50% - 50vw);
    }
    .ae-hero,
    .ae-carousel,
    .ae-slide{
      width:100%;
    }
    .ae-hero,
    .ae-carousel{
      min-height:100vh;
    }
    .ae-slide{
      min-height:100vh;
      background-repeat:no-repeat !important;
      background-size:cover !important;
      background-position:center center !important;
      background-color:#8c0e12;
    }

  

    /* NOSOTROS: MISMO HEADER Y FOOTER QUE INICIO */
    #route-nosotros .about-site-header{
      position:relative;
      width:100%;
      min-height:96px;
      background:#fff;
      color:#29292b;
      z-index:10;
      border-bottom:1px solid rgba(0,0,0,.08);
    }
    #route-nosotros .about-site-header .ae-nav{
      position:relative;
      height:96px;
      width:min(var(--max), calc(100% - 56px));
      margin:0 auto;
      color:#29292b;
    }
    #route-nosotros .about-site-header .ae-links a,
    #route-nosotros .about-site-header .ae-brand,
    #route-nosotros .about-site-header .ae-nav-cta{
      color:#29292b;
    }
    #route-nosotros .about-site-header .ae-nav-cta{
      border-color:rgba(0,0,0,.18);
      background:rgba(0,0,0,.04);
    }
    #route-nosotros .site-footer{
      margin-top:0;
    }
    #route-nosotros .values-strip{
      display:none !important;
    }
    @media (max-width:760px){
      #route-nosotros .about-site-header{min-height:150px;}
      #route-nosotros .about-site-header .ae-nav{
        width:calc(100% - 28px);
        height:auto;
        padding:18px 0 20px;
      }
    }

/* ---- CSS block separator ---- */

:root {
      --dark:#29292b;
      --muted:#5b5b5f;
      --line:#ececec;
      --cream:#faf8f3;
      --max:1180px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      background:#fff;
      color:var(--dark);
      font-family:"Poppins", Arial, sans-serif;
      overflow-x:hidden;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}

    .topbar{
      position:sticky;
      top:0;
      z-index:50;
      height:76px;
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(12px);
      border-bottom:1px solid var(--line);
    }
    .topbar-inner{
      width:min(var(--max), calc(100% - 48px));
      height:100%;
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:28px;
    }
    .brand{font-size:30px;font-weight:800;letter-spacing:-1px}
    .nav{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:700}
    .nav a{opacity:.78;transition:opacity .25s ease}
    .nav a:hover,.nav a.active{opacity:1}
    .nav-cta{
      min-width:132px;
      height:42px;
      border:1px solid #222;
      border-radius:999px;
      display:inline-flex;
      align-items:center;
      justify-content:center;
      padding:0 18px;
      font-size:12px;
      font-weight:800;
      text-transform:uppercase;
    }

    .about-page{
      min-height:calc(100vh - 76px);
      display:grid;
      grid-template-columns: 40% 60%;
      border-bottom:1px solid var(--line);
    }
    .story-tabs{
      display:grid;
      grid-template-rows:1fr 1fr 1fr;
      min-height:calc(100vh - 76px);
      background:#111;
    }
    .story-card{
      position:relative;
      overflow:hidden;
      display:flex;
      align-items:center;
      padding:42px 56px;
      color:#fff;
      isolation:isolate;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    .story-card:last-child{border-bottom:0}
    .story-card img{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      filter:grayscale(1) contrast(1.05);
      opacity:.70;
      transition:transform .55s ease, opacity .55s ease;
      z-index:-2;
    }
    .story-card::after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(90deg, rgba(0,0,0,.62), rgba(0,0,0,.18));
      z-index:-1;
    }
    .story-card:hover img{transform:scale(1.04); opacity:.82}
    .story-copy h2{
      margin:0 0 22px;
      font-size:31px;
      line-height:1;
      font-weight:800;
      letter-spacing:-1px;
    }
    .story-link{
      font-size:13px;
      font-weight:800;
      text-transform:uppercase;
      letter-spacing:.2px;
      padding-bottom:4px;
      border-bottom:2px solid rgba(255,255,255,.75);
    }

    .about-content{
      padding:54px clamp(32px, 5vw, 78px) 58px;
      display:flex;
      flex-direction:column;
      justify-content:flex-start;
      min-height:calc(100vh - 76px);
      background:#fff;
    }
    .about-content h1{
      margin:0 0 22px;
      font-size:35px;
      line-height:1.05;
      font-weight:800;
      letter-spacing:-1.2px;
    }
    .about-content p{
      margin:0;
      max-width:720px;
      color:#55565a;
      font-size:13.5px;
      line-height:1.52;
    }
    .about-image{
      margin:24px 0 26px;
      width:100%;
      height:330px;
      overflow:hidden;
      background:#eee;
    }
    .about-image img{
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:center;
    }
    .more-link{
      margin-top:auto;
      padding-top:34px;
      font-weight:800;
      font-size:15px;
      width:max-content;
      transition:transform .25s ease;
    }
    .more-link:hover{transform:translateX(4px)}

    .values-strip{
      padding:74px 0;
      background:var(--cream);
    }
    .values-inner{
      width:min(var(--max), calc(100% - 48px));
      margin:0 auto;
      display:grid;
      grid-template-columns:repeat(3, 1fr);
      gap:22px;
    }
    .value-box{
      background:#fff;
      border:1px solid var(--line);
      padding:28px;
      min-height:160px;
    }
    .value-box span{
      display:block;
      font-size:12px;
      font-weight:800;
      letter-spacing:.4px;
      text-transform:uppercase;
      color:#999;
      margin-bottom:12px;
    }
    .value-box h3{
      margin:0 0 10px;
      font-size:22px;
      line-height:1.1;
      letter-spacing:-.6px;
    }
    .value-box p{
      margin:0;
      font-size:13px;
      color:var(--muted);
      line-height:1.55;
    }

    footer{
      padding:38px 0;
      background:#191919;
      color:#fff;
    }
    .footer-inner{
      width:min(var(--max), calc(100% - 48px));
      margin:0 auto;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:20px;
      font-size:13px;
      color:rgba(255,255,255,.75);
    }

    @media (max-width: 980px){
      .about-page{grid-template-columns:1fr}
      .story-tabs{min-height:auto; grid-template-rows:none; grid-template-columns:1fr}
      .story-card{min-height:260px}
      .about-content{min-height:auto}
      .values-inner{grid-template-columns:1fr}
      .nav{gap:14px; font-size:12px}
      .nav-cta{display:none}
    }
    @media (max-width: 640px){
      .topbar{height:auto}
      .topbar-inner{width:calc(100% - 28px); padding:18px 0; flex-direction:column}
      .nav{flex-wrap:wrap; justify-content:center}
      .about-content{padding:38px 22px 44px}
      .about-content h1{font-size:31px}
      .about-image{height:240px}
      .story-card{padding:34px 28px; min-height:230px}
      .story-copy h2{font-size:28px}
      .footer-inner{width:calc(100% - 28px); flex-direction:column; text-align:center}
    }

/* ---- CSS block separator ---- */

/* ROUTER EN UN SOLO HTML: HOME + SUBPÁGINA NOSOTROS */
    .route-page{display:block;}
    .route-page.is-hidden{display:none !important;}
    #route-nosotros{min-height:100vh;background:#fff;color:#2b2b2d;}
    #route-nosotros .about-nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 1px 0 rgba(0,0,0,.06);}
    #route-nosotros .about-nav a{cursor:pointer;}

/* ---- CSS block separator ---- */

/* CSS ASTURIAS EXPERIENCE SUBPAGINA */

    :root{
      --dark:#29292b;
      --muted:#55565a;
      --gold:#d8a628;
      --max:1210px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;background:#fff;color:var(--dark);font-family:"Poppins",Arial,sans-serif;overflow-x:hidden}
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}

    .experience-hero{position:relative;min-height:705px;color:#fff;overflow:hidden;background:#080808}
    .experience-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.80),rgba(0,0,0,.42) 42%,rgba(0,0,0,.15)),url('../images/img_001_431381db274b.webp');background-size:cover;background-position:center center;transform:scale(1.01)}
    .experience-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:160px;background:linear-gradient(0deg,rgba(0,0,0,.38),transparent);pointer-events:none}

    .site-nav{position:absolute;top:0;left:0;right:0;z-index:10;width:min(var(--max),calc(100% - 72px));height:78px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:38px;color:#fff;font-size:14px;font-weight:500}
    .brand{position:absolute;left:0;display:flex;align-items:center;gap:7px;font-weight:800;font-size:13px;text-transform:uppercase}
    .brand-mark{width:22px;height:22px;position:relative;display:inline-block}
    .brand-mark::before,.brand-mark::after{content:"";position:absolute;top:0;width:4px;height:21px;background:#ff3a32;border-radius:1px;transform-origin:center}
    .brand-mark::before{left:7px;transform:skew(-28deg)}
    .brand-mark::after{right:5px;transform:skew(28deg)}
    .brand-mark span{position:absolute;left:7px;bottom:5px;width:9px;height:4px;background:#ff3a32;transform:skew(30deg);border-radius:1px}
    .nav-links{display:flex;align-items:center;gap:12px}
    .nav-links a{opacity:.96}
    .search-icon{position:absolute;right:0;width:22px;height:22px;display:grid;place-items:center}
    .search-icon svg{width:18px;height:18px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}

    .hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 72px));min-height:705px;margin:0 auto;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:54px}
    .hero-content h1{margin:0 0 38px;max-width:640px;font-family:"Playfair Display",serif;font-weight:400;font-size:62px;line-height:.95;letter-spacing:-2px}
    .hero-content h1 span{display:block;color:var(--gold)}
    .hero-content p{margin:0 0 58px;max-width:545px;font-size:14px;line-height:1.55;color:rgba(255,255,255,.92)}
    .hero-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-width:210px;height:58px;padding:0 10px 0 31px;border-radius:999px;background:#232323;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.2px;box-shadow:0 20px 36px rgba(0,0,0,.20)}
    .hero-btn .circle{width:42px;height:42px;border-radius:50%;background:#fff;position:relative}
    .hero-btn .circle::before,.hero-btn .circle::after{content:"";position:absolute;left:15px;width:12px;height:3px;border-radius:3px;background:#ed2c23}
    .hero-btn .circle::before{top:16px;transform:rotate(45deg)}
    .hero-btn .circle::after{top:23px;transform:rotate(-45deg)}
    .chatbot{position:absolute;right:54px;bottom:28px;z-index:5;text-align:center;font-size:10px;color:#fff}
    .chatbot-circle{width:56px;height:56px;border-radius:50%;background:#fff;margin-bottom:8px;box-shadow:0 14px 34px rgba(0,0,0,.22)}

    .intro{padding:54px 18px 62px;background:#fff;text-align:center}
    .intro .eyebrow{margin:0 0 9px;font-size:22px;font-weight:600}
    .intro h2{margin:0 auto;max-width:760px;font-size:34px;line-height:1.08;font-weight:800;letter-spacing:-.8px;text-wrap:balance}

    .experience-grid{display:grid;grid-template-columns:repeat(3,1fr);width:100%;background:#111}
    .exp-card{min-height:265px;position:relative;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;background-size:cover;background-position:center;overflow:hidden}
    .exp-card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.18);transition:background .28s ease}
    .exp-card:hover::after{background:rgba(0,0,0,.08)}
    .exp-card div{position:relative;z-index:2;padding:24px}
    .exp-card h3{margin:0 0 22px;font-size:30px;line-height:1.05;font-weight:800;letter-spacing:-.8px;text-shadow:0 8px 18px rgba(0,0,0,.25)}
    .exp-card span{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.1px}
    .exp-card.wide{grid-column:span 1.5}
    .experience-grid .exp-card:nth-child(4){grid-column:1 / span 2}
    .experience-grid .exp-card:nth-child(5){grid-column:3 / span 1}

    .site-footer{background:#fff;padding:64px 0 54px}
    .footer-inner{width:min(var(--max),calc(100% - 72px));margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:60px;align-items:start}
    .footer-col{display:flex;flex-direction:column;gap:7px;font-size:21px;line-height:1.15;font-weight:400;letter-spacing:-.5px}
    .footer-col a:hover{text-decoration:underline;text-underline-offset:4px}
    .social-title,.lang-title{margin:0 0 18px;font-size:21px;letter-spacing:-.5px}
    .lang-title{margin-top:34px}
    .socials{display:flex;gap:14px;flex-wrap:wrap;align-items:center}
    .social-link{width:46px;height:46px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#262628;color:#fff;transition:transform .25s ease,background .25s ease}
    .social-link:hover{transform:translateY(-2px);background:#111}
    .social-link svg{width:20px;height:20px;fill:currentColor;display:block}

    @media(max-width:900px){
      .site-nav{width:calc(100% - 34px);height:auto;padding-top:22px;justify-content:center;flex-wrap:wrap;gap:14px}
      .brand,.search-icon{position:static}
      .brand{width:100%;justify-content:center}
      .nav-links{width:100%;justify-content:center;flex-wrap:wrap;font-size:13px}
      .hero-content{width:calc(100% - 34px);min-height:700px;padding-top:110px}
      .hero-content h1{font-size:48px}
      .experience-grid{grid-template-columns:1fr}
      .experience-grid .exp-card:nth-child(4),.experience-grid .exp-card:nth-child(5){grid-column:auto}
      .footer-inner{width:calc(100% - 44px);grid-template-columns:1fr 1fr;gap:38px}
      .footer-col,.social-title,.lang-title{font-size:18px}
    }
    @media(max-width:560px){
      .hero-content h1{font-size:40px}
      .intro h2{font-size:27px}
      .footer-inner{grid-template-columns:1fr}
    }
  

/* FIX UN SOLO HTML: rutas y grid inferior 50/50 */
.route-page.is-hidden{display:none!important;}
#route-experience .experience-grid{display:grid!important;grid-template-columns:repeat(6,1fr)!important;width:100%!important;}
#route-experience .experience-grid .exp-card:nth-child(1),
#route-experience .experience-grid .exp-card:nth-child(2),
#route-experience .experience-grid .exp-card:nth-child(3){grid-column:span 2!important;}
#route-experience .experience-grid .exp-card:nth-child(4),
#route-experience .experience-grid .exp-card:nth-child(5){grid-column:span 3!important;}
@media (max-width:900px){#route-experience .experience-grid{grid-template-columns:1fr!important;}#route-experience .experience-grid .exp-card{grid-column:1 / -1!important;min-height:245px;}}

/* ---- CSS block separator ---- */

/* CONTACTO SUBPÁGINA INTEGRADA */
#route-contacto{background:#fff;color:#29292b;min-height:100vh;}
#route-contacto .contact-hero{position:relative;min-height:705px;color:#fff;overflow:hidden;background:#111;}
#route-contacto .contact-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.40) 43%,rgba(0,0,0,.10)),url('../images/img_002_1e53463a3145.webp');background-size:cover;background-position:center center;z-index:0;}
#route-contacto .site-nav{position:relative;z-index:3;width:min(var(--max),calc(100% - 72px));height:86px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:44px;color:#fff;}
#route-contacto .site-nav .brand{font-size:12px;font-weight:800;display:flex;align-items:center;gap:7px;white-space:nowrap;}
#route-contacto .site-nav .nav-links{display:flex;align-items:center;gap:10px;white-space:nowrap;font-size:15px;font-weight:500;}
#route-contacto .site-nav .nav-links a,#route-contacto .site-nav .nav-links span{color:#fff;opacity:.98;}
#route-contacto .site-nav .search-icon svg{stroke:#fff;fill:none;}
#route-contacto .contact-hero-content{position:relative;z-index:2;width:min(var(--max),calc(100% - 72px));margin:0 auto;min-height:560px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-left:64px;}
#route-contacto .contact-hero-content h1{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:clamp(52px,6vw,78px);line-height:.94;letter-spacing:-3px;margin:0 0 38px;color:#fff;}
#route-contacto .contact-hero-content h1 span{display:block;color:#e0ad22;}
#route-contacto .contact-hero-content p{font-size:15px;line-height:1.55;max-width:540px;margin:0 0 42px;color:#fff;font-weight:500;}
#route-contacto .contact-main{background:#fff;}
#route-contacto .contact-form-section{width:min(860px,calc(100% - 72px));margin:0 auto;padding:38px 0 54px;text-align:center;}
#route-contacto .contact-form-intro{margin:0 auto 28px;max-width:620px;color:#606064;font-size:13px;line-height:1.35;}
#route-contacto .contact-form{text-align:left;display:grid;gap:12px;}
#route-contacto .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:end;}
#route-contacto label{display:block;font-size:13px;color:#55565a;margin-bottom:5px;}
#route-contacto input,#route-contacto textarea{width:100%;border:1.5px solid #29292b;background:#f7f7f7;height:28px;padding:5px 8px;font:inherit;font-size:13px;outline:none;}
#route-contacto textarea{height:78px;resize:vertical;}
#route-contacto .privacy-line{display:flex;align-items:center;gap:12px;font-size:12px;color:#55565a;margin:3px 0 2px;}
#route-contacto .privacy-line input{width:18px;height:18px;padding:0;}
#route-contacto .privacy-line a{font-weight:800;text-decoration:underline;color:#29292b;}
#route-contacto .contact-submit{width:max-content;background:#252525;color:#fff;border:0;height:31px;padding:0 22px;font-size:13px;font-weight:800;text-transform:uppercase;cursor:pointer;}
#route-contacto .contact-actions{width:min(860px,calc(100% - 72px));margin:12px auto 36px;display:grid;grid-template-columns:1fr 1fr;gap:32px 70px;}
#route-contacto .contact-card{position:relative;min-height:180px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden;background:#111;isolation:isolate;}
#route-contacto .contact-card::before{content:"";position:absolute;inset:0;background-image:var(--img);background-size:cover;background-position:center;z-index:-2;filter:saturate(.92);}
#route-contacto .contact-card::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.40);z-index:-1;}
#route-contacto .contact-card h3{margin:0 0 18px;font-size:27px;line-height:1.05;font-weight:800;letter-spacing:-.8px;text-wrap:balance;}
#route-contacto .contact-card span{font-size:13px;font-weight:800;text-transform:uppercase;}
#route-contacto .contact-info{width:min(860px,calc(100% - 72px));margin:0 auto 54px;display:grid;grid-template-columns:1fr 1fr;gap:70px;color:#303033;}
#route-contacto .contact-info h4{margin:0 0 10px;font-size:14px;line-height:1;font-weight:800;text-transform:uppercase;}
#route-contacto .contact-info p{margin:0 0 22px;font-size:13px;line-height:1.35;color:#55565a;}
#route-contacto .schedule-grid{display:grid;grid-template-columns:110px 1fr;gap:2px 18px;font-size:13px;color:#55565a;}
#route-contacto .contact-socials{display:flex;gap:12px;margin:8px 0 28px;}
#route-contacto .contact-socials a{width:31px;height:31px;border-radius:50%;background:#28282a;display:inline-flex;align-items:center;justify-content:center;color:#fff;}
#route-contacto .contact-socials svg{width:15px;height:15px;fill:currentColor;}
#route-contacto .contact-channels{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:22px;}
#route-contacto .chatbot{position:absolute;right:74px;bottom:22px;z-index:5;text-align:center;color:#fff;font-size:9px;}
#route-contacto .chatbot-circle{width:55px;height:55px;border-radius:50%;background:#fff;margin:0 auto 8px;}
@media(max-width:900px){#route-contacto .site-nav{width:calc(100% - 36px);justify-content:flex-start;gap:24px}#route-contacto .site-nav .nav-links{display:none}#route-contacto .contact-hero-content{width:calc(100% - 36px);padding-left:0}#route-contacto .contact-actions,#route-contacto .contact-info{grid-template-columns:1fr;gap:28px}#route-contacto .form-row{grid-template-columns:1fr}}
@media(max-width:620px){#route-contacto .contact-hero{min-height:640px}#route-contacto .contact-hero-content{min-height:520px}#route-contacto .contact-hero-content h1{font-size:48px}#route-contacto .contact-form-section,#route-contacto .contact-actions,#route-contacto .contact-info{width:calc(100% - 30px)}}

/* ---- CSS block separator ---- */

/* FIX CONTACTO: portada completa sin recorte */
#route-contacto .contact-hero{
  min-height:calc(100vw * 941 / 1672) !important;
  height:calc(100vw * 941 / 1672) !important;
  max-height:980px;
}
#route-contacto .contact-hero::before{
  background-size:100% auto !important;
  background-position:center top !important;
  background-repeat:no-repeat !important;
}
#route-contacto .contact-hero-content{
  min-height:calc((100vw * 941 / 1672) - 86px) !important;
}
@media(max-width:900px){
  #route-contacto .contact-hero{
    min-height:720px !important;
    height:720px !important;
  }
  #route-contacto .contact-hero::before{
    background-size:cover !important;
    background-position:center center !important;
  }
  #route-contacto .contact-hero-content{
    min-height:610px !important;
  }
}

/* ---- CSS block separator ---- */

/* HEADER GLOBAL IGUAL AL DE CONTACTO */
.route-page .site-nav{
  position:absolute !important;
  top:0;
  left:0;
  right:0;
  z-index:80;
  width:min(var(--max), calc(100% - 72px));
  height:86px;
  margin:0 auto;
  display:flex !important;
  align-items:center;
  justify-content:center;
  gap:44px;
  color:#fff;
  font-family:"Poppins", Arial, sans-serif;
  font-size:15px;
  font-weight:600;
  letter-spacing:-.2px;
}
.route-page .site-nav .brand{
  position:absolute;
  left:0;
  display:flex;
  align-items:center;
  gap:7px;
  font-size:12px;
  line-height:1;
  font-weight:800;
  text-transform:uppercase;
  color:#fff;
  white-space:nowrap;
}
.route-page .site-nav .nav-links{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  white-space:nowrap;
  color:#fff;
}
.route-page .site-nav .nav-links a,
.route-page .site-nav .nav-links span{
  color:#fff;
  opacity:.98;
}
.route-page .site-nav .search-icon{
  position:absolute;
  right:0;
  width:21px;
  height:21px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.route-page .site-nav .search-icon svg{
  width:18px;
  height:18px;
  stroke:#fff;
  stroke-width:2;
  fill:none;
}
.route-page .site-nav .brand-mark{
  width:21px;
  height:21px;
  position:relative;
  display:inline-block;
  flex:0 0 auto;
}
.route-page .site-nav .brand-mark::before,
.route-page .site-nav .brand-mark::after{
  content:"";
  position:absolute;
  background:#ff4538;
  transform-origin:center;
  border-radius:1px;
}
.route-page .site-nav .brand-mark::before{width:4px;height:21px;left:7px;top:0;transform:skew(-28deg)}
.route-page .site-nav .brand-mark::after{width:4px;height:21px;right:5px;top:0;transform:skew(28deg)}
.route-page .site-nav .brand-mark span{position:absolute;left:7px;bottom:5px;width:9px;height:4px;background:#ff4538;transform:skew(30deg);border-radius:1px}

/* Nosotros conserva fondo blanco, pero con la misma estructura del header */
#route-nosotros .about-site-header{
  position:relative;
  width:100%;
  height:86px;
  min-height:86px;
  background:#fff;
  border-bottom:1px solid rgba(0,0,0,.08);
  z-index:10;
}
#route-nosotros .about-site-header .site-nav{
  position:relative !important;
  color:#29292b;
}
#route-nosotros .about-site-header .site-nav .brand,
#route-nosotros .about-site-header .site-nav .nav-links a,
#route-nosotros .about-site-header .site-nav .nav-links span{
  color:#29292b !important;
}
#route-nosotros .about-site-header .site-nav .search-icon svg{
  stroke:#29292b !important;
}
#route-nosotros .about-site-header .site-nav .brand-mark::before,
#route-nosotros .about-site-header .site-nav .brand-mark::after,
#route-nosotros .about-site-header .site-nav .brand-mark span{
  background:#ff4538 !important;
}

@media (max-width:900px){
  .route-page .site-nav{
    width:calc(100% - 36px);
    height:auto;
    min-height:86px;
    padding:18px 0;
    justify-content:flex-start;
    gap:24px;
  }
  .route-page .site-nav .brand,
  .route-page .site-nav .search-icon{
    position:relative;
    left:auto;
    right:auto;
  }
  .route-page .site-nav .nav-links{display:none;}
}

/* ---- CSS block separator ---- */

/* BLOG SUBPÁGINA INTEGRADA */
#route-blog{background:#fff;color:#29292b;min-height:100vh;}
#route-blog .blog-site-header{position:relative;background:#fff;border-bottom:1px solid #e8e8e8;min-height:118px;}
#route-blog .blog-site-header .site-nav{position:relative!important;height:118px!important;color:#29292b!important;}
#route-blog .blog-site-header .site-nav .brand,
#route-blog .blog-site-header .site-nav .nav-links,
#route-blog .blog-site-header .site-nav .nav-links a,
#route-blog .blog-site-header .site-nav .nav-links span{color:#29292b!important;}
#route-blog .blog-site-header .site-nav .search-icon svg{stroke:#29292b!important;}
#route-blog .blog-shell{width:min(1210px, calc(100% - 56px));margin:26px auto 0;border:1px solid #e2e2e2;background:#fff;}
#route-blog .blog-layout{display:grid;grid-template-columns:42% 58%;align-items:start;}
#route-blog .blog-sidebar{border-right:1px solid #ececec;}
#route-blog .blog-card{position:relative;min-height:270px;display:flex;align-items:center;overflow:hidden;color:#fff;padding:38px 56px;isolation:isolate;}
#route-blog .blog-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.96) contrast(1.04);transition:transform .45s ease;}
#route-blog .blog-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.63), rgba(0,0,0,.30));z-index:-1;}
#route-blog .blog-card:hover img{transform:scale(1.045);}
#route-blog .blog-card h2{margin:0 0 18px;font-size:31px;line-height:1.05;font-weight:800;letter-spacing:-1.1px;max-width:380px;}
#route-blog .blog-card .date{display:block;margin:0 0 34px;font-size:13px;font-weight:800;}
#route-blog .blog-card .read{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.2px;}
#route-blog .blog-article{padding:0 48px 40px;}
#route-blog .article-date{margin:0 0 18px;font-size:15px;color:#555;}
#route-blog .blog-article h1{margin:0 0 20px;font-size:34px;line-height:1.08;font-weight:800;letter-spacing:-1px;}
#route-blog .article-hero{width:100%;height:317px;object-fit:cover;margin:0 0 22px;background:#eee;}
#route-blog .article-tags{margin:0 0 24px;color:#989898;font-size:15px;font-weight:800;letter-spacing:.1px;}
#route-blog .blog-article p{margin:0 0 22px;color:#5d5d62;font-size:13.2px;line-height:1.34;}
#route-blog .blog-article h3{margin:0 0 17px;font-size:17px;line-height:1.2;font-weight:800;}
#route-blog .article-img-wide{width:100%;height:230px;object-fit:cover;margin:35px 0 30px;background:#eee;}
#route-blog .share-rate{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:42px 0 34px;align-items:start;}
#route-blog .share-title,#route-blog .rate-title{margin:0 0 10px;font-size:13px;font-weight:800;text-transform:uppercase;}
#route-blog .share-dots{display:flex;gap:10px;align-items:center;}
#route-blog .share-dots span{width:31px;height:31px;border-radius:50%;background:#27272a;display:block;}
#route-blog .stars{font-size:30px;line-height:1;color:#29292b;letter-spacing:1px;}
#route-blog .comments-title{margin:0 0 20px;font-size:18px;font-weight:800;text-transform:uppercase;letter-spacing:-.3px;}
#route-blog .comment-note{margin:0 0 18px!important;color:#777!important;font-size:12.5px!important;}
#route-blog .comment-form label{display:grid;grid-template-columns:115px 1fr;gap:10px;align-items:center;margin:0 0 12px;font-size:13px;color:#555;}
#route-blog .comment-form input,#route-blog .comment-form textarea{width:100%;height:28px;border:1px solid #222;background:#fff;padding:4px 8px;font:inherit;}
#route-blog .comment-form textarea{height:68px;resize:vertical;align-self:start;}
#route-blog .send-btn{display:inline-flex;align-items:center;justify-content:center;height:25px;padding:0 18px;background:#252525;color:#fff;border:0;font-size:12px;font-weight:800;text-transform:uppercase;cursor:pointer;}
#route-blog .blog-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin:88px 0 70px;font-size:20px;}
#route-blog .blog-pagination a{font-weight:500;}
#route-blog .page-arrow{width:31px;height:31px;display:inline-flex;align-items:center;justify-content:center;background:#1b0b12!important;color:#fff!important;font-size:17px;font-weight:800;}
#route-blog .site-footer{border-top:1px solid #ebebeb;margin-top:0;}
@media(max-width:980px){#route-blog .blog-layout{grid-template-columns:1fr;}#route-blog .blog-sidebar{border-right:0;border-bottom:1px solid #ececec;}#route-blog .blog-article{padding:34px 28px 40px;}#route-blog .blog-site-header .site-nav{height:auto!important;min-height:110px!important;padding:18px 0;}.route-page .site-nav .nav-links{display:none!important;}}
@media(max-width:640px){#route-blog .blog-shell{width:100%;margin-top:0;border-left:0;border-right:0;}#route-blog .blog-card{min-height:235px;padding:32px 28px;}#route-blog .blog-card h2{font-size:26px;}#route-blog .blog-article h1{font-size:28px;}#route-blog .article-hero{height:240px;}#route-blog .share-rate{grid-template-columns:1fr;gap:25px;}#route-blog .comment-form label{grid-template-columns:1fr;gap:6px;}#route-blog .blog-pagination{margin:58px 0 50px;}}

/* ---- CSS block separator ---- */

/* FAQS + AVISO DE PRIVACIDAD SUBPÁGINAS INTEGRADAS */
#route-faqs,
#route-aviso-privacidad{background:#fff;color:#29292b;min-height:100vh;}
#route-faqs .faq-site-header,
#route-aviso-privacidad .privacy-site-header{position:relative;background:#fff;border-bottom:0;min-height:92px;}
#route-faqs .faq-site-header .site-nav,
#route-aviso-privacidad .privacy-site-header .site-nav{position:relative!important;height:92px!important;color:#29292b!important;}
#route-faqs .faq-site-header .site-nav .brand,
#route-faqs .faq-site-header .site-nav .nav-links,
#route-faqs .faq-site-header .site-nav .nav-links a,
#route-faqs .faq-site-header .site-nav .nav-links span,
#route-aviso-privacidad .privacy-site-header .site-nav .brand,
#route-aviso-privacidad .privacy-site-header .site-nav .nav-links,
#route-aviso-privacidad .privacy-site-header .site-nav .nav-links a,
#route-aviso-privacidad .privacy-site-header .site-nav .nav-links span{color:#29292b!important;}
#route-faqs .faq-site-header .site-nav .search-icon svg,
#route-aviso-privacidad .privacy-site-header .site-nav .search-icon svg{stroke:#29292b!important;}

#route-faqs .faq-wrap{width:min(1000px, calc(100% - 72px));margin:0 auto;padding:58px 0 108px;}
#route-faqs .faq-wrap h1{margin:0 0 48px;font-size:clamp(46px, 5.2vw, 62px);line-height:.95;font-weight:800;letter-spacing:-2.4px;color:#29292b;}
#route-faqs .faq-item{margin:0 0 34px;}
#route-faqs .faq-item h2{margin:0 0 18px;font-size:30px;line-height:1;font-weight:800;letter-spacing:-1px;color:#2b2b2d;}
#route-faqs .faq-item p{margin:0;max-width:915px;font-size:12.2px;line-height:1.34;color:#5b5b5f;font-weight:400;}

#route-aviso-privacidad .privacy-shell{width:min(1220px, calc(100% - 72px));margin:0 auto;padding:0 0 78px;}
#route-aviso-privacidad .privacy-layout{display:grid;grid-template-columns:40.5% 59.5%;align-items:start;}
#route-aviso-privacidad .privacy-sidebar{display:grid;grid-template-rows:repeat(3, minmax(215px, 1fr));min-height:650px;}
#route-aviso-privacidad .privacy-card{position:relative;display:flex;align-items:center;overflow:hidden;color:#fff;padding:42px 58px;isolation:isolate;background:#111;}
#route-aviso-privacidad .privacy-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;filter:saturate(.94) contrast(1.02);transition:transform .45s ease;}
#route-aviso-privacidad .privacy-card::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg, rgba(0,0,0,.48), rgba(0,0,0,.22));z-index:-1;}
#route-aviso-privacidad .privacy-card:hover img{transform:scale(1.045);}
#route-aviso-privacidad .privacy-card h2{margin:0 0 42px;font-size:30px;line-height:1.05;font-weight:800;letter-spacing:-1.1px;color:#fff;}
#route-aviso-privacidad .privacy-card span{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.2px;color:#fff;}
#route-aviso-privacidad .privacy-content{padding:8px 0 0 54px;}
#route-aviso-privacidad .privacy-content h1{margin:0 0 28px;font-size:32px;line-height:1.05;font-weight:800;letter-spacing:-1.1px;color:#29292b;}
#route-aviso-privacidad .privacy-content h3{margin:43px 0 21px;font-size:13.5px;line-height:1.3;font-weight:500;color:#5e5e62;}
#route-aviso-privacidad .privacy-content p{margin:0 0 22px;max-width:720px;font-size:12.25px;line-height:1.34;color:#606066;font-weight:400;}
#route-aviso-privacidad .privacy-more{display:inline-flex;margin-top:14px;font-size:15px;font-weight:800;letter-spacing:-.2px;color:#29292b;}

@media(max-width:980px){
  #route-faqs .faq-site-header .site-nav,
  #route-aviso-privacidad .privacy-site-header .site-nav{height:auto!important;min-height:110px!important;padding:18px 0;}
  #route-aviso-privacidad .privacy-layout{grid-template-columns:1fr;}
  #route-aviso-privacidad .privacy-sidebar{grid-template-rows:none;grid-template-columns:1fr;min-height:0;}
  #route-aviso-privacidad .privacy-card{min-height:230px;}
  #route-aviso-privacidad .privacy-content{padding:42px 0 0;}
}
@media(max-width:640px){
  #route-faqs .faq-wrap,
  #route-aviso-privacidad .privacy-shell{width:calc(100% - 28px);}
  #route-faqs .faq-wrap{padding:38px 0 70px;}
  #route-faqs .faq-wrap h1{font-size:44px;margin-bottom:34px;}
  #route-faqs .faq-item h2{font-size:26px;}
  #route-aviso-privacidad .privacy-card{padding:34px 30px;min-height:205px;}
  #route-aviso-privacidad .privacy-card h2{font-size:27px;margin-bottom:34px;}
  #route-aviso-privacidad .privacy-content h1{font-size:29px;}
}

/* ---- CSS block separator ---- */

/* Ajustes solicitados únicamente para el carrusel de inicio */
  #route-home .ae-content h1{
    max-width:760px;
    font-size:clamp(48px, 4.9vw, 58px);
    line-height:.98;
    text-wrap:initial;
  }

  #route-home .ae-content h1 .ae-title-line{
    display:block;
    white-space:nowrap;
  }

  #route-home .ae-primary,
  #route-home .ae-secondary{
    border-radius:0;
  }

  /* La etiqueta se distingue de los botones mediante una línea dorada,
     sin fondo de cápsula ni esquinas redondeadas. */
  #route-home .ae-kicker{
    gap:0;
    margin-bottom:22px;
    padding:3px 0 3px 14px;
    border:0;
    border-left:3px solid #e0b358;
    border-radius:0;
    background:transparent;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    box-shadow:none;
    font-size:12px;
    letter-spacing:1.15px;
  }

  /* Footer sólido en todas las secciones */
  footer,
  .site-footer{
    background:#213570 !important;
    color:#fff !important;
  }

  .site-footer a,
  .site-footer p,
  .site-footer .footer-col,
  .site-footer .social-title,
  .site-footer .lang-title{
    color:#fff !important;
  }

  .site-footer .social-link{
    background:rgba(255,255,255,.12) !important;
    border:1px solid rgba(255,255,255,.38) !important;
    color:#fff !important;
    box-shadow:none !important;
  }

  .site-footer .social-link:hover{
    background:rgba(255,255,255,.23) !important;
    border-color:rgba(255,255,255,.72) !important;
  }

  @media (max-width:980px){
    #route-home .ae-content h1{
      max-width:700px;
      font-size:50px;
    }
  }

  @media (max-width:760px){
    #route-home .ae-content h1{
      max-width:none;
      font-size:clamp(30px, 7.8vw, 42px);
      line-height:1.02;
      letter-spacing:-1.3px;
    }

    #route-home .ae-actions{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      width:min(100%, 360px);
    }

    #route-home .ae-primary,
    #route-home .ae-secondary{
      width:100%;
      min-width:0;
      padding:0 12px;
    }
  }

  @media (max-width:390px){
    #route-home .ae-content h1{
      font-size:29px;
      letter-spacing:-1px;
    }
  }

/* ---- CSS block separator ---- */

/* Cambio suave de imagen para las tarjetas de categorías */
  .product-card .image-wrap.hover-swap {
    position: relative;
    isolation: isolate;
    cursor: pointer;
    outline: none;
  }

  .product-card .image-wrap.hover-swap .product-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    backface-visibility: hidden;
    will-change: opacity, transform;
    transition:
      opacity .65s cubic-bezier(.22, .61, .36, 1),
      transform .85s cubic-bezier(.22, .61, .36, 1);
  }

  .product-card .image-wrap.hover-swap .product-image-primary {
    z-index: 1;
    opacity: 1;
    transform: scale(1);
  }

  .product-card .image-wrap.hover-swap .product-image-hover {
    z-index: 2;
    opacity: 0;
    transform: scale(1.045);
  }

  .product-card:hover .image-wrap.hover-swap .product-image-primary,
  .product-card .image-wrap.hover-swap:focus .product-image-primary {
    opacity: 0;
    transform: scale(1.035);
  }

  .product-card:hover .image-wrap.hover-swap .product-image-hover,
  .product-card .image-wrap.hover-swap:focus .product-image-hover {
    opacity: 1;
    transform: scale(1);
  }

  .product-card .image-wrap.hover-swap:focus-visible {
    outline: 2px solid #252525;
    outline-offset: 4px;
  }

  @media (prefers-reduced-motion: reduce) {
    .product-card .image-wrap.hover-swap .product-image {
      transition-duration: .01ms;
    }
  }

/* ---- CSS block separator ---- */

/* CARRUSEL DE CATEGORÍAS INSERTADO DEBAJO DE EXPERIENCE */
.ast-cat-carousel{
  padding:86px 0 28px;
  background:#fff;
}
.ast-cat-wrap{
  width:min(1220px, calc(100% - 72px));
  margin:0 auto;
}
.ast-cat-head{
  text-align:center;
  margin-bottom:36px;
}
.ast-cat-head .section-title{
  margin-left:auto;
  margin-right:auto;
  max-width:720px;
}
.ast-cat-stage{
  position:relative;
}
.ast-cat-viewport{
  overflow:hidden;
}
.ast-cat-track{
  display:flex;
  gap:24px;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.ast-cat-card{
  position:relative;
  display:block;
  flex:0 0 calc((100% - 48px) / 3);
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  min-height:500px;
  border-radius:28px;
  overflow:hidden;
  background:#171717;
  box-shadow:0 18px 36px rgba(0,0,0,.14);
}
.ast-cat-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.ast-cat-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,.06) 0%, rgba(0,0,0,.14) 40%, rgba(0,0,0,.78) 100%);
}
.ast-cat-content{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:2;
  padding:24px 24px 26px;
  color:#fff;
}
.ast-cat-content h3{
  margin:0 0 10px;
  font-size:26px;
  line-height:1.02;
  font-weight:800;
  letter-spacing:-.7px;
}
.ast-cat-content p{
  margin:0;
  max-width:90%;
  font-size:14px;
  line-height:1.55;
  color:rgba(255,255,255,.92);
  font-weight:500;
}
.ast-cat-controls{
  display:flex;
  justify-content:flex-end;
  gap:12px;
  margin-top:28px;
}
.ast-cat-nav{
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(37,37,37,.18);
  background:#fff;
  color:#252525;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  cursor:pointer;
  transition:transform .25s ease, background .25s ease, color .25s ease, border-color .25s ease, opacity .25s ease;
}
.ast-cat-nav:hover{
  transform:translateY(-2px);
  background:#252525;
  color:#fff;
  border-color:#252525;
}
@media (max-width:1100px){
  .ast-cat-card{flex-basis:calc((100% - 24px) / 2); min-height:470px;}
}
@media (max-width:860px){
  .ast-cat-carousel{padding:72px 0 22px;}
  .ast-cat-wrap{width:min(1220px, calc(100% - 32px));}
  .ast-cat-head{margin-bottom:28px;}
  .ast-cat-card{flex-basis:100%; min-height:460px;}
  .ast-cat-content h3{font-size:24px;}
  .ast-cat-content p{max-width:100%;}
}


/* AJUSTES NOSOTROS Y ASTURIAS EXPERIENCE — JULIO 2026 */
#route-nosotros main,
#route-nosotros .about-page,
#route-experience main,
#route-experience .experience-grid{
  margin:0 !important;
}

#route-nosotros .about-page{
  border-bottom:0 !important;
}

#route-nosotros .about-content{
  padding-bottom:42px;
}

#route-nosotros .about-content .about-subtitle{
  max-width:720px;
  margin:24px 0 10px;
  font-size:21px;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.55px;
  scroll-margin-top:120px;
}

#route-nosotros .about-content .about-extra{
  margin-top:12px;
}

#route-nosotros .site-footer,
#route-experience .site-footer{
  margin-top:-1px !important;
  border-top:0 !important;
}

#route-experience .experience-hero{
  min-height:100vh !important;
  min-height:100svh !important;
}

#route-experience .experience-hero .hero-content{
  min-height:100vh !important;
  min-height:100svh !important;
}

#route-experience .chatbot{
  display:none !important;
}

#route-experience .experience-grid{
  padding:0 !important;
  border:0 !important;
  line-height:0;
}

#route-experience .experience-grid .exp-card{
  line-height:normal;
}

.route-page .site-nav .nav-links a[data-catalog-placeholder="true"]{
  white-space:nowrap;
}

@media (max-width:640px){
  #route-nosotros .about-content .about-subtitle{
    font-size:20px;
    scroll-margin-top:170px;
  }
}


/* =========================================================
   HEADER Y FOOTER GLOBALES — IGUALES AL INICIO
   ========================================================= */
.route-page > header.global-standard-header{
  position:relative;
}

.route-page > header.global-standard-header .site-nav{
  position:absolute !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  z-index:60 !important;
  width:min(1210px, calc(100% - 72px)) !important;
  height:78px !important;
  margin:0 auto !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:38px !important;
  color:#fff !important;
  background:transparent !important;
  border:0 !important;
  font-family:"Poppins",Arial,sans-serif !important;
  font-size:14px !important;
  font-weight:500 !important;
}

.route-page > header.global-standard-header .site-nav .brand{
  position:absolute !important;
  left:0 !important;
  top:auto !important;
  display:flex !important;
  align-items:center !important;
  gap:7px !important;
  color:#fff !important;
  font-size:13px !important;
  font-weight:800 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}

.route-page > header.global-standard-header .site-nav .nav-links{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:500 !important;
  white-space:nowrap !important;
}

.route-page > header.global-standard-header .site-nav .nav-links a,
.route-page > header.global-standard-header .site-nav .nav-links span{
  color:#fff !important;
  opacity:.96 !important;
}

.route-page > header.global-standard-header .site-nav .search-icon{
  position:absolute !important;
  right:0 !important;
  top:auto !important;
  width:22px !important;
  height:22px !important;
  display:grid !important;
  place-items:center !important;
  color:#fff !important;
}

.route-page > header.global-standard-header .site-nav .search-icon svg{
  width:18px !important;
  height:18px !important;
  fill:none !important;
  stroke:#fff !important;
  stroke-width:2 !important;
  stroke-linecap:round !important;
}

/* En páginas sin fotografía de portada, el mismo header vive sobre una barra negra. */
#route-nosotros > .about-site-header,
#route-blog > .blog-site-header,
#route-faqs > .faq-site-header,
#route-aviso-privacidad > .privacy-site-header{
  width:100% !important;
  min-height:88px !important;
  height:88px !important;
  background:#080808 !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:none !important;
}

/* Restituye las fotografías de las tarjetas de Contacto. */
#route-contacto .contact-card{
  background-color:#111 !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
}
#route-contacto .contact-card::before,
#route-contacto .contact-card::after{
  display:none !important;
}
#route-contacto .contact-card > div{
  position:relative !important;
  z-index:2 !important;
  padding:24px !important;
}

/* Todos los apartados usan exactamente la composición del footer del Inicio. */
.route-page .global-standard-footer{
  margin:0 !important;
  border:0 !important;
  padding:67px 0 58px !important;
  background:#213570 !important;
  color:#fff !important;
}
.route-page .global-standard-footer .footer-inner{
  width:min(1160px, calc(100% - 72px)) !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:1fr 1.28fr 1.38fr 1.15fr !important;
  gap:50px !important;
  align-items:start !important;
}
.route-page .global-standard-footer .footer-col{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  color:#fff !important;
  font-family:"Poppins",Arial,sans-serif !important;
  font-size:22px !important;
  line-height:1.05 !important;
  font-weight:500 !important;
  letter-spacing:-.8px !important;
}
.route-page .global-standard-footer .social-title,
.route-page .global-standard-footer .lang-title{
  margin:0 0 22px !important;
  color:#fff !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:600 !important;
  letter-spacing:-.7px !important;
}
.route-page .global-standard-footer .lang-title{
  margin-top:43px !important;
}
.route-page .global-standard-footer .socials{
  display:flex !important;
  gap:17px !important;
  margin-bottom:0 !important;
  flex-wrap:wrap !important;
}
.route-page .global-standard-footer .social-link{
  width:43px !important;
  height:43px !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.12) !important;
  border:1px solid rgba(255,255,255,.38) !important;
  color:#fff !important;
}
.route-page .global-standard-footer .social-link svg{
  width:18px !important;
  height:18px !important;
  fill:currentColor !important;
}

@media (max-width:1020px){
  .route-page > header.global-standard-header .site-nav{
    width:calc(100% - 34px) !important;
    height:82px !important;
    min-height:82px !important;
    justify-content:space-between !important;
    gap:16px !important;
  }
  .route-page > header.global-standard-header .site-nav .brand,
  .route-page > header.global-standard-header .site-nav .search-icon{
    position:static !important;
  }
  .route-page > header.global-standard-header .site-nav .nav-links{
    display:none !important;
  }
  #route-nosotros > .about-site-header,
  #route-blog > .blog-site-header,
  #route-faqs > .faq-site-header,
  #route-aviso-privacidad > .privacy-site-header{
    min-height:82px !important;
    height:82px !important;
  }
  .route-page .global-standard-footer .footer-inner{
    width:calc(100% - 44px) !important;
    grid-template-columns:1fr 1fr !important;
    gap:38px !important;
  }
  .route-page .global-standard-footer .footer-col,
  .route-page .global-standard-footer .social-title,
  .route-page .global-standard-footer .lang-title{
    font-size:18px !important;
  }
}

@media (max-width:560px){
  .route-page .global-standard-footer .footer-inner{
    grid-template-columns:1fr !important;
  }
}

/* AJUSTES FINALES: SORA + HEADERS CLAROS */
html,
body,
body *,
body *::before,
body *::after,
button,
input,
textarea,
select,
option{
  font-family:"Sora", Arial, sans-serif !important;
}

/* Nosotros vuelve a su header blanco original. */
#route-nosotros > .about-site-header{
  position:relative !important;
  width:100% !important;
  min-height:86px !important;
  height:86px !important;
  background:#fff !important;
  color:#29292b !important;
  border:0 !important;
  border-bottom:1px solid rgba(0,0,0,.08) !important;
  box-shadow:none !important;
}
#route-nosotros > .about-site-header .site-nav{
  position:relative !important;
  height:86px !important;
  min-height:86px !important;
  color:#29292b !important;
}
#route-nosotros > .about-site-header .site-nav .brand,
#route-nosotros > .about-site-header .site-nav .nav-links,
#route-nosotros > .about-site-header .site-nav .nav-links a,
#route-nosotros > .about-site-header .site-nav .nav-links span,
#route-nosotros > .about-site-header .site-nav .search-icon{
  color:#29292b !important;
}
#route-nosotros > .about-site-header .site-nav .search-icon svg{
  stroke:#29292b !important;
}

/* Blog vuelve a su header blanco original. */
#route-blog > .blog-site-header{
  position:relative !important;
  width:100% !important;
  min-height:118px !important;
  height:118px !important;
  background:#fff !important;
  color:#29292b !important;
  border:0 !important;
  border-bottom:1px solid #e8e8e8 !important;
  box-shadow:none !important;
}
#route-blog > .blog-site-header .site-nav{
  position:relative !important;
  height:118px !important;
  min-height:118px !important;
  color:#29292b !important;
}
#route-blog > .blog-site-header .site-nav .brand,
#route-blog > .blog-site-header .site-nav .nav-links,
#route-blog > .blog-site-header .site-nav .nav-links a,
#route-blog > .blog-site-header .site-nav .nav-links span,
#route-blog > .blog-site-header .site-nav .search-icon{
  color:#29292b !important;
}
#route-blog > .blog-site-header .site-nav .search-icon svg{
  stroke:#29292b !important;
}

@media (max-width:1020px){
  #route-nosotros > .about-site-header,
  #route-nosotros > .about-site-header .site-nav{
    min-height:82px !important;
    height:82px !important;
  }
  #route-blog > .blog-site-header,
  #route-blog > .blog-site-header .site-nav{
    min-height:110px !important;
    height:110px !important;
  }
}

/* =========================================================
   AJUSTE SOLICITADO: LOGO OFICIAL + FOOTER MÁS COMPACTO
   ========================================================= */
.route-page > header.global-standard-header .site-nav .brand{
  line-height:0 !important;
  font-size:0 !important;
  text-transform:none !important;
}
.route-page > header.global-standard-header .site-nav .brand-logo{
  display:block !important;
  width:205px !important;
  max-width:none !important;
  height:auto !important;
  max-height:46px !important;
  object-fit:contain !important;
  background:transparent !important;
}
.route-page .global-standard-footer .footer-col,
.route-page .global-standard-footer .social-title,
.route-page .global-standard-footer .lang-title{
  font-size:19px !important;
}
@media (min-width:1021px) and (max-width:1120px){
  .route-page > header.global-standard-header .site-nav .brand-logo{
    width:155px !important;
    max-height:34px !important;
  }
}
@media (max-width:1020px){
  .route-page > header.global-standard-header .site-nav .brand-logo{
    width:178px !important;
    max-height:40px !important;
  }
  .route-page .global-standard-footer .footer-col,
  .route-page .global-standard-footer .social-title,
  .route-page .global-standard-footer .lang-title{
    font-size:17px !important;
  }
}



/* =========================================================
   AJUSTE EXTRA — HEADER / HERO / CONTROLES SEGÚN FEEDBACK
   ========================================================= */
.route-page > header.global-standard-header .site-nav{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  justify-content:initial !important;
  gap:clamp(18px, 2vw, 32px) !important;
  padding:0 0 12px !important;
  border-bottom:1px solid rgba(255,255,255,.15) !important;
}
.route-page > header.global-standard-header .site-nav .brand{
  position:static !important;
  justify-self:start !important;
}
.route-page > header.global-standard-header .site-nav .brand-logo{
  width:172px !important;
  max-height:38px !important;
}
.route-page > header.global-standard-header .site-nav .nav-links{
  justify-self:center !important;
  gap:clamp(24px, 2.2vw, 34px) !important;
}
.route-page > header.global-standard-header .site-nav .nav-links span{
  display:none !important;
}
.route-page > header.global-standard-header .site-nav .nav-links a{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:28px 0 18px !important;
  opacity:.96 !important;
}
.route-page > header.global-standard-header .site-nav .nav-links a::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:6px;
  height:2px;
  border-radius:999px;
  background:#e0b358;
  transform:scaleX(0);
  transform-origin:left center;
  opacity:0;
  transition:transform .28s ease, opacity .28s ease;
}
.route-page > header.global-standard-header .site-nav .nav-links a:hover::after,
.route-page > header.global-standard-header .site-nav .nav-links a.active::after{
  transform:scaleX(1);
  opacity:1;
}
.route-page > header.global-standard-header .site-nav .nav-links a.active{
  opacity:1 !important;
}
.route-page > header.global-standard-header .site-nav .search-icon{
  position:relative !important;
  justify-self:end !important;
  right:auto !important;
  width:46px !important;
  height:46px !important;
  padding-left:18px !important;
}
.route-page > header.global-standard-header .site-nav .search-icon::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  bottom:8px;
  width:1px;
  background:rgba(255,255,255,.24);
}
#route-nosotros > .about-site-header .site-nav,
#route-blog > .blog-site-header .site-nav,
#route-faqs > .faq-site-header .site-nav,
#route-aviso-privacidad > .privacy-site-header .site-nav{
  border-bottom:1px solid rgba(41,41,43,.10) !important;
}
#route-nosotros > .about-site-header .site-nav .search-icon::before,
#route-blog > .blog-site-header .site-nav .search-icon::before,
#route-faqs > .faq-site-header .site-nav .search-icon::before,
#route-aviso-privacidad > .privacy-site-header .site-nav .search-icon::before{
  background:rgba(41,41,43,.16) !important;
}
#route-home .ae-content{
  width:min(1220px, calc(100% - 88px)) !important;
  padding:clamp(136px, 14vw, 188px) 0 176px !important;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
#route-home .ae-kicker{
  margin-bottom:24px !important;
}
#route-home .ae-content h1{
  max-width:min(780px, 74vw) !important;
  font-size:clamp(44px, 5.6vw, 76px) !important;
  line-height:.94 !important;
  letter-spacing:-.05em !important;
}
#route-home .ae-content p{
  max-width:min(650px, 55vw) !important;
  font-size:clamp(16px, 1.45vw, 20px) !important;
  line-height:1.55 !important;
}
#route-home .ae-actions{
  margin-top:34px !important;
  gap:16px !important;
}
#route-home .ae-primary,
#route-home .ae-secondary{
  min-width:190px !important;
  height:58px !important;
  border-radius:14px !important;
  padding:0 24px !important;
}
#route-home .ae-secondary::after{
  content:"→";
  margin-left:10px;
  font-size:16px;
  line-height:1;
}
#route-home .ae-controls{
  width:min(1220px, calc(100% - 88px)) !important;
  bottom:34px !important;
  justify-content:space-between !important;
  align-items:center !important;
}
#route-home .ae-navbox{
  display:inline-flex;
  align-items:center;
  gap:16px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(64,30,30,.42);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
#route-home .ae-arrow{
  width:42px !important;
  height:42px !important;
  border-radius:10px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:rgba(255,255,255,.08) !important;
  display:grid !important;
  place-items:center !important;
  font-size:16px !important;
}
#route-home .ae-counter{
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:6px;
  min-width:74px;
  color:#fff;
  font-weight:700;
  letter-spacing:.04em;
}
#route-home .ae-current{
  font-size:24px;
  line-height:1;
  font-weight:800;
}
#route-home .ae-counter-sep,
#route-home .ae-total{
  opacity:.72;
  font-size:15px;
  line-height:1.1;
}
#route-home .ae-dots{
  flex:none !important;
  justify-content:flex-end !important;
  gap:8px !important;
  margin-left:auto !important;
}
#route-home .ae-dot{
  width:10px !important;
  height:10px !important;
}
#route-home .ae-dot.active{
  width:28px !important;
  height:10px !important;
}
@media (max-width:1020px){
  .route-page > header.global-standard-header .site-nav{
    width:calc(100% - 34px) !important;
    grid-template-columns:auto auto !important;
    justify-content:space-between !important;
    gap:14px !important;
    padding:0 !important;
    border-bottom:0 !important;
  }
  .route-page > header.global-standard-header .site-nav .brand-logo{
    width:158px !important;
    max-height:34px !important;
  }
  .route-page > header.global-standard-header .site-nav .search-icon{
    width:36px !important;
    height:36px !important;
    padding-left:0 !important;
  }
  .route-page > header.global-standard-header .site-nav .search-icon::before{
    display:none !important;
  }
  #route-home .ae-content,
  #route-home .ae-controls{
    width:calc(100% - 40px) !important;
  }
  #route-home .ae-content{
    padding:118px 0 148px !important;
  }
  #route-home .ae-content h1{
    max-width:640px !important;
    font-size:clamp(40px, 7vw, 58px) !important;
  }
  #route-home .ae-content p{
    max-width:560px !important;
    font-size:17px !important;
  }
}
@media (max-width:760px){
  #route-home .ae-content{
    padding:108px 0 150px !important;
  }
  #route-home .ae-content h1{
    max-width:none !important;
    font-size:clamp(32px, 9vw, 42px) !important;
    line-height:1.02 !important;
  }
  #route-home .ae-content h1 .ae-title-line{
    white-space:normal !important;
  }
  #route-home .ae-content p{
    max-width:none !important;
    font-size:15px !important;
  }
  #route-home .ae-actions{
    grid-template-columns:1fr !important;
    width:min(100%, 320px) !important;
  }
  #route-home .ae-primary,
  #route-home .ae-secondary{
    width:100% !important;
    min-width:0 !important;
  }
  #route-home .ae-controls{
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:14px !important;
  }
  #route-home .ae-dots{
    margin-left:0 !important;
  }
}


/* =========================================================
   AJUSTES FINOS SOLICITADOS — JUL 25
   ========================================================= */
.route-page > header.global-standard-header .site-nav{
  width:100% !important;
  max-width:none !important;
  padding:0 32px 12px !important;
  box-sizing:border-box !important;
  gap:24px !important;
  align-items:center !important;
}
.route-page > header.global-standard-header .site-nav .brand,
.route-page > header.global-standard-header .site-nav .nav-links,
.route-page > header.global-standard-header .site-nav .search-icon{
  align-self:center !important;
}
.route-page > header.global-standard-header .site-nav .nav-links{
  gap:2rem !important;
}
.route-page > header.global-standard-header .site-nav .search-icon{
  padding-left:0 !important;
}
.route-page > header.global-standard-header .site-nav .search-icon::before{
  display:none !important;
}
.route-page .global-standard-footer .footer-col,
.route-page .global-standard-footer .social-title,
.route-page .global-standard-footer .lang-title{
  font-size:18px !important;
}
#route-home .ae-controls{
  width:calc(100% - 64px) !important;
}
#route-home .ae-dots{
  position:absolute !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  margin-left:0 !important;
  width:auto !important;
  justify-content:center !important;
}
#route-home .ae-primary,
#route-home .ae-secondary{
  border-radius:0 !important;
}
#route-home .ae-secondary::after{
  content:"" !important;
  display:inline-block !important;
  width:14px !important;
  border-top:2px solid currentColor !important;
  transform:rotate(-32deg) !important;
  transform-origin:center !important;
  margin-left:10px !important;
}
@media (max-width:1020px){
  .route-page > header.global-standard-header .site-nav{
    width:100% !important;
    padding:0 18px !important;
  }
  .route-page .global-standard-footer .footer-col,
  .route-page .global-standard-footer .social-title,
  .route-page .global-standard-footer .lang-title{
    font-size:16px !important;
  }
  #route-home .ae-controls{
    width:calc(100% - 36px) !important;
  }
}
@media (max-width:760px){
  #route-home .ae-dots{
    position:static !important;
    left:auto !important;
    transform:none !important;
    width:100% !important;
  }
  #route-home .ae-controls{
    align-items:flex-start !important;
  }
}


/* =========================================================
   AJUSTE DE ALINEACIÓN — HEADER / HERO / CONTROLES
   ========================================================= */
.route-page > header.global-standard-header .site-nav,
#route-home .ae-content,
#route-home .ae-controls{
  width:min(1120px, calc(100% - 88px)) !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.route-page > header.global-standard-header .site-nav{
  padding:0 0 12px !important;
  box-sizing:border-box !important;
  gap:24px !important;
}

.route-page > header.global-standard-header .site-nav .brand{
  justify-self:start !important;
}

.route-page > header.global-standard-header .site-nav .nav-links{
  gap:2rem !important;
}

.route-page > header.global-standard-header .site-nav .search-icon{
  justify-self:end !important;
  width:22px !important;
  height:22px !important;
}

#route-home .ae-content{
  padding-left:0 !important;
  padding-right:0 !important;
}

#route-home .ae-controls{
  left:0 !important;
  right:0 !important;
  justify-content:flex-start !important;
}

#route-home .ae-navbox{
  margin-left:0 !important;
}

#route-home .ae-dots{
  left:50% !important;
}

@media (max-width:1020px){
  .route-page > header.global-standard-header .site-nav,
  #route-home .ae-content,
  #route-home .ae-controls{
    width:calc(100% - 40px) !important;
    max-width:none !important;
  }

  .route-page > header.global-standard-header .site-nav{
    padding:0 !important;
  }
}

@media (max-width:760px){
  #route-home .ae-controls{
    justify-content:flex-start !important;
  }
}


/* =========================================================
   AJUSTES FINALES MUY PUNTUALES — HEADER / BOTÓN
   ========================================================= */
.route-page > header.global-standard-header .site-nav{
  width:min(1400px, calc(100% - 48px)) !important;
  max-width:1400px !important;
  grid-template-columns:auto auto auto !important;
  justify-content:center !important;
  align-items:center !important;
  gap:32px !important;
  position:absolute !important;
  border-bottom:0 !important;
}

.route-page > header.global-standard-header .site-nav::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:min(1910px, calc(100vw - 8px));
  height:1px;
  background:rgba(255,255,255,.22);
}

.route-page > header.global-standard-header .site-nav .brand{
  transform:translateY(4px) !important;
}

.route-page > header.global-standard-header .site-nav .search-icon{
  justify-self:auto !important;
  transform:translateY(1px) !important;
}

#route-home .ae-secondary::after{
  content:"↗" !important;
  display:inline-block !important;
  width:auto !important;
  border:0 !important;
  transform:none !important;
  margin-left:10px !important;
  font-size:16px !important;
  line-height:1 !important;
}

@media (max-width:1020px){
  .route-page > header.global-standard-header .site-nav{
    width:calc(100% - 40px) !important;
    max-width:none !important;
    grid-template-columns:auto auto !important;
    justify-content:space-between !important;
    gap:14px !important;
  }
  .route-page > header.global-standard-header .site-nav::after{
    width:calc(100vw - 8px) !important;
  }
  .route-page > header.global-standard-header .site-nav .brand,
  .route-page > header.global-standard-header .site-nav .search-icon{
    transform:none !important;
  }
}


/* =========================================================
   ÚLTIMO AJUSTE PUNTUAL — LOGO Y LUPA
   ========================================================= */
.route-page > header.global-standard-header .site-nav .brand{
  transform:none !important;
  align-self:center !important;
}

.route-page > header.global-standard-header .site-nav .search-icon{
  transform:translateY(3px) !important;
}

@media (max-width:1020px){
  .route-page > header.global-standard-header .site-nav .brand,
  .route-page > header.global-standard-header .site-nav .search-icon{
    transform:none !important;
  }
}


/* =========================================================
   CORRECCIÓN FINAL — ALINEAR LOGO CON TÍTULO
   ========================================================= */
.route-page > header.global-standard-header .site-nav{
  width:min(1120px, calc(100% - 88px)) !important;
  max-width:1120px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.route-page > header.global-standard-header .site-nav .brand{
  transform:translateY(4px) !important;
  justify-self:start !important;
}

.route-page > header.global-standard-header .site-nav .search-icon{
  transform:translateY(3px) !important;
}

@media (max-width:1020px){
  .route-page > header.global-standard-header .site-nav{
    width:calc(100% - 40px) !important;
    max-width:none !important;
  }
}


/* =========================================================
   AJUSTE EXPERIENCE + CONTACTO — TÍTULOS Y BOTÓN
   ========================================================= */
#route-experience .hero-content h1,
#route-contacto .contact-hero-content h1{
  margin:0 0 28px !important;
  max-width:820px !important;
  font-family:"Sora", Arial, sans-serif !important;
  font-weight:800 !important;
  font-size:clamp(42px, 5.4vw, 78px) !important;
  line-height:.94 !important;
  letter-spacing:-0.05em !important;
  text-wrap:balance !important;
}

#route-experience .hero-content h1 span,
#route-contacto .contact-hero-content h1 span{
  display:block !important;
}

#route-experience .hero-content,
#route-contacto .contact-hero-content{
  width:min(1120px, calc(100% - 88px)) !important;
}

#route-experience .hero-content p,
#route-contacto .contact-hero-content p{
  max-width:620px !important;
}

#route-experience .hero-btn,
#route-contacto .hero-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  min-width:0 !important;
  height:60px !important;
  padding:0 26px !important;
  border-radius:0 !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:linear-gradient(90deg, rgba(127,26,24,.72), rgba(74,24,22,.58)) !important;
  box-shadow:none !important;
  font-family:"Sora", Arial, sans-serif !important;
  font-size:14px !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
  text-transform:uppercase !important;
}

#route-experience .hero-btn .circle,
#route-contacto .hero-btn .circle{
  display:none !important;
}

#route-experience .hero-btn::after,
#route-contacto .hero-btn::after{
  content:"↗";
  display:inline-block;
  font-size:15px;
  line-height:1;
  color:#fff;
  margin-left:2px;
}

@media (max-width:900px){
  #route-experience .hero-content,
  #route-contacto .contact-hero-content{
    width:calc(100% - 40px) !important;
  }
  #route-experience .hero-content h1,
  #route-contacto .contact-hero-content h1{
    max-width:700px !important;
    font-size:clamp(34px, 8vw, 58px) !important;
  }
}

@media (max-width:620px){
  #route-experience .hero-content h1,
  #route-contacto .contact-hero-content h1{
    max-width:none !important;
    font-size:clamp(30px, 9.4vw, 44px) !important;
    line-height:.98 !important;
  }
  #route-experience .hero-btn,
  #route-contacto .hero-btn{
    height:56px !important;
    padding:0 22px !important;
  }
}


/* =========================================================
   AJUSTE FINAL — DOS RENGLONES + BOTÓN TRANSPARENTE
   ========================================================= */
#route-experience .hero-content h1{
  max-width:860px !important;
}

#route-contacto .contact-hero-content h1{
  max-width:980px !important;
  text-wrap:initial !important;
}

#route-experience .hero-btn,
#route-contacto .hero-btn{
  background:rgba(255,255,255,.08) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  backdrop-filter:blur(8px) !important;
  -webkit-backdrop-filter:blur(8px) !important;
  color:#fff !important;
}

#route-experience .hero-btn::after,
#route-contacto .hero-btn::after{
  color:#fff !important;
}

@media (max-width:900px){
  #route-contacto .contact-hero-content h1{
    max-width:760px !important;
  }
}


/* =========================================================
   AJUSTE FINAL FINAL — CONTACTO EN DOS RENGLONES
   ========================================================= */
#route-contacto .contact-hero-content h1{
  max-width:1100px !important;
}

#route-contacto .contact-hero-content h1 .contact-title-top{
  display:block !important;
  color:#fff !important;
  white-space:nowrap !important;
}

#route-contacto .contact-hero-content h1 span:last-child{
  display:block !important;
}

@media (max-width:1200px){
  #route-contacto .contact-hero-content h1 .contact-title-top{
    white-space:normal !important;
  }
}

/* ===== Blog Asturias integrado: conserva el formato original ===== */
#route-blog .blog-card{
  text-decoration:none;
  cursor:pointer;
  border-bottom:1px solid rgba(255,255,255,.18);
}
#route-blog .blog-card:last-child{border-bottom:0;}
#route-blog .blog-card > div{position:relative;z-index:1;width:100%;}
#route-blog .blog-card:focus-visible{outline:3px solid #e3a11d;outline-offset:-3px;}
#route-blog .article-hero-link{display:block;color:inherit;text-decoration:none;overflow:hidden;margin:0 0 22px;}
#route-blog .article-hero-link .article-hero{margin:0;transition:transform .45s ease;}
#route-blog .article-hero-link:hover .article-hero{transform:scale(1.025);}
#route-blog .blog-preview-body{color:#5d5d62;}
#route-blog .blog-preview-body p{margin:0 0 22px;color:#5d5d62;font-size:13.2px;line-height:1.5;}
#route-blog .blog-preview-section{margin:0 0 26px;}
#route-blog .blog-preview-section h2{margin:30px 0 16px;font-size:19px;line-height:1.2;font-weight:800;color:#29292b;letter-spacing:-.35px;}
#route-blog .blog-preview-section h3{margin:24px 0 14px;font-size:16px;line-height:1.25;font-weight:800;color:#29292b;}
#route-blog .preview-list{margin:0 0 24px;padding-left:20px;color:#5d5d62;}
#route-blog .preview-list li{margin:0 0 10px;font-size:13.2px;line-height:1.5;}
#route-blog .preview-quote{margin:28px 0;padding:20px 24px;border-left:3px solid #d99b23;background:#f7f7f7;color:#29292b;font-size:16px;font-weight:700;line-height:1.45;}
#route-blog .preview-inline-image{margin:30px 0 8px;}
#route-blog .preview-inline-image img{display:block;width:100%;height:230px;object-fit:cover;}
#route-blog .preview-caption{margin:0 0 24px!important;font-size:10px!important;color:#999!important;}
#route-blog .preview-data-grid,#route-blog .preview-ingredients-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 0 25px;}
#route-blog .preview-data-grid > *,#route-blog .preview-ingredients-grid > *{padding:14px;border:1px solid #e4e4e4;background:#fafafa;}
#route-blog .preview-steps{margin:0 0 25px;padding-left:20px;}
#route-blog .blog-read-full{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 20px;margin:0 0 8px;background:#1c2f68;color:#fff;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;transition:background .2s ease;}
#route-blog .blog-read-full:hover{background:#101f4c;}
#route-blog .blog-pagination .page-number{min-width:24px;text-align:center;}
#route-blog .blog-pagination .page-number[aria-current="page"]{font-weight:800;text-decoration:underline;text-decoration-color:#d99b23;text-decoration-thickness:2px;text-underline-offset:7px;}
#route-blog .blog-pagination .page-arrow[aria-disabled="true"]{opacity:.35;pointer-events:none;}
@media(max-width:640px){
  #route-blog .preview-data-grid,#route-blog .preview-ingredients-grid{grid-template-columns:1fr;}
  #route-blog .blog-preview-section h2{font-size:18px;}
  #route-blog .blog-read-full{width:100%;}
}


/* BLOG AJUSTE FINAL: SIN HUECO Y SIN RECORTE DE IMAGENES */
#route-blog .blog-layout{
  align-items:start;
}
#route-blog .blog-card{
  min-height:0;
  aspect-ratio:16 / 9;
  background:#181818;
}
#route-blog .blog-card img{
  object-fit:contain;
  background:#181818;
  transform:none!important;
}
#route-blog .blog-card:hover img{
  transform:none!important;
}
#route-blog .article-hero-link{
  background:#f3f3f3;
}
#route-blog .article-hero{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  background:#f3f3f3;
}
#route-blog .article-hero-link:hover .article-hero{
  transform:none;
}
#route-blog .article-img-wide{
  display:block;
  width:100%;
  height:auto;
  max-height:none;
  object-fit:contain;
  background:#f3f3f3;
}
#route-blog .preview-inline-image img{
  height:auto;
  max-height:none;
  object-fit:contain;
  background:#f3f3f3;
}
#route-blog .blog-pagination-wrap{
  clear:both;
  border-top:1px solid #ececec;
  background:#fff;
}
#route-blog .blog-pagination-wrap .blog-pagination{
  margin:42px 0 46px;
}
#route-blog .blog-read-full{
  margin-bottom:28px;
}
@media(max-width:980px){
  #route-blog .blog-card{aspect-ratio:16 / 8.7;}
}
@media(max-width:640px){
  #route-blog .blog-card{aspect-ratio:4 / 3;}
  #route-blog .blog-pagination-wrap .blog-pagination{margin:34px 0 38px;gap:14px;}
}


/* BLOG PREVIEW COMPACTO: ALTURAS EQUILIBRADAS */
#route-blog .article-hero-link{
  height:390px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
#route-blog .article-hero{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:contain;
}
#route-blog .article-img-wide{
  width:100%;
  height:230px;
  object-fit:contain;
  margin:28px 0 24px;
}
#route-blog .featured-excerpt{
  font-size:14px!important;
  line-height:1.55!important;
  color:#4f5055!important;
}
#route-blog .blog-preview-compact{
  margin-bottom:16px;
}
#route-blog .blog-preview-compact h2{
  margin-top:24px;
}
#route-blog .blog-sidebar{
  align-self:stretch;
}
#route-blog .blog-article{
  align-self:start;
}
@media(max-width:980px){
  #route-blog .article-hero-link{height:360px;}
  #route-blog .article-img-wide{height:240px;}
}
@media(max-width:640px){
  #route-blog .article-hero-link{height:280px;}
  #route-blog .article-img-wide{height:210px;}
}


/* INICIO · TÍTULOS OFICIALES DEL BLOG */
.home-blog-official .home-blog-title{
  text-wrap:initial;
}
.home-blog-official .home-blog-title span{
  display:block;
  white-space:nowrap;
}
.home-blog-official .home-blog-title-featured{
  min-height:54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:left;
}
.home-blog-official .side-grid{
  grid-template-columns:minmax(245px,.78fr) minmax(320px,1fr);
  gap:28px;
}
.home-blog-official .side-text{
  max-width:none;
  padding-top:0;
  gap:27px;
  grid-template-rows:236px 236px;
}
.home-blog-official .side-post{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.home-blog-official .home-blog-title-side{
  min-height:44px;
  margin-bottom:13px;
  font-size:17.5px;
  line-height:1.14;
  letter-spacing:-.45px;
}
.home-blog-official .side-post p{
  max-width:330px;
  font-size:14px;
  line-height:1.28;
}

@media (max-width:1100px){
  .home-blog-official .side-grid{
    grid-template-columns:minmax(220px,.85fr) minmax(285px,1fr);
    gap:22px;
  }
  .home-blog-official .home-blog-title-side{
    font-size:15.5px;
  }
  .home-blog-official .side-post p{
    font-size:13px;
  }
}

@media (max-width:900px){
  .home-blog-official .side-grid{
    grid-template-columns:1fr;
  }
  .home-blog-official .side-text{
    grid-template-rows:auto;
    gap:30px;
  }
  .home-blog-official .side-post{
    min-height:0;
  }
  .home-blog-official .home-blog-title-side{
    font-size:22px;
  }
}

@media (max-width:640px){
  .home-blog-official .home-blog-title span{
    white-space:normal;
  }
  .home-blog-official .home-blog-title-featured{
    min-height:0;
    font-size:23px;
  }
  .home-blog-official .home-blog-title-side{
    min-height:0;
    font-size:22px;
  }
}


/* =========================================================
   AJUSTES PUNTUALES — FAQ + AVISO DE PRIVACIDAD
   ========================================================= */
#route-faqs .faq-wrap h1{
  text-align:center !important;
}

#route-aviso-privacidad > header.privacy-site-header.global-standard-header{
  background:#fff !important;
  color:#29292b !important;
  border-bottom:0 !important;
}
#route-aviso-privacidad > header.privacy-site-header.global-standard-header .site-nav,
#route-aviso-privacidad > header.privacy-site-header.global-standard-header .site-nav .brand,
#route-aviso-privacidad > header.privacy-site-header.global-standard-header .site-nav .nav-links,
#route-aviso-privacidad > header.privacy-site-header.global-standard-header .site-nav .nav-links a,
#route-aviso-privacidad > header.privacy-site-header.global-standard-header .site-nav .nav-links span,
#route-aviso-privacidad > header.privacy-site-header.global-standard-header .site-nav .search-icon{
  color:#29292b !important;
}
#route-aviso-privacidad > header.privacy-site-header.global-standard-header .site-nav .search-icon svg{
  stroke:#29292b !important;
}
#route-aviso-privacidad > header.privacy-site-header.global-standard-header .site-nav::after{
  background:rgba(41,41,43,.16) !important;
}
#route-aviso-privacidad .privacy-shell{
  width:min(1120px, calc(100% - 88px)) !important;
  margin:0 auto !important;
  padding:0 0 78px !important;
}
#route-aviso-privacidad .privacy-layout{
  grid-template-columns:42% 58% !important;
  align-items:stretch !important;
}
#route-aviso-privacidad .privacy-sidebar{
  align-self:stretch !important;
  min-height:650px !important;
  grid-template-rows:repeat(3, minmax(215px, 1fr)) !important;
}
#route-aviso-privacidad .privacy-card img{
  object-position:center center !important;
}
#route-aviso-privacidad .privacy-content{
  padding:0 0 0 48px !important;
}
#route-aviso-privacidad .privacy-content h1{
  width:calc(100% + 48px) !important;
  margin:0 0 30px -48px !important;
  text-align:center !important;
}

@media (max-width:980px){
  #route-aviso-privacidad .privacy-shell{
    width:calc(100% - 40px) !important;
  }
  #route-aviso-privacidad .privacy-layout{
    grid-template-columns:1fr !important;
  }
  #route-aviso-privacidad .privacy-sidebar{
    grid-template-rows:repeat(3, 230px) !important;
  }
  #route-aviso-privacidad .privacy-content{
    padding:42px 0 0 !important;
  }
  #route-aviso-privacidad .privacy-content h1{
    width:100% !important;
    margin-left:0 !important;
  }
}

@media (max-width:640px){
  #route-aviso-privacidad .privacy-shell{
    width:calc(100% - 28px) !important;
  }
  #route-aviso-privacidad .privacy-sidebar{
    grid-template-rows:repeat(3, 205px) !important;
  }
}


/* =========================================================
   APARTADOS LEGALES + BOLETÍN — JULIO 2026
   ========================================================= */

/* Más aire bajo el header del aviso, conservando la alineación de las tarjetas. */
#route-aviso-privacidad .privacy-shell{
  padding-top:46px !important;
  padding-bottom:94px !important;
}
#route-aviso-privacidad .privacy-content h1{
  margin-bottom:38px !important;
  text-align:center !important;
}

/* Header blanco idéntico para Cookies, Compras y Boletín. */
.utility-route > header.utility-site-header.global-standard-header{
  position:relative !important;
  width:100% !important;
  min-height:92px !important;
  height:92px !important;
  background:#fff !important;
  color:#29292b !important;
  border:0 !important;
  border-bottom:1px solid rgba(41,41,43,.14) !important;
  box-shadow:none !important;
}
.utility-route > header.utility-site-header.global-standard-header .site-nav{
  position:relative !important;
  height:92px !important;
  min-height:92px !important;
  color:#29292b !important;
  border:0 !important;
}
.utility-route > header.utility-site-header.global-standard-header .site-nav,
.utility-route > header.utility-site-header.global-standard-header .site-nav .brand,
.utility-route > header.utility-site-header.global-standard-header .site-nav .nav-links,
.utility-route > header.utility-site-header.global-standard-header .site-nav .nav-links a,
.utility-route > header.utility-site-header.global-standard-header .site-nav .nav-links span,
.utility-route > header.utility-site-header.global-standard-header .site-nav .search-icon{
  color:#29292b !important;
}
.utility-route > header.utility-site-header.global-standard-header .site-nav .search-icon svg{
  stroke:#29292b !important;
}
.utility-route > header.utility-site-header.global-standard-header .site-nav .search-icon::before{
  background:rgba(41,41,43,.16) !important;
}

.utility-shell{
  width:min(1120px, calc(100% - 88px));
  margin:0 auto;
}
.legal-shell{
  padding:62px 0 104px;
}
.legal-content{
  width:min(850px, 100%);
  margin:0 auto;
}
.legal-content h1{
  margin:0 0 54px;
  text-align:center;
  color:#29292b;
  font-size:clamp(36px, 4.2vw, 56px);
  line-height:1;
  letter-spacing:-.045em;
  font-weight:800;
}
.legal-content .legal-intro{
  margin-bottom:44px;
  color:#424248;
  font-size:16px;
  line-height:1.75;
}
.legal-content h2{
  margin:40px 0 14px;
  color:#29292b;
  font-size:23px;
  line-height:1.2;
  letter-spacing:-.02em;
  font-weight:750;
}
.legal-content h3{
  margin:25px 0 8px;
  color:#404047;
  font-size:17px;
  line-height:1.3;
  font-weight:700;
}
.legal-content p{
  margin:0 0 18px;
  color:#606066;
  font-size:15px;
  line-height:1.72;
}
.legal-contact-link{
  display:inline-flex;
  margin-top:24px;
  padding-bottom:4px;
  border-bottom:1px solid currentColor;
  color:#29292b;
  font-size:15px;
  font-weight:800;
}

/* Boletín inspirado en la referencia, limpio y responsivo. */
.newsletter-shell{
  padding:62px 0 106px;
}
.newsletter-content{
  width:min(980px, 100%);
  margin:0 auto;
}
.newsletter-heading{
  margin-bottom:38px;
}
.newsletter-heading > span{
  display:block;
  margin-bottom:2px;
  color:#29292b;
  font-size:clamp(24px, 3vw, 34px);
  line-height:1.08;
  letter-spacing:-.035em;
  font-weight:400;
}
.newsletter-heading h1{
  margin:0;
  color:#29292b;
  font-size:clamp(54px, 7vw, 78px);
  line-height:.94;
  letter-spacing:-.055em;
  font-weight:800;
}
.newsletter-description{
  max-width:930px;
  margin:0 0 38px;
  color:#66666b;
  font-size:13px;
  line-height:1.55;
}
.newsletter-fields{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:18px 20px;
}
.newsletter-field{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:8px;
  color:#55565a;
  font-size:12.5px;
  line-height:1.2;
}
.newsletter-field.field-full{grid-column:span 6;}
.newsletter-field.field-half{grid-column:span 3;}
.newsletter-field.field-third{grid-column:span 2;}
.newsletter-field input,
.newsletter-field select{
  width:100%;
  height:42px;
  border:1px solid #8b8b8f;
  border-radius:0;
  background:#fff;
  color:#29292b;
  padding:0 12px;
  font:inherit;
  outline:none;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.newsletter-field input:focus,
.newsletter-field select:focus{
  border-color:#213570;
  box-shadow:0 0 0 2px rgba(33,53,112,.12);
}
.newsletter-consent{
  display:flex;
  align-items:center;
  gap:13px;
  margin:42px 0 16px;
  color:#55565a;
  font-size:13px;
}
.newsletter-consent input{
  width:19px;
  height:19px;
  margin:0;
  accent-color:#213570;
}
.newsletter-consent a{
  color:#29292b;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:3px;
}
.newsletter-submit{
  min-width:116px;
  min-height:40px;
  border:0;
  background:#29292b;
  color:#fff;
  padding:10px 18px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.03em;
  cursor:pointer;
  transition:transform .2s ease, opacity .2s ease;
}
.newsletter-submit:hover{
  transform:translateY(-2px);
  opacity:.9;
}
.newsletter-status{
  min-height:24px;
  margin:14px 0 0;
  color:#213570;
  font-size:13px;
  font-weight:700;
}

@media (max-width:980px){
  #route-aviso-privacidad .privacy-shell{
    padding-top:38px !important;
  }
  .utility-shell{
    width:calc(100% - 40px);
  }
  .legal-shell,
  .newsletter-shell{
    padding-top:48px;
    padding-bottom:82px;
  }
}

@media (max-width:760px){
  .utility-route > header.utility-site-header.global-standard-header{
    min-height:110px !important;
    height:auto !important;
  }
  .utility-route > header.utility-site-header.global-standard-header .site-nav{
    height:auto !important;
    min-height:110px !important;
    padding:18px 0 !important;
  }
  .legal-content h1{
    margin-bottom:38px;
  }
  .newsletter-field.field-half,
  .newsletter-field.field-third{
    grid-column:span 6;
  }
}

@media (max-width:640px){
  #route-aviso-privacidad .privacy-shell{
    padding-top:30px !important;
    padding-bottom:72px !important;
  }
  .utility-shell{
    width:calc(100% - 28px);
  }
  .legal-shell,
  .newsletter-shell{
    padding-top:38px;
    padding-bottom:68px;
  }
  .legal-content h1{
    font-size:36px;
  }
  .legal-content .legal-intro,
  .legal-content p{
    font-size:14px;
  }
  .newsletter-heading{
    margin-bottom:30px;
  }
  .newsletter-description{
    margin-bottom:30px;
  }
  .newsletter-fields{
    gap:15px;
  }
  .newsletter-consent{
    align-items:flex-start;
    margin-top:32px;
  }
}


/* FAQ HEADER BLANCO + ENLACES DE FOOTER CORREGIDOS */
#route-faqs > header.faq-site-header.global-standard-header{
  position:relative !important;
  width:100% !important;
  min-height:92px !important;
  height:92px !important;
  background:#fff !important;
  color:#29292b !important;
  border:0 !important;
  border-bottom:1px solid rgba(41,41,43,.14) !important;
  box-shadow:none !important;
}
#route-faqs > header.faq-site-header.global-standard-header .site-nav{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  height:92px !important;
  min-height:92px !important;
  color:#29292b !important;
  background:#fff !important;
  border:0 !important;
}
#route-faqs > header.faq-site-header.global-standard-header .site-nav,
#route-faqs > header.faq-site-header.global-standard-header .site-nav .brand,
#route-faqs > header.faq-site-header.global-standard-header .site-nav .nav-links,
#route-faqs > header.faq-site-header.global-standard-header .site-nav .nav-links a,
#route-faqs > header.faq-site-header.global-standard-header .site-nav .nav-links span,
#route-faqs > header.faq-site-header.global-standard-header .site-nav .search-icon{
  color:#29292b !important;
}
#route-faqs > header.faq-site-header.global-standard-header .site-nav .search-icon svg{
  stroke:#29292b !important;
}
#route-faqs > header.faq-site-header.global-standard-header .site-nav::after,
#route-faqs > header.faq-site-header.global-standard-header .site-nav .search-icon::before{
  background:rgba(41,41,43,.16) !important;
}

@media (max-width:980px){
  #route-faqs > header.faq-site-header.global-standard-header,
  #route-faqs > header.faq-site-header.global-standard-header .site-nav{
    min-height:92px !important;
    height:92px !important;
  }
}

/* Ajuste de lectura para el aviso 2026: conserva el diseño y evita que las tarjetas
   laterales se estiren con el documento legal completo. */
#route-aviso-privacidad .privacy-layout{
  align-items:start !important;
}
#route-aviso-privacidad .privacy-sidebar{
  align-self:start !important;
  height:650px !important;
  min-height:650px !important;
  grid-template-rows:repeat(3, minmax(0, 1fr)) !important;
}
#route-aviso-privacidad .privacy-content .privacy-list,
#route-aviso-privacidad .privacy-content .privacy-roman-list{
  max-width:720px;
  margin:0 0 22px;
  padding-left:24px;
  color:#606066;
  font-size:12.25px;
  line-height:1.34;
  font-weight:400;
}
#route-aviso-privacidad .privacy-content .privacy-list li,
#route-aviso-privacidad .privacy-content .privacy-roman-list li{
  margin:0 0 7px;
}
#route-aviso-privacidad .privacy-content a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}

@media (max-width:980px){
  #route-aviso-privacidad .privacy-sidebar{
    height:auto !important;
    min-height:0 !important;
    grid-template-rows:repeat(3, 230px) !important;
  }
}

@media (max-width:640px){
  #route-aviso-privacidad .privacy-sidebar{
    grid-template-rows:repeat(3, 205px) !important;
  }
  #route-aviso-privacidad .privacy-content .privacy-list,
  #route-aviso-privacidad .privacy-content .privacy-roman-list{
    font-size:12.25px;
  }
}


/* =========================================================
   AVISO DE PRIVACIDAD — CONTENIDO CENTRADO SIN TARJETAS
   ========================================================= */
#route-aviso-privacidad .privacy-shell{
  width:min(1000px, calc(100% - 88px)) !important;
  margin:0 auto !important;
}
#route-aviso-privacidad .privacy-layout{
  display:block !important;
}
#route-aviso-privacidad .privacy-sidebar{
  display:none !important;
}
#route-aviso-privacidad .privacy-content{
  width:min(850px, 100%) !important;
  margin:0 auto !important;
  padding:0 !important;
}
#route-aviso-privacidad .privacy-content h1{
  width:100% !important;
  margin:0 0 38px !important;
  text-align:center !important;
}
#route-aviso-privacidad .privacy-content p,
#route-aviso-privacidad .privacy-content .privacy-list,
#route-aviso-privacidad .privacy-content .privacy-roman-list{
  max-width:none !important;
}

@media (max-width:980px){
  #route-aviso-privacidad .privacy-shell{
    width:calc(100% - 40px) !important;
  }
}

@media (max-width:640px){
  #route-aviso-privacidad .privacy-shell{
    width:calc(100% - 28px) !important;
  }
}

/* =========================================================
   COOKIES / PÁGINAS AUXILIARES — FOOTER AL RAS DEL VIEWPORT
   Evita la franja blanca cuando el contenido es más corto que la pantalla.
   ========================================================= */
.utility-route{
  min-height:100vh;
  min-height:100svh;
  display:flex;
  flex-direction:column;
}
.utility-route > .utility-shell{
  flex:1 0 auto;
}
.utility-route > .global-standard-footer{
  flex:0 0 auto;
  margin-top:auto !important;
}


/* =========================================================
   CONTACTO: TARJETAS ENLAZADAS + NUEVOS APARTADOS
   ========================================================= */
#route-contacto .contact-card{
  cursor:pointer;
  transition:transform .28s ease, box-shadow .28s ease;
}
#route-contacto .contact-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 34px rgba(0,0,0,.16);
}
#route-contacto .contact-form-section{
  padding-top:48px;
  padding-bottom:64px;
}
#route-contacto .contact-form-block{
  text-align:left;
}
#route-contacto .contact-form-block + .contact-form-block{
  margin-top:72px;
  padding-top:66px;
  border-top:1px solid rgba(41,41,43,.18);
}
#route-contacto .contact-form-block h2{
  margin:0 0 16px;
  text-align:center;
  color:#29292b;
  font-size:clamp(30px,3.5vw,44px);
  line-height:1;
  letter-spacing:-.04em;
  font-weight:800;
}
#route-contacto .contact-form-block .contact-form-intro{
  margin-bottom:32px;
}
#route-contacto .contact-info a{
  color:inherit;
}

/* FAQ interactivo */
#route-faqs .faq-heading-block{
  margin-bottom:46px;
}
#route-faqs .faq-heading-block h1{
  margin-bottom:18px;
}
#route-faqs .faq-heading-block > p:last-child{
  max-width:720px;
  margin:0;
  color:#66666b;
  font-size:15px;
  line-height:1.65;
}
.section-eyebrow{
  margin:0 0 13px;
  color:#d59b12;
  font-size:12px;
  line-height:1;
  letter-spacing:.13em;
  font-weight:800;
  text-transform:uppercase;
}
#route-faqs .faq-group-title{
  margin:0 0 22px;
  color:#213570;
  font-size:18px;
  line-height:1.2;
  letter-spacing:.04em;
  font-weight:800;
  text-transform:uppercase;
}
#route-faqs details.faq-item{
  margin:0;
  border-top:1px solid rgba(41,41,43,.18);
}
#route-faqs details.faq-item:last-child{
  border-bottom:1px solid rgba(41,41,43,.18);
}
#route-faqs details.faq-item summary{
  position:relative;
  list-style:none;
  cursor:pointer;
  padding:25px 54px 25px 0;
  color:#2b2b2d;
  font-size:clamp(21px,2.5vw,29px);
  line-height:1.12;
  letter-spacing:-.025em;
  font-weight:800;
}
#route-faqs details.faq-item summary::-webkit-details-marker{display:none;}
#route-faqs details.faq-item summary::after{
  content:'+';
  position:absolute;
  right:4px;
  top:50%;
  transform:translateY(-50%);
  color:#d59b12;
  font-size:28px;
  font-weight:500;
}
#route-faqs details.faq-item[open] summary::after{content:'−';}
#route-faqs details.faq-item p{
  max-width:880px;
  margin:-2px 0 26px;
  color:#606066;
  font-size:14.5px;
  line-height:1.7;
}
#route-faqs details.faq-item p a{
  color:#213570;
  text-decoration:underline;
  text-underline-offset:3px;
}
.faq-contact-box{
  margin-top:56px;
  padding:34px 38px;
  background:#f4f5f8;
}
.faq-contact-box h2{
  margin:0 0 10px;
  color:#29292b;
  font-size:28px;
  font-weight:800;
}
.faq-contact-box p{
  margin:0 0 22px;
  color:#606066;
  font-size:15px;
  line-height:1.6;
}
.faq-contact-box p a{color:#213570;font-weight:700;}

/* Comprar producto */
.info-route-shell,
.careers-shell{
  padding:68px 0 108px;
}
.info-page-heading,
.careers-intro{
  width:min(880px,100%);
  margin:0 auto 54px;
  text-align:center;
}
.info-page-heading h1,
.careers-intro h1{
  margin:0 0 22px;
  color:#29292b;
  font-size:clamp(44px,6vw,68px);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:800;
}
.info-page-heading > p:last-child,
.careers-intro > p:not(.section-eyebrow){
  max-width:760px;
  margin:0 auto;
  color:#66666b;
  font-size:16px;
  line-height:1.7;
}
.careers-intro .info-primary-btn{margin-top:30px;}
.info-question-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
}
.info-question-card{
  min-height:260px;
  padding:36px;
  border:1px solid rgba(41,41,43,.14);
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.info-question-card-featured{
  grid-column:1 / -1;
  min-height:290px;
  justify-content:center;
  background:#213570;
  color:#fff;
}
.info-question-card h2{
  margin:0 0 16px;
  color:#29292b;
  font-size:clamp(25px,3vw,34px);
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:800;
}
.info-question-card-featured h2{color:#fff;}
.info-question-card p{
  max-width:720px;
  margin:0 0 24px;
  color:#66666b;
  font-size:14.5px;
  line-height:1.68;
}
.info-question-card-featured p{color:rgba(255,255,255,.86);}
.info-question-card p a{color:inherit;font-weight:700;text-decoration:underline;}
.info-button-row{display:flex;flex-wrap:wrap;gap:13px;}
.info-primary-btn,
.info-secondary-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:11px 20px;
  border:1px solid #29292b;
  background:#29292b;
  color:#fff;
  font-size:12px;
  line-height:1;
  letter-spacing:.03em;
  font-weight:800;
  text-transform:uppercase;
  cursor:pointer;
}
.info-question-card-featured .info-primary-btn{
  border-color:#fff;
  background:#fff;
  color:#213570;
}
.info-secondary-btn{
  border-color:rgba(255,255,255,.72);
  background:transparent;
  color:#fff;
}
.info-text-link{
  display:inline-flex;
  margin-top:auto;
  padding-bottom:4px;
  border-bottom:1px solid currentColor;
  color:#213570;
  font-size:13px;
  font-weight:800;
}

/* Únete a la familia Asturias */
.career-form-panel{
  width:min(900px,100%);
  margin:0 auto;
  padding:46px;
  background:#f4f5f8;
}
.career-form-panel h2{
  margin:0 0 34px;
  color:#29292b;
  font-size:34px;
  line-height:1;
  letter-spacing:-.035em;
  font-weight:800;
}
.career-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
.career-fields label{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#55565a;
  font-size:13px;
  font-weight:600;
}
.career-fields .field-full{grid-column:1 / -1;}
.career-fields input{
  width:100%;
  min-height:44px;
  border:1px solid #8b8b8f;
  border-radius:0;
  background:#fff;
  padding:9px 12px;
  color:#29292b;
  font:inherit;
  outline:none;
}
.career-fields input[type='file']{
  padding:8px;
}
.career-fields input:focus{
  border-color:#213570;
  box-shadow:0 0 0 2px rgba(33,53,112,.12);
}
.career-consent{
  display:flex;
  align-items:center;
  gap:12px;
  margin:28px 0 18px;
  color:#55565a;
  font-size:13px;
}
.career-consent input{width:19px;height:19px;margin:0;accent-color:#213570;}
.career-consent a{color:#29292b;font-weight:700;text-decoration:underline;}
.career-submit{border:0;}
.career-email-note{
  margin:18px 0 0;
  color:#66666b;
  font-size:13px;
}
.career-email-note a{color:#213570;font-weight:700;}

@media(max-width:760px){
  #route-contacto .contact-form-block + .contact-form-block{margin-top:54px;padding-top:50px;}
  .info-route-shell,.careers-shell{padding:46px 0 78px;}
  .info-question-grid{grid-template-columns:1fr;}
  .info-question-card-featured{grid-column:auto;}
  .career-form-panel{padding:32px 24px;}
  .career-fields{grid-template-columns:1fr;}
  .career-fields .field-full,.career-fields .field-half{grid-column:auto;}
}

@media(max-width:520px){
  .info-question-card{min-height:0;padding:28px 24px;}
  .faq-contact-box{padding:28px 24px;}
  #route-faqs details.faq-item summary{padding-right:42px;font-size:22px;}
}


/* Directorio de sucursales y distribuidores */
.location-directory{
  width:min(1180px,100%);
  margin:0 auto 88px;
}
.location-directory-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:start;
}
.location-directory-group{
  overflow:hidden;
  border:1px solid rgba(41,41,43,.14);
  background:#fff;
  box-shadow:0 18px 48px rgba(20,29,55,.07);
}
.location-directory-group-header{
  position:relative;
  padding:32px 34px 28px 92px;
  background:#213570;
  color:#fff;
}
.location-directory-group-header::after{
  content:"";
  position:absolute;
  inset:auto 0 0;
  height:3px;
  background:#e6ac1b;
}
.location-directory-badge{
  position:absolute;
  left:34px;
  top:31px;
  width:42px;
  height:42px;
  border:1px solid rgba(255,255,255,.45);
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:15px;
  font-weight:800;
}
.location-directory-group-header h2{
  margin:0;
  color:#fff;
  font-size:31px;
  line-height:1;
  letter-spacing:-.035em;
  font-weight:800;
}
.location-directory-group-header p{
  margin:8px 0 0;
  color:rgba(255,255,255,.72);
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.location-directory-list{
  display:flex;
  flex-direction:column;
}
.location-directory-item{
  min-height:84px;
  padding:19px 28px;
  border-bottom:1px solid rgba(41,41,43,.1);
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  gap:13px;
  align-items:start;
  transition:background-color .2s ease,transform .2s ease;
}
.location-directory-item:last-child{border-bottom:0;}
.location-directory-item:hover{
  background:#f6f7fa;
}
.location-directory-pin{
  width:10px;
  height:10px;
  margin-top:7px;
  border:2px solid #e6ac1b;
  border-radius:50%;
  color:transparent;
}
.location-directory-content h3{
  margin:0 0 7px;
  color:#29292b;
  font-size:15px;
  line-height:1.25;
  font-weight:800;
}
.location-directory-phones{
  display:flex;
  flex-wrap:wrap;
  gap:2px 5px;
  color:#6b6b70;
  font-size:13px;
  line-height:1.45;
}
.location-directory-phones a{
  color:#213570;
  font-weight:700;
  text-decoration:none;
}
.location-directory-phones a:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}
.purchase-support-heading{
  width:min(780px,100%);
  margin:0 auto 42px;
  text-align:center;
}
.purchase-support-heading h2{
  margin:0 0 16px;
  color:#29292b;
  font-size:clamp(38px,5vw,58px);
  line-height:.98;
  letter-spacing:-.05em;
  font-weight:800;
}
.purchase-support-heading > p:last-child{
  max-width:680px;
  margin:0 auto;
  color:#66666b;
  font-size:15px;
  line-height:1.65;
}
@media (max-width:900px){
  .location-directory-grid{grid-template-columns:1fr;}
  .location-directory-group-header{padding:28px 28px 25px 82px;}
  .location-directory-badge{left:28px;top:27px;}
}
@media (max-width:560px){
  .location-directory{margin-bottom:64px;}
  .location-directory-grid{gap:22px;}
  .location-directory-group-header{padding:25px 22px 23px 72px;}
  .location-directory-badge{left:22px;top:23px;width:38px;height:38px;}
  .location-directory-group-header h2{font-size:27px;}
  .location-directory-item{min-height:78px;padding:17px 20px;}
  .location-directory-content h3{font-size:14px;}
  .location-directory-phones{font-size:12.5px;}
}


/* NOSOTROS: CONTENIDOS INDEPENDIENTES SIN ALTERAR EL DISEÑO */
#route-nosotros .about-panel[hidden]{
  display:none !important;
}
#route-nosotros .about-list{
  max-width:720px;
  margin:8px 0 0;
  padding-left:22px;
  color:#55565a;
  font-size:13.5px;
  line-height:1.65;
}
#route-nosotros .about-list li + li{
  margin-top:3px;
}
#route-nosotros .story-card.is-active .story-link{
  border-bottom-color:#fff;
}

/* Ajuste visual del separador Comprar producto en FAQ */
#route-faqs #faq-compra-title{
  margin:34px 0 18px;
  padding-top:24px;
  border-top:2px solid rgba(33,53,112,.28);
  font-size:clamp(22px,2vw,25px);
  letter-spacing:.035em;
}

@media (max-width: 700px){
  #route-faqs #faq-compra-title{
    margin-top:28px;
    padding-top:20px;
    font-size:22px;
  }
}
