:root{--notice-height:32px;--blue:#1856ab;--red:#d72429;--ink:#12171f;--muted:#555f6c;--font:'Manrope',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--font);background:#f6f8fa;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}::selection{background:var(--blue);color:white}.container{width:calc(100% - 112px);max-width:1440px;margin-inline:auto}
.site-header{position:fixed;top:0;left:0;z-index:20;width:100%;transition:background .3s,box-shadow .3s}.header__inner{min-height:190px;display:flex;align-items:center;gap:24px;transition:min-height .3s}.brand{display:block;flex-shrink:0;margin-right:auto}.brand img{display:block;width:360px;height:auto;transition:width .3s}.navigation{display:flex;align-items:center;gap:30px}.navigation>a,.navigation>.navigation__label{position:relative;padding:17px 0;font-size:18px;font-weight:800;letter-spacing:.055em}.navigation>a::after{content:'';position:absolute;bottom:6px;left:0;width:0;height:2px;background:var(--red);transition:width .2s}.navigation>a:hover::after,.navigation>a[aria-current=page]::after{width:100%}.navigation>a[aria-current=page]{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:23px;min-height:58px;padding:0 26px;border:1px solid transparent;border-radius:5px;font-size:14px;font-weight:800;line-height:1.4;transition:background .2s,transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px)}.button--red{background:var(--red);color:white;box-shadow:0 8px 22px #c3202415}.button--red:hover{background:#b91e24;box-shadow:0 10px 24px #c3202429}.button span{font-size:23px;font-weight:500}.header__contact{min-height:50px;gap:12px;padding:0 20px;white-space:nowrap}.header__contact svg{width:19px;height:19px}.button--outline{border-color:#b9c2cf;background:#ffffff55}.button--outline:hover{background:white;border-color:var(--blue);color:var(--blue)}.site-header.is-scrolled,.site-header.is-open{background:#fff;box-shadow:0 3px 22px #1322390b}.is-scrolled .header__inner{min-height:98px}.is-scrolled .brand img{width:194px}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;height:85vh;overflow:hidden;display:flex;align-items:center;background:#f1f4f7}.hero__image{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center}.hero__veil{position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,#f7f9fbf5 0%,#f7f9fbcc 13%,#f7f9fb00 29%),linear-gradient(90deg,#f7f9fb 0%,#f7f9fbf5 22%,#f7f9fb99 40%,#f7f9fb00 62%)}.hero__inner{padding-top:calc(230px + var(--notice-height));padding-bottom:110px}.hero__copy{max-width:680px;animation:reveal .8s ease-out both}.hero h1{margin:0;font-size:clamp(36px,3.6vw,56px);font-weight:800;letter-spacing:-.065em;line-height:1.25}.hero h1 span{color:var(--blue)}.hero p{max-width:460px;font-size:17px;line-height:1.85;font-weight:500;color:var(--muted);margin:30px 0 36px}.hero__actions{display:flex;gap:14px;flex-wrap:wrap}.site-footer{height:0}@keyframes reveal{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1700px){.hero__copy{max-width:760px}.hero h1{font-size:63px}}
@media(max-width:1350px){.container{width:calc(100% - 72px)}.header__inner{gap:24px}.navigation{gap:26px}.brand img{width:300px}.header__contact{padding-inline:16px}}
@media(max-width:1250px){.header__inner{min-height:170px;gap:22px}.menu-toggle{display:flex;order:3;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:44px;height:44px;border:1px solid #ccd3dd;border-radius:4px;background:#ffffff70;cursor:pointer}.menu-toggle span{width:20px;height:2px;background:var(--ink);transition:transform .2s}.is-open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.is-open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.navigation{display:none;position:absolute;left:0;right:0;top:100%;background:white;padding:18px 36px 30px;box-shadow:0 14px 20px #1322390b;align-items:stretch;gap:0}.is-open .navigation{display:flex;flex-direction:column}.navigation>a,.navigation>.navigation__label{font-size:20px;padding-block:16px}.navigation>a::after{bottom:8px;max-width:36px}.hero h1{font-size:43px}.hero__copy{max-width:570px}}
@media(max-width:700px){.container{width:calc(100% - 40px)}.header__inner{min-height:84px;gap:12px;display:flex;padding-block:0}.brand{margin-left:0;margin-right:auto}.brand img{width:150px}.header__contact{justify-self:start}.menu-toggle{justify-self:end}.is-scrolled .header__inner{display:flex;padding-block:0}.is-scrolled .brand{margin-left:0;margin-right:auto}.header__contact{padding-inline:12px;min-height:42px;font-size:12px;gap:8px}.header__contact>span{display:none}.header__contact svg{width:16px;height:16px}.menu-toggle{width:39px;height:42px;flex-shrink:0}.is-scrolled .header__inner{min-height:84px}.is-scrolled .brand img{width:150px}.hero{height:85vh;align-items:flex-start}.hero__inner{padding-top:calc(115px + var(--notice-height));padding-bottom:410px}.hero h1{font-size:clamp(31px,6.8vw,43px);letter-spacing:-.06em;line-height:1.25}.hero p{font-size:16px;line-height:1.8;margin:24px 0 27px;max-width:450px}.hero__image{top:auto;bottom:0;height:500px;width:160%;max-width:none;left:-60%;object-position:right bottom}.hero__veil{background:linear-gradient(180deg,#f7f9fb 0%,#f7f9fb 49%,#f7f9fbe6 57%,#f7f9fb00 77%)}.hero__actions{gap:10px}.hero__actions .button{padding-inline:17px;gap:13px;min-height:54px;font-size:13px}}
@media(max-width:380px){.container{width:calc(100% - 32px)}.brand img{width:138px}.is-scrolled .brand img{width:138px}.header__inner{gap:8px}.header__contact{padding-inline:9px}.header__contact svg{display:none}.hero__actions .button{font-size:12px;padding-inline:13px;gap:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Distribuidores */
.distributors{padding:76px 0 88px;background:#fff}
.distributors h2{margin:0 0 42px;text-align:center;font-size:clamp(25px,2.6vw,36px);line-height:1.25;letter-spacing:-.035em;font-weight:800;color:var(--ink)}
.distributors h2::after{content:'';display:block;width:44px;height:3px;margin:20px auto 0;background:var(--red)}
.distributors__logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding:0;margin:0;list-style:none}
.distributors__brand{display:flex;align-items:center;justify-content:center;min-height:150px;padding:28px;border:1px solid #e8edf3;border-radius:8px;background:#fff;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}
.distributors__brand img{display:block;width:100%;max-width:210px;height:78px;object-fit:contain;transition:transform .3s ease}
@media(hover:hover){.distributors__brand:hover{transform:translateY(-7px);border-color:#b9cce5;box-shadow:0 16px 32px #1856ab12}.distributors__brand:hover img{transform:scale(1.08)}}
@media(max-width:900px){.distributors__logos{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}}
@media(max-width:500px){.distributors{padding:52px 0 60px}.distributors h2{margin-bottom:30px}.distributors__logos{gap:12px}.distributors__brand{min-height:120px;padding:18px}.distributors__brand img{height:62px}}
@media(prefers-reduced-motion:reduce){.distributors__brand,.distributors__brand img{transition:none}.distributors__brand:hover,.distributors__brand:hover img{transform:none}}

/* Panel fijo de contacto */
.site-footer{height:auto;min-height:180px;background:#fff}
.contact-panel{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px));z-index:15;width:290px;max-width:calc(100vw - 32px);padding:20px;background:#fff;border:1px solid #e8edf3;border-radius:14px;box-shadow:0 8px 36px #13223926}
.contact-panel h2{display:flex;align-items:center;gap:9px;margin:0 0 16px;font-size:14px;line-height:1.5;font-weight:800;letter-spacing:-.02em}
.contact-panel__status{flex:0 0 8px;height:8px;background:#168548;border-radius:50%;box-shadow:0 0 0 4px #16854812}
.contact-panel__button{width:100%;min-height:48px;padding:10px 18px;gap:12px;background:#148344;color:#fff;border-radius:7px;font-size:15px}
.contact-panel__button svg{width:22px;height:22px;flex-shrink:0}
.contact-panel__button>span{margin-left:auto}
.contact-panel__button:hover{background:#106b38;box-shadow:0 6px 16px #14834426}
@media(max-width:700px){.contact-panel{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));width:270px;padding:16px}.contact-panel h2{margin-bottom:12px}.site-footer{min-height:160px}}


/* Sobre nosotros */
.about{position:relative;padding:90px 0 104px;background:#f5f7fa;scroll-margin-top:calc(112px + var(--notice-height))}
.about__title{text-align:center;margin:0 0 58px;font-size:clamp(34px,3.8vw,54px);line-height:1.15;letter-spacing:-.05em;font-weight:800}
.about__title span{color:var(--blue)}
.about__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.about__row+.about__row{margin-top:76px;padding-top:76px;border-top:1px solid #dfe5ed}
.about__image{overflow:hidden;border-radius:12px;background:#e7edf3;box-shadow:0 14px 35px #1529410b}
.about__image img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.about__copy h3{margin:0 0 22px;font-size:clamp(25px,2.5vw,34px);font-weight:800;letter-spacing:-.03em;color:var(--blue)}
.about__copy h3::before{content:'';display:block;width:36px;height:3px;margin-bottom:20px;background:var(--red)}
.about__copy p{margin:0;font-size:20px;line-height:1.8;color:var(--muted)}
.about__copy strong{font-weight:800;color:var(--ink)}
.about__row--reverse .about__image{grid-column:2;grid-row:1}
.about__row--reverse .about__copy{grid-column:1;grid-row:1}
@media(max-width:900px){.about{padding:64px 0 72px}.about__title{margin-bottom:36px}.about__row{grid-template-columns:1fr;gap:28px}.about__image{max-width:680px;width:100%}.about__row--reverse .about__image,.about__row--reverse .about__copy{grid-column:auto;grid-row:auto}.about__row+.about__row{margin-top:44px;padding-top:44px}.about__copy p{font-size:18px;line-height:1.8}}
@media(max-width:700px){.about{scroll-margin-top:calc(96px + var(--notice-height))}}

/* Cierre y pie de página */
.closing-cta{padding:86px 0 90px;background:#263c55;color:#fff;text-align:center}
.closing-cta h2{max-width:1050px;margin:0 auto;font-size:clamp(30px,3.5vw,52px);line-height:1.25;letter-spacing:-.04em;font-weight:800;text-wrap:balance}
.closing-cta__actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin-top:36px}
.closing-cta__actions .button{min-width:185px;gap:14px}
.closing-cta__actions svg{width:22px;height:22px;flex-shrink:0}
.closing-cta__whatsapp{background:#148344;color:#fff}
.closing-cta__whatsapp:hover{background:#106b38}
.closing-cta__call{border-color:#94a6bb;color:#fff;background:transparent}
.closing-cta__call:hover{background:#ffffff12;border-color:#fff}
.site-footer{height:auto;min-height:0;padding:68px 0 190px;background:#0d1622;color:#b7c2d0}
.footer__grid{display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:clamp(28px,4vw,64px)}
.footer__logo{display:inline-block;width:250px;max-width:100%;padding:0;background:transparent}
.footer__logo img{display:block;width:100%;height:auto;filter:brightness(0) invert(1)}
.footer__identity p{margin:22px 0 0;font-size:14px;line-height:1.9;max-width:310px}
.site-footer h2{margin:0 0 24px;color:#fff;font-size:18px;line-height:1.4;font-weight:800}
.footer__services ul{list-style:none;padding:0;margin:0;display:grid;gap:11px;font-size:14px;line-height:1.65}
.footer__contact address{font-style:normal;display:flex;align-items:flex-start;flex-direction:column;gap:9px;font-size:14px;line-height:1.6}
.footer__label{color:#b7c2d0;font-size:14px;margin-bottom:3px}
.footer__phone{font-size:23px;font-weight:700;color:#fff;letter-spacing:.015em}
.footer__email-label{margin-top:18px}
.footer__contact a{overflow-wrap:anywhere;max-width:100%;transition:color .2s}
.footer__contact a:hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
@media(max-width:1000px){.footer__grid{grid-template-columns:1fr 1fr}.footer__identity{grid-column:1/-1}.footer__identity p{max-width:100%}}
@media(max-width:600px){.closing-cta{padding:60px 0}.closing-cta__actions{gap:12px;margin-top:28px}.closing-cta__actions .button{min-width:0;padding-inline:20px}.site-footer{padding-top:48px;padding-bottom:180px}.footer__grid{grid-template-columns:1fr;gap:38px}.footer__identity{grid-column:auto}.site-footer h2{margin-bottom:18px}}

/* Tres renglones en escritorio, ajuste natural en móvil. */
.hero h1 .hero__line{color:inherit}
@media(min-width:1251px){.hero h1{font-size:clamp(38px,3.2vw,50px)}.hero h1 .hero__line{display:block;white-space:nowrap}.hero__copy{max-width:760px}}

#contacto{scroll-margin-top:calc(112px + var(--notice-height))}
@media(max-width:700px){#contacto{scroll-margin-top:calc(96px + var(--notice-height))}}

/* Cintillo compartido dentro del header fijo. */
.repse-banner{display:flex;align-items:center;justify-content:center;min-height:var(--notice-height);padding:4px 16px;background:var(--red);color:#fff;text-align:center;font-size:14px;font-weight:700;line-height:24px;letter-spacing:.025em}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
