:root{--navy:#082e58;--cyan:#00afca;--pale:#f1f9fc;--text:#34516f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--navy);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #00748a;outline-offset:5px}.container{width:min(1180px,92%);margin:auto}header{background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #edf4f7}.header{height:116px;display:flex;align-items:center;gap:42px;justify-content:space-between}.logo{display:block;position:relative;overflow:hidden;width:280px;aspect-ratio:1035/282;flex-shrink:0}.logo img{position:absolute;width:113.04%;max-width:none;left:-6.57%;top:-84.04%}nav{display:flex;gap:30px;font-size:15px;font-weight:600}nav a{padding:12px 0}nav a:hover{color:#007b94}.button{border:0;border-radius:12px;background:var(--cyan);color:#fff;font-weight:700;padding:16px 23px;display:inline-flex;align-items:center;justify-content:center;gap:22px;font-size:15px;transition:background .2s,transform .2s}.button:hover{background:#008da6;transform:translateY(-2px)}.secondary{background:#fff;color:var(--navy);border:1px solid var(--cyan)}.secondary:hover{background:var(--pale)}.menu{display:none}.hero{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;padding-top:32px;padding-bottom:48px}.hero h1{font-size:clamp(36px,4.4vw,60px);line-height:1.07;letter-spacing:-2px;margin:0 0 22px}.hero h1 span{color:var(--cyan)}.lead{font-size:23px;line-height:1.45;max-width:510px;margin:0 0 28px}.actions{display:flex;gap:12px;flex-wrap:wrap}.photo{overflow:hidden;position:relative;background:#eaf4f7}.photo img{position:absolute;max-width:none;height:auto}.hero-photo{aspect-ratio:379/454;border-radius:23px}.hero-photo img{inset:0;width:100%;height:100%;object-fit:cover;object-position:center;display:block}.photo-caption{position:absolute;bottom:20px;right:28px;color:#fff;font-size:21px;line-height:1.15;text-align:right;font-weight:700;text-shadow:0 1px 8px #173e63}.benefits{display:flex;margin-top:46px}.benefits>div{flex:1;padding:0 12px;text-align:center;border-right:1px solid #dce8ef;font-size:14px;line-height:1.35}.benefits>div:last-child{border:0}.benefits svg{display:block;width:38px;height:38px;margin:0 auto 12px}svg{fill:none;stroke:var(--cyan);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.products{background:linear-gradient(120deg,#f5fbfd,#ecf7fc);padding:55px 0 30px}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:36px}.eyebrow{text-transform:uppercase;color:#008aa5;font-weight:700;letter-spacing:.04em;font-size:15px;margin:0 0 8px}h2{font-size:36px;line-height:1.18;letter-spacing:-1px;margin:0}h3{font-size:24px;line-height:1.15;margin:0 0 14px}.section-heading>p{max-width:350px;color:var(--text);margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product{background:white;border-radius:18px;overflow:hidden;border:1px solid #e7eff4}.product-photo{aspect-ratio:241/168}.product-body{padding:24px;display:flex;flex-direction:column;align-items:flex-start;min-height:230px}.product p{margin:0 0 20px;color:var(--text)}.round{width:45px;height:45px;border:0;background:#e5f7fb;border-radius:50%;color:#008ca8;font-size:27px;margin-top:auto}.round:hover{background:#c4f0f8}.image-note{font-size:13px;color:#536c7d;margin:20px 0 0}.essence{padding-top:66px;padding-bottom:64px}.essence-grid article{background:linear-gradient(135deg,#f1f8fb,#f6fbfd);border-radius:18px;padding:30px}.essence-grid svg{width:60px;height:60px;margin-bottom:16px}.essence-grid h3{text-transform:uppercase;font-size:21px;color:#005587}.essence-grid p{margin:0;line-height:1.5}.essence-grid ul{list-style:none;padding:0;margin:0;font-size:19px}.essence-grid li{margin:0 0 9px}.essence-grid li:before{content:'– ';color:#008ca8}.contact{position:relative;overflow:hidden;background:#042b52;color:white}.contact-art{position:absolute;width:58%;height:100%;right:0;overflow:hidden}.contact-art img{position:absolute;width:170%;height:auto;left:-70%;top:-645%}.contact:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#042b52 30%,#042b52e6 46%,#042b5220)}.contact-inner{position:relative;z-index:1;padding-top:50px;padding-bottom:50px}.accent{display:block;width:46px;height:4px;background:var(--cyan);margin-bottom:18px}.contact h2{font-size:38px}.contact p{font-size:19px;line-height:1.4;margin:18px 0 24px}footer{display:grid;grid-template-columns:1fr .7fr 1.2fr;gap:55px;padding-top:42px;padding-bottom:55px}footer h3{font-size:16px;margin-bottom:12px}footer a:not(.logo){display:block;font-size:15px;color:var(--text);margin:2px 0}.footer-about{border-left:1px solid #dae6ee;padding-left:36px}.footer-about p{font-size:14px;color:var(--text);margin-top:10px}.footer-about strong{font-size:16px}dialog{border:0;border-radius:20px;padding:32px;width:min(620px,92vw);max-height:90vh;box-shadow:0 30px 100px #001e4266;color:var(--navy)}dialog::backdrop{background:#001b3a99;backdrop-filter:blur(4px)}dialog h2{font-size:30px}.close{position:absolute;right:15px;top:8px;border:0;background:transparent;font-size:32px;color:var(--navy)}label{display:flex;flex-direction:column;gap:6px;margin:14px 0;font-size:14px;font-weight:700}input,textarea{border:1px solid #bdd2de;border-radius:8px;padding:11px;color:var(--navy);width:100%;background:#fff}textarea{resize:vertical}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.notice{font-size:14px;color:var(--text);background:var(--pale);padding:12px;border-radius:8px}#form-status{font-size:14px}.icons{position:absolute;width:0;height:0;overflow:hidden}.skip{position:fixed;top:-100px;left:10px;z-index:100;background:#fff;padding:10px}.skip:focus{top:10px}@media(min-width:1300px){.contact-art img{top:-675%}}@media(max-width:1050px){.header{gap:20px;height:96px}.logo{width:220px}nav{gap:20px}.header-quote{padding:12px}.hero{gap:28px}.hero h1{letter-spacing:-1px}.lead{font-size:20px}.actions{gap:10px}.actions .button{padding:13px 15px}.benefits{margin-top:30px}.contact-art{width:65%}}@media(max-width:760px){html{scroll-padding-top:90px}.header{height:86px}.logo{width:210px}.menu{display:block;background:#e9f8fc;border:0;border-radius:8px;font-size:24px;color:var(--navy);padding:5px 12px}.header-quote{display:none}nav{display:none;position:absolute;top:86px;left:0;width:100%;background:white;padding:15px 5%;box-shadow:0 12px 18px #082e5812}nav.open{display:flex;flex-direction:column;gap:0}nav a{padding:12px}.hero{grid-template-columns:1fr;padding-top:30px;gap:28px}.hero h1{font-size:clamp(38px,8vw,58px)}.lead{max-width:560px}.hero-photo{max-height:520px;width:100%;aspect-ratio:379/454}.benefits{max-width:520px;margin-top:32px}.hero-photo img{width:100%!important;height:100%!important;left:0!important;top:0!important}.hero-photo{max-height:none}.section-heading{display:block;margin-bottom:28px}.section-heading>p{max-width:none;margin-top:18px}h2{font-size:29px}.grid{grid-template-columns:1fr;gap:20px}.product-body{min-height:0;padding:24px}.product h3{font-size:25px}.products{padding-top:38px}.product-photo{aspect-ratio:241/168}.essence{padding-top:42px;padding-bottom:42px}.essence-grid article{padding:26px}.essence-grid p{font-size:16px}.contact-art{display:none}.contact h2{font-size:30px}.contact p{font-size:17px}.contact-inner{padding-top:38px;padding-bottom:38px}footer{grid-template-columns:1fr 1fr;gap:30px;padding-top:32px}.footer-about{grid-column:1/-1;border:0;padding:0}.form-grid{grid-template-columns:1fr;gap:0}.desktop{display:none}dialog{padding:26px 20px}.button{min-height:46px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.contact-art>svg{width:100%;height:100%;stroke:none}

.footer-contact{font-style:normal;margin-top:20px}.footer-contact a{line-height:1.6!important}.footer-contact p{font-size:15px}.footer-contact strong{font-size:14px}.footer-contact a:hover{color:#00849b}.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:20;display:flex;align-items:center;gap:10px;background:#087b42;color:white;padding:13px 19px;border-radius:32px;box-shadow:0 6px 22px #083d3433;font-size:16px;font-weight:700}.whatsapp-float:hover{background:#056637}.whatsapp-float svg{width:30px;height:30px;stroke:white;fill:none;stroke-width:1.6}.whatsapp-float small{display:block;font-size:12px;font-weight:400;line-height:1.2}.whatsapp-float span{line-height:1.3}footer.container{padding-bottom:110px}@media(max-width:760px){.whatsapp-float{right:16px;bottom:max(16px,env(safe-area-inset-bottom));padding:12px 15px}.footer-contact{overflow-wrap:anywhere}}

/* Pie de página institucional */
.site-footer{display:block;background:#062b50;color:#fff;padding:48px 0 100px;border-top:5px solid #00afca}.footer-grid{display:grid;grid-template-columns:1fr .65fr 1.5fr;gap:42px}.site-footer .footer-logo{background:transparent;border-radius:0;width:min(240px,100%);aspect-ratio:auto;overflow:visible;align-self:start}.site-footer .footer-logo img{position:static;display:block;width:100%;height:auto;max-width:100%;left:auto;top:auto}.site-footer h3{font-size:17px;color:#fff}.site-footer a:not(.logo){color:#e1edf7;font-size:16px}.site-footer .footer-about{border-color:#365674}.site-footer .footer-about p{color:#d3e3f0}.site-footer .footer-contact{margin-top:24px}.site-footer .footer-contact strong{color:#6ae1ef;font-size:15px}.site-footer .footer-contact p{font-size:16px;line-height:1.6;margin:20px 0}.site-footer a:hover{color:#6ae1ef}.footer-bottom{margin-top:32px;padding-top:20px;border-top:1px solid #365674;font-size:14px;color:#c6d9e8}@media(max-width:760px){.footer-grid{grid-template-columns:1fr;gap:30px}.site-footer .footer-about{grid-column:auto;padding-left:0;border-left:0}.site-footer{padding-top:34px}.site-footer .footer-logo{width:220px}}

.sales-contact{margin-top:28px;padding:24px;border:1px solid #79d7e255;border-radius:16px;background:#062b50ed;max-width:430px}.contact .sales-role{margin:0 0 8px;font-size:14px;text-transform:uppercase;letter-spacing:.08em;color:#6ae1ef;font-weight:700}.sales-contact h3{margin:0;font-size:25px;color:white}.contact .sales-number{margin:10px 0 20px;font-size:17px}

.contact-team{display:grid;grid-template-columns:repeat(2,minmax(0,430px));gap:24px;margin-top:28px}.contact-team .sales-contact{margin-top:0;max-width:none;display:flex;flex-direction:column;align-items:flex-start}.contact-team .button{margin-top:auto}.contact-team h3{overflow-wrap:anywhere}@media(max-width:760px){.contact-team{grid-template-columns:1fr;gap:18px}}


/* Sección Nosotros */
.about-section{padding-top:66px;padding-bottom:64px}.about-heading{margin-bottom:30px}.about-overview{display:grid;grid-template-columns:1.02fr .98fr;gap:34px;align-items:stretch;margin-bottom:42px}.about-copy{background:linear-gradient(135deg,#f2f9fc,#ffffff);border:1px solid #e2eef4;border-radius:22px;padding:34px}.about-copy p{margin:0 0 18px;color:var(--text);font-size:18px;line-height:1.75}.about-copy p strong{color:var(--navy)}.about-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.about-points div{background:#fff;border:1px solid #dcedf4;border-radius:16px;padding:18px 16px;min-height:120px;display:flex;flex-direction:column;justify-content:space-between}.about-points strong{font-size:28px;line-height:1;color:#008aa5}.about-points span{font-size:14px;line-height:1.45;color:var(--text)}.about-gallery{display:grid;grid-template-columns:1fr 1fr;gap:18px}.about-photo{border-radius:22px;border:1px solid #e7eff4;overflow:hidden;background:#eaf4f7;min-height:100%}.about-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.about-photo.main{min-height:100%;aspect-ratio:4/5}.about-photo.side{aspect-ratio:4/5}.about-values-heading{margin-top:4px}.essence-grid article{height:100%}@media(max-width:980px){.about-overview{grid-template-columns:1fr;gap:24px}.about-copy{padding:28px}.about-gallery{grid-template-columns:1fr 1fr}.about-photo.main,.about-photo.side{aspect-ratio:16/11}}@media(max-width:760px){.about-section{padding-top:42px;padding-bottom:42px}.about-copy p{font-size:16px}.about-points{grid-template-columns:1fr;gap:12px}.about-points div{min-height:0}.about-gallery{grid-template-columns:1fr;gap:14px}.about-photo.main,.about-photo.side{aspect-ratio:4/3}.about-values-heading{margin-top:8px}}


/* Ubicación y horario */
.location-section{padding:72px 0;background:#fff}.location-heading{margin-bottom:34px}.location-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:stretch}.location-info{border:1px solid #dfebf2;border-radius:22px;padding:34px;background:linear-gradient(135deg,#f3fafc,#fff);display:flex;flex-direction:column;align-items:flex-start}.location-info h3{font-size:29px;margin-bottom:24px}.location-info address{font-style:normal;color:var(--text);font-size:18px;line-height:1.75;margin-bottom:26px}.location-info address strong{display:block;color:var(--navy);font-size:15px;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.hours-card{display:flex;gap:15px;align-items:flex-start;width:100%;padding:18px 0 22px;margin-bottom:22px;border-top:1px solid #dce9ef;border-bottom:1px solid #dce9ef}.hours-icon{width:46px;height:46px;border-radius:50%;background:#e6f8fb;color:#008ba5;display:grid;place-items:center;font-size:27px;flex:0 0 auto}.hours-card strong{font-size:16px}.hours-card p{margin:5px 0 0;color:var(--text);line-height:1.55}.hours-card span{font-weight:700;color:var(--navy)}.map-card{overflow:hidden;border:1px solid #dfebf2;border-radius:22px;background:#eef7fa;min-height:470px;display:flex;flex-direction:column}.map-card iframe{display:block;width:100%;height:470px;border:0;flex:1;min-height:420px}.map-meta{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 18px;background:#f2f9fc;color:var(--text);font-size:14px}.map-meta a{color:#008aa5;font-weight:700;white-space:nowrap}.map-meta a:hover{text-decoration:underline}.site-footer .footer-contact p+ p{margin-top:16px}@media(max-width:900px){.location-grid{grid-template-columns:1fr}.map-card{min-height:400px}.map-card iframe{height:400px;min-height:400px}}@media(max-width:760px){.location-section{padding:46px 0}.location-info{padding:26px}.location-info h3{font-size:25px}.location-info address{font-size:16px}.map-card iframe{height:340px;min-height:340px}.map-meta{align-items:flex-start;flex-direction:column;gap:8px}}

/* Carrusel corporativo de portada */
.hero-carousel{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff 0%,#f7fcfe 100%);border-bottom:1px solid #edf4f7}
.hero-slides{position:relative;min-height:590px}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateX(18px);transition:opacity .55s ease,transform .55s ease,visibility .55s;pointer-events:none}
.hero-slide.is-active{position:relative;opacity:1;visibility:visible;transform:translateX(0);pointer-events:auto;z-index:1}
.hero-slide .hero{min-height:590px;padding-top:34px;padding-bottom:50px}
.hero-kicker{margin:0 0 12px;color:#008aa5;text-transform:uppercase;letter-spacing:.08em;font-weight:700;font-size:13px}
.hero-carousel .hero-photo{box-shadow:0 20px 50px rgba(8,46,88,.12)}
.hero-carousel .hero-photo img{transition:transform 6s ease}
.hero-slide.is-active .hero-photo img{transform:scale(1.035)}
.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid rgba(8,46,88,.12);background:rgba(255,255,255,.92);color:var(--navy);font-size:32px;line-height:1;display:grid;place-items:center;box-shadow:0 8px 24px rgba(8,46,88,.12);transition:background .2s,transform .2s,color .2s}
.carousel-arrow:hover{background:var(--cyan);color:#fff;transform:translateY(-50%) scale(1.04)}
.carousel-prev{left:max(14px,calc((100vw - 1260px)/2))}
.carousel-next{right:max(14px,calc((100vw - 1260px)/2))}
.carousel-dots{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);z-index:4;display:flex;gap:9px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 5px 18px rgba(8,46,88,.09)}
.carousel-dot{width:9px;height:9px;border:0;border-radius:50%;padding:0;background:#b7cad5;transition:width .25s,background .25s,border-radius .25s}
.carousel-dot.is-active{width:28px;border-radius:999px;background:var(--cyan)}
.hero-benefits{padding-top:0;padding-bottom:30px}
.hero-benefits .benefits{margin-top:0;padding:23px 0 4px}
@media(max-width:1050px){.hero-slides,.hero-slide .hero{min-height:540px}.carousel-prev{left:10px}.carousel-next{right:10px}.carousel-arrow{width:42px;height:42px}.hero-slide .hero{padding-left:26px;padding-right:26px}}
@media(max-width:760px){.hero-slides,.hero-slide .hero{min-height:auto}.hero-slide{display:none;position:relative;transform:none}.hero-slide.is-active{display:block}.hero-slide .hero{padding:28px 0 55px}.hero-slide .hero-copy{padding:0 8px}.hero-carousel .hero-photo{max-height:460px}.carousel-arrow{top:auto;bottom:12px;transform:none;width:40px;height:40px;font-size:28px}.carousel-arrow:hover{transform:scale(1.04)}.carousel-prev{left:18px}.carousel-next{right:18px}.carousel-dots{bottom:16px}.hero-benefits{padding-bottom:20px}.hero-benefits .benefits{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.hero-slide,.hero-carousel .hero-photo img,.carousel-dot{transition:none!important}.hero-slide.is-active .hero-photo img{transform:none}}


/* Productos reales OFIRESA */
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}.product-photo{aspect-ratio:1/1;background:#fff;padding:10px}.product-photo img{inset:0;width:100%;height:100%;object-fit:contain;display:block;padding:8px}.product-body{min-height:205px}.product-meta{display:inline-block;font-size:12px;line-height:1.35;color:#007b94;font-weight:700;text-transform:uppercase;letter-spacing:.03em;margin-bottom:10px}.product-body h3{font-size:22px;margin-bottom:10px}.product-note{margin:22px 0 0;color:var(--text);font-size:14px}.product:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(8,46,88,.08)}@media(max-width:1150px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:860px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.product-grid{grid-template-columns:1fr}.product-photo{aspect-ratio:4/3}.product-body{min-height:0}}

/* PRODUCTOS V3 - fotos reales normalizadas */
.products-real{padding:64px 0 54px}.product-grid-real{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}.product-real{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(260px,.88fr);min-height:390px;border:1px solid #dceaf1;border-radius:20px;background:#fff;overflow:hidden;box-shadow:0 10px 30px rgba(8,46,88,.06);transition:transform .2s,box-shadow .2s}.product-real:hover{transform:translateY(-3px);box-shadow:0 16px 38px rgba(8,46,88,.10)}.product-image-wrap{min-height:390px;background:#f7fafc;display:flex;align-items:center;justify-content:center;padding:16px;border-right:1px solid #e7eff4}.product-image-wrap img{width:100%;height:100%;max-height:360px;object-fit:contain;display:block}.product-real .product-body{padding:28px 26px;min-height:390px;justify-content:center}.product-real .product-meta{font-size:12px;line-height:1.4;color:#008ca8;font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px}.product-real h3{font-size:26px;margin-bottom:12px}.product-real p{font-size:15px}.product-quote{margin-top:auto;padding:12px 18px;min-height:44px}.product-note{margin:28px 0 0;color:var(--text);font-size:14px;text-align:center}@media(max-width:1100px){.product-grid-real{grid-template-columns:1fr}.product-real{grid-template-columns:1.1fr .9fr}}@media(max-width:700px){.product-real{grid-template-columns:1fr}.product-image-wrap{min-height:300px;border-right:0;border-bottom:1px solid #e7eff4}.product-image-wrap img{max-height:280px}.product-real .product-body{min-height:0;padding:22px}.product-real h3{font-size:24px}}