
/* Las medidas S(n) son los px del diseño (1036 px de ancho) y escalan con la pantalla hasta 1.3x.
   Rendimiento: todo lo que se anima en bucle usa solo transform u opacity. */
:root{
  --navy:#074869; --navy-dk:#03202e; --sky:#7aaee0; --sky2:#b9dcff;
  --green:#009640; --green2:#00b34c; --green-dk:#007a33;
  --card1:#1e6db6; --card2:#6fa6d8; --card3:#b3b3b3;
  --hh:80px; --ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Jost',system-ui,sans-serif;color:#fff;background:var(--navy);overflow-x:hidden;line-height:1.3}
img,video{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,select{font:inherit;color:inherit}
main,footer,.insomed-page{overflow-x:clip}
.wrap{width:100%;max-width:clamp(911.7px,100.000vw,1346.8px);margin:0 auto;padding:0 clamp(21.1px,2.317vw,31.2px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ===== Fondo de cada página ===== */
.insomed-page{display:none;background:linear-gradient(180deg,rgba(7,72,105,0) 50%,var(--navy) 92%) top/100% clamp(1020.8px,111.969vw,1508.0px) no-repeat,url(../images/8b37cb8689b6cb58.webp) top/100% clamp(1020.8px,111.969vw,1508.0px) no-repeat,var(--navy)}
.insomed-page.current{display:block}

/* ===== Transición de carga entre páginas (círculo con la gota) ===== */
.curtain{position:fixed;inset:0;z-index:300;pointer-events:none;display:grid;place-items:center;
  background:radial-gradient(circle at center,#0e6c97,var(--navy-dk) 70%);clip-path:circle(0% at var(--cx,50%) var(--cy,50%));transition:clip-path .7s var(--ease)}
.curtain.on{clip-path:circle(150% at var(--cx,50%) var(--cy,50%))}
.curtain img{width:110px;opacity:0;transform:scale(.6) rotate(-20deg);transition:.5s var(--ease) .15s}
.curtain.on img{opacity:1;transform:none}
.curtain .ring{position:absolute;width:180px;height:180px;border-radius:50%;border:2px solid transparent;border-top-color:var(--green2);border-right-color:var(--sky);opacity:0;transition:opacity .3s;animation:spin 1s linear infinite}
.curtain.on .ring{opacity:1}
.insomed-page.current .enter{animation:enter .8s var(--ease) both}
@keyframes enter{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}

/* ===== Header (siempre en tamaño compacto) ===== */
header{position:sticky;top:0;z-index:100;transition:background-color .4s,box-shadow .4s}
header.scrolled{background:rgba(3,38,56,.95);box-shadow:0 8px 24px rgba(0,0,0,.25)}
.nav{max-width:clamp(1091.2px,119.691vw,1612.0px);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:clamp(10.6px,1.158vw,15.6px) clamp(42.2px,4.633vw,62.4px)}
.brand,.esr-top{position:relative;overflow:hidden;display:block}
.brand img{height:clamp(31.7px,3.475vw,46.8px);width:auto}
.esr-top img{height:clamp(40.5px,4.440vw,59.8px);width:auto}
.brand::after,.esr-top::after{content:"";position:absolute;top:0;left:0;width:40%;height:100%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);transform:translateX(-150%) skewX(-20deg);animation:sheen 6s ease-in-out infinite}
.esr-top::after{animation-delay:3s}
@keyframes sheen{0%,65%{transform:translateX(-150%) skewX(-20deg)}100%{transform:translateX(320%) skewX(-20deg)}}
.menu{display:flex;gap:clamp(7.0px,0.772vw,10.4px);list-style:none}
.menu a{position:relative;display:block;padding:clamp(5.3px,0.579vw,7.8px) clamp(5.3px,0.579vw,7.8px);font-size:clamp(12.8px,1.400vw,18.9px);font-weight:400;letter-spacing:.4px;text-transform:uppercase;transition:color .3s}
.menu a::after{content:"";position:absolute;left:clamp(5.3px,0.579vw,7.8px);right:clamp(5.3px,0.579vw,7.8px);bottom:0;height:2px;background:linear-gradient(90deg,var(--green2),var(--sky));transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.menu a:hover::after,.menu a.active::after{transform:scaleX(1)}
.burger{display:none;width:44px;height:44px;position:relative;background:none;border:0;cursor:pointer}
.burger span{position:absolute;left:10px;right:10px;height:2px;background:#fff;transition:.4s var(--ease)}
.burger span:nth-child(1){top:14px}.burger span:nth-child(2){top:21px}.burger span:nth-child(3){top:28px}
.burger.open span:nth-child(1){top:21px;transform:rotate(45deg)}.burger.open span:nth-child(2){opacity:0}.burger.open span:nth-child(3){top:21px;transform:rotate(-45deg)}

/* ===== Títulos y líneas verdes ===== */
.h-title{font-weight:800;font-size:clamp(40.5px,4.440vw,59.8px);text-align:center;letter-spacing:.5px;color:var(--sky);text-shadow:0 8px 14px rgba(0,0,0,.45)}
.upper{text-transform:uppercase}
.sub{font-weight:700;text-align:center;font-size:clamp(18.5px,2.027vw,27.3px)}
.gline{position:relative;height:3px;background:var(--green);width:62%;margin:clamp(17.6px,1.931vw,26.0px) auto 0;overflow:hidden;transform-origin:center}
.gline::after{content:"";position:absolute;top:0;left:0;width:30%;height:100%;background:linear-gradient(90deg,transparent,#c9ffdf,transparent);transform:translateX(-110%);animation:run 6s ease-in-out infinite}
@keyframes run{0%,30%{transform:translateX(-110%)}100%{transform:translateX(360%)}}
.gline[data-r]{transform:scaleX(0)}.gline[data-r].in{transform:none}

/* ===== Reveals (sin desenfoques, solo opacidad y movimiento) ===== */
[data-r]{opacity:0;transition:opacity .9s var(--ease),transform 1.05s var(--ease)}
[data-r="up"]{transform:translateY(50px)}
[data-r="ltr"]{transform:translateX(-160px)}
[data-r="rtl"]{transform:translateX(160px)}
[data-r="zoom"]{transform:scale(.85)}
[data-r].in{opacity:1;transform:none}

/* ===== Botones WhatsApp (círculo: movimiento al botón o destello de luz) ===== */
.ctas{display:flex;flex-direction:column;align-items:center;gap:clamp(17.6px,1.931vw,26.0px)}
.btn{position:relative;display:flex;align-items:center;justify-content:center;width:clamp(297.4px,32.625vw,439.4px);max-width:100%;min-height:clamp(49.3px,5.405vw,72.8px);padding:6px 20px;border-radius:clamp(10.6px,1.158vw,15.6px);
  background:linear-gradient(180deg,var(--green2),var(--green) 55%,var(--green-dk));font-weight:700;font-size:clamp(17.6px,1.931vw,26.0px);line-height:1.08;text-align:center;
  box-shadow:0 10px 18px rgba(0,0,0,.45),inset 0 1px 0 rgba(255,255,255,.3);overflow:hidden;isolation:isolate;
  animation:breathe 3.6s ease-in-out infinite;transition:box-shadow .35s}
.btn:nth-child(2){animation-delay:-1.8s}
.btn::before{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;z-index:-1;background:linear-gradient(105deg,transparent,rgba(255,255,255,.7),transparent);transform:translateX(-130%) skewX(-20deg);animation:flash 5s ease-in-out infinite}
.btn:nth-child(2)::before{animation-delay:2.5s}
.btn:hover{box-shadow:0 16px 28px rgba(0,0,0,.5),0 0 24px rgba(0,179,76,.6)}
@keyframes flash{0%,50%{transform:translateX(-130%) skewX(-20deg)}85%,100%{transform:translateX(300%) skewX(-20deg)}}
@keyframes breathe{0%,100%{transform:scale(1)}50%{transform:scale(1.035)}}
.btn-white{background:#fff;color:var(--green);animation:none;transition:transform .35s var(--ease),box-shadow .35s}
.btn-white::before{background:linear-gradient(105deg,transparent,rgba(0,150,64,.2),transparent)}
.btn-white:hover{transform:translateY(-4px)}

/* ===== Franjas verdes: rayas que avanzan suave + barrido de luz lento ===== */
.stripes{position:relative;overflow:hidden;isolation:isolate}
.stripes::before{content:"";position:absolute;top:0;bottom:0;left:0;width:calc(100% + 114px);z-index:-1;
  background:repeating-linear-gradient(-45deg,rgba(255,255,255,0) 0 20px,rgba(255,255,255,.07) 20px 40px);animation:stripes 6s linear infinite}
.stripes::after{content:"";position:absolute;top:0;bottom:0;left:0;width:30%;z-index:-1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.28),transparent);
  transform:translateX(-110%) skewX(-22deg);animation:sweep 8s ease-in-out infinite}
@keyframes stripes{from{transform:translateX(0)}to{transform:translateX(-56.57px)}}
@keyframes sweep{0%,35%{transform:translateX(-110%) skewX(-22deg)}100%{transform:translateX(360%) skewX(-22deg)}}

/* ================= INICIO ================= */
.hero{position:relative;margin-top:calc(-1 * var(--hh));height:56.25vw;max-height:100vh;min-height:300px;background:#03283b;overflow:hidden}
.hero video{width:100%;height:100%;object-fit:cover}
.cotiza{background:linear-gradient(180deg,var(--navy-dk),var(--navy));padding:clamp(40.5px,4.440vw,59.8px) 0 clamp(26.4px,2.896vw,39.0px)}
.cotiza .h-title{margin-bottom:clamp(38.7px,4.247vw,57.2px)}
.note{max-width:clamp(598.4px,65.637vw,884.0px);margin:0 auto clamp(31.7px,3.475vw,46.8px);font-size:clamp(18.0px,1.979vw,26.7px);font-weight:300;line-height:1.22}
.note b{font-weight:700}.note p+p{margin-top:clamp(17.6px,1.931vw,26.0px)}

.nosotros{padding:clamp(35.2px,3.861vw,52.0px) 0 0}
.about{display:grid;grid-template-columns:1fr clamp(176.0px,19.305vw,260.0px);gap:clamp(21.1px,2.317vw,31.2px);align-items:center;max-width:clamp(686.4px,75.290vw,1014.0px);margin:clamp(31.7px,3.475vw,46.8px) auto 0}
.about p{font-size:clamp(16.7px,1.834vw,24.7px);font-weight:300;line-height:1.22}
.about p+p{margin-top:clamp(15.8px,1.737vw,23.4px)}.about b{font-weight:700}
.drop{width:clamp(177.8px,19.498vw,262.6px);animation:dropFloat 8s ease-in-out infinite}
@keyframes dropFloat{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-18px) rotate(3deg)}}

/* Cinta ESR (círculo: movimiento interesante en la cinta verde y en la imagen) */
.esr-band{position:relative;height:clamp(171.6px,18.822vw,253.5px);margin:clamp(105.6px,11.583vw,156.0px) 0 clamp(101.2px,11.100vw,149.5px)}
.rib{position:absolute;top:0;height:100%;background:var(--green);box-shadow:0 16px 22px rgba(0,0,0,.3);transition:transform 1.2s var(--ease),opacity .9s}
.rib.r1{left:0;width:calc(50% - clamp(139.0px,15.251vw,205.4px))}
.rib.r2{left:calc(50% - clamp(36.1px,3.958vw,53.3px));right:0;z-index:3;clip-path:polygon(clamp(49.3px,5.405vw,72.8px) 0,100% 0,100% 100%,clamp(49.3px,5.405vw,72.8px) 100%,0 50%);box-shadow:none}
.esr-band .rib.r1:not(.in){transform:translateX(-100%)}
.esr-band .rib.r2:not(.in){transform:translateX(100%)}
.trophy{position:absolute;left:calc(50% - clamp(292.2px,32.046vw,431.6px));top:50%;width:clamp(308.0px,33.784vw,455.0px);aspect-ratio:1;margin-top:calc(-1 * clamp(154.0px,16.892vw,227.5px));z-index:2}
.trophy .circle{position:relative;width:100%;height:100%;border-radius:50%;overflow:hidden;box-shadow:0 22px 40px rgba(0,0,0,.45);animation:trophyFloat 7s ease-in-out infinite}
.trophy .circle img{width:100%;height:100%;object-fit:cover;animation:trophyZoom 10s ease-in-out infinite alternate}
.trophy .circle::after{content:"";position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.3),transparent);transform:translateX(-120%) skewX(-18deg);animation:sheen2 7s ease-in-out infinite}
@keyframes sheen2{0%,45%{transform:translateX(-120%) skewX(-18deg)}100%{transform:translateX(260%) skewX(-18deg)}}
@keyframes trophyFloat{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-12px) rotate(2deg)}}
@keyframes trophyZoom{0%{transform:scale(1.02)}100%{transform:scale(1.14) translate(-2%,2%)}}
.trophy[data-r]{transform:scale(.7) rotate(-15deg)}.trophy[data-r].in{transform:none}
.esr-big{position:absolute;left:calc(50% + clamp(44.0px,4.826vw,65.0px));top:50%;width:clamp(207.7px,22.780vw,306.8px);margin-top:calc(-1 * clamp(51.9px,5.695vw,76.7px));z-index:4}
.esr-big img{width:100%;animation:esrPop 6s ease-in-out infinite}
@keyframes esrPop{0%,100%{transform:scale(1)}50%{transform:scale(1.05)}}
.slogan{text-align:center;font-weight:700;font-size:clamp(18.5px,2.027vw,27.3px);padding:0 20px clamp(8.8px,0.965vw,13.0px)}
.slogan p+p{margin-top:clamp(22.9px,2.510vw,33.8px)}

/* Tarjetas (círculo: aparecer flotando al deslizar; al pasar el mouse cambia la imagen por el texto) */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(39.6px,4.344vw,58.5px);padding:clamp(52.8px,5.792vw,78.0px) 0 clamp(70.4px,7.722vw,104.0px);max-width:clamp(865.9px,94.981vw,1279.2px);margin:auto;perspective:1200px}
.mcard{position:relative;height:clamp(387.2px,42.471vw,572.0px);background:rgba(158,184,202,.62);box-shadow:0 20px 30px rgba(0,0,0,.38);overflow:hidden;text-align:center;cursor:pointer;
  transition:opacity .9s var(--ease),transform 1s var(--ease)}
.mcard:not(.in){opacity:0;transform:translateY(120px) rotateX(20deg) scale(.92)}
.mcard:nth-child(2){transition-delay:.12s}.mcard:nth-child(3){transition-delay:.24s}
.mcard.in{animation:cardFloat 7s ease-in-out 1.1s infinite}
.mcard:nth-child(2).in{animation-delay:-1.2s}.mcard:nth-child(3).in{animation-delay:-3.5s}
@keyframes cardFloat{0%,100%{translate:0 0}50%{translate:0 -12px}}
.mcard .ph{position:absolute;inset:0 0 clamp(22.9px,2.510vw,33.8px);background-size:cover;background-position:center;transition:opacity .6s var(--ease),transform .9s var(--ease)}
.mcard .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(196,216,232,.35),rgba(150,182,206,.2))}
.mcard .txt{position:relative;padding:clamp(24.6px,2.703vw,36.4px) clamp(5.3px,0.579vw,7.8px) 0;font-size:clamp(16.3px,1.786vw,24.1px);font-weight:300;line-height:1.25}
.mcard h3{font-weight:700;font-size:clamp(27.3px,2.992vw,40.3px);line-height:1.05;margin-bottom:clamp(52.8px,5.792vw,78.0px);letter-spacing:.4px;text-shadow:0 2px 12px rgba(0,40,70,.45)}
.mcard .body{opacity:0;transform:translateY(26px);transition:opacity .5s var(--ease),transform .6s var(--ease)}
.mcard .vals{margin-top:clamp(38.7px,4.247vw,57.2px);display:grid;gap:clamp(19.4px,2.124vw,28.6px);font-size:clamp(17.6px,1.931vw,26.0px);font-weight:400}
.mcard .vals span{display:block;opacity:0;transform:translateY(14px);transition:.5s var(--ease)}
.mcard:hover .ph,.mcard.flip .ph{opacity:0;transform:scale(1.12)}
.mcard:hover .body,.mcard.flip .body{opacity:1;transform:none;transition-delay:.12s}
.mcard:hover .vals span,.mcard.flip .vals span{opacity:1;transform:none}
.mcard:hover .vals span:nth-child(1),.mcard.flip .vals span:nth-child(1){transition-delay:.3s}
.mcard:hover .vals span:nth-child(2),.mcard.flip .vals span:nth-child(2){transition-delay:.42s}
.mcard:hover .vals span:nth-child(3),.mcard.flip .vals span:nth-child(3){transition-delay:.54s}
.mcard .bar{position:absolute;left:0;right:0;bottom:0;height:clamp(22.9px,2.510vw,33.8px);overflow:hidden}
.mcard .bar::after{content:"";position:absolute;top:0;bottom:0;left:0;width:35%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:translateX(-110%);animation:run 6s ease-in-out infinite}
.mcard:nth-child(1) .bar{background:var(--card1)}.mcard:nth-child(2) .bar{background:var(--card2)}.mcard:nth-child(3) .bar{background:var(--card3)}

/* ================= FOOTER (círculo: video de luces azules de fondo) ================= */
.foot{position:relative;overflow:hidden;background:var(--navy);padding:clamp(49.3px,5.405vw,72.8px) 0 clamp(24.6px,2.703vw,36.4px);isolation:isolate}
.foot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.foot::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,var(--navy) 0%,rgba(7,72,105,0) 20%)}
.foot .ctas{margin-bottom:clamp(202.4px,22.201vw,299.0px)}
.foot.no-cta .ctas{display:none}
.foot.no-cta{padding-top:clamp(228.8px,25.097vw,338.0px)}
.contact-row{display:grid;grid-template-columns:clamp(299.2px,32.819vw,442.0px) 1fr;align-items:center;gap:clamp(49.3px,5.405vw,72.8px)}
.tag-green{height:clamp(158.4px,17.375vw,234.0px);display:flex;align-items:center;padding-left:clamp(88.0px,9.653vw,130.0px);font-weight:700;font-size:clamp(28.2px,3.089vw,41.6px);letter-spacing:.4px;background:var(--green);
  clip-path:polygon(0 0,84% 0,100% 50%,84% 100%,0 100%)}
.cinfo{display:grid;gap:clamp(15.8px,1.737vw,23.4px);font-size:clamp(16.7px,1.834vw,24.7px);line-height:1.15}
.ci{display:grid;grid-template-columns:clamp(44.0px,4.826vw,65.0px) 1fr;gap:clamp(10.6px,1.158vw,15.6px);align-items:center}
.ci svg{width:clamp(40.5px,4.440vw,59.8px);height:clamp(40.5px,4.440vw,59.8px);fill:var(--green)}
.ci:nth-child(1) svg{animation:bob 3.5s ease-in-out infinite}
.ci:nth-child(2) svg{animation:ringing 4s ease-in-out infinite}
.ci:nth-child(3) svg{animation:hop 3s ease-in-out infinite}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
@keyframes ringing{0%,75%,100%{transform:rotate(0)}79%{transform:rotate(-12deg)}83%{transform:rotate(12deg)}87%{transform:rotate(-7deg)}91%{transform:rotate(5deg)}}
@keyframes hop{0%,100%{transform:translateY(0)}40%{transform:translateY(-7px)}60%{transform:translateY(0)}}
.ci a{transition:color .3s}
.ci a:hover{color:#8ff0b8}
.socials{display:flex;justify-content:center;align-items:center;gap:clamp(10.6px,1.158vw,15.6px);margin-top:clamp(40.5px,4.440vw,59.8px);padding-left:clamp(105.6px,11.583vw,156.0px)}
.socials a.s{width:clamp(40.5px,4.440vw,59.8px);height:clamp(40.5px,4.440vw,59.8px);border-radius:50%;background:#fff;display:grid;place-items:center;transition:transform .5s var(--ease)}
.socials a.s svg{width:clamp(22.9px,2.510vw,33.8px);height:clamp(22.9px,2.510vw,33.8px);fill:var(--navy)}
.socials a.s:hover{transform:translateY(-5px) rotate(360deg)}
.socials .priv{position:relative;margin-left:clamp(51.0px,5.598vw,75.4px);font-size:clamp(15.8px,1.737vw,23.4px);letter-spacing:.3px}
.socials .priv::after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:1px;background:#fff;transform:scaleX(0);transition:transform .4s var(--ease)}
.socials .priv:hover::after{transform:scaleX(1)}

/* ================= PRODUCTOS ================= */
.sec{padding:clamp(26.4px,2.896vw,39.0px) 0 0}
.prod-hero{position:relative;width:100%;max-width:clamp(911.7px,100.000vw,1346.8px);margin:clamp(26.4px,2.896vw,39.0px) auto 0;aspect-ratio:1036/455}
.prod-hero .ad{position:absolute;left:42.8%;top:0;width:34%;overflow:hidden;box-shadow:0 18px 32px rgba(0,0,0,.4)}
.prod-hero .ad img{animation:adZoom 12s ease-in-out infinite alternate}
.prod-hero .ad::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-120%) skewX(-18deg);animation:sheen2 7s ease-in-out infinite}
@keyframes adZoom{from{transform:scale(1)}to{transform:scale(1.08)}}
.prod-hero .can{position:absolute;left:-5.1%;top:-26.8%;width:69.3%;z-index:2;pointer-events:none}
.prod-hero .can img{animation:canFloat 7s ease-in-out infinite}
@keyframes canFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-16px) rotate(-4deg)}}
.pdesc{max-width:clamp(598.4px,65.637vw,884.0px);margin:clamp(22.9px,2.510vw,33.8px) auto 0;text-align:center}
.pdesc h3{font-weight:700;font-size:clamp(21.1px,2.317vw,31.2px);margin:clamp(19.4px,2.124vw,28.6px) 0 clamp(8.8px,0.965vw,13.0px)}
.pdesc .spec{font-weight:300;font-size:clamp(14.5px,1.593vw,21.4px);text-transform:uppercase;line-height:1.22}
.pdesc p{font-weight:300;font-size:clamp(14.5px,1.593vw,21.4px);line-height:1.25}
.pdesc p b{font-weight:700}
/* círculo: textos que avanzan con el scroll (palabra por palabra) */
.pdesc .w{opacity:.18;transition:opacity .4s}
.pdesc .w.lit{opacity:1}

.prod2{padding-top:clamp(52.8px,5.792vw,78.0px)}
.prod-row{display:grid;grid-template-columns:clamp(290.4px,31.853vw,429.0px) 1fr;align-items:center;margin-top:clamp(8.8px,0.965vw,13.0px)}
.bottle img{width:clamp(143.4px,15.734vw,211.9px);margin:0 auto 0 clamp(89.8px,9.846vw,132.6px);animation:floatY 7s ease-in-out infinite}
@keyframes floatY{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.pinfo h3{font-weight:700;font-size:clamp(19.4px,2.124vw,28.6px);margin-bottom:clamp(10.6px,1.158vw,15.6px)}
.pinfo p{font-weight:300;font-size:clamp(14.1px,1.544vw,20.8px);text-transform:uppercase;line-height:1.4}
.pinfo .gline{width:100%;margin:clamp(21.1px,2.317vw,31.2px) 0 0}
.sut{position:relative;min-height:clamp(246.4px,27.027vw,364.0px);margin-top:clamp(8.8px,0.965vw,13.0px)}
.sut .pinfo{position:relative;z-index:2;width:65%;padding-top:clamp(17.6px,1.931vw,26.0px)}
.sut .boxes{position:absolute;right:0;top:calc(-1 * clamp(17.6px,1.931vw,26.0px));width:52%;height:clamp(246.4px,27.027vw,364.0px)}
.boxes img{position:absolute}
.boxes .b1{width:60.5%;left:-3%;bottom:-4%;animation:floatY 8s ease-in-out infinite}
.boxes .b2{width:62.7%;right:-3.3%;top:-4%;animation:floatY 8s ease-in-out -4s infinite}
.mega{background:var(--green);padding:clamp(21.1px,2.317vw,31.2px) 20px;margin-top:clamp(26.4px,2.896vw,39.0px)}
.mega .row{display:flex;justify-content:center;align-items:center;gap:clamp(26.4px,2.896vw,39.0px);flex-wrap:wrap}
.mega .num{font-weight:800;font-size:clamp(51.0px,5.598vw,75.4px);line-height:1;font-variant-numeric:tabular-nums}
.mega .lbl{font-weight:700;font-size:clamp(18.5px,2.027vw,27.3px);line-height:1.12;text-transform:uppercase}

.catalogs{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(46.6px,5.116vw,68.9px);margin:clamp(38.7px,4.247vw,57.2px) auto 0;max-width:clamp(858.9px,94.208vw,1268.8px);perspective:1000px}
.cat{position:relative;display:block;border:1px solid rgba(255,255,255,.85);box-shadow:0 20px 30px rgba(0,0,0,.42);overflow:hidden;transition:opacity .9s var(--ease),transform .3s ease-out}
.cat:not(.in){opacity:0;transform:translateY(90px) rotateX(16deg)}
.cat:nth-child(2){transition-delay:.1s}.cat:nth-child(3){transition-delay:.2s}
.cat::after{content:"";position:absolute;top:0;bottom:0;left:0;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.35),transparent);transform:translateX(-120%) skewX(-18deg);animation:sheen2 7s ease-in-out infinite}
.cat:nth-child(2)::after{animation-delay:-2.3s}.cat:nth-child(3)::after{animation-delay:-4.6s}
/* círculo: logos de marcas */
.marquee{overflow:hidden;padding:clamp(40.5px,4.440vw,59.8px) 0 clamp(61.6px,6.757vw,91.0px);-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.track{display:flex;align-items:center;gap:clamp(96.8px,10.618vw,143.0px);width:max-content;animation:marquee 30s linear infinite}
.marquee:hover .track{animation-play-state:paused}
.track img{height:clamp(105.6px,11.583vw,156.0px);width:auto}
.track img.sx{height:clamp(45.8px,5.019vw,67.6px)}
@keyframes marquee{to{transform:translateX(-50%)}}

/* ================= SERVICIOS ================= */
.srv-video{max-width:clamp(580.8px,63.707vw,858.0px);margin:clamp(38.7px,4.247vw,57.2px) auto 0;border-radius:clamp(24.6px,2.703vw,36.4px);border:2px solid var(--green);overflow:hidden;background:#fff;aspect-ratio:16/9;box-shadow:0 20px 34px rgba(0,0,0,.4)}
.srv-video video{width:100%;height:100%;object-fit:cover}
.s360{display:grid;grid-template-columns:clamp(360.8px,39.575vw,533.0px) 1fr;gap:clamp(61.6px,6.757vw,91.0px);align-items:center;margin-top:clamp(52.8px,5.792vw,78.0px)}
.s360 p{text-align:center;font-size:clamp(18.0px,1.979vw,26.7px);font-weight:300;line-height:1.25;margin-bottom:clamp(38.7px,4.247vw,57.2px)}
.s360 .btn{margin:0 auto}
.box360{position:relative;height:clamp(220.0px,24.131vw,325.0px);background:rgba(122,174,224,.22);border-radius:clamp(26.4px,2.896vw,39.0px);margin-top:clamp(35.2px,3.861vw,52.0px)}
/* 360: las flechas giran sobre su propia elipse alrededor del texto */
.box360 .d360{position:absolute;left:15.5%;top:calc(-1 * clamp(84.5px,9.266vw,124.8px));width:65%;aspect-ratio:784/688;animation:float360 6s ease-in-out infinite}
.d360 img{position:absolute;inset:0;width:100%;height:100%}
.d360 .txt{animation:pulse360 6s ease-in-out infinite}
@keyframes float360{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes pulse360{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.d360 .arr{transform-origin:53.66% 49.44%;animation:ring360 4.8s cubic-bezier(.6,0,.3,1) infinite;will-change:transform}
@keyframes ring360{0%,45%{transform:rotate(0)}88%{transform:rotate(372deg)}100%{transform:rotate(360deg)}}
.why{display:grid;gap:clamp(35.2px,3.861vw,52.0px);max-width:clamp(712.8px,78.185vw,1053.0px);margin:clamp(79.2px,8.687vw,117.0px) auto 0}
/* círculo: algún efecto */
.glass{position:relative;border-radius:clamp(26.4px,2.896vw,39.0px);padding:clamp(24.6px,2.703vw,36.4px) clamp(61.6px,6.757vw,91.0px) clamp(29.9px,3.282vw,44.2px) clamp(68.6px,7.529vw,101.4px);box-shadow:0 18px 30px rgba(0,0,0,.25);overflow:hidden;isolation:isolate;transition:opacity .9s var(--ease),transform .5s var(--ease)}
.glass::before{content:"";position:absolute;left:50%;top:50%;width:200%;aspect-ratio:1;margin:-100% 0 0 -100%;z-index:-2;background:conic-gradient(from 0deg,transparent 0 64%,rgba(0,179,76,.9) 76%,rgba(122,174,224,.9) 88%,transparent 97%);animation:spin 9s linear infinite}
.glass::after{content:"";position:absolute;inset:2px;z-index:-1;border-radius:calc(clamp(26.4px,2.896vw,39.0px) - 2px);background:linear-gradient(160deg,#2a6688,#215675)}
.glass:hover{transform:translateY(-5px)}
@keyframes spin{to{transform:rotate(360deg)}}
.glass h3{font-weight:700;font-size:clamp(22.0px,2.413vw,32.5px);line-height:1.12;margin-bottom:clamp(15.8px,1.737vw,23.4px)}
.glass p{font-size:clamp(16.7px,1.834vw,24.7px);font-weight:300;line-height:1.22}
.glass ul{list-style:none;font-size:clamp(17.2px,1.882vw,25.4px);font-weight:300;display:grid;gap:clamp(4.4px,0.483vw,6.5px)}
.glass li{opacity:0;transform:translateX(-26px);transition:.55s var(--ease)}
.glass.in li{opacity:1;transform:none}
.glass.in li:nth-child(2){transition-delay:.12s}.glass.in li:nth-child(3){transition-delay:.24s}.glass.in li:nth-child(4){transition-delay:.36s}.glass.in li:nth-child(5){transition-delay:.48s}
.stats{background:var(--green);padding:clamp(21.1px,2.317vw,31.2px) 20px;margin-top:clamp(61.6px,6.757vw,91.0px)}
.stats .row{display:flex;justify-content:center;align-items:center;gap:clamp(22.9px,2.510vw,33.8px);flex-wrap:wrap}
.stat{display:flex;align-items:center;gap:clamp(10.6px,1.158vw,15.6px)}
.stat .num{font-weight:700;font-size:clamp(51.0px,5.598vw,75.4px);line-height:1;font-variant-numeric:tabular-nums}
.stat .lbl{font-weight:700;font-size:clamp(17.6px,1.931vw,26.0px);line-height:1.1}
.sep{width:4px;height:clamp(44.0px,4.826vw,65.0px);background:#fff;border-radius:2px}
.count{display:inline-block}
.count.pop{animation:pop .5s var(--ease)}
@keyframes pop{50%{transform:scale(1.12)}}

/* ================= CONTACTO ================= */
.cdata{max-width:clamp(577.3px,63.320vw,852.8px);margin:clamp(44.0px,4.826vw,65.0px) auto clamp(35.2px,3.861vw,52.0px);font-size:clamp(18.5px,2.027vw,27.3px);line-height:1.15}
.cdata p+p{margin-top:clamp(15.8px,1.737vw,23.4px)}
.cdata a{transition:color .3s}
.cdata a:hover{color:#8ff0b8}
.cdata .addr{text-decoration:underline;text-underline-offset:3px}
.formbox{position:relative;max-width:clamp(543.8px,59.653vw,803.4px);margin:0 auto;background:#e6f4fc;padding:clamp(12.3px,1.351vw,18.2px) clamp(10.6px,1.158vw,15.6px) clamp(10.6px,1.158vw,15.6px);display:grid;grid-template-columns:clamp(156.6px,17.181vw,231.4px) clamp(255.2px,27.992vw,377.0px);justify-content:space-between;gap:clamp(12.3px,1.351vw,18.2px);box-shadow:0 20px 40px rgba(0,0,0,.35)}
.formbox .col{display:grid;gap:clamp(11.4px,1.255vw,16.9px);align-content:start}
.formbox input,.formbox textarea{width:100%;border:2px solid var(--green);background:#fff;padding:clamp(8.8px,0.965vw,13.0px) clamp(7.9px,0.869vw,11.7px);font:inherit;font-size:clamp(15.0px,1.641vw,22.1px);color:#0b4d73;outline:none;transition:border-color .3s,box-shadow .3s}
.formbox input{height:clamp(47.5px,5.212vw,70.2px)}
.formbox textarea{height:clamp(172.5px,18.919vw,254.8px);resize:vertical}
.formbox ::placeholder{color:#2d6f97;opacity:1}
.formbox input:focus,.formbox textarea:focus{border-color:var(--green2);box-shadow:0 0 0 4px rgba(0,179,76,.22)}
.tel{position:relative}
.tel input{padding-left:clamp(40.5px,4.440vw,59.8px)}
.tel .cc{position:absolute;left:clamp(7.0px,0.772vw,10.4px);top:50%;transform:translateY(-50%);display:flex;align-items:center;gap:3px;pointer-events:none}
.tel .flag{width:clamp(17.6px,1.931vw,26.0px);height:clamp(11.4px,1.255vw,16.9px);background:linear-gradient(90deg,#006847 0 33%,#fff 33% 66%,#ce1126 66%);box-shadow:0 0 0 1px rgba(0,0,0,.12)}
.tel .caret{width:0;height:0;border-left:3px solid transparent;border-right:3px solid transparent;border-top:4px solid #555}
.tel select{position:absolute;left:0;top:0;width:clamp(35.2px,3.861vw,52.0px);height:100%;opacity:0;cursor:pointer;z-index:1}
.captcha{grid-column:1/-1;min-height:78px}
.send{max-width:clamp(543.8px,59.653vw,803.4px);margin:clamp(14.1px,1.544vw,20.8px) auto 0}
.send .btn{width:clamp(297.4px,32.625vw,439.4px);font-size:clamp(21.1px,2.317vw,31.2px);letter-spacing:.5px;border:0;cursor:pointer}
.mapframe{margin-top:clamp(35.2px,3.861vw,52.0px);height:clamp(202.4px,22.201vw,299.0px)}
.mapframe iframe{width:100%;height:100%;border:0}

/* ================= AVISO ================= */
.aviso{position:relative;max-width:clamp(712.8px,78.185vw,1053.0px);margin:clamp(44.0px,4.826vw,65.0px) auto 0;padding:clamp(38.7px,4.247vw,57.2px) clamp(68.6px,7.529vw,101.4px);border-radius:clamp(29.9px,3.282vw,44.2px);background:rgba(122,174,224,.22);box-shadow:0 18px 34px rgba(0,0,0,.3);font-size:clamp(14.1px,1.544vw,20.8px);font-weight:300;text-align:justify;line-height:1.55}
.aviso p+p{margin-top:clamp(15.8px,1.737vw,23.4px)}
.aviso b{font-weight:700}.aviso a{text-decoration:underline;transition:color .3s}
.aviso a:hover{color:#8ff0b8}
.aviso .ups .notice-label{display:inline-block;font-weight:700;text-decoration:underline;margin-top:clamp(12.3px,1.351vw,18.2px)}


/* ================= RESPONSIVE ================= */
@media (max-width:960px){
  .nav{padding:12px 18px}
  .brand img{height:32px}.esr-top img{height:40px}
  .esr-top{margin-left:auto}
  .burger{display:block}
  .menu{position:fixed;inset:0;flex-direction:column;justify-content:center;align-items:center;gap:18px;background:rgba(3,32,46,.97);
    clip-path:circle(0% at calc(100% - 40px) 40px);transition:clip-path .6s var(--ease);z-index:-1}
  .menu.open{clip-path:circle(150% at calc(100% - 40px) 40px)}
  .menu a{font-size:21px}
  .hero{margin-top:0}
  .about{grid-template-columns:1fr}.drop{margin:auto}
  .esr-band{height:auto;margin:40px 0 50px;padding-top:240px}
  .rib.r1{display:none}.rib.r2{position:relative;left:0;height:160px;display:block;clip-path:none}
  .trophy{left:50%;top:0;margin:0 0 0 -130px;width:260px}
  .esr-big{left:50%;top:auto;bottom:34px;margin:0 0 0 -110px;width:220px}
  .cards,.catalogs{grid-template-columns:1fr;max-width:340px}
  .contact-row{grid-template-columns:1fr;gap:26px}
  .tag-green{width:300px;height:120px;padding-left:50px}
  .cinfo{padding:0 18px}
  .socials{padding-left:0;flex-wrap:wrap}.socials .priv{margin-left:16px}
  .prod-row{grid-template-columns:1fr;gap:20px}.bottle img{margin:auto}
  .sut{min-height:0}.sut .pinfo{width:100%}.sut .boxes{position:relative;width:100%;height:240px;top:0;margin-top:20px}
  .s360{grid-template-columns:1fr}.box360{margin-top:90px}
  .glass{padding:24px 24px 30px}
  .formbox{grid-template-columns:1fr}
  .aviso{padding:28px 22px}
  .foot .ctas{margin-bottom:160px}.foot.no-cta{padding-top:180px}
}
@media (max-width:560px){
  .send .btn{width:100%}
  .sep{display:none}
  .box360 .d360{top:-70px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}[data-r],.mcard,.cat{opacity:1!important;transform:none!important}}



#hdr .brand img{height:clamp(41.2px,4.518vw,60.8px);width:auto}
#hdr .brand::after,#hdr .esr-top::after{content:none;animation:none}
.about{max-width:clamp(759.3px,83.282vw,1121.6px)}
.about .drop{width:clamp(248.9px,27.297vw,367.6px);height:auto;animation:none;transform:none}
.rib-shadow{position:absolute;inset:0;z-index:3;filter:drop-shadow(0 14px 16px rgba(0,0,0,.4))}
.rib-shadow .rib.r2{left:0;right:0;clip-path:polygon(var(--join-top,35%) 0,100% 0,100% 100%,var(--join-bottom,35%) 100%,var(--join-tip,30%) 50%);box-shadow:none}
#foot .ci svg{fill:#fff}
#foot .ci svg [stroke="#009640"]{stroke:#fff}
#p-productos .sut{display:grid;grid-template-columns:minmax(0,.34fr) minmax(0,.66fr);gap:clamp(28px,3vw,45px);align-items:center;margin-top:40px;min-height:0;padding-bottom:45px}
#p-productos .sut .pinfo{width:100%;min-width:0;padding-top:0}
#p-productos .sut .pinfo .gline{max-width:100%;margin-left:0;width:100%}
#p-productos .sut .boxes{position:relative;inset:auto;width:100%;max-width:988px;height:auto;min-width:0;margin:0;display:flex;align-items:center;justify-content:center}
#p-productos .sut .boxes .product-image-new{position:static;width:100%;max-width:988px;height:auto;max-height:624px;object-fit:contain;animation:none;transform:none}
.brand-carousel{--visible:3;position:relative;background:#fff;color:#074869;margin:42px 0 72px;padding:26px 56px}
.brand-viewport{overflow:hidden;touch-action:pan-y}
.brand-track{display:flex;will-change:transform;transition:transform .5s ease}
.brand-slide{flex:0 0 calc(100% / var(--visible));min-width:0;height:190px;padding:20px 18px;display:flex;align-items:center;justify-content:center}
.brand-slide img{display:block;width:260px;height:130px;max-width:100%;max-height:100%;object-fit:contain;object-position:center;flex-shrink:1}
.brand-arrow{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:50%;background:#707070;color:white;font-size:34px;line-height:1;display:grid;place-items:center;cursor:pointer;z-index:2}
.brand-arrow.prev{left:12px}.brand-arrow.next{right:12px}
.brand-arrow:hover{background:#074869}.brand-arrow:focus-visible{outline:3px solid #009640;outline-offset:4px}
#foot video{filter:none}
#foot::before{background:linear-gradient(180deg,var(--navy) 0%,rgba(7,72,105,0) 20%)}
#foot::after{content:"";position:absolute;inset:-28%;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 22% 35%,rgba(0,100,135,.38),transparent 42%),radial-gradient(ellipse at 78% 68%,rgba(0,80,89,.45),transparent 44%),radial-gradient(ellipse at 55% 85%,rgba(17,88,145,.2),transparent 35%);opacity:.55;animation:footer-flow 9s ease-in-out infinite alternate;will-change:transform}
@keyframes footer-flow{0%{transform:translate3d(-13%,7%,0) rotate(-7deg) scale(1)}50%{transform:translate3d(3%,-8%,0) rotate(3deg) scale(1.08)}100%{transform:translate3d(14%,5%,0) rotate(9deg) scale(1.04)}}
#foot .contact-row{display:grid;grid-template-columns:34.1% minmax(0,1fr);column-gap:5.6%;align-items:center;width:100%;margin:0 auto;text-align:left}
#foot .tag-green{width:100%;height:clamp(180px,19.4vw,360px);padding:0 10% 0 8%;justify-content:center;font-size:clamp(28px,3.1vw,56px)}
#foot .cinfo{width:100%;min-width:0;margin:0;padding:0 clamp(18px,2vw,36px) 0 0;gap:clamp(22px,2vw,38px);font-size:clamp(16px,1.95vw,36px);line-height:1.1;text-align:left;text-shadow:0 2px 4px rgba(0,15,26,.45)}
#foot .ci{display:grid;grid-template-columns:clamp(44px,4.55vw,84px) minmax(0,1fr);gap:clamp(18px,3.25vw,60px);align-items:center;width:100%}
#foot .ci svg{width:clamp(44px,4.55vw,84px);height:clamp(44px,4.55vw,84px)}
#foot .ci>div{min-width:0}
#foot .contact-detail{display:flex;flex-wrap:wrap;justify-content:flex-start;column-gap:.28em;align-items:baseline}
#foot .contact-detail strong{font-weight:700}
#foot .socials{width:60.3%;margin-left:39.7%;margin-top:clamp(45px,5.5vw,102px);padding:0 clamp(18px,2vw,36px) 0 0;display:flex;justify-content:center;align-items:center;gap:clamp(14px,1.3vw,24px)}
#foot .socials a.s{width:clamp(44px,4.55vw,84px);height:clamp(44px,4.55vw,84px);flex-shrink:0}
#foot .socials a.s svg{width:65%;height:65%}
#foot .socials .priv{margin-left:clamp(24px,5.4vw,100px);font-size:clamp(16px,1.95vw,36px);white-space:nowrap}
#p-servicios .box360{overflow:visible;isolation:isolate;margin-top:clamp(80px,8vw,120px);box-shadow:0 20px 36px rgba(0,15,27,.25),inset 0 1px 0 rgba(255,255,255,.09)}
#p-servicios .box360 .d360{left:50%;top:24%;width:74%;max-width:380px;aspect-ratio:784/688;z-index:2;transform:translate(-50%,-50%);animation:service360-float 6s ease-in-out infinite;filter:drop-shadow(0 16px 12px rgba(0,14,24,.48))}
#p-servicios .d360 .arr{animation:none;transform:none;will-change:auto}
#p-servicios .d360 .txt{animation:service360-pulse 6s ease-in-out infinite;filter:drop-shadow(0 5px 4px rgba(0,15,26,.2));transform-origin:center}
#p-servicios .box360::after{content:"";position:absolute;left:28%;bottom:7%;width:44%;height:8%;border-radius:50%;background:rgba(0,15,26,.3);filter:blur(12px);z-index:1;pointer-events:none;animation:service360-shadow 6s ease-in-out infinite}
@keyframes service360-float{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 12px))}}
@keyframes service360-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@keyframes service360-shadow{0%,100%{transform:scaleX(1);opacity:.65}50%{transform:scaleX(.82);opacity:.4}}
#p-contacto{--contact-width:clamp(543.8px,59.653vw,803.4px)}
#p-contacto .cdata,#p-contacto form{width:100%;max-width:var(--contact-width);margin-left:auto;margin-right:auto;text-align:left}
#p-contacto .formbox{width:100%;max-width:none;margin:0;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;grid-template-columns:minmax(0,.4fr) minmax(0,.6fr);gap:clamp(16px,2vw,26px);justify-content:stretch;align-items:stretch}
#p-contacto .formbox input,#p-contacto .formbox textarea{background:#fff}
#p-contacto .formbox textarea{height:100%;min-height:240px}
#p-contacto .send{width:100%;max-width:none;margin-left:0;margin-right:0}
#p-contacto .captcha{background:transparent;padding:0}
#p-aviso .sec{padding-bottom:clamp(64px,8vw,128px)}
#foot.aviso-footer::before{background:linear-gradient(180deg,var(--navy) 0%,rgba(7,72,105,.85) 12%,rgba(7,72,105,.35) 30%,rgba(7,72,105,0) 52%)}
#foot.aviso-footer::after{mask-image:linear-gradient(180deg,transparent 0%,#000 35%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 35%)}
.video-sound{position:absolute;right:18px;bottom:18px;z-index:3;border:1px solid rgba(255,255,255,.6);border-radius:999px;background:rgba(3,32,46,.75);color:#fff;padding:9px 14px;font:inherit;font-size:14px;cursor:pointer}
.video-sound:focus-visible{outline:3px solid #fff;outline-offset:3px}
#heroVideo,#srvVideo,#footVideo{display:block;width:100%;height:100%;object-fit:cover}
/* Enlaces ESR: areas completas y sin bloquear los destellos. */
.esr-external{display:block;width:100%;height:100%;cursor:pointer}
.trophy .circle::after{pointer-events:none}
.esr-external:focus-visible,.esr-top:focus-visible{outline:3px solid #fff;outline-offset:4px}
@media(min-width:961px){.about{grid-template-columns:1fr clamp(248.9px,27.297vw,367.6px)}}
@media(max-width:960px){#hdr .brand img{height:42px}.rib-shadow{position:static;filter:none}.rib-shadow .rib.r2{clip-path:none;box-shadow:0 14px 24px rgba(0,0,0,.4)}.brand-carousel{--visible:2}.brand-slide{height:170px;padding:15px}#foot .contact-row{grid-template-columns:30% minmax(0,1fr);column-gap:4%}#foot .tag-green{height:180px;font-size:28px}#foot .cinfo{font-size:17px}#foot .ci{gap:16px}#foot .socials{width:66%;margin-left:34%;gap:14px;flex-wrap:wrap}#foot .socials .priv{margin-left:18px;font-size:17px}#p-servicios .box360 .d360{top:24%;width:min(72%,320px)}#p-contacto .formbox{grid-template-columns:1fr}#p-contacto .formbox textarea{height:220px;min-height:220px}}
@media(max-width:700px){#p-productos .sut{grid-template-columns:1fr;gap:28px}#p-productos .sut .boxes{margin:0 auto}}
@media(max-width:560px){.brand-carousel{--visible:1;padding:20px 48px}.brand-slide{height:165px;padding:12px}.brand-arrow{width:34px;height:34px}.brand-arrow.prev{left:7px}.brand-arrow.next{right:7px}#foot .contact-row{grid-template-columns:1fr;row-gap:30px}#foot .tag-green{width:min(82%,300px);height:120px;justify-content:center;padding:0 30px 0 12px}#foot .cinfo{padding:0 18px;font-size:16px;gap:24px}#foot .ci{grid-template-columns:42px minmax(0,1fr);gap:14px}#foot .ci svg{width:42px;height:42px}#foot .contact-detail a{overflow-wrap:anywhere}#foot .socials{width:100%;margin-left:0;padding:0 18px;gap:16px}#foot .socials .priv{width:100%;text-align:center;margin:10px 0 0;font-size:17px}.video-sound{right:12px;bottom:12px;font-size:12px}}
@media(prefers-reduced-motion:reduce){.brand-track{transition:none}#foot::after,#p-servicios .box360 .d360,#p-servicios .d360 .arr,#p-servicios .d360 .txt,#p-servicios .box360::after{animation:none}#p-servicios .box360 .d360{transform:translate(-50%,-50%)}}

body.admin-bar #hdr{top:32px}
@media(max-width:782px){body.admin-bar #hdr{top:46px}}
.insomed-document{max-width:1100px;margin:60px auto;padding:24px;min-height:55vh;line-height:1.65}
.insomed-document a{text-decoration:underline}
.insomed-document img{height:auto;max-width:100%}
.insomed-document h1,.insomed-document h2,.insomed-document p{margin-bottom:1em}
.insomed-form-feedback{margin:0 0 20px;padding:14px 18px;border:1px solid #b9dcff;border-radius:8px;line-height:1.4;background:rgba(3,32,46,.8);color:#fff}
.insomed-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.insomed-captcha-help{grid-column:1/-1;font-size:14px}
