:root{
      --blue:#16499D;
      --text:#030E1F;
      --red:#CE2026;
      --light:#F5F7FB;
      --line:#E2E7F0;
      --soft-blue:#EAF4FF;
      --sky:#40ADE9;
      --deep-blue:#113879;
      --white:#fff;
      --radius:24px;
      --shadow:0 12px 34px rgba(3,14,31,.08);
      --container:1200px;
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{margin:0;font-family:"Poppins",sans-serif;color:var(--text);background:#fff;line-height:1.55}
    img{max-width:100%;display:block}
    a{text-decoration:none;color:inherit}
    button,input,textarea{font:inherit}
    .container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
    .section{padding:90px 0}
    .eyebrow{display:inline-flex;gap:8px;align-items:center;color:#CE2026;font-size:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
    .eyebrow::before{content:"";width:12px;height:12px;background:url("../images/dot.svg") center/contain no-repeat;flex:0 0 12px}
    h1,h2,h3{font-family:"Poppins",sans-serif;color:var(--blue);margin:0;line-height:1.08}
    h1{font-size:38px;font-weight:700;letter-spacing:-.02em}
    h2{font-size:40px;font-weight:700;letter-spacing:-.02em}
    h3{font-size:20px;font-weight:600}
    p{margin:0}
    .lead{font-size:18px;max-width:640px;color:#030E1F}
    .section-copy,.section-head p,.cert-grid .lead,.quote-copy p,.download-card p,.product-content p{color:#030E1F}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 24px;border-radius:999px;font-weight:600;border:1.5px solid transparent;transition:.2s ease;cursor:pointer}
    .btn:hover{transform:translateY(-2px)}
    .btn-primary{background:var(--red);color:#fff;box-shadow:none}
    .btn-secondary{background:#fff;color:var(--blue);border-color:var(--blue)}
    .btn-small{padding:9px 15px;font-size:13px}
    .placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#f8f9fc,#edf1f7);border:1.5px dashed #b9c4d6;color:#748199;text-align:center;font-size:13px;font-weight:600;padding:20px}

    /* Header — overlap transparente, blanco al scroll */
    .site-header{position:fixed;top:0;left:0;right:0;z-index:20;background:transparent;border-bottom:1px solid transparent;transition:background .35s ease,border-color .35s ease,box-shadow .35s ease}
    .site-header.is-scrolled{background:#fff;border-bottom-color:rgba(226,231,240,.75);box-shadow:0 8px 24px rgba(3,14,31,.06)}
    .nav{height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
    .logo-slot{width:185px;height:auto;display:block}
    .logo-slot img{width:100%;height:auto}
    .nav-links{display:flex;align-items:center;gap:24px;font-size:14px;font-weight:600}
    .nav-actions{display:flex;gap:12px}

    /* Hero */
    /* Hero — fondo-2 full-bleed, altura proporcional para no cortar en pantallas grandes */
    .hero{
      position:relative;
      padding:120px 0 70px;
      overflow:hidden;
      background:#fbfcff;
      min-height:clamp(560px, 46.9vw, 1000px);
      display:flex;
      align-items:center;
    }
    .hero-banner{
      position:absolute;
      inset:0;
      width:100%;
      height:100%;
      object-fit:cover;
      object-position:right center;
      pointer-events:none;
      user-select:none;
    }
    .hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,640px) 1fr;gap:40px;align-items:center;width:min(calc(100% - 40px),var(--container));margin-inline:auto}
    .hero-copy{max-width:640px}
    .hero-copy p{margin-top:24px;color:#030E1F;font-size:20px}
    .hero-actions{display:flex;gap:14px;flex-wrap:nowrap;margin-top:30px;align-items:center;white-space:nowrap}
    .trust-row{display:flex;gap:20px;flex-wrap:nowrap;align-items:flex-start;margin-top:26px;font-size:13px;font-weight:500;color:#113879}
    .trust-item{display:flex;align-items:flex-start;gap:8px;white-space:nowrap}
    .trust-item--shipping{white-space:normal;line-height:1.25}
    .trust-dot{width:12px;height:12px;flex:0 0 12px;margin-top:2px}

    /* Products */
    .section-head{text-align:center;max-width:780px;margin:0 auto 44px}
    .section-head p{margin-top:16px;color:#030E1F}
    .product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
    .product-card{border:0;border-radius:24px;overflow:hidden;background:#fff;box-shadow:0 0 6px rgba(0,0,0,.16);display:flex;flex-direction:column;transition:transform .18s ease,box-shadow .18s ease}
    .product-card.reveal{transition:opacity .7s ease,transform .7s ease,box-shadow .18s ease}
    .product-card.reveal.is-visible,
    .product-card.reveal.is-visible:hover,
    .product-card.reveal-delay-1.is-visible,
    .product-card.reveal-delay-2.is-visible,
    .product-card.reveal-delay-3.is-visible,
    .product-card.reveal-delay-4.is-visible{
      transition-delay:0s !important;
    }
    .product-card:hover,
    .product-card.reveal.is-visible:hover{
      transform:translateY(-4px);
      box-shadow:0 8px 18px rgba(0,0,0,.14);
      transition-delay:0s !important;
    }
    .product-image{height:245px;border:0;position:relative;overflow:hidden;background:#f5f7fb}
    .product-image img{width:100%;height:100%;object-fit:cover}
    details .reveal,details > div{color:#030E1F;font-size:14px}
    details[open] > div{padding-top:12px}
    details > div p{max-height:none;opacity:1;overflow:visible;padding-top:0;color:#030E1F;font-size:14px}
    .shipping-badge{position:absolute;top:20px;right:-43px;width:165px;background:var(--sky);color:#fff;padding:8px 10px 7px;text-align:center;font-size:10px;font-weight:700;line-height:1.15;letter-spacing:.04em;text-transform:uppercase;transform:rotate(45deg);transform-origin:center;z-index:2;box-shadow:none;pointer-events:none}
    .product-content{padding:22px;display:flex;flex-direction:column;gap:14px;flex:1}
    .product-content h3{font-size:16px;color:var(--blue);font-weight:700;line-height:1.3}
    .product-content p{font-size:14px;color:#030E1F}
    .product-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:14px;position:relative}
    .product-bottom::before{content:"";position:absolute;top:0;left:0;width:100%;border-top:1.5px solid #CDD8EA}
    .product-bottom .btn{background:var(--blue);color:#fff;border-color:var(--blue);padding:6px 12px;font-weight:600;gap:8px}
    .product-bottom .btn img{width:13px;height:auto;flex:0 0 auto}
    .price{color:#1f94d0;font-weight:800;font-size:20px}

    /* Certifications + Indications shared bg */
    .respaldo-indicaciones{
      background:url("../images/fondo.svg") center / cover no-repeat;
      position:relative;
      overflow:hidden;
    }
    .certs,.indications{background:transparent}
    .indications{padding-top:135px}
    .cert-grid{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center}
    .download-list{display:grid;gap:16px}
    .download-card{background:#fff;border:0;border-radius:20px;padding:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:var(--shadow)}
    .download-card p{font-size:13px;color:#030E1F;margin-top:5px}
    .download-card .btn{
      flex:0 0 auto;
      min-width:148px;
      height:40px;
      padding:8px 18px;
      box-sizing:border-box;
    }
    .download-card .btn img{width:15px;height:15px;flex:0 0 auto}
    .logo-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;margin-top:48px;align-items:end}
    .cert-item{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
    .cert-logo{height:110px;width:100%;max-width:140px;object-fit:contain;background:transparent;border-radius:0}
    .cert-name{display:block;color:#40ADE9;font-size:15px;font-weight:700;text-transform:uppercase}

    /* Indications */
    .indication-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:38px}
    .indication-card{background:#E7F0F8;border-radius:22px;padding:28px 16px;text-align:center;transition:transform .35s ease,box-shadow .35s ease}
    .indication-card:hover,
    .indication-card.reveal.is-visible:hover{transform:translateY(-6px);box-shadow:0 10px 24px rgba(17,56,121,.12)}
    .icon-slot{width:84px;height:84px;margin:0 auto 16px;display:grid;place-items:center}
    .icon-slot img{width:56px;height:56px;object-fit:contain}
    .indication-card strong{display:block;color:var(--deep-blue);font-size:17px;font-weight:700}
    .indication-card span{display:block;font-size:16px;margin-top:6px;color:#030E1F}

    /* Quote */
    .quote-section{
      background:url("../images/fondo-para-empresas.svg") center / cover no-repeat;
      position:relative;
      min-height:880px;
      display:flex;
      align-items:center;
      padding:160px 0;
    }
    .quote-grid{display:grid;grid-template-columns:1fr .9fr;gap:60px;align-items:center}
    .quote-copy h2{font-size:43px;font-weight:700}
    .quote-copy p{max-width:600px;margin-top:20px;font-size:17px;color:#030E1F}
    .form-card{background:#fff;border-radius:28px;padding:34px;box-shadow:var(--shadow)}
    .form-card h3{text-align:center;margin-bottom:6px}
    .form-card>p{text-align:center;color:#030E1F;font-size:13px;margin-bottom:20px}
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
    .field{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;color:var(--text);background:#fff}
    textarea.field{min-height:110px;resize:vertical;grid-column:1/-1}
    .form-card .btn{width:50%;margin:14px auto 0;display:flex;padding-top:10px;padding-bottom:10px}

    /* FAQ */
    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin-top:38px}
    details{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px 20px}
    summary{cursor:pointer;font-weight:600;font-size:16px;color:var(--text);list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}
    summary::-webkit-details-marker{display:none}
    summary::after{content:"+";display:grid;place-items:center;flex:0 0 28px;width:28px;height:28px;border-radius:50%;background:#D8EEFC;color:var(--blue);font-size:20px;line-height:1;transition:transform .28s ease}
    details[open] summary::after{content:"−";transform:rotate(180deg)}
    details > div,details p{padding-top:0;color:#030E1F;font-size:14px;max-height:0;opacity:0;overflow:hidden;transition:max-height .38s ease,opacity .28s ease,padding-top .28s ease}
    details[open] > div,details[open] p{max-height:320px;opacity:1;padding-top:12px}

    /* Footer */
    footer{background:#113879;color:#fff;padding:38px 0}
    .footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}
    .footer-logo{width:320px;height:auto;display:block}
    .footer-logo img{width:100%;height:auto}
    footer p{max-width:530px;text-align:right;color:#eaf0ff;font-size:14px}

    /* Reveal animations */
    .reveal{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform}
    .reveal.is-visible{opacity:1;transform:translateY(0)}
    .reveal-delay-1{transition-delay:.08s}
    .reveal-delay-2{transition-delay:.16s}
    .reveal-delay-3{transition-delay:.24s}
    .reveal-delay-4{transition-delay:.32s}
    .reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .75s ease,transform .75s ease}
    .reveal-left.is-visible{opacity:1;transform:translateX(0)}
    .reveal-right{opacity:0;transform:translateX(40px);transition:opacity .75s ease,transform .75s ease}
    .reveal-right.is-visible{opacity:1;transform:translateX(0)}
    .reveal-scale{opacity:0;transform:scale(.92);transition:opacity .65s ease,transform .65s ease}
    .reveal-scale.is-visible{opacity:1;transform:scale(1)}
    .hero-copy > *{opacity:0;transform:translateY(28px);animation:heroIn .75s ease forwards}
    .hero-copy h1{animation-delay:.1s}
    .hero-copy .lead{animation-delay:.22s}
    .hero-copy .hero-actions{animation-delay:.34s}
    .hero-copy .trust-row{animation-delay:.46s}
    @keyframes heroIn{to{opacity:1;transform:translateY(0)}}
    @media (prefers-reduced-motion:reduce){
      .reveal,.reveal-left,.reveal-right,.reveal-scale,.hero-copy > *{opacity:1;transform:none;animation:none;transition:none}
    }

    @media(max-width:980px){
      .nav-links{display:none}
      .hero-grid,.cert-grid,.quote-grid{grid-template-columns:1fr}
      .hero{min-height:auto;padding-bottom:40px;display:flex;flex-direction:column}
      .hero-banner{position:relative;order:2;height:auto;aspect-ratio:4098/1923;max-height:none;inset:auto;width:calc(100% - 40px);max-width:var(--container);margin:24px auto 0;border-radius:24px;object-fit:cover;object-position:center right}
      .hero-grid{order:1;width:min(calc(100% - 40px),var(--container))}
      .hero-actions{flex-wrap:wrap;white-space:normal}
      .trust-row{flex-wrap:wrap;gap:12px 20px}
      .quote-copy h2{font-size:34px}
      .quote-section{
        min-height:auto;
        padding:90px 0;
        background:url("../images/banner-mobile-empresas.jpg") center / cover no-repeat;
      }
      .product-grid{grid-template-columns:repeat(2,1fr)}
      .indication-grid{grid-template-columns:repeat(3,1fr)}
      .logo-strip{grid-template-columns:repeat(3,1fr)}
    }
    @media(max-width:680px){
      .container{width:min(calc(100% - 28px),var(--container))}
      .section{padding:64px 0}
      .nav-actions .btn-secondary{display:none}
      .logo-slot{width:150px}
      .hero{padding-top:100px;min-height:auto}
      .hero-banner{width:calc(100% - 28px);height:auto;aspect-ratio:4098/1923;border-radius:18px;object-position:72% center}
      h1{font-size:30px}
      .hero-copy p{font-size:17px}
      .hero-actions{flex-direction:column;align-items:stretch;gap:12px}
      .hero-actions .btn{width:100%;white-space:normal;text-align:center}
      .trust-row{flex-direction:column;gap:10px}
      .trust-item,.trust-item--shipping{white-space:normal}
      .trust-item--shipping br{display:none}
      h2{font-size:30px}
      .quote-copy h2{font-size:28px}
      .footer-logo{width:min(100%,320px)}
      .product-grid,.faq-grid,.form-grid{grid-template-columns:1fr}
      textarea.field{grid-column:auto}
      .indication-grid,.logo-strip{grid-template-columns:repeat(2,1fr)}
      .footer-grid{flex-direction:column;align-items:flex-start}
      footer p{text-align:left}
      .download-card{align-items:flex-start;flex-direction:column}
      .form-card .btn{width:100%}
    }

/* Modal Biblioteca técnica */
.doc-modal{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;padding:20px}
.doc-modal.is-open{display:flex}
.doc-modal-overlay{position:absolute;inset:0;background:rgba(3,14,31,.55);backdrop-filter:blur(2px)}
.doc-modal-dialog{position:relative;background:#fff;border-radius:20px;max-width:960px;width:100%;display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.25);animation:docModalIn .22s ease}
.doc-modal-dialog--small{max-width:560px}
@keyframes docModalIn{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
.doc-modal-head{padding:28px 32px 16px;border-bottom:1px solid #e6ecf4}
.doc-modal-head h3{margin:0 0 6px;font-size:24px;font-weight:700;color:#113879}
.doc-modal-head p{margin:0;font-size:14px;color:#030E1F}
.doc-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border:0;border-radius:50%;background:#eef3f9;color:#113879;font-size:18px;line-height:1;cursor:pointer;transition:background .15s ease}
.doc-modal-close:hover{background:#dde7f2}
.doc-modal-body{padding:16px 32px 28px}
.doc-list{display:grid;grid-template-columns:1fr 1fr;column-gap:36px}
.doc-list--single{grid-template-columns:1fr}
.doc-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid #eef2f7}
.doc-row span{font-size:14px;font-weight:500;color:#030E1F}
.doc-row .btn{flex:none;white-space:nowrap}
@media(max-width:860px){
  .doc-modal{align-items:flex-start;overflow-y:auto}
  .doc-modal-dialog{margin:20px 0}
  .doc-list{grid-template-columns:1fr}
}
@media(max-width:560px){
  .doc-modal-head{padding:24px 20px 14px}
  .doc-modal-body{padding:12px 20px 22px}
  .doc-row{flex-direction:column;align-items:flex-start;gap:10px}
  .doc-row .btn{width:100%;justify-content:center}
}

/* Contact Form 7 dentro de la form-card */
.form-card .wpcf7{margin-top:18px}
.form-card .wpcf7 p{margin:0}
.form-card .wpcf7 .row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.form-card .wpcf7 .row p{width:100%}
.form-card .wpcf7 input[type="text"],
.form-card .wpcf7 input[type="email"],
.form-card .wpcf7 input[type="tel"],
.form-card .wpcf7 textarea{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;color:var(--text);background:#fff;font:inherit;font-size:14px}
.form-card .wpcf7 textarea{height:110px;min-height:110px;resize:vertical;margin-bottom:12px}
.form-card .wpcf7 form > p:last-of-type{text-align:center}
.form-card .wpcf7 input[type="submit"]{display:inline-block;width:auto;padding:10px 34px;border-radius:999px;font-weight:600;font-size:15px;border:1.5px solid transparent;background:var(--red);color:#fff;cursor:pointer;transition:.2s ease;font-family:inherit}
.form-card .wpcf7 input[type="submit"]:hover{transform:translateY(-2px)}
.form-card .wpcf7 .wpcf7-not-valid-tip{font-size:12px;color:#CE2026;margin-top:4px}
.form-card .wpcf7 .wpcf7-response-output{margin:12px 0 0;padding:10px 14px;border-radius:10px;font-size:13px;border:1px solid var(--line)}
.form-card .wpcf7 .wpcf7-spinner{display:block;margin:8px auto 0}
@media(max-width:680px){
  .form-card .wpcf7 .row{grid-template-columns:1fr}
}
